《微机原理及接口技术课程设计交通灯》由会员分享,可在线阅读,更多相关《微机原理及接口技术课程设计交通灯(20页珍藏版)》请在金锄头文库上搜索。
1、微机原理及接口技术课程设计交通灯序言十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。当前,国内大多数城市正在采用“自动”红绿交通灯,它具有固定的“红灯绿灯”转换间隔,并自动切换。它们一般由“通行与禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。在交通灯的通行与禁止时间控制显示中,通常要么东西、南北两方向各50秒;要么根据交通规律,东西方向60秒,南北方向40秒,时间控制都是固定的。交通灯的时间控制显示,以固定时间值预先“固化”在单片机中,每次只是以一定周期交替变化。但是,实际上不同时刻的车辆流通状况是十分复杂的,
2、是高度非线性的、随机的,还经常受认为因素的影响。采用定时控制经常造成道路有效应用时间的浪费,出现绿灯方向车辆较少,红灯方向车辆积压。它不顾当前道路上交通车辆数的实际情况变化,其最大的缺陷就在于当路况发生变化时,不能满足司机与路人的实际需要,轻者造成时间上的浪费,重者直接导致交通堵塞,导致城市交通效率的下降。 目前,有一种使用“模糊控制”技术控制交通灯的方法。能够根据十字路口两个方向上车辆动态状况,自动判断红绿灯时间间隔,以保证最大车流量,减少道口的交通堵塞。但是却不像定时控制,能用数字显示器显示当前灯色剩余时间,以便于驾驶员随时掌握自己的驾驶动作,及时停车或启动。本次课程设计采用定时加中断控制
3、的方式进行,对两个方向车辆的通行时间分别计时,可随意进行更改双向的通行时间。目录一、实验目的3二、实验内容3三、交通信号灯实时控制和管理的总体设计4(一) 芯片选择及端口选择4(二) 实验连接线路图及相关说明5(三) 设计思想6(四) 设计流程图7四、实验环境及条件9五、源程序清单9(一) 初始化主程序9(二) 中断服务程序11六、程序运行结果13七、课程设计总结13八、参考文献15机原理及接口技术课程设计一、实验目的 了解交通灯管理的基本工作原理 熟悉8259A中断控制器的工作原理和应用编程 熟悉8255A并行接口的各种工作方式和应用 熟悉8253计数器/定时器的工作方式及应用编程,掌握利用
4、软硬件相结合定时的方法 掌握多位LED显示问题的解决二、实验内容本次课程设计的内容为交通信号灯的实时控制和管理。某交通干线车行道和人行横道的交通信号灯设置如图所示:其中: 表示红灯、 表示黄灯、 表示绿灯具体要求如下:1东西方向车辆放行60秒钟。即东西方向的绿灯和南北方向的红灯同时点亮1分钟;21分钟后,东西方向的黄灯闪烁5秒钟,以警示车辆将切换红绿灯。此时南北方向仍维持红灯点亮。在南北方向亮红灯期间,在2位数码管上显示计数值(每秒减1),从65减为0。3东西方向的黄灯闪烁5秒钟后,转为南北方向放行20秒钟。即东西方向的红灯和南北方向的绿灯同时点亮20秒钟;4南北方向放行20秒钟后,转为南北方
5、向的黄灯闪烁5秒钟,以警示将切换红绿灯。此时东西方向仍维持红灯点亮。5南北方向的黄灯闪烁5秒钟后,再转为东西方向车辆放行1分钟。如此循环重复。三、交通信号灯实时控制和管理的总体设计 芯片选择及端口选择 1用实验系统8255A实现对信号灯的控制(所用端口自定);2位数码显示用8255A实现控制。2. 用实验系统8235的计数器2定时向实验系统主片8259A的IRQ7请求中断,以实现要求的1分钟、5秒钟和20秒的定时。实验系统8235的计数器2的CLK2接OPCLK,频率为1.19318MHZ;GATE2已接+5V;定时采用软硬件相结合的方式实现。 用实验系统的发光二极管模拟红绿灯。注:8259A
6、的端口地址为:218H、219H8255A的端口地址为:端口A-200H、端口B-201H、端口C-202H、控制端口- 203H8253的端口地址为:计数器0-208H、计数器1-209H、计数器2-20aH、控制寄存器0-20bH。 实验连接线路图及相关说明(1)线路图试验箱交通灯组片选信号引脚连接8259A的片选信号引脚连接:21821F8255A的片选信号引脚连接:2002078253 的片选信号引脚连接:20820F(三)设计思想设计数器0的计数初值为25000,由于CLK0接脉冲信号,频率为2.5MHZ,所以每10ms中断一次。利用CX对不同的状态时间计数,用来实现计数器0对1分钟
7、,20秒钟,5秒钟的定时。中断子程序分为数码显示刷新部分和红绿黄灯各种状态切换部分。每进入中断即刷新LED显示。用对于东西车道和南北车道黄灯闪烁利用标志位判断实现,满足比较条件就暗,不满足条件就亮。(四)设计流程图主程序流程图:中断服务程序流程图:四、实验环境及条件超想3000TB综合实验/仿真系统导线3.微机原理及接口技术试验箱五、源程序清单本次设计中,选用8235的计数器0定时向实验系统主片8259A的IRQ0请求中断。设置8253的计数器0每10ms请求一次中断,工作于模式3;8255的A端口控制交通灯;数码管驱动程序采用指导老师提供的程序。初始化程序:DATA SEGMENTLED D
8、B 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;存放七段代码表DB 7FH,6FH,77H,7CH,39H,5EH,79H,71HD1 EQU 10HD2 EQU 200H ;8255A端口AEA EQU 200H ;8259端口地址EE EQU 203HCONTROL EQU 20bH ;8253端口地址COUNT0 EQU 208HCOUNT1 EQU 209HCOUNT2 EQU 20aHZ8279 EQU 222HD8279 EQU 220HLEDMOD EQU 00 ;左边输入,八位显示外部译码八位显示LEDFEQ EQU 38H ;扫描频率DATA ENDSC
9、ODE SEGMENTASSUME CS:CODE,DS:DATACODE SEGMENTASSUME CS:CODECONT DB 0CONT1 DB 0CONT2 DB 0BKSD DB 0BKAD DB 0BKDA DB 0TEMP DB 0;*START:MOV AX,0MOV DS,AXMOV AX,OFFSET IRQ0ADD AX,2000HMOV SI,0FH*4MOV SI,AXMOV AX,0 MOV SI+2,AXIN AL,218HAND AL,7FHOUT 219H,ALCLIMOV AL,80H ;初始化8255OUT EE,ALMOV AL,00OUT EA,AL
10、MOV AL,0f0HOUT EA,ALMOV DX,218H ;8259初始化MOV AL,00010010bOUT DX,ALMOV AL,08HMOV DX,219HOUT DX,ALMOV DX,203H ;设置为全输出MOV AL,80HOUT DX,ALMOV DX,200HMOV AL,0ffhOUT DX,AL ;清LEDMOV DX,200H ;全红MOV AL,0F0HOUT DX,ALMOV AL,00110110b ;初始化 8253OUT CONTROL,ALMOV AX,2500MOV DX,COUNT0OUT DX,ALMOV AL,AHOUT COUNT0 ,ALMOV AX,DATAMOV DS,AX中断服务程序:A1: STIHLTJMP A1 IRQ0: ;写数码管程序,暂缺JMP COMPARECOMPARE:CMP DL,0JZ STATE0CMP DL,1JZ STATE1CMP DL,2JZ STATE2CMP DL,3JZ STATE3STATE0: ;状态0:东西红南北绿mov al,01011010bout D2,alDEC SIJNZ CHANGE1DEC DHMOV SI,100CHANGE1:DEC CXCMP CX,0JNZ M0MOV CX,500STATE1: DEC