资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第 8 章 单片机应用系统的设计与开发,8.1 单片机应用系统的开发过程,8.2 单片机开发工具,MICE,简介,8.3,MCS-51,应用系统的调试,第 8 章 单片机应用系统的设计与开发,8.1 单片机应用系统的开发过程,图 8.1 单片机应用系统开发设计流程图,一、方案论证,(1)了解用户的需求,确定设计规模和总体框架。,(2)摸清软硬件技术难度,明确技术主攻问题。,(3)针对主攻问题开展调研工作,查找中外有关资料,确定初步方案。,(4)单片机应用开发技术是软硬件结合的技术,方案设计要权衡任务的软硬件分工。有时硬件设计会影响到软件程序结构。如果系统中增加某个硬件接口芯片,而给系统程序的模块化带来了可能和方便,那么这个硬件开销是值得的。在无碍大局的情况下,以软件代替硬件正是计算机技术的长处。,(5)尽量采纳可借鉴的成熟技术,减少重复性劳动。,二、硬件系统的设计,单片机应用系统的设计可划分为两部分:一部分是与单片机直接接口的数字电路范围的电路芯片的设计。如存储器和并行接口的扩展,定时系统、中断系统扩展,一般的外部设备的接口,甚至于,A/D、D/A,芯片的接口。另一部分是与模拟电路相关的电路设计,包括信号整形、变换、隔离和选用传感器;输出通道中的隔离和驱动以及执行元件的选用。,(1)从应用系统的总线观念出发,各局部系统和通道接口设计与单片机要做到全局一盘棋。例如,芯片间的时间是否匹配,电平是否兼容,能否实现总线隔离缓冲等,避免“拼盘”,战术。,(2)尽可能选用符合单片机用法的典型电路。,(3)尽可能采用新技术,选用新的元件及芯片。,(4)抗干扰设计是硬件设计的重要内容,如看门狗电路、去耦滤波、通道隔离、合理的印制板布线等。,(5)当系统扩展的各类接口芯片较多时,要充分考虑到总线驱动能力。当负载超过允许范围时,为了保证系统可靠工作,必须加总线驱动器。,(6)可用印制板辅助设计软件,如,PROTEL,进行印制板的设计。,三、应用软件设计,(1)采用模块程序设计。,(2)采用自顶向下的程序设计。,(3)外部设备和外部事件尽量采用中断方式与,CPU,联络,这样,既便于系统模块化,也可提高程序效率。,(4)近几年推出的单片机开发系统,有些是支持高级语言的,如,C51,与,PL/M96,的编程和在线跟踪调试。,(5)目前已有一些实用子程序发表,程序设计时可适当使用,其中包括运行子程序和控制算法程序等。,(6)系统的软件设计应充分考虑到软件抗干扰措施。,四、软硬件调试,单片机系统主要的功能是:,(1)程序的录入、编辑和交叉汇编功能。,(2)提供仿真,RAM、,仿真单片机。,(3)支持用户汇编语言(有的同时支持高级语言)源文件跟踪调试。,(4)目前一般的开发装置都有与通用微机的连机接口,可以利用微机环境进行调试。,(5),EPROM,的写入功能。,五、,EPROM,固化,所有开发装置调试通过的程序,最终要脱机运行,即将仿真,ROM,中运行的程序固化到,EPROM,脱机运行。但在开发装置上运行正常的程序,固化后脱机运行并不一定同样正常。若脱机运行有问题,需分析原因,如是否总线驱动功能不够,或是对接口芯片操作的时间不匹配等,。经修改的程序需再次写入。,8.2 单片机开发工具,MICE,简介,MICE,因其独到的特点而广泛使用,MBUG,是其微机上的调试软件,主要功能与特点如下:,(1),MBUG,采用随机联络方式与,MICE,通讯。,(2),MBUG,将屏幕划分为寄存器窗口、存储器窗口、标号窗口、变量窗口、文件窗口及主菜单命令等多种窗口,MICE,的状态和命令全部显示在屏幕的顶行和底行,使用户一屏就能饱览各种调试信息,所有命令均为一键即发,且提供系统帮助和,用户帮助。,图 8.2,MBUG,的窗口,(3)支持对用户汇编、,PL/M51,及,C51,语言源文件的直接调试,并可翻页卷行、自行设计窗口格式及内容等丰富的调试运行功能,极大地提高了工作效率。,(4)高速交叉汇编,支持多种伪操作,标准,PC,机上每秒大约汇编处理 2,KB,的源程序。,(5)配上,EPROM,编程卡配件,具有对多种型号,EPROM,读、写、校验、空片检查等功能。,(6),OS|Shell,功能调用可以使用户在,MBUG,内执行,DOS,系统的内部或外部命令,按,EXIT,命令,返回,MBUG,原有状态并不破坏。,8.3,MCS-51,应用系统的调试,一、硬件调试方法,1.静态调试,在样机加电之前,先用万用表等工具,根据硬件逻辑设计详细检查样机线路的正确性,核对元器件的型号、规格和安装是否符合要求。应特别注意电源系统的检查,以防止电源短,路和极性错误。并重点检查系统总线是否存在相互之间短路或与其它信号线的短路。,第一步是加电后检查各插件上引脚的电位,一般先检查,VCC,与,GND,之间电位,若在5,V,左右属正常。若出现高压,联机仿真器调试时,会损坏仿真器等,有时会使应用系统的集成块发热损坏。,第二步是在断电情况下,除,CPU,之外,插上所有元器件,仿真插头插入样机,CPU,插座,并,和仿真机相连,用万用表检查连接的正确性后,准备联机仿真调试。,图 8.3 应用系统连接,MICE,开发系统简图,2.联机仿真调试,电路检查无误后,分别打开样机和仿真器的工作电源,启动,MBUG,进入监控状态,就可进行联机仿真调试了。,调试的方案是:把整个应用系统按其功能分成若干模块,如系统扩展模块:输入模块、输出模块、,A/D,模块、,D/A,模块等。针对不同的功能模块,编写一小段测试程序,并借助于万用表,、示波器、逻辑笔等仪器来检查硬件电路的正确性。,二、软件调试方法,1.,程序跳转错,这种错误的现象是程序运行不到指定的地方,或发生死循环,通常是由于错用了指令或设,错了标号,如:,ORG 8000H,STRT:CLR C,MOV A,0F0H,LP1:,INC A,JNC LP1,MOV DPTR,7FFFH,2.程序错误,对于计算程序,经过反复测试后,才能验证它的正确性。例如调试一个双字节十进制加法程序,该子程序的功能是将 31,H、30H,和 33,H、32H,单元内的,BCD,码相加,结果送 34,H、33H、32H,单元。,STRT:MOV R0,32H,MOV R1,30H,MOV R6,02H,CLR C,LOOP1:MOV A,R0,ADDC A,R1,DA A,MOV R0,A,INC R0,INC R1,DJNZ R0,LOOP1,CLR A,MOV ACC.0,C,MOV R0,A,LOOP2:RET,3.动态错误,用单步、断点仿真运行命令,一般只能测试目标系统的静态功能。目标系统的动态性能要用全速仿真命令来测试,这时应选中目标机中晶振电路工作。,系统的动态性能范围很广,如控制系统的实时响应速度、显示器的亮度、定时器的精度等等。若动态性能没有达到系统设计的指标,有的原因是由于元器件速度不够造成的;更多的是,由于多个任务之间的关系处理不恰当引起的。,4.加电复位电路的错误,排除硬件和软件故障后,将,EPROM,和,CPU,插上目标系统,若能正常运行,应用系统的开发研制便完成。若目标机工作不正常,主要是加电复位电路出现故障造成的。如 8031 没有被初始,复位,则,PC,不是从 0000,H,开始运行,故系统不会正常运行,必须及时检查加电复位电路。,
展开阅读全文