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

📄 lamp6.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
	LJMP	FUWU
	ORG 0040H
FUWU:	LCALL INIT8279
WAIT:	LCALL GETKEY
	CJNE A,#0FFH,WAIT
	MOV A,B
	CJNE A,#0AH, BB
	LJMP START	
BB:	MOV A,B
	CJNE A,#0BH,CC
	LJMP	ERROR
CC:	MOV A,B
	CJNE A,#0CH,DD
	LJMP  KEYC
DD:	MOV A,B
	CJNE A,#0DH ,WAIT
	LJMP KEYD	
	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:	MOV R5,B
	MOV R4,#06H
	LCALL DISLED
	RET		
KEYB:	MOV R5,#0BH
	MOV R4,#06H
	LCALL DISLED
	RET
KEYC:	LCALL INIT8279
	MOV R5,#0CH
	MOV R4,#06H
	LCALL DISLED
WAIT1:	LCALL GETKEY
	CJNE A,#0FFH,WAIT1
	MOV R5,B
	MOV R4,#01H
	LCALL DISLED
WAIT2:	LCALL GETKEY
	CJNE A,#0FFH,WAIT2
	MOV R5,B
	MOV R4,#0
        LCALL DISLED
	
	RET	
KEYD:	MOV A,81H
	MOV B,#10
	MUL AB
	MOV B,80H	
	ADD A,B
	MOV 16H,A
	MOV 11H,16H
	LJMP CIRCLE
	RET
START:	MOV DPTR,#8406H
	MOV A,	#80H
	MOVX @DPTR,A
	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 INIT8279
	LCALL DISPLAY
	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
	LCALL INIT8279
	MOV 11H,#5
STA2:	LCALL LC
	MOV 14H,#4
	LCALL DISPLAY
	DJNZ 11H,STA2
	RET
STATUS3:
	MOV DPTR , #8400H
	MOV A,#69H
	MOVX @DPTR, A
	MOV 11H,#35
	LCALL INIT8279
STA3:   LCALL LC
	MOV 15H,#03H
	MOV 14H, #02H	
	LCALL DISPLAY
	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,#05H
	LCALL INIT8279
STA4:	LCALL LC
	MOV 14H,#00H
	LCALL DISPLAY
	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
	MOV R5,#00H
	MOV R4,14H
	LCALL DISLED
	RET
LC:	MOV A, 11H
	MOV B,#0AH
	DIV AB
	MOV 12H,A
	MOV 13H,B
	RET
ERROR:	LCALL STATUS0
	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	
CTRL:
	SETB	PSW.1
	LCALL	GETKEY
	CJNE	A,#0FFH,CTRL
	MOV	A,B
	CJNE	A,#14,GP1
	LJMP	JIAN1
 GP1:	MOV	A,B
	CJNE	A,#15,GP2
	SJMP	JIAN2
 GP2:	MOV	A,B
	CJNE	A,#40,GP3
	SJMP	JIAN3
 GP3:	MOV	A,B
	CJNE	A,#41,GP4
	SJMP	JIAN4
 GP4:	LJMP	RG
 JIAN1:	LCALL	RGSAN
	LCALL	DG1
	LJMP	RG
 JIAN2:	LCALL	RGSAN
	LCALL	DG2
	LJMP	RG
 JIAN3:	LCALL	RGSAN
	LCALL	DG3
	LJMP	RG
 JIAN4:	LCALL	RGSAN
	LCALL	DRED
	LJMP	RG
 RGSAN:	MOV	DPTR,#8406H
	MOV	A,#80H
	MOVX	@DPTR,A
	MOV	DPTR,#8400H
	MOV	R3,#2
 SAN3:	MOV	A,#0C7H
	MOVX	@DPTR,A
	LCALL	DELAY9
	MOV	A,#00H
	MOVX	@DPTR,A
	LCALL	DELAY9
	DJNZ	R3,SAN3
	RET
 DG1:	MOV	R1,#DML1
	MOV	R2,#07H
	LCALL	RGSOX
	RET
 DG2:	MOV	R1,#DML2
	MOV	R2,#0C5H
	LCALL	RGSOX
	RET
 DG3:	MOV	R1,#DML3
	MOV	R2,#0C7H
	LCALL	RGSOX
	RET
 DRED:	MOV	R1,#8FH
	MOV	R2,#0C0H
	LCALL	RGSOX
	RET
 RGSOX:	
	MOV	DPTR,#8406H
	MOV	A,#80H
	MOVX	@DPTR,A
	MOV	DPTR,#8402H
	MOV	A,R2
	MOVX	@DPTR,A
	RET

 DELAY9:	PUSH	2
	PUSH	1
	PUSH	0
	MOV	R2,#03
 DELAY10:	MOV	R1,#00H
 DELAY20:	MOV	R0,#0B2H
	DJNZ	R0,$
	DJNZ	R1,DELAY20
	DJNZ	R2,DELAY10
	POP	0
	POP	1
	POP	2
	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 + -