第1页:项目10 单片机应用系统综合设计封面
项目10「单片机应用系统综合设计」讲解单片机应用系统的开发步骤、方案确定、硬件与软件设计,以及系统调试、程序固化与脱机运行的完整流程。
第2页:单片机应用系统的开发步骤
10.1 单片机应用系统设计方法与步骤:概括起来,单片机应用系统的开发过程主要有下面几个步骤:
- 可行性调研
- 总体方案设计
- 设计方案细化
- 确定软硬件功能
- 应用系统硬件设计
- 应用系统软件设计
- 仿真调试
- 固化应用程序
- 脱机运行
第3页:10.1.1 方案的确定
10.1.1 方案的确定:方案的确定可以分为总体方案设计、设计方案细化以确定软硬件功能两个部分。
- (1)总体方案设计:可行性调研后如果可以立项,下一步就是系统总体方案的设计。工作重点应放在该项目的技术难度上,参考国内外同类产品的性能,提出合理而可行的技术指标,编写出设计任务书,不能理解成什么任务都采用新技术
- (2)设计方案细化,确定软硬件功能:总体方案确定后需明确哪些部分用硬件完成、哪些部分用软件完成。提倡软件能实现的功能尽可能由软件完成,但以软件代硬件的实质是以降低系统实时性、增加处理时间为代价,且软件设计费用与研制周期也会增加,因此软硬件功能分配应根据系统要求及实际情况合理安排、统一考虑
第4页:系统硬件设计的两大内容
单片机应用系统的硬件设计包括两大部分内容:
- 一是单片机系统的扩展部分设计,包括存储器扩展和接口扩展。存储器扩展指EPROM、EEPROM和RAM的扩展;接口扩展是指8255、8155、8279以及其他功能器件的扩展
- 二是各功能模块的设计,如信号测量功能模块、信号控制功能模块、人机对话功能模块、通讯功能模块等,根据系统功能要求配置相应的A/D、D/A、键盘、显示器、打印机等外围设备
10.1.2 系统硬件设计:系统的电路设计应注意以下几个方面:
- (1)存储器扩展:选择单片机时就应考虑内部存储器资源,能满足要求就不需要扩展;必须扩展时注意存储器的类型、容量和接口,一般尽量留有余地并尽可能减少芯片数量
- (2)I/O接口的扩展:应从体积、价格、负载能力、功能等几个方面考虑,根据需扩展电路的数量和所选单片机的内部资源(空闲地址线的数量)选择合适的地址译码方法
第5页:输入通道、输出通道与人机界面设计
- (3)输入通道的设计:开关量要考虑接口形式、电压等级、隔离方式、扩展接口等;模拟量通道要与信号检测环节结合起来,根据速度、精度和价格要求选择,并与传感器等设备性能匹配,考虑传感器类型、信号形式、线性化、补偿、光电隔离等,高精度的模数转换器价格昂贵,应尽量降低对A/D转换器的要求
- (4)输出通道的设计:开关量要考虑功率、控制方式;模拟量输出要考虑D/A转换器的选择、输出信号的形式、隔离方式、扩展接口等
- (5)人机界面的设计:包括输入键盘、开关、拨码盘、启/停操作、复位、显示器、打印、指示、报警等;显示器要考虑类型(LED、LCD)、显示信息的种类等
- (6)通信电路的设计:单片机应用系统常与上位机或同位机构成测控网络,通常设计为RS-232C、RS-485、红外收发等通信标准
第6页:印刷电路板、负载容限与抗干扰设计
- (7)印刷电路板的设计与制作:常采用Protel、OrCAD等专业设计软件,设计好后应送专业化制作厂家生产,再安装元件完成硬件制作
- (8)负载容限的考虑:MCS-51的P0口负载能力为4mA,最多驱动8个TTL电路,P1~P3口负载能力为2mA,最多驱动4个TTL电路;外接负载较多时应采取总线驱动的方法,常用单向驱动器74LS244、双向驱动器74LS245等
- (9)信号逻辑电平兼容性的考虑:电路中可能兼有TTL和CMOS器件,要设计相应的电平兼容和转换电路,有RS-232、RS-485接口时常用MAX232、MAX485等集成电路
- (10)电源系统的配置:要考虑电源的组数、输出功率、抗干扰,熟悉常用三端稳压器(78××系列、79××系列)、精密电源(AD580、MC1403、CJ313/336/385、W431)的应用
- (11)抗干扰的实施:包括芯片与器件选择、去耦滤波、印刷电路板布线、通道隔离等,是保证单片机系统正常工作的重要环节
第7页:10.1.3 系统软件设计的分类
10.1.3 系统软件设计:系统中的应用软件是根据系统功能要求设计的。软件的功能可分为两大类:
- 执行软件
- 能完成各种实质性的功能,如测量、计算、显示、打印、输出控制等。
- 监控软件
- 专门用来协调各执行模块和操作者的关系,在系统软件中充当组织调度的角色。
第8页:程序设计应考虑的七个方面
设计人员在进行程序设计时应从以下几个方面加以考虑:
- (1)总体规划:结合硬件结构进一步明确软件所承担的一个个任务细节,确定具体实施的方法,合理分配资源
- (2)程序设计技术:培养结构化程序设计风格,各功能程序实行模块化、子程序化
- (3)程序设计:选择好软件结构和程序设计技术后,将设计任务转化为具体的程序
- (4)合理分配系统资源:包括ROM、RAM、定时器/计数器、中断源等,其中最关键的是片内RAM分配
- (5)在程序的有关位置处写上功能注释,提高程序的可读性
- (6)加强软件抗干扰设计,提高计算机应用系统的可靠性
- (7)软件装配:各程序模块编辑之后需进行汇编或编译、调试,满足设计要求后按软件结构设计要求连接起来,装配时应注意软件接口
第9页:硬件调试的方法
10.1.4 系统调试:(1)硬件调试的主要任务是排除硬件故障,其中包括设计错误和工艺故障。
- 1)脱机检查:使用万用表按照电路原理图检查印制电路板中所有器件的引脚,尤其是电源连接是否正确,排除短路故障;检查数据总线、地址总线和控制总线是否有短路、顺序是否正确;检查各开关按键是否能正常开关、连接是否正确;检查各限流电阻是否短路等。为保护IC芯片,应先对IC插座(尤其是电源端)的电位进行检查,确定无误后再插入芯片调试
- 2)联机调试:拔掉AT89C51芯片,将仿真器的40芯仿真插头插入AT89C51的芯片插座进行调试,检验键盘、显示接口电路是否满足设计要求,可通过一些简单的测试软件来查看接口电路工作是否正常
第10页:软件调试、程序固化与脱机运行
- (2)软件调试:利用开发工具进行在线仿真调试,发现和纠正程序错误,一般采用先分别测试各子程序模块再进行联调的方法
- 硬件和软件调试完成之后应进行系统调试,这是单片机应用系统设计的最后阶段,也就是脱机运行部分
- (3)固化应用程序,脱机运行:仿真调试完毕后,借助开发系统的编程器或专用编程器将调试完毕的应用程序写入EPROM或EEPROM。因写入EPROM中的程序和数据不可修改且停电后也不会丢失,所以称为程序固化
- 把固化了程序的ROM插回到应用系统电路板的相应位置即可脱机运行;系统试运行要连续运行相当长的时间以考验其稳定性,并进一步修改和完善