⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 新建 文本文档.txt

📁 本设计是在车辆通行繁忙的十字交叉路口设置的灯火控制系统
💻 TXT
字号:
Z8279	EQU	0FF82H
D8279	EQU	0FF80H
LEDMOD	EQU	00H
LEDFEQ	EQU	2FH
LEDCLS	EQU	0C1H
LEDWR0	EQU	80H
READKB  EQU     40H
	ORG 0000H
	MOV DPTR,#8406H
	MOV A,	#80H
	MOVX @DPTR,A
WAIT:	LCALL GETKEY
	CJNE A,#0FFH,WAIT
	MOV 50H,B
	MOV A,B
	CJNE A,#0AH,WAIT
	LCALL START
START:	MOV 16H,#35
	MOV 17H,#5
	MOV 18H,#25
	MOV 19H,#5	
	MOV SP,#60H
	LCALL STATUS0
CIRCLE: LCALL STATUS1
	 LCALL STATUS2
	 LCALL STATUS3
	 LCALL STATUS4
	LJMP CIRCLE
STATUS0:
	MOV DPTR , #8400H
	MOV A,#0FH
	MOVX @DPTR, A
	MOV R2,#10
	LCALL DELAY 
	RET
STATUS1:
	MOV DPTR , #8400H
	MOV A,#96H
	MOVX @DPTR, A
	MOV 11H,16H
	LCALL INIT8279
STA1:	LCALL LC
	MOV 15H,#07H
	MOV 14H,#06H	
	LCALL DISPLAY
	LCALL FUWU00
		
	DJNZ 11H,STA1
	RET
STATUS2:
	MOV DPTR , #8400H
	MOV R3,#03H
FLASH:
	MOV A,#9FH
	MOVX @DPTR,A
	MOV R2,#03H
	LCALL DELAY
	MOV A,#96H
	MOVX @DPTR,A
	MOV R2,#03H
	LCALL DELAY
	DJNZ R3,FLASH
	MOV A,#06H
	MOVX @DPTR,A
	MOV 11H,17H	;传5秒
	LCALL INIT8279
STA2:	LCALL LC
	MOV 14H,#4
	LCALL DISPLAY
	LCALL FUWU01
	DJNZ 11H,STA2
	RET
STATUS3:
	MOV DPTR , #8400H
	MOV A,#69H
	MOVX @DPTR, A
	MOV 11H,18H;传25秒
	LCALL INIT8279
STA3:	LCALL LC
	MOV 15H,#03H
	MOV 14H, #02H
	LCALL DISPLAY
	LCALL FUWU02
	DJNZ 11H,STA3
	RET
STATUS4:
	MOV DPTR , #8400H
	MOV R3,#03H
FLASH1:
	MOV A,#6FH
	MOVX @DPTR,A
	MOV R2,#03H
	LCALL DELAY
	MOV A,#69H
	MOVX @DPTR,A
	MOV R2,#03H
	LCALL DELAY
	DJNZ R3,FLASH1
	MOV A,#09H
	MOVX @DPTR,A
	MOV 11H,19H;		传支5秒
	LCALL INIT8279
STA4:   LCALL LC
	MOV 14H,#00H
	LCALL DISPLAY 
	LCALL FUWU03
	DJNZ 11H,STA4
	RET

INIT8279:
	MOV	DPTR,#Z8279
	MOV	A,#LEDMOD
	MOVX	@DPTR,A
	MOV	A,#LEDFEQ
	MOVX	@DPTR,A
	MOV	A,#LEDCLS
	MOVX	@DPTR,A
	LCALL	DELAY
	RET
DISLED:
	PUSH	DPH
	PUSH	DPL
	PUSH	ACC
	MOV	A,#LEDWR0
	ADD	A,R4
	MOV	DPTR,#Z8279
	MOVX	@DPTR,A
	MOV	DPTR,#LEDSEG
	MOV	A,R5
	MOVC	A,@A+DPTR
	MOV	DPTR,#D8279
	MOVX	@DPTR,A
	POP	ACC
	POP	DPL
	POP	DPH
	RET
DELAY:
	PUSH	0
	PUSH	1
       PUSH     2
