算法设计系统
⑴ 人工智能课程设计:基于贝叶斯算法设计一个学生信息管理系统
算法设计,一个学生信息管理系统
这个开发平台数据库
的
⑵ 算法设计--题目:通信系统
此次长长的等等等等等等等等
⑶ 我是学计算机的,我想知道是算法设计与分析难还是通信原理难些呢。。。
算法分析设计是很难的,要把离散数学、数据结构、编译原理学好,其实编译原理更难,要死人的,那个根本是不人做的事。如果你想学的很好,那你就准备虐待自己吧。如果你学好的话,就去参加全国或者全球的程序设计大赛,你要是拿个好点的名次,我敢说你的年薪不会低于百万。
通信原理是很广的,包含很多,基础是学好数学。数学才是根本,像数论,复数之类的。
⑷ 基于模糊PID算法的电机转速控制系统的设计
摘要:单片机控制技术应用十分广泛,其核心技术是单片机控制系统的设计。介绍了对单片机控制系统的构成、硬件设计、软件设计和系统调试等各环节并进行了讨论,根据工作经验给出了调试方法。
关键词:单片机;系统设计;系统调试��
随着材料科学、工艺技术、计算机技术的发展与进步,电路系统向着集成度极高的方向发展。CPU的生产制造技术,也朝着综合性、技术性、实用性发展。如CPU的运算位数从4位、8位
……到32位机的发展,运算速度从8 MHz、32 MHz……到1.6
GHz。可以说是日新月异的发展着。其中单片机在控制系统中的应用是越来越普遍了。单片机控制系统是以单片机(CPU)为核心部件,扩展一些外部接口和设备,组成单片机工业控制机,主要用于工业过程控制。要进行单片机系统设计首先必须具有一定的硬件基础知识;其次,需要具有一定的软件设计能力,能够根据系统的要求,灵活地设计出所需要的程序;第三,具有综合运用知识的能力。最后,还必须掌握生产过程的工艺性能及被测参数的测量方法,以及被控对象的动、静态特性,有时甚至要求给出被控对象的数学模型。
单片机系统设计主要包括以下几个方面的内容:控制系统总体方案设计,包括系统的要求、控制方案的选择,以及工艺参数的测量范围等;选择各参数检测元件及变送器;建立数学模型及确定控制算法;选择单片机,并决定是自行设计还是购买成套设备;系统硬件设计〔1〕,包括接口电路,逻辑电路及操作面板;系统软件设计,包括管理、监控程序以及应用程序的设计,应用系统设计包含有硬件设计与软件设计两部分〔2〕;系统的调试与试验。�
1单片机控制系统总体方案的设计
确定单片机控制系统总体方案,是进行系统设计最重要、最关键的一步。总体方案的好坏,直接影响整个控制系统的性能及实施细则。总体方案的设计主要是根据被控对象的任务及工艺要求而确定的。设计方法大致如下:根据系统的要求,首先确定出系统是采用开环系统还是闭环系统,或者是数据处理系统。选择检测元件,在确定总体方案时,必须首先选择好被测参数的测量元件,它是影响控制系统精度的重要因素之一。选择执行机构,执行机构是微型机控制系统的重要组成部件之一。执行机构的选择一方面要与控制算法匹配,另一方面要根据被控对象的实际情况确定。选择输入/输出通道及外围设备。选择时应考虑以下几个问题:被控对象参数的数量;各输入/输出通道是串行操作还是并行操作;各通道数据的传递速率;各通道数据的字长及选择位数;对显示、打印有何要求;画出整个系统原理图。
单片机控制系统中控制算法的选用一般有:
(1) 直接数字控制
当被控对象的数学模型能够确定时,可采用直接数字控制。所谓数学模型就是系统动态特性的数学表达式,它表示系统输入输出及其内部状态之间的关系。一般多用实验的方法测出系统的特性曲线,然后再由此曲线确定出其数学模型。现在经常采用的方法是计算机仿真及计算机辅助设计,由计算机确定出系统的数学模型,因而加快了系统模型的建立。当系统模型建立后,即可选定上述某一种算法,设计数字控制器,并求出差分方程。计算机的主要任务就是按此差分方程计算并输出控制量,进而实现控制。
(2) 数字化PID控制
由于被控对象是复杂的,因此并非所有的系统均可求出数学模型,有些即使可以求出来,但由于被控对象环境的影响,许多参数经常变化,因此很难进行直接数字控制。此时最好选用数字化PID(比例积分微分)控制。在PID控制算法中,以位置型和增量型2种PID为基础,根据系统的要求,可对PID控制进行必要的改进。通过各种组合,可以得到更圆满的控制系统,以满足各种不同控制系统的要求。例如串级PID就是人们经常采用的控制方法之一。
所谓串级控制就是第一级数字PID的输出不直接用来控制执行机构,而是作为下一级数字PID的输入值,并与第二级的给定值进行比较,其偏差作为第二级数字PID的控制量。当然,也可以用多级PID嵌套。�
2单片机系统硬件设计
尽管单片机集成度高,内部含有I/O控制线,ROM,RAM和定时/计数器。但在组成单片机系统时,扩展若干接口仍是设计者必不可少的任务。扩展接口有2种方案,一种是购置现成的接口板,另一种是根据系统实际需要,选用适合的芯片进行设计控制系统。就后一种而言,主要包括以下几个方面的内容。
基本系统的构成:一个独立的单片机核心系统,一般由时钟电路、地址锁存器电路、地址译码器、存储器扩展、模拟量输入通道的扩展、模拟量输出通道的扩展、开关量的I/O接口设计、键盘输入和显示电路等组成。
(1)存储器扩展
由于单片机有4种不同的存储器,且程序存储器和数据存储器是分别编址的,所以单片机的存储器容量与同样位数的微型机相比扩大了一倍多。扩展时,首先要注意单片机的种类;另一方面要把程序存储器和数据存储器分开。
(2)模拟量输入通道的扩展
主要有以下2个问题:一个是数据采集通道的结构形式,一般单片机控制系统都是多通道系统。因此选用何种结构形式采集数据,是进行模拟量输入通道设计首先要考虑的问题。多数系统都采用共享A/D和S/H形式。但是当被测参数为几个相关量时,则需选用多路S/H,共享A/D形式。对于那些参数比较多的分布式控制系统,可把模拟量先就地进行A/D转换,然后再送到主机中处理。对于那些被测参数相同(或相似)的多路数据采集系统,为减少投资,可采用模拟量多路转换,共享仪用放大器、S/H和A/D的所谓地电平多路切换形式。另外一个问题是A/D转发器的选择,设计时一定要根据被控对象的实际要求选择�A/D�转换器,在满足系统要求的前提下,尽量选用位数比较低的A/D转换器。
(3)模拟量输出通道的扩展
模拟量输出通道是单片机控制系统与执行机构(或控制设备)连接的纽带和桥梁。设计时要根据被控对象的通道数及执行机构的类型进行选择。对于那些可直接接受数字量的执行机构,可由单片机直接输出数字量,如步进电机或开关、继电器系统等。对于那些需要接收模拟量的执行机构,则需要用D/A转化,即把数字量变成模拟量后,再带动执行机构。
(4)开关量的I/O接口设计
由于开关量只有2种状态“1”或“0”,所以,每个开关量只需一位二进制数表示即可。因为MCS—51系列单片机设有一个专用的布尔处理机,因而对于开关量的处理尤为方便。为了提高系统的抗干扰能力,通常采用光电隔离器把单片机与外部设备隔开。
(5)操作面板
操作面板是人机对话的纽带,它根据具体情况,可大可小。为了便于现场操作人员操作,单片机控制系统设计一个操作面板的要求:操作方便、安全可靠、并具有自保功能,即使是误操作也不会给生产带来恶果。
(6)系统速度匹配
在不影响系统总功率的前提下,时钟频率选得低一些较好,这样可降低系统对其他元器件工作速度的要求,从而降低成本和提高系统的可靠性。但系统频率选的比较高时,要设法使其他元器件与主机匹配。
�(7)系统负载匹配 系统中各个器件之间的负载匹配问题,主要表现在以下几个方面。
�①
逻辑电路间的接口及负载:在进行系统设计时,有时需要采用TTL和CMOS混合电路,由于二者要求的电平不一样,因此一定要注意电流及负载的匹配问题。�
②
MCS—51系列单片及负载:8031的外部扩展功能是很强的,但是8031的P0口和P2口以及控制信号ALE的负载能力都是有限的,P0口能驱动8个LSTTL电路,P2口能驱动4个LSTTL电路。硬件设计时应仔细核对8031的负载,使其不超过总的负载能力的70%。
3单片机控制系统的软件设计
�单片机控制系统的软件设计一般分2类,系统软件和应用软件设计。系统软件的主要任务是:管理整个控制系统的全过程,比如,POWERUP自诊断功能,KEY
INPIT 的管理功能,PRINTER
OUTPUT报表功能,DISPLAY功能等等。是控制系统的核心程序,也称之为MONITER监控管理程序其作用类似PC机的DOS
系统。软件设计的几个方面如下:
�(1)可靠性设计为保证系统软件的可靠性,通常设计一个自诊断程序,定时对系统进行诊断。在可靠性要求较高的场合,可以设计看门狗电路,也可以设计软件陷阱,防止程序跑飞。�
(2)软件设计与硬件设计的统一性在单片机系统设计中,通常一个同样的功能,通过硬件和软件都可以实现,确定那些由硬件完成,那些由软件完成,这就是软件、硬件的折衷问题。一般来说,在系统可能的情况下,尽量采用软件,因为这样可以节省经费。若系统要求实时性比较强,则可采用硬件。�
(3)应用软件的特点
①实时性:由于工业过程控制系统是实时控制系统,所以对应用软件的执行速度都有一定的要求,即能够在被控对象允许的时间间隔内对系统进行控制、计算和处理。换言之,要求整个应用软件必须在一个采样周期内处理完毕。所以一般都采用汇编语言编写应用软件。但是,对于那些计算工作量比较大的系统,也可以采用高级语言和汇编语言混合使用的办法,即数据采集、判断、及控制输出程序用汇编语言,而对于那些较为复杂的计算可采用高级语言。为了提高系统的实时性,对于那些需要随机间断处理的任务,通常采用中断系统来完成。
�②
通用性:在应用程序设计中,为了节省内存和具有较强的适应能力,通常要求程序有一定的灵活性和通用性。为此,可以采用模块结构,尽量将共用的程序编写成子程序,如算术和逻辑运算程序、A/D、D/A转换程序、延时程序、PID运算程序、数字滤波程序、标度变换程序、报警程序等。�
(4)软件开发步骤软件开发大体包括:划分功能模块及安排程序结构;画出各程序模块详细流程图;选择合适的语言编写程序;将各个模块连接成一个完整的程序。�
4单片机控制系统的调试
� (1)硬件调试 根据设计的原理电路做好实验样机,便进入硬件调试阶段。调试工作的主要任务是排除样机故障,其中包括设计错误和工艺性故障。
�①
脱机检查:用万能表或逻辑测试笔逐步按照逻辑图检查机中各器件的电源及各引脚的连接是否正确,检查数据总线、地址总线和控制总线是否有短路等故障。有时为保护芯片,先对各管座的电位(或电源)进行检查,确定其无误后再插入芯片检查。
�②
仿真调试:暂时排除目标板的CPU和EPROM,将样机接上仿真机的40芯仿真插头进行调试,调试各部分接口电路是否满足设计要求。这部分工作是一种经验性很强的工作,一般来说,设计制作的样机不可能一次性完好,总是需要调试的。通常的方法是,先编调试软件,逐一检查调试硬件电路系统设计的准确性。其次是调试MONITOR程序,只有MONITOER程序正常工作才可以进行下面的应用软件调试。
�硬件电路调试的一般顺序是:�
① 检查CPU的时钟电路。通过测试ALE信号,如没有ALE信号,则判断是晶体或CPU故障,这称之为“心脏”检查。�
② 检查ABUS/DBUS的分时复用功能的地址锁存是否正常。�
③ 检查I/O地址分配器。一般是由部分译码或全译码电路构成,如是部分译码设计,则排除地址重叠故障。�
④
对扩展的RAM、ROM进行检查调试。一般先后写入55H、AAH,再读出比较,以此判断是否正常。因为这样RAM、ROM的各位均写入过‘0’、‘1’代码。�
⑤ 用户级I/O设备调试。如面板、显示、打印、报警等等。
�(2)软件调试 软件调试根据开发的设备情况可以有以下方法:
�① 交叉汇编:用IBM PC/XT机对MCS—51系列单片机程序进行交叉汇编时,可借助IBM
PC/XT机的行编辑和屏幕编辑功能,将源程序按规定的格式输入到PC机,生成MCS—51 HEX目标代码和LIST文件。
�② 用汇编语言:现在有些单片STD工业控制机或者开发系统,可直接使用汇编语言,借助CRT进行汇编语言调试。
�③
手工汇编:这种方法是最原始,但又是一种最简捷的调试方法,且不必增加调试设备。这种方法的实质就是对照MCS—51指令编码表,将源程序指令逐条地译成机器码,然后输入到RAM重新进行调试。在进行手工汇编时,要特别注意转移指令、调用指令、查表指令。必须准确无误地计算出操作码、转移地址和相对偏移量,以免出错。
�以上3种方法调试完成以后,即可通过EPROM写入器,将目标代码写入EPROM中,并将其插至机器的相应插座上,系统便可投入运行。
�(3)硬件、软件仿真调试
经过硬件、软件单独调试后,即可进入硬件、软件联合仿真调试阶段,找出硬件、软件之间不相匹配的地方,反复修改和调试。实验室调试工作完成以后,即可组装成机器,移至现场进行运行和进一步调试,并根据运行及调试中的问题反复进行修改。
5结论
�单片机控制技术应用越来越广泛,其核心技术是单片机控制系统的设计。对工程技术人员来说,抓住系统的原理构成、软件设计、硬件设计以及系统调试方法的要点是十分必要的。根据工作经验,前面叙述的系统调试方法将会有助于从事这方面工作的技术人员及本专业的学习者。
参考文献�
1陈粤初.单片及应用系统设计与实践. 北京: 北京航空航天大学出版社,1992�
2何立民.单片机应用系统设计 .北京:北京航空航天大学出版社,1998
⑸ 计算机算法设计与分析
考研培训 2009年计算机考研专业课辅导课程(视频)(qq) 2009年计算机考研专业课辅导课程(视频) http://www.ecity.cn/user/xch/from.asp?id=168&wh=helploving
考研培训 09年计算机考研专业课辅导视频总汇(ku6) 包括考试大纲解析,操作系统,数据结构,组成原理,计算机网络,操作系统之银行家算法,数据结构之关键路径,计算机网络之子网掩码,计算机组成原理之流水线,计算机考研学校选择:名校研究特色,操作系统之生产者消费者问题,操作系统之页面置换算法,IO子系统2,文件保护,TCP协议,内存管理,传输介质片段,处理机调度算法,域名系统,计算机网络体系结构与参考模型,树及二叉树,流量控制与可靠传输,邻接矩阵邻接表法,排序的基本概念,图的基本概念,栈和队列 http://www.ecity.cn/user/xch/from.asp?id=166&wh=helploving
考研培训 权威专家指导,协议保证,不上线全额退款 由中科院软件研究所博士生导师刘教授、清华大学计算机系博士生导师陈教授、北京航空航天大学计算机学院周教授、北京理工大学计算机系王教授、浙江大学计算机学院博士生导师吴教授、中南大学信息科学与工程学院博士生导师陈教授组成的计算机专业考研辅导专家指导委员会,把握计算机研究生专业课程考试方向。 希赛承诺,考试培训没有上线,主动联系全额退款。 http://www.ecity.cn/user/xch/from.asp?id=111&wh=helploving
考研培训 博士团队,个性化辅导,与名师实时交流 希赛教育,专业精英领航,实行专业化一对一个性学习培训计划,让你与名师进行直观的交流,传道受业,解答疑惑,助你学习路上一路向前。 希赛IT教育研发中心多年对计算机考研专业课考试的跟踪与分析,能帮助考生更好的通过考试。个性化辅导,家教式服务,名师亲自制订辅导计划和批改作业。名校师资,无可比拟的博士团队,命题专家在线辅导。自成体系的辅导资料,使学习更具系统性,复习更具针对性。实时的网络课堂和答疑系统,与名师在线交流。 高质量的模拟试题,详尽的试题分析与解答,有的放矢地帮助学员备考。万一没有上线,还可以全额退款。 http://www.ecity.cn/user/xch/from.asp?id=110&wh=helploving
考研培训 计算机考研专业课程视频免费下载大集合 免费大餐,尽情享受,包括考研大纲解析、知识点分析、重难点辅导…… http://www.ecity.cn/user/xch/from.asp?id=149&wh=helploving
考研培训 2010年计算机考研专业课考试知识点分析:组成原理 2010年仍是计算机专业考研专业基础课实行全国统考,面对今年的改变,想报考计算机专业的考生可能对复习的准备有很多的疑问。为了帮助考生正确的做好准备工作,希赛网研究生院特访问了我国着名的计算机教育专家、湖南师范大学计算机软件与理论/计算机应用技术硕士点专业课试题命题人张友生博士,请张博士对考试大纲进行全面的解析。本文为大纲解析的第三篇:计算机组成原理知识点分析。 http://www.ecity.cn/user/xch/from.asp?id=96&wh=helploving
考研培训 2009年计算机考研专业课重难点辅导视频(qq) 2009年计算机考研专业课重难点辅导视频(qq) http://www.ecity.cn/user/xch/from.asp?id=167&wh=helploving
⑹ 控制器设计和控制算法设计有什么区别
基于DSP运动控制器的5R工业机器人系统设计 摘要:以所设计的开放式5R关节型工业机器人为研究对象,分析了该机器人的结构设计。该机器人采 用基于工控PC及DSP运动控制器的分布式控制结构,具有开放性强、运算速度快等特点,对其工作原理 进行了详细的说明。机器人的控制软件采用基于Windows平台下的VC++实现,具有良好的人机交互 功能,对各组成模块的作用进行了说明。所设计的开放式5R工业机器人系统,具有较好的实用性。 关键词:开放式;关节型;工业机器人;控制软件 0引言 工业机器人技术在现代工业生产自动化领域得到 了广泛的应用,也对工程技术人员提出更高的要求,作 为机械工程及自动化专业的技术人才迫切需要掌握这 一 先进技术。为了能更好地加强技术人员对工业机器 人的技能实践与技术掌握,需要开放性强的设备来满 足要求。本文阐述了我们所开发设计的一种5R关节 型工业机器人系统,可以作为通用的工业机器人应用 于现场,也可作为教学培训设备。 1 5R工业机器人操作机结构设计 关节型工业机器人由2个肩关节和1个肘关节进 行定位,由2个或3个腕关节进行定向,其中一个肩关节 绕铅直轴旋转,另一个肩关节实现俯仰,这两个肩关节 轴线正交。肘关节平行于第二个肩关...
⑺ 大一学生选课有算法分析与设计和嵌入式系统,很纠结,不知道哪个好,哪个难。
学好嵌入式的方法: 依、C语言是所有编程语言中的强者,单片机、DSP、类似ARM的种种芯片的编程都可以用C语言搞定),因此必须非常熟练的掌握。 贰、操作系统原理,是必需的,如果是计算机专业毕业那也就无所谓了,如果是非计算机专业的就必须找一本比较浅显的计算机原理书籍看一看,把啥叫“进程”“线程”“系统调度”等等基本问题搞清楚。 三、linux操作系统就是用C语言编写的,所以也应该先学习下Linux方面的编程,只有会应用了,才能近一步去了解其内核的精髓。 四、了解ARM的架构,原理,以及其汇编指令,我们在嵌入式开发中,一般很少去写汇编,但是最起码的要求是能够看懂arm汇编。 5、系统移植的时候,就需要从最下层的bootloader开始,然后内核移植,文件系统移植等。而移植这部分对硬件的依赖是非常大的,其配置步骤也相对复杂,也没有太多详细资料。 陆、驱动开发 linux驱动程序设计既是个极富有挑战性的领域,又是一个博大精深的内容。 linux驱动程序设计本质是属于linux内核编程范畴的,因而是对linux内核和内核编程是有要求的。在学习前要想了解linux内核的组成,因为每一部分要详细研究的话足够可以扩展成一本厚书
⑻ 操作系统-cpu调度算法设计
对等动态优先权算法,进程调度过程掌握情况;考查学生的写算法和编程能力等;考查学生的分析问题和解决问题的能力;实验报告的撰写能力等。 设计思路: (1)先对就绪队列,阻塞队列,cpu的进行初始化。 (2)进行进程调度的选择。 1)cpu,就绪...
⑼ 新华书店收银系统程序算法设计
可以用购物车这个概念吧,要买的书先放到购物车这个类表中,客户可以对购物车进行修改,结算的时候对购物车中的所有书统一结算,去超市看看就知道了,用哪个激光扫描枪把所有货物扫描进一个表里面,然后在同一计算,最后要打印一个购物清单,合计小计实收找零
⑽ C语言算法设计主要需要掌握哪些
你如果只问C语言的话,它与其他语言最大的不同就是指针了,很多针对C语言的算法都会用到它,每种语言虽然大体相同但都有独特之处的。我们老师常说:
不懂指针的人,就等于不会C/C++
不懂委托、引用的人,就等于不会C#
除此之外就是算法设计的共同基础了,像楼上所说的,
你需要熟悉各种数据结构的特性,才能在设计你的算法时用最适合的方法
你需要熟悉各种变量的结构,C语言是可以手动管理内存的,灵活掌握物理地址与逻辑地址对C语言算法设计很有帮助
你需要熟悉各种循环控制结构,这才是程序的真谛,让计算机代替人完成重复性的工作,而算法就是教机器该如何这样做的命令集