单片机交通灯综合实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机交通灯综合实验报告河北工业大学
实
验
报
告
学
院:
专
业:
班
级:
姓
名:
学
号:
实验课程:单片机应用系统设计开发入门指导教师:实验名称:
交通信号灯控制实验
实验时间:
2021 年
5
月23 日
2021 年5 月23 日
一
实验要求
1
实验目的及实验内容要求实验目的:1.熟悉外部中断源的扩展方法。
2.初步掌握单片机综合应用系统设计。
3.掌握用Proteus 调试汇编源程序的方法。
实验内容要求:
用发光二极管模拟交通信号灯,用逻辑电平开关模拟控制开关,设计一个交通信号灯控制系统。设计要求如下:
(1) A 车道与B 车道交叉组成十字路口,A 是主道,B 是支道;正常情况下,A、B 两车道轮流放行。具体放行时间和要求如下:
(2) A 车道放行50s,其中绿灯常亮44s,绿灯闪烁3s(用于警告),黄灯常亮3s(用于警告)。
(3) B 车道放行30s,其中绿灯常亮24s,绿灯闪烁3s(用于警告),黄灯常亮3s(用于警告)。
在交通繁忙时,交通信号灯控制系统应有手控开关,可人为地改变信号灯的状态,以缓解交通拥挤状况。控制要求如下:
(1) 在B 车道放行期间,若A 车道有车而B 车道无车,按下开关使A 车道放行15s。
(2) 在A 车道放行期间,若B 车道有车而A 车道无车,按下开关使B 车
道放行15s。
(3) 有紧急车辆通过时,按下开关使A、B 车道均为红灯,禁行15s。
2
实验设备或运行软件平台完成本实验需要使用到单片机仿真软件Proteus8,该软件是英国Lab Center Electronics 公司出版的EDA 工具软件,是目前比较好的仿真单片机及外围器件的工具。从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB 设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB 设计软件和虚拟模型仿真软件三合一的设计平台。在编译方面,它也支持IAR、Keil、MATLAB 等多种编译器。其具有的基本功能特点为:1.原理布图。2.PCB 自动或人工布线。
3.SPICE 电路仿真。革命性的特点是1.互动的电路仿真。
2.仿真处理器及其外围电路。
二
实验内容及过程
1
实验设计及分析(或者实验程序)
实验原理图如下所示:
交通信号灯模拟控制系统程序流程图如下图所示:
主程序
一道有车另一道无车时
紧急车辆通过时的中断服务程序
的中断服务程序
绿灯闪、B
红灯延时s
3
A
红灯、
B
绿灯闪动延s
3
A
红灯、
B
绿灯延时25
s
A
绿灯、
B
红灯延时
s
A
红灯、
B
黄灯延时s
2
A
黄灯、
B
红灯延时s
2
初始化
开中断保护现场关中断A
道有车
B
道有车
红灯、
B
绿灯延时s
5
A
绿灯、
B
红灯延时5
s
关中断
恢复现场开中断返回
中断响应保护现场A
红灯、
B
红灯延时
20
恢复现场
返回
N
N
Y
Y
中断响应
开始
实验程序及程序分析如下:
ORG
0000H LJMP
MAIN ;LJMP,转向主程序ORG
0003H LJMP
INT00 ;转向紧急车辆中断服务程序ORG
0013H LJMP
INT11 ;转向有车车道放行中断服务ORG
0030H MAIN : SETB
PX0
;置外部中断0 为高优先级中断MOV
TCON,#00H ;置外部中断0、1 为电平触发MOV
IE,#85H ;开CPU 中断、外部中断0、1 中断LOOP:
;A 道绿灯亮;B 红灯亮MOV
P1,#0F3H MOV
R1,#88 ;44s 延时循环次数AP1:
;调用0.5s 延时子程序DELAY LCALL
DELAY DJNZ
R1,AP1 ;44s 不到,继续循环(DJNZ RN,REL 是一条件转移指令,先将工作寄存器Rn 中的数减”1”,判断结果是否为“0”,不为“0”程序就跳转到行标为REL 的地方执行,否则,为“0”就不转移,继续执行下一条指令。)MOV
R1,#6 ;3s 延时的循环次数(循环一次延时0.5 秒。)
AP2:
;A 道绿灯闪烁CPL
P1.2 LCALL
DELAY ;参考程序中缺少此句,若缺失会导致无法延时。
DJNZ
R1,AP2 ;3s 未到,继续循环MOV
P1,#0F5H ;A 道黄灯亮,B 道红灯亮MOV
R1,#6
AP3: LCALL
DELAY DJNZ
R1,AP3