1設計任務
( 按下時依次紅燈全亮,同時數(shù)碼管顯示15S的到計時;東西綠燈亮,南北紅燈亮,同時數(shù)碼管顯示30S的到計時;計閃次數(shù)8次。。。。。。。。。。。。)
2匯編程序
MIAOEQU 30H
ORG 0000H
LJMP START
ORG 000BH
LJMP INTET0
START: LACALL JS1
MOV P1,#0F6H;點亮四個紅燈
MOV P3,#0DEH
LCALLDE15S ;延時15S
LLL: MOV P1,#0DBH ;東西綠燈亮,南北紅燈亮
MOV P3,#0DEH
LCALLDE30S ;延時30S
MOV P1,#0FFH ;東西綠燈滅,南北紅燈亮
MOV P3,#0DEH
MOV R1,#08H; 計閃次數(shù)8次
DDD: MOV P1,#0EDH ; 東西黃燈亮,南北紅燈亮
MOV P3,#0DEH
ACALL DE02S
MOV P1,#0FFH ; 東西黃燈滅,南北紅燈亮
DE6S: MOV R5,#60 ;延時6S
SJMP DE1
DE02S: MOV R5,#02H ; 延時0.2S
DE1: MOV R6,#200
DE2: MOV R7,#126
DE3: DJNZ R7,DE3
DJNZ R6,DE2
DJNZ R5,DE1
RET
JS1: MOV TMOD,#01H ; 50MS定時常數(shù)
MOV TH0,#3CH
MOV TL0,#0B0H
MOV R0,#20 ; 1S定時常數(shù)
SETB EA
SETB ET0
RET
DE30S: MOV MIAO,#00H
NEXT: MOV A,MIAO
MOV B,#10
DIV AB
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P0,A
MOV A,B
MOVC A,@A+DPTR
MOV P2,A
LCALL DELY1S
INC MIAO
MOV A,MIAO
DEC MIAO
MOVA,MIAO
CJNE A,#30,NEXT
LJMP DE30S
DE15S: MOV MIAO,#00H
NEXT: MOV A,MIAO
MOV B,#10
DIV AB
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P0,A
MOV A,B
MOVC A,@A+DPTR
MOV P2,A
LCALL DELY1S
INC MIAO
MOV A,MIAO
DEC MIAO
MOVA,MIAO
CJNE A,#15,NEXT
LJMP DE15S
DELY1S: MOV R5,#100
D2: MOV R6,#20
D1: MOV R7,#248
DJNZ R7,$
DJNZ R6,D1
DJNZ R5,D2
RET
TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
END