
硬件篇
题目:
采用 8253、8255A 与 8259A 完成如下功能:设计一个十字路口交通灯,连
接交通灯(红黄绿三种颜色),可通过开关 1 进入中断完成如下功能:将所有
路口显示灯都变红后通过按键 A 设置路口的等待秒数,可在 LED 管上显示,可
使其从 10~30 秒间进行自加。
分析:
由题意假设开关1已经打开,初始状态下4个红灯全点亮,如没有按键A动作
则延时5秒后进入正常工作状态,把交通灯分别点亮分成4个状态〔如以下表
格〕
0状态两盏绿灯,两盏红灯亮,延时一段时间后进入1状态
1状态对应0态时绿灯方向的黄灯点亮,此时0态的绿灯熄灭,红灯依然亮着,
延时5秒后转入状态2
状态2对应状态1方向的黄灯熄灭同时红灯亮起,原1态红灯方向的红灯熄灭绿
灯点亮,延时一段时间后进入状态3
状态3对应原2状态时绿灯方向的黄灯点亮,同时绿灯熄灭,原来的红灯方向不
变,延时5秒后跳转到状态0做循环
黄灯 绿灯 红灯
东 南 西 北 东 南 西 北 东 南 西 北
B7 B6 B5 B4 C7 C6 C5 C4 C3 C2 C1 C0
0 0 0 0 0 0 0 0 1 1 1 1
0 0 0 0 1 0 1 0 0 1 0 1
1 0 1 0 0 0 0 0 0 1 0 1
0 0 0 0 1 0 1 0 1 0 1 0
0 1 0 1 0 0 0 0 1 0 1 0
1-代表灯亮;0-代表灯灭;
LED_STATE 中保存的数据:
状态 LP B 口 C 口
初始化
0 0FH
0 0 0A5H
1 0A0H 05H
2 0 5AH
3 50H 0AH
电路原理: