第 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.0~ P1.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,,看门狗,