標題:
交通燈程序和仿真
[打印本頁]
作者:
新手121111115
時間:
2015-6-30 12:38
標題:
交通燈程序和仿真
//****用p0口德八個引腳控制交通燈閃爍P2.5——p2.7分別代表東西路口的紅黃綠燈P2.0—-p2.2分別代表南北路口的紅黃綠燈
//****1.開始時東西紅燈亮南北綠燈亮(延時10s) ****//
//****2.然后東西紅燈亮南北黃燈閃爍3次(亮一秒,滅一秒)****//
//****3.然后東西綠燈亮南北紅燈亮(延時10s)****//
//****4.然后東西黃燈閃爍3次(亮一秒,滅一秒)****//
//****5.返回的第一步繼續(xù)循環(huán)****//
ORG 0000H
AJMP MAIN
ORG 000BH
LJMP T1INT1
ORG 0030H
MAIN: MOV P2,#00100100B
MOV A,#06
DINGSHI:
AA3: MOV R1,#03
MOV R2,#03
MOV R7,#20
AA2: MOV TMOD,#10H
MOV TH1,#3CH
MOV TL1,#0BDH
SETB ET1
SETB EA
SETB TR1
T1INT1:DJNZ R7,ZD1 //***定時1S***//
DEC A
MOV R6,A
LCALL XIANSHI
MOV A,R6
CJNE A,#3,ZD4
JNB P2.0,ZD2
LJMP ZD3
ZD2: SETB P2.1 //***南北黃燈閃爍***//
DEC A
MOV R6,A
LCALL XIANSHI
MOV A,R6
CLR P2.1
DJNZ R1,ZD2
MOV P2,#10000001B //****東西綠燈亮南北紅燈亮****//
MOV A,#06
LJMP ZD4
ZD3:SETB P2.6 //***東西黃燈閃爍***//
DEC A
MOV R6,A
LCALL XIANSHI
MOV A,R6
CLR P2.6
DJNZ R2,ZD3
MOV P2,#00100100B //***東西紅燈亮南北綠燈亮***//
MOV A,#06
LJMP ZD4
ZD1: CLR TF0
LJMP AA2
ZD4:CLR TF0
LJMP AA3
RETI
DELAY1s:MOV R3,#10 //***延時函數(shù)(1s)***//
MOV TMOD,#01H
LOOP:MOV TH0,#1FH
MOV TL0,#0F6H
SETB TR0
LOOP1:JBC TF0,LOOP2
SJMP LOOP1
LOOP2:CLR TR0
DJNZ R3,LOOP
RET
XIANSHI:ANL A,#0FH
MOV R4,A
ANL A,#0F0H
SWAP A
MOV R5,A
MOV A,R4
MOV DPTR,#LEDMAP
MOVC A,@A+DPTR
CLR P2.3
MOV P0,A
SETB P2.3
MOV A,R5
MOVC A,@A+DPTR
CLR P2.4
MOV P0,A
SETB P2.4
RET
DELAY1ms:CLR TF0
MOV TMOD,#00H
MOV TH0,#1CH
MOV TL0,#18H
SETB TR0
RET
LEDMAP:db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h
db 7fh,6fh,77h,7ch,39h,5eh,79h,71h
RET
NOP
NOP
end
求大神查錯
這個程序是自己寫的,似乎問題不小啊,中斷到底怎么用啊,但這個程序可以用keil4進行軟件仿真,用protutes7,就沒有理想的結(jié)果。
我感覺顯示那塊有點問題,還有就是定時器,延時程序都不太對,現(xiàn)在想大神指點一下,或者費神根據(jù)本帖用匯編寫一下,萬分感謝。
作者:
新手121111115
時間:
2015-6-30 12:42
硬件圖也有,不知道怎么發(fā),發(fā)帖子說長度超標了
作者:
HWL0541
時間:
2015-9-29 14:16
樓主你用的是匯編啊
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1