ORG 0100H
TT1: MOV TH1,#0D8H ;定时器1,定时10us MOV TL1,#0F0H DJNZ R6,EXIT
MOV R6,#100 ; MOV R1,#0FFH EXIT: RETI
INTT0:MOV P1,#0BEH ; JB P3.4,$ RETI
INTT1:MOV P1,#0BBH ; JB P3.4,$ RETI ORG 1000H
MAIN: MOV R6,#100 ; 定时器定时100次外部中断0, 外部中断1, 主程序;
26
MOV R1,#00H
MOV TMOD,#10H ;初始化 MOV TH1,#0D8H MOV TL1,#0F0H MOV IE,#8DH MOV 20H,#25 MOV 21H,#5 MOV 22H,#15 MOV 23H,#30 MOV 24H,#20 SETB TR1
ST1: MOV P1,#0EBH ;道亮红灯;
CJNE R1,#0FFH,TZ1 MOV R1,#00H DEC 20H
第一个状态,主干道亮绿灯、支干27
DEC 23H TZ1: MOV R2,20H MOV R3,23H
LCALL DISP ; MOV A,20H CJNE A,#00H,ST1 MOV 20H,#25
ST2: MOV P1,#0EDH ;亮红灯;
CJNE R1,#0FFH,TZ2 MOV R1,#00H DEC 21H DEC 23H TZ2: MOV R2,21H MOV R3,23H
LCALL DISP ;
调用显示子程序。 第二个状态,主干道亮黄灯、支干道调用显示子程序。
28
MOV A,21H CJNE A,#00H,ST2 MOV 21H,#05 MOV 23H,#30
ST3: MOV P1,#0BEH ;道亮绿灯;
CJNE R1,#0FFH,TZ3 MOV R1,#00H DEC 24H DEC 22H TZ3: MOV R2,24H MOV R3,22H
LCALL DISP ; MOV A,22H CJNE A,#00H,ST3 MOV 22H,#15
第三个状态,主干道亮红灯、支干调用显示子程序。 29
ST4: MOV P1,#0DEH ;第四个状态,主干道亮红灯、支干道亮黄灯;
CJNE R1,#0FFH,TZ4 MOV R1,#00H DEC 24H DEC 21H TZ4: MOV R2,24H MOV R3,21H
LCALL DISP ; MOV A,21H CJNE A,#00H,ST4 MOV 21H,#05 MOV 24H,#20
LJMP ST1 ;DISP: MOV A,R2 ; MOV B,#10
调用显示子程序。 跳转到第一个状态。显示子程序。 30