1、交通灯设计报告交通灯设计报告 一、一、 设计任务设计任务 编写一个交通灯控制程序,实现东西路口与南北路口状态灯的转换和紧急处理。使用 LED 显示单元的两组 LED 数码管 D0-D7、D8-D15 分别模拟十字路口的两组交通灯。交通灯的 变化规律要求: 南北绿灯,东西红灯同时亮 20 秒,且数码管 20 秒倒计时显示。 南北黄灯闪烁 5 秒,同时东西路红灯继续亮,且数码管 5 秒倒计时显示。 南北路红灯,东西路绿灯同时亮 20 秒,且数码管 20 秒倒计时显示。 南北路红灯继续亮,同时东西路黄灯闪烁 5 秒,且数码管 5 秒倒计时显示。 转重复 按“东西紧急键” ,则东西方向绿灯,南北方向红
2、灯;再次按“东西紧急键” ,解除 东西紧急通行状态。 按“南北紧急键” ,则南北方向绿灯,东西方向红灯;再次按“南北紧急键” ,解除 南北紧急通行状态。 按“夜间处理键” ,东西南北方向黄灯闪烁,直到再一次按下此键为止。 二、二、 设计目的设计目的 1. 通过可编程并行接口芯片 8255A 和可编程定时器计数器芯片 8253 实现十字路口 交通灯的模拟控制。 2. 进一步掌握并行接口芯片 8255A 应用。 3. 掌握通过 8254 实现准确顶事的方法。 三、三、 课程设计环境课程设计环境 TDNCM计算机组成原理教学实验系统一台,计算机一台,排线若干。 四、四、 硬件和软件设计硬件和软件设计
3、 硬件设计框图及连线硬件设计框图及连线/ /接图:接图: B 7 B 6 B 5 B 4 B 3 B 2 B 1 B 0 A 7 A 6 A 5 A 4 A 3 A 2 A 1 A 0 C 3 C 2 C 1 C 0 C 4 C 5 8 2 5 5 A A B C D E F G D P X 2 X 1 L E D O U T 0 C L K 0 G A T E 0 C S C S 8 2 5 4 红 红 绿 绿 黄 黄 白 白 D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0 二 极 管 K 3 ( 东 西 紧 急 ) K 1 ( 夜 间 紧 急 ) K 2 ( 南 北 紧 急
4、 ) I O Y 0 1 K H Z + 5 V I O Y 2 硬硬 件件 连连 接接 图图 : 设计思想:设计思想: 通过 8253 计数,输入始终脉冲为 1KHZ,用方式 0 计满 1000,则送输出信号到 8255 的 C0,此时,令计数值 CX 减 1(CX 计数不为零) 。8255 的 A 口 PA7-PA0 输出控制二极管即交 通灯的亮灭;8255 的 B 口 PB7-PB0 输出控制数码管的显示;8255 的 C 口高四位输出,低四 位输入,PC4 和 PC5 控制数码管使两位十进制数同时显示,PC3、PC2 和 PC1 分别连接 K3、 K2 和 K1,分别代表东西紧急键、南
5、北紧急键和夜间紧急键。红绿灯转换中检测 PC3PC1 的 状态,判断是否有紧急键按下。在黄灯显示的时候,通过判断使黄灯亮时灭,灭时亮,以此 设置黄灯闪烁。 软件流程图:软件流程图: Y N N Y Y N N Y N Y 开始 8255、8254 初始化 设置计数初值为 35 南北黄灯闪,东西红灯继续亮 南北绿灯亮,东西红灯亮 计数值5? 计数值=0? 计数值=0? 计数值5? 重新设置计数初值为 35 南北红灯亮,东西绿灯亮 南北红灯继续亮,东西黄灯闪 有键按下? 返回 DOS 软件清单:软件清单: MY8255_A EQU 1400H ;8255 连接端口 IOY0 MY8255_B EQ
6、U 1401H MY8255_C EQU 1402H MY8255_MODE EQU 1403H MY8254_COUNT0 EQU 1440H ;8254 连接端口 IOY2 MY8254_MODE EQU 1443H DATA SEGMENT LEDDB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ; 数码管七段代码表 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV DX,MY8255_MODE;8255 初始化,连接端口 IOY0 MOV AL,10000001B ;A 口输出接 LED,B 口输出接 数码管,C0C3 输入,C4C7 输出 OUT DX,AL MOV CX,25 A1: MOV DX,MY8255_A ;8255 的 A 口接 LED() MOV AL,01111011B ;