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