资源描述:
《《微机原理与接口技术》课程设计-交通灯》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《微机原理与接口技术》课程设计院系:专业:年级班级:学号:姓名:指导教师:设计日期:计算机学院通信工程通信07-2班3107090202XXXXX李保平2010年1月3日一.课程设计目的 用汇编语言独立完成一个程序题,以达到熟练运用汇编语言编程实现有比较完整功能的程序的目的。⒈了解交通灯管理的基本工作原理 ⒉熟悉8259A中断控制器的工作原理和应用编程 ⒊熟悉8255A并行接口的各种工作方式和应用 ⒋熟悉8253计数器/定时器的工作方式及应用编程,掌握利用软硬件相结合定时的方法 二.课程设计任务
2、本次课程设计的内容为交通信号灯的实时控制和管理。 某交通干线车行道和人行横道的交通信号灯设置如图所示: 其中: 表示红灯、 表示黄灯、 表示绿灯 具体要求如下: 1.东西方向车辆放行60秒钟。即东西方向的绿灯和南北方向的红灯同时点亮1分钟; 2.1分钟后,东西方向的黄灯闪烁5秒钟,以警示车辆将切换红绿灯。此时南北方向仍维持红灯点亮。在南北方向亮红灯期间,在2位数码管上显示计数值(每秒减1),从65减为0。 3.东西方向的黄灯闪烁5秒钟后,转为南北方向放行20秒钟。即东西方向的红灯和南北方向
3、的绿灯同时点亮20秒钟; 4.南北方向放行20秒钟后,转为南北方向的黄灯闪烁5秒钟,以警示将切换红绿灯。此时东西方向仍维持红灯点亮。 5.南北方向的黄灯闪烁5秒钟后,再转为东西方向车辆放行1分钟。如此循环重复。三.总体设计方案 1.用实验系统8255A实现对信号灯的控制(所用端口自定);2位数码显示用8255A实现控制。 2.用实验系统8235的计数器2定时向实验系统主片8259A的IRQ7请求中断,以实现要求的1分钟、5秒钟和20秒的定时。 实验系统8235的计数器2的CLK2接OPCLK,频率
4、为1.19318MHZ;GATE2已接+5V;定时采用软硬件相结合的方式实现。 ⒊用实验系统的发光二极管模拟红绿灯。 注:8259A的端口地址为:218H、219H 8255A的端口地址为:端口A-200H、端口B-201H、端口C-202H、控制端口-203H 8253的端口地址为:计数器0-208H、计数器1-209H、计数器2-20aH、控制寄存器0-20bH。四.部分电路设计及功能解说 设计数器0的计数初值为25000,由于CLK0接脉冲信号,频率为2.5MHZ,所以每10ms中断
5、一次。利用CX对不同的状态时间计数,用来实现计数器0对1分钟,20秒钟,5秒钟的定时。中断子程序分为数码显示刷新部分和红绿黄灯各种状态切换部分。每进入中断即刷新LED显示。用对于东西车道和南北车道黄灯闪烁利用标志位判断实现,满足比较条件就暗,不满足条件就亮。五.程序设计流程图六.程序段功能汇总1、MAIN程序MAIN程序是总程序,输出说明,等待用户按键并读取键值。用SCANK:;扫描键盘输入,根据键盘输入调用bios16H中断的1号功能,读取键盘的状态。2、子程序子程序控制东西方向黄灯闪烁,南北绿灯。七.程序清单初始化程序:DATA
6、SEGMENT LED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;存放七段代码表 DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H D1 EQU10HD2 EQU200H ;8255A端口AEA EQU200H ;8259端口地址EE EQU203HCONTROLEQU20bH ;8253端口地址COUNT0 EQU208HCO
7、UNT1 EQU209H COUNT2 EQU20aHZ8279 EQU 222HD8279 EQU 220HLEDMOD EQU 00 ;左边输入,八位显示外部译码八位显示LEDFEQ EQU 38H ;扫描频率DATAENDSCODESEGMENT ASSUMECS:CODE,DS:DATACODE SEGMENT ASSUMECS:CODECONT DB0CONT1 DB0CONT2
8、 DB0BKSD DB0BKAD DB0BKDA DB0TEMP DB0START:MOVAX,0MOVDS,AXMOVAX,OFFSETIRQ0ADDAX,2000HMOVSI,0FH*4MOV[SI],