好复杂,好难的问题,
你的要求应该是在计算机屏幕上用软件模拟十字路口红绿灯的规则
这样在屏幕上显示需要大量调用Int 10功能,来显示车辆,红绿灯。
太繁琐了
基于单片机的简易交通灯控制系统汇编语言程序
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP TT0
ORG 001BH
LJMP TT1
ORG 0030H
MAIN: MOV R6,#100 ;主程序
MOV DPTR,#BLOCK
MOV SCON,#0H
CLR F0
MOV TMOD,#12H ;初始化
MOV TH1,#0D8H
MOV TL1,#0F0H
SETB EA
SETB ET1
SETB ET0
MOV 20H,#7
MOV 21H,#3
MOV 22H,#10
ST1: SETB P0.4 ;第一个状态
SETB P0.6
SETB P0.7
CLR P0.3
CLR P2.1
SETB TR1
JNB F0,$
CLR F0
DEC 20H
DEC 22H
TZ1: MOV R2,20H
MOV R3,22H
ACALL SHOW ;SHOW NUMBER调用子程序
MOV A,20H
CJNE A,#00H,ST1
MOV 20H,#7
ST2: SETB P0.3 ;第二个状态,
CLR P0.0
CLR P0.1
SETB TR1
JNB F0,$
CLR F0
DEC 21H
DEC 22H
TZ2: MOV R2,21H
MOV R3,22H
ACALL SHOW ;SHOW NUMBER调用子程序
MOV A,21H
CJNE A,#00H,ST2
MOV 21H,#3
MOV 22H,#10
ST3: SETB P0.0 ;第三个状态
SETB P0.1
CLR P0.4
SETB P2.1
CLR P2.3
SETB TR1
JNB F0,$
CLR F0
DEC 22H
DEC 20H
TZ3: MOV R2,22H
MOV R3,20H
ACALL SHOW ;SHOW NUMBER调用子程序
MOV A,20H
CJNE A,#00H,ST3
MOV 20H,#7
ST4: SETB P2.3 ;第四个状态
CLR P0.6
CLR P0.7
SETB TR1
JNB F0,$
CLR F0
DEC 22H
DEC 21H