新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 51單片機模擬交通燈

51單片機模擬交通燈

作者: 時間:2016-11-29 來源:網絡 收藏

lcall del500ms
setb p1.6 ;關南北綠燈
clr p1.7 ;南北黃燈亮2秒
mov 34h,#4 ;延時2秒
loop2:lcall del500ms
djnz 34h,loop2
setb p1.7 ;2秒后滅南北黃燈
clr p2.6 ;5秒后開時間顯示
clr p2.7 ;
mov 31h,#30 ;東西時間重賦30秒初值
mov 32h,#30 ;南北時間重賦30秒初值
clr p1.1 ;點亮東西綠燈
clr p1.5 ;點亮南北紅燈
setb p1.0 ;關東西紅燈
clr 4fh
sjmp out
display:mov a,31h ;東西方向時間顯示
mov b,#10
div ab
mov 20h,a
mov 21h,b
disp1:mov a,20h
mov dptr,#table
movc a,@a+dptr
mov p0,a
clr p2.0
lcall del1ms
setb p2.0
disp2:mov a,21h
mov dptr,#table
movc a,@a+dptr
mov p0,a
clr p2.1
lcall del1ms
setb p2.1
disp3:mov a,32h ;南北方向時間顯示
mov b,#10
div ab
mov 22h,a
mov 23h,b
disp4:mov a,22h
mov dptr,#table
movc a,@a+dptr
mov p3,a
clr p2.6
lcall del1ms
setb p2.6
disp5:mov a,23h
mov dptr,#table
movc a,@a+dptr
mov p3,a
clr p2.7
lcall del1ms
setb p2.7
ret
table:db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h ;0-9數(shù)字
del1ms:mov r7,#10 ;1ms延時子程序
d1:mov r6,#50
djnz r6,$
djnz r7,d1
ret
del500ms:mov r5,#5 ;500ms延時子程序
del3:mov r4,#200
del4:mov r3,#250
djnz r3,$
djnz r4,del4
djnz r5,del3
ret
key:jb p1.3,keyout
jnb p1.3,$
clr ea
inc 36h
mov a,36h
cjne a,#2,key4
mov 36h,#00
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
lcall del500ms
setb p1.6 ;滅東西綠燈
clr p1.7 ;東西黃燈亮2秒
mov 33h,#4 ;延時2秒
loop3:lcall del500ms
djnz 33h,loop3
setb p1.7 ;2秒后滅東西黃燈
setb p1.0 ;關東西紅燈
setb p1.6 ;關南北綠燈
clr p1.1 ;開西綠燈
clr p1.5 ;開南北紅燈
setb ea
sjmp keyout
key4:clr p1.6 ;;開南北綠燈
clr p1.0 ;開東西紅燈
setb p1.1
setb p1.2
setb p1.3
setb p1.4
setb p1.5
setb p1.7
keyout:ret
end

本文引用地址:http://butianyuan.cn/article/201611/323549.htm

上一頁 1 2 下一頁

評論


技術專區(qū)

關閉