交通灯控制(硬件,软件,流程)
1、 硬件连接图
硬件连接说明:
①8253 和 8259 采用系统连接,8253 的定时器通道 0,输入频率为 1.19MHz,输出产生 0.05
秒的定时信号,通过 8259 的 IR0 向 CPU 申请中断,即每产生一次中断,则说明定时 0.05
秒。
②8255 的 A 口输出,控制 8 个发光二极管的亮灭,作为指示灯,实际只用二个绿灯和红灯。
③8259 的 B 口输出,作为 4 个数码管的笔划码,其显示码与显示数据的关系如下表;C 口
的 PC0~PC3 为字段码控制,控制哪一个数码管显示。
显示数值
显示码
显示数值
显示码
Dp g f e d c b a
Dp g f e d c b a
0
0 0 1 1 1 1 1 1
5
0 1 1 0 1 1 0 1
1
0 0 0 0 0 1 1 0
6
0 1 1 1 1 1 0 1
2
0 1 0 1 1 0 1 1
7
0 0 0 0 0 1 1 1
3
0 1 0 0 1 1 1 1
8
0 1 1 1 1 1 1 1
4
0 1 1 0 0 1 1 0
9
0 1 1 0 1 1 1 1
④8259 的 C 口输入,根据开关 K1~K4 的值,设置通行时间从 00~90 秒,间隔 10 秒。
2、 程序流程图
主程序流程如下: 中断处理程序如下:
K4
K1
OUT0
INTR
CPU
8255
PA0
┇
PA7
PB0
┇
┇
PB7
PC0
┇
PC3
PC4
┇
PC7
D0
┇
D7
┇
XD0
XD7
┅
┇
8 个 LED 指示灯
8253
CLK0
GATE0
1.19MHz
+5V
IR0
8259
INT
┅