DELAY1:	MOV	1,#0H
DELAY2:MOV 0,#0B2H
	DJNZ	0,$
	DJNZ	1,DELAY2
        DJNZ    2,DELAY1  
        POP     2
	POP	1
	POP	0
	RET
DISPLAY:
	MOV R5,12H
	MOV R4,15H
	LCALL DISLED
	MOV R5,13H
	MOV R4,14H
	LCALL DISLED
	MOV R2,#10
	LCALL DELAY

	RET
LC:	MOV A, 11H
	MOV B,#0AH
	DIV AB
	MOV 12H,A
	MOV 13H,B
	RET
ERROR:	MOV R5,#10H
	MOV R4,#05H
	LCALL DISLED
	MOV R5,#11H
	MOV R4,#04H
	LCALL DISLED
	MOV R5,#12H
	MOV R4,#03H
	LCALL DISLED
	MOV R5,#13H
	MOV R4,#02H
	LCALL DISLED
	RET
GETKEY: PUSH DPH
	PUSH DPL 
	PUSH PSW
	MOV DPTR,#Z8279
	MOVX A,@DPTR
	ANL A,#07H
	JNZ GETVAL
	MOV A,#00H
	SJMP NKBHIT
GETVAL:
	MOV A,#READKB
	MOVX @DPTR,A
	MOV DPTR,#D8279
	MOVX A,@DPTR
	ANL A,#3FH
	MOV B ,A
	MOV A,#0FFH
NKBHIT: POP PSW
	POP DPL
	POP DPH
	RET
KEYA:	LCALL INIT8279
	MOV R5,#0AH
	MOV R4,#06H
	LCALL DISLED
 	AJMP CIRCLE
	RET		
KEYB:	MOV R5,#0BH
	MOV R4,#06H
	;LCALL DISLED
	LCALL ERROR
	RET
KEYC:	LCALL INIT8279
	MOV R5,#0CH
	MOV R4,#06H
	LCALL DISLED
WAIT1:	LCALL GETKEY
	CJNE A,#0FFH,WAIT1
	MOV R5,B
	MOV 31H,B
	MOV R4,#01H
	LCALL DISLED
WAIT2:	LCALL GETKEY
	CJNE A,#0FFH,WAIT2
	MOV R5,B
	MOV 30H,B
	MOV R4,#0
        LCALL DISLED
	RET	
KEYD:	MOV A,31H
	MOV B,#10
	MUL AB
	MOV B,30H
	ADD A,B 
	
	RET

KEYE:	MOV DPTR,#8400H
	MOV A,#96H
	MOVX @DPTR,A
	MOV R5,#0EH
	MOV R4,#06H
	LCALL DISLED
	RET
	
KEYF:	MOV DPTR,#8400H
	MOV A,#96H
	MOVX @DPTR,A
	MOV R5,#0FH
	MOV R4,#06H
	LCALL DISLED
	RET

FUWU00:	PUSH 11H
	PUSH PSW
	LCALL GETKEY
	CJNE A,#0FFH,JAP0
	MOV 50H,B
	MOV A,50H
	CJNE A,#0BH,PADJ
	LCALL KEYB
WAIT0:	LCALL GETKEY
	CJNE A,#0FFH,WAIT0
	MOV 50H,B
	MOV A,50H
	CJNE A,#0AH,PADJ
	SJMP JAP0
PADJ:	MOV A,50H
	CJNE A,#0CH,PADE0
	LCALL KEYC
	MOV R2,#10
	LCALL DELAY
	LCALL KEYD
	RET
PADE0:	MOV A,50H
	CJNE A, #0EH, PADF0
	LCALL KEYE
PADF0:	MOV A,50H
	CJNE A, #0FH, JAP0
	LCALL KEYF
	LJMP	WAIT0
JAP0:	POP PSW
	POP 11H
	LCALL KEYA
	RET

LEDSEG: DB  3FH,06H,5BH,4FH,66H,6DH,7DH,07H;'0,1,2,3,4,5,6,7,'
        DB  7FH,6FH,77H,7CH,39H,5EH,79H,71H;'8,9,A,B,C,D,E,F,'
	DB  73H,40H,40H,73H;'P,-,-,P,'
	END
			

















⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -