您的位置 首页 汽车

51单片机模仿交通灯

利用51单片机的控制二极管及数码管的显示来模拟交通灯,系统晶振为110592MHZ,东西方向红灯设置为30秒,南北方向红灯设置为20秒,P13接

使用51单片机的操控二极管及数码管的显现来模仿交通灯,体系晶振为11.0592MHZ,东西方向红灯设置为30秒,南北方向红灯设置为20 秒,P1.3接一个应急按钮,按下第一次铺开,南北方向绿灯一向亮,东西方向红灯一向亮(意图是为了便利大领导通行),按下铺开第2次,南北绿灯闪3秒黄灯亮2秒后变红灯,东西方向变为绿灯,之后沿着之前的设置一向循环,下面是仿真图、程序源代码

仿真图

程序源代码如下:
作者:胡琴
联络qq:1257394091
网站:http://www.51hei.com
本程序现已经过软件仿真以及在自己建立的硬件上测试经过.
org 0000h
ajmp main
org 000bh
ajmp inti0
org 0030h
main:mov tmod,#01h
mov ie,#82h
mov th0,#4ch
mov tl0,#00h
mov sp,#60h
mov 31h,#30 ;东西绿灯初值30秒
mov 32h,#30 ;南北红灯初值30秒
clr 4fh ;清标志位
clr p1.1 ;开东西绿灯
clr p1.5 ;开南北红灯
setb tr0 ;发动T0
loop:lcall display ;调用显现子程序
lcall key ;调用应急按键判别
ajmp loop
inti0:push psw
clr ea
mov th0,#4ch
mov tl0,#00h
inc 35h
mov a,35h
cjne a,#20,out ;判1秒是否届时
mov 35h,#00
jb 4fh,yi ;判别标志位
dec 31h ;东西时刻每秒减1
dec 32h ;南北时刻每秒减1
mov a,31h
cjne a,#05,out ;判是否到25秒
setb p2.0 ;到25秒关时刻显现
setb p2.1
setb p1.1 ;东西绿灯闪灭3秒
lcall del500ms
clr p1.1
lcall del500ms
setb p1.1
lcall del500ms
clr p1.1
lcall del500ms
setb p1.1
lcall del500ms
clr p1.1
lcall del500ms
setb p1.1 ;灭东西绿灯
sjmp er
out:setb ea
pop psw
reti
er:clr p1.2 ;东西黄灯亮2秒
mov 33h,#4 ;延时2秒
loop1:lcall del500ms
djnz 33h,loop1
setb p1.2 ;2秒后灭东西黄灯
clr p2.0 ;5秒后开时刻显现
clr p2.1
mov 31h,#20 ;东西时刻赋20秒初值
mov 32h,#20 ;南北时刻赋20秒初值
setb 4fh
setb p1.5 ;关南北红灯
clr p1.0 ;点亮东西红灯
clr p1.6 ;点亮南北绿灯
sjmp out
yi:dec 31h ;东西时刻每秒减1
dec 32h ;南北时刻每秒减1
mov a,31h
cjne a,#5,out ;判是否到15秒
setb p2.6 ;到15秒关时刻显现
setb p2.7 ;
setb p1.6 ;南北绿灯闪灭3秒
lcall del500ms
clr p1.6
lcall del500ms
setb p1.6
lcall del500ms
clr p1.6
lcall del500ms
setb p1.6
lcall del500ms
clr p1.6

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/255642.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部