|
該匯編語言單片機控制交通燈,適合電子小制作愛好者練習制作用,具有:時間顯示,紅綠燈提示,警示,夜間模式(黃燈閃爍),東西方向或者 南北方向緊急應急模式。匯編語言單片機控制交通燈正常情況下,若按下P3.2,程序進入夜間模式;若按下P3.3,程序進入緊急應急模式,此時,按下P3.4,東西綠燈亮,南北紅燈亮。若按下P3.5,東西紅燈亮,南北綠燈亮。若想退出緊急應急模式,按下復位按鈕即可。P1口接LED(P1.3,P1.4空著),P2口數碼管位選,P0口數碼管段選。程序里用了單片機的兩個外部中斷(INT0,INT1)。該匯編語言單片機控制交通燈功能強,電路簡單易制作。下面是匯編語言單片機控制交通燈全部匯編程序,電子小制作愛好者可以仿制。
ORG 0000H
JMP START
ORG 0003H
JMP EXT0
ORG 0013H
JMP EXT1
START:
MOV IE,#10000101B
MOV IP,#00000100B
MOV TCON,#00000000B
MOV SP,#70H
MOV 30H,#09H
MOV 31H,#01H
LOOP1:
MOV P1,#7EH
ACALL LOOP3
DEC 30H
MOV A,30H
CJNE A,#0FFH,LOOP1
MOV 30H,#09H
DEC 31H
MOV A,31H
CJNE A,#0FFH,LOOP1
MOV 31H,#01H
JMP LOOP2
LOOP2:
MOV P1,#0DBH
ACALL LOOP3
DEC 30H
MOV A,30H
CJNE A,#0FFH,LOOP2
MOV 30H,#09H
DEC 31H
MOV A,31H
CJNE A,#0FFH,LOOP2
MOV 31H,#01H
JMP START
LOOP3:
MOV DPTR,#TABLE
MOV R0,#100
LOOP4:
MOV A,30H
MOVC A,@A+DPTR
MOV P0,A
CLR P2.0
CLR P2.2
CLR P2.4
CLR P2.6
ACALL DELAY
SETB P2.0
SETB P2.2
SETB P2.4
SETB P2.6
MOV DPTR,#TABLE
MOV A,31H
MOVC A,@A+DPTR
MOV P0,A
CLR P2.1
CLR P2.3
CLR P2.5
CLR P2.7
ACALL DELAY
SETB P2.1
SETB P2.3
SETB P2.5
SETB P2.7
DJNZ R0,LOOP4
RET
EXT0:
PUSH ACC
PUSH PSW
MOV P0,#0FFH
MOV P2,#0FFH
MOV P1,#0BDH
ACALL DELAY1
MOV P1,#0FFH
ACALL DELAY1
POP PSW
POP ACC
RETI
EXT1:
PUSH ACC
PUSH PSW
JNB P3.4,LOP1
JNB P3.5,LOP2
MOV P1,#0FFH
ACALL DE
JMP EXT1
LOP1:
ACALL DE
MOV P1,#7EH
JMP EXT1
LOP2:
ACALL DE
MOV P1,#0DBH
JMP EXT1
POP PSW
POP ACC
RETI
DE:
MOV P0,#0FFH
MOV P2,#0FFH
RET
DELAY:
MOV R1,#25
L1:
MOV R2,#100
DJNZ R2,$
DJNZ R1,L1
RET
DELAY1:
MOV R3,#25
L3:
MOV R4,#100
L4:
MOV R5,#100
DJNZ R5,$
DJNZ R4,L4
DJNZ R3,L3
RET
TABLE:
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0BFH
END
|
|