1.用单片机扩展一片8255,用4个交通灯模拟一个十字交叉路口的红、绿、黄灯,并设置二个单方向行按键,和一个紧急按键;
2.正常行驶时,东西或南北方向的灯按绿灯亮27秒,黄灯闪烁3秒,红灯亮30秒控制;
3.当两个单方向通行按键某一个按下时,则南北(东西)方向一直是绿灯,东西(南北)方向一直是红灯;或者紧急按键按下时,两方向均为红灯禁止通行,而只要有按键按下时8个数码管均显示8,且停止计时,按键松开后恢复到之前的状态。
本设计选用的51单片机内部晶振为12MHz,12分频所得时钟周期为1μs,选用定时器0,选用方式1,T0定时最长时间约为65ms,选用T0产生50ms的定时,再通过计时20次产生1S标志。设定时初值为X,则有(65536-X)*1μs=50ms,得X=3CB0H, 即 TH0=3CH, TL0=B0H
源程序: