第10章 单片机应用系统设计与开发.ppt
第10章 单片机应用系统设计与开发,10.1 单片机应用系统的开发过程 10.2应用系统开发工具 10.3单片机应用系统举例 10.4单片机应用系统抗干扰技术,退出,10.1 单片机应用系统的开发过程,10.1.1 拟定总体设计方案 1、拟定设计任务书 2、建立数学模型 3、机型和器件的选择 4、硬件和软件功能划分,10.1.2 硬件开发过程 10.1.3 软件开发过程 1、程序总体设计 2、绘制程序流程图 3、编制程序 4、上机调试 5、系统模拟调试 6、在线仿真调试 10.1.4程序固化,10.2应用系统开发工具,10.2.1 单片机开发系统的构成,10.2.2 单片机开发系统的功能 单片机开发系统应具有对用户程序进行输入、编辑、汇编和调试的功能。此外,还必须具备在线仿真功能。辅助设计功能,是衡量单片机开发系统性能高低的重要标志。 1、程序输入和编辑 2、对用户程序进行汇编、连接和装载 3、对用户程序进行调试 (1)设置断点运行 (2)单步运行 (3)连续运行 (4)对目标系统状态读出和修改,4、反汇编功能 5、跟踪功能 6、程序固化功能 7、单片机开发系统的程序设计语言 11.2.3单片机开发器介绍 目前国产通用单片机开发器品种较多。如:SICE系列(复旦大学研制)、DVCC系列(启东计算机厂制造)、KDV系列(中国科大研制)、MICE(珠海万利电子有限公司制造)、伟福E2000(南京伟福实业有限公司)以及TDS51开发及教学实验系统(西安唐都科教仪器公司)。 (按具体开发器介绍),10.3单片机应用系统举例,以十字路口交通灯控制系统为例,介绍一个单片机应用系统的设计方法。 10.3.1总体设计方案 1、任务书 系统功能:此十字路口交通灯控制系统,分东西道和南北道,设东西道为A道,南北道为B道。规定:A道放行时间为2分钟,B道放行1.5分钟;绿灯放行,红灯停止;绿灯转红灯时,黄灯亮2秒钟;当一道有车而另一道无车时,交通灯控制系统能立即让有车道放行;若有紧急车辆要求通过时,此系统应能禁止普通车辆,而让紧急车辆通过。,处理方案:本系统采用单片机作为中心处理部件,输入/输出量均属开关量,而紧急车辆通过,采用实时中断方式。 2、机型和器件的选择 系统以常用的8031单片机作为中心处理部件,2732A作为程序存储器,红、绿、黄灯各4个作为交通指示灯,反应A道、B道有无车辆的传感器各2个,处理紧急车辆的中断按钮一个。,10.3.2硬件设计 将A道上的两个同色灯联在一起,B道上的同色灯也彼此相连(此处用发光二极管模拟实际的交通灯);用8031单片机的P1.0P1.5共6根输出线,控制各色交通灯的点亮与熄灭;A、B道上有无车辆的信号,输入给P1.6、P1.7;紧急车辆通过,采用外部触发按键实时中断方式。 根据该系统的功能要求及所用元器件,设计硬件电路,电路原理如图10-8所示。,10.3.3软件设计 根据硬件电路原理图,并按系统的功能画出程序流程图。由于此系统较为简单,故采用自顶向下的设计方法,进行程序设计;紧急车辆通过的处理,则采用中断的方法,由中断处理程序处理。程序流程如图10-9(a)、10-9(b)所示。 说明:P1.6=0,表示A道有车通过,P1.6=1,表示A道无车通过; P1.7=0,表示B道有车通过,P1.6=1,表示B道无车通过。,参考程序如下: (1)主程序: ORG 0000H LJMP START ORG 0003H LJMP TOINT ORG 1000H START:SETB IE.0 SETB IP.0 CLR TCON.0,ENTER:CLR EA MOV R4 , #60 MOV P1 , #11110011B CLR F0 SETB EA LOOP1:ACALL DELAY DJNZ R4 , PA1 AJMP LL1 PA1:MOV C , P1.6 JNC LOOP1,LL1:MOV P1 , #11110101B ACALL DELAY CLR EA MOV R5 , #45 MOV P1 , #11011110B SETB F0 SETB EA LOOP2:ACALL DELAY DJNZ R5 , PB1 AJMP LL2,PB1:MOV C , P1.7 JNC LOOP2 MOV C , P1.6 JC LOOP2 LL2:MOV P1 , #11101110B ACALL DELAY AJMP ENTER DELAY:MOV R1 , #14H MM1:MOV R2 , #0C8H,MM2:MOV R3 , #0FAH MM3:DJNZ R3 , MM3 DJNZ R2 , MM2 DJNZ R1 , MM1 RET END,(2)中断服务程序: TOINT:PUSH P1 MOV C , F0 JNC PA SETB P1.5 CLR P1.4 ACALL DELAY MOV P1 , #11110110B SJMP LOOP,PA:SETB P1.2 CLR P1.1 ACALL DELAY MOV P1 , #11110110B LOOP:MOV C , P3.2 JNC LOOP MOV C , F0 MOV P1 , #11110011B LB:MOV P1 , #11011110B POP P1 RETI,10.4单片机应用系统抗干扰技术,10.4.1 硬件抗干扰技术 1、供电系统的抗干扰 2、输入/输出通道的抗干扰 3、印制电路板的抗干扰 10.4.2 软件抗干扰技术 1、指令冗余和软件陷阱 2、“看门狗”,