当前位置 - 股票行情交易網 - 文娛動態 - 基於單片機的交通信號燈模擬控制系統設計

基於單片機的交通信號燈模擬控制系統設計

;2位LED數碼管顯示程序:P0口接數碼管段,P2口接數碼管位。 P3口接鍵盤,P1口接發光二極管

ORG 0000H

LJMP MAIN

ORG 0003H

LJMP INT0P

ORG 000BH

LJMP T0INT

ORG 0013H

LJMP INT1P

ORG 001BH

LJMP CTC1

ORG 0100H

MAIN: LCALL CSHIH ;初始化

LOOP: LCALL TONGX ;通行路口

LCALL H_BCD2 ;計算(1位HEX轉換為2位BCD碼)

LCALL YIMA ;譯碼

LCALL LED4W ;顯示

CLR 00H

JNB 00H,$

DJNZ R6,LOOP

MOV R6,#100

JNB 10H,LOOP1 ;啟動特殊功能K0

JB 10H,$

LOOP1: JNB 11H,LOOP2 ;啟動特殊功能K1

JB 11H,$

NOP

LOOP2: JNB 12H,LOOP3 ;啟動特殊功能K2

JB 12H,$

NOP

LOOP3: DJNZ TIME,LOOP

SETB 02H

SJMP LOOP

TONGX: JB 01H,DONGX

JB 02H,HUANG1

MOV P1,#21H

SJMP TX_OUT

HUANG1: MOV P1,#22H

MOV TIME,#1

DJNZ R5,TX_OUT

MOV R5,200

CLR 02H

CPL 01H

MOV TIME,#15

SJMP TX_OUT

DONGX: JB 02H,HUANG2

MOV P1,#0CH

SJMP TX_OUT

HUANG2: MOV P1,#14H

MOV TIME,#1

DJNZ R5,TX_OUT

MOV R5,200

CLR 02H

CPL 01H

MOV TIME,#15

TX_OUT: RET

LED4W: MOV A,XWEI

MOV B,#3

MUL AB

MOV DPTR,#LED4T

JMP @A+DPTR

LED4T: LJMP LD4W1

LJMP LD4W2

LJMP LD4W3

LJMP LD4W4

LD4W1: MOV LEDD,MLED1

MOV LEDW,#1

INC XWEI

SJMP LED4WE

LD4W2: MOV LEDD,MLED2

MOV LEDW,#2

INC XWEI

SJMP LED4WE

LD4W3: MOV LEDD,MLED3

MOV LEDW,#4

INC XWEI

SJMP LED4WE

LD4W4: MOV LEDD,MLED4

MOV LEDW,#8

MOV XWEI,#0

LED4WE: RET

YIMA: MOV R0,#BLED1 ;四位LED

MOV R1,#MLED1

MOV R7,#2

MOV DPTR,#YIMTAB

YIMA1: MOV A,@R0

MOVC A,@A+DPTR

MOV @R1,A

INC R0

INC R1

DJNZ R7,YIMA1

RET

YIMTAB: DB 3FH,06H,5BH,4FH,66H ;0,1,2,3,4

DB 6DH,7DH,07H,7FH,6FH ;5,6,7,8,9

CSHIH: MOV TIME,#15

MOV XWEI,#0

MOV LEDD,#0

MOV LEDW,#0

MOV R6,#100 ;1秒延時

MOV R5,#200 ;2秒延時

MOV P1,#21H

MOV 20H,#0

MOV 22H,#0

MOV TMOD,#61H ;T0方式1

MOV TTH0,#0D8H ;10ms

MOV TTL0,#0F0H

MOV TL0,TTL0

MOV TH0,TTH0

MOV TL1,#0FFH

MOV TH1,#0FFH

MOV IE,#8FH

SETB TR0

SETB TR1

MOV BLED1,#0

MOV BLED2,#0

MOV MLED3,#0

MOV MLED4,#0

RET

H_BCD2: MOV A,TIME

MOV B,#10

DIV AB

MOV BLED2,A

MOV BLED1,B

MOV MLED3,#0

MOV MLED4,#0

RET

T0INT: MOV TL0,TTL0

MOV TH0,TTH0

SETB 00H

RETI

INT0P: CPL 10H

SETB P1.2

CLR P1.1

CLR P1.0

SETB P1.5

CLR P1.4

CLR P1.3

RETI

INT1P: CPL 11H

CLR P1.2

CLR P1.1

SETB P1.0

SETB P1.5

CLR P1.4

CLR P1.3

RETI

CTC1: CPL 12H

MOV P1,#0CH

RETI

BIAOZ DATA 20H ;標誌:.0定時到。

XWEI DATA 60H ;顯示位,4位:0~3

TTL0 DATA 61H

TTH0 DATA 62H

TIME DATA 66H ;倒計時時間

BLED1 DATA 74H ;顯示數據BCD

BLED2 DATA 75H

BLED3 DATA 76H

BLED4 DATA 77H

MLED1 DATA 78H ;顯示數據譯碼

MLED2 DATA 79H

MLED3 DATA 7AH

MLED4 DATA 7BH

LEDD EQU P0 ;數碼管段

LEDW EQU P2 ;數碼管位

END