1、 微型计算机技术课程设计微型计算机技术课程设计 题题 目目 交通灯控制系统交通灯控制系统 作作 者者 学学 号号 指导教师指导教师 2013 年 7 月 4 日 目目 录录 一、课程设计的意义任务内容要求3 二、设计思路3 三、硬件电路3 四、交通灯控制时序 4 五、软件设计5 1)流程图5 2)源程序5 六、设计的创新点及体会收获总结7 七参考文献7 一一、课程设计的意义任务内容要求、课程设计的意义任务内容要求 1、目的和意义 本设计目的是应用外部中断技术的硬件电路组成及中断处理程序软件的编制方法。 2、内容 设计一个十字路口的交通灯控制系统。 用实验箱上的发光二极管模拟交通灯信号。 除了
2、按照正常的交通灯控制规则进行控制外, 还增加允许急救车优先通过的要求。 有急救车到达 时,发出中断申请,两交通信号为全红,以便让急救车通过。急救车通过路口的时间需要根 据有关知识进行计算得到。 设十字路口宽度为某一值, 急救车通过路口时的速度已知, 可以设此时急救车是匀速通 过,则通过的时间为速度除以路的宽度。急救车通过后,交通灯恢复中断前状态。 二二、设计思路、设计思路 十字路口交通灯的变化规律要求: 用实验箱上的发光二极管模拟交通灯信号 1、东西路口的绿灯、南北路口的红灯同时亮,这时东西方向的通车,L1、L6 灯 亮,L1、L6 分别表示东西路口红灯、南北路口绿灯,延时一段时间(长延时)
3、; 2、 东西路口、 南北路口的黄灯同时亮起, L2、 L5 分别表示东西南北路口黄灯亮, 延时一段时间(短延时) ; 3、东西路口的红灯、南北路口的绿灯同时亮,L3、L4 分别表示东西路口红灯、 南北路口绿灯,这时方向南北的通车。延时一段时间(长延时) ; 4、转 1 重复 5、特殊情况:如有急救车,则产生中断,两路口的交通灯红灯同时亮起,此时 两路口同时亮起。中断结束之后恢复原本通路。 三三、硬件电路、硬件电路 原理图 四、交通灯控制时序四、交通灯控制时序 LED1 东西红灯; LED2 东西黄灯 LED3 东西绿灯 LED4 南北红灯 LED5 南北黄灯 LED6 南北绿灯 开始时是东西
4、红灯亮,南北绿灯亮;之后东西黄灯亮,南北黄灯亮;之后东西绿 灯亮,南北红灯亮。 当有救护车通过时,发生中断响应,东西,南北都是红灯亮,延时两秒后,恢复 到之前亮灯状态继续按顺序控制交通灯闪亮。 五五、软件设计、软件设计 (1)流程图)流程图 主程序主程序 东西方向红灯亮与南北方向绿灯 延时 两方向黄灯同时亮 1 秒 东西方向绿灯亮与西北方向红灯 延时 开始 中断程序中断程序 (2)源程序)源程序 assume cs:code code segment public org 100h start: mov cx,0 start1: cli ; 关中断 mov dx,04a0h ; 将 CS825
5、9 地址(CS0:04A0H)给 dx mov ax,013h ; 计算 ICW1(需要 ICW4,一片 8259, 上升边触发, 所有无意义位设为 0) , 并将结果给 ax out dx,ax mov dx,04a2h mov ax,80h ; 将 ICW2 中断类型 80h 给 ax out dx,ax mov ax,01h ; 计算 ICW4(D1D7 全为 0),并 将结果给 ax out dx,ax mov ax,0feh ; 计算 OCW1 (IR0IR7 不被屏蔽) , 将结果给 ax out dx,ax nop ;以上为 8259 初始化 开中断 读入口单元值给 AX 输出 AX 延时 中断返回 mov ax,0 mov ds,ax mov di,200h ;计算中断向量表地址,并将结果给 di mov ax,offset int0 mov ds:di,ax add di,2 mov ds:di,100h add di,2 ;述程序为芯片 8259 的初始化程序 main: sti mov