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

📄 时钟程序.txt

📁 基于单片机的一些典型应用
💻 TXT
字号:
	ORG 000BH
	LJMP TINTRUP
	ORG 0340h		;SY11
CLOCK0: MOV SP,#50H
	MOV R0,#7EH
	MOV R4,#06H
	CLR A
CLOCK1: MOV @R0,A
	DEC R0
	DJNZ R4,CLOCK1
	MOV A,#7EH
	MOV DPTR,#1FFFH
	MOVX @DPTR,A
	MOV 76H,#00H
	MOV 77H,#00H
	LCALL KEYDISP0
	LCALL DISDA0
	MOV TMOD,#01H
	ORL IE,#82H
	MOV TL0,#0B7H
	MOV TH0,#3CH
	MOV 23H,#00H
	SETB TR0
CLOCK2: LCALL DISP
	LCALL DISDA0
	SJMP CLOCK2

DISDA0: MOV R0,#79H
	MOV A,22H
	ACALL DISDA
	MOV A,21H
	ACALL DISDA
	MOV A,20H
	ACALL DISDA
	RET
DISDA:	MOV R1,A
	ACALL DISDA1
	MOV A,R1
	SWAP A
DISDA1: ANL A,#0FH
	MOV @R0,A
	INC R0
	RET

TINTRUP: MOV TL0,#0B7H
	MOV TH0,#3CH
	PUSH PSW
	PUSH ACC
	SETB 0D3H
	INC 23H
	MOV A,23H
	CJNE A,#0AH,TINTRUP1
	MOV 23H,#00H
	MOV A,22H
	INC A
	DA A
	MOV 22H,A
	CJNE A,#60H,TINTRUP1
	MOV 22H,#00H
	MOV A,21H
	INC A
	DA A
	MOV 21H,A
	CJNE A,#60H,TINTRUP1
	MOV 21H,#00H
	MOV A,20H
	INC A
	DA A
	MOV 20H,A
	CJNE A,#24H,TINTRUP1
	MOV 20H,#00H
TINTRUP1:POP ACC
	POP PSW
	RETI

KEYDISP0:LCALL KEY
	JNC FANCKEY
DATAKEY:LCALL DATAKEY1
	DB 79H,7EH
	SJMP KEYDISP0

FANCKEY:CJNE A,#16H,KEYDISP0
	MOV A,7AH
	SWAP A
	ORL A,79H
	MOV 22H,A
	CJNE A,#60H,FANCKEY1
FANCKEY1:JNC FANCKEY4
	MOV A,7CH
	SWAP A
	ORL A,7BH
	MOV 21H,A
	CJNE A,#60H,FANCKEY2
FANCKEY2:JNC FANCKEY4
	MOV A,7EH
	SWAP A
	ORL A,7DH
	MOV 20H,A
	CJNE A,#24H,FANCKEY3
FANCKEY3:JNC FANCKEY4
	RET
FANCKEY4:CLR TR0
	LJMP CLOCK0

DATAKEY1:MOV R4,A
	MOV DPTR,#1FFFH
	MOVX A,@DPTR
	MOV R1,A
	MOV A,R4
	MOV @R1,A
	CLR A
	POP 83H
	POP 82H
	MOVC A,@A+DPTR
	INC DPTR
	CJNE A,01H,DATAKEY3
	DEC R1
	CLR A
	MOVC A,@A+DPTR
DATAKEY2:PUSH 82H
	PUSH 83H
	MOV DPTR,#1FFFH
	MOVX @DPTR,A
	POP 83H
	POP 82H
	INC DPTR
	PUSH 82H
	PUSH 83H
	RET
DATAKEY3:DEC R1
	MOV A,R1
	SJMP DATAKEY2

KEY0:	MOV R6,#20H
	MOV DPTR,#1FFFH
	MOVX A,@DPTR
	MOV R0,A
	MOV A,@R0
	MOV R7,A
	MOV A,#10H
	MOV @R0,A
KEY3:	LCALL KEYDISP
	JNB 0E5H,KEY2
	DJNZ R6,KEY3
	MOV DPTR,#1FFFH       ;***
	MOVX A,@DPTR
	MOV R0,A	      ;***
	MOV A,R7
	MOV @R0,A
KEY:	MOV R6,#50H
KEY1:	LCALL KEYDISP
	JNB 0E5H,KEY2	      ;***
	DJNZ R6,KEY1
	SJMP KEY0
KEY2:	MOV R6,A
	MOV A,R7
	MOV @R0,A
	MOV A,R6	      ;A=KEYDATA
KEYEND: RET

KEYDISP:LCALL DISP
	LCALL KEYSM
	MOV R4,A	      ;KEYDATA
	MOV R1,#76H	      ;DATASAME TIME
	MOV A,@R1
	MOV R2,A
	INC R1
	MOV A,@R1
	MOV R3,A	      ;LAST KEYDATA
	XRL A,R4
			      ;TWO TIME KEYDATA
	MOV R3,04H	      ;NEW KEYDATA---R3
	MOV R4,02H	      ;TIME---R4
	JZ KEYDISP1
	MOV R2,#88H
	MOV R4,#88H
KEYDISP1:DEC R4
	MOV A,R4
	XRL A,#82H
	JZ KEYDISP2
	MOV A,R4	      ;R4=TIME
	XRL A,#0EH
	JZ KEYDISP2
	MOV A,R4
	ORL A,R4
	JZ KEYDISP3
	MOV R4,#20H	      ;R4=20H
	DEC R2
	LJMP KEYDISP5
KEYDISP3:MOV R4,#0FH
KEYDISP2:MOV R2,04H
	MOV R4,03H
KEYDISP5:MOV R1,#76H
	MOV A,R2
	MOV @R1,A
	INC R1
	MOV A,R3
	MOV @R1,A
	MOV A,R4	      ;****
	CJNE R3,#10H,KEYDISP4
KEYDISP4:RET

DISP:	SETB 0D4H
	MOV R1,#7EH
	MOV R2,#20H
	MOV R3,#00H

DISP1:	MOV DPTR,#0FF21H
	MOV A,R2
	MOVX @DPTR,A
	MOV DPTR,#DATACO
	MOV A,@R1
	MOVC A,@A+DPTR
	MOV DPTR,#0FF22H
	MOVX @DPTR,A
DISP2:	DJNZ R3,DISP2
	DEC R1
	CLR C
	MOV A,R2
	RRC A
	MOV R2,A
	JNZ DISP1
	MOV A,#0FFH
	MOV DPTR,#0FF22H
	MOVX @DPTR,A
	CLR 0D4H
	RET
DATACO: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
	DB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,89H,0DEH

KEYSM:
	SETB 0D4H
	MOV A,#0FFH
	MOV DPTR,#0FF22H
	MOVX @DPTR,A		  ;OFF DISP
KEYSM0: MOV R2,#0FEH
	MOV R3,#08H
	MOV R0,#00H
KEYSM1: MOV A,R2
	MOV DPTR,#0FF21H
	MOVX @DPTR,A
	NOP
	RL A
	MOV R2,A
	MOV DPTR,#0FF23H
	MOVX A,@DPTR
	CPL A
	NOP
	NOP
	NOP
	ANL A,#0FH
	JNZ KEYSM2
	INC R0			;NOKEY
	DJNZ R3,KEYSM1
	SJMP KEYSM10

KEYSM2: 			;YKEY
	CPL A
	JB 0E0H,KEYSM3
	MOV A,#00H
	SJMP KEYSM7
KEYSM3: JB 0E1H,KEYSM4
	MOV A,#08H
	SJMP KEYSM7
KEYSM4: JB 0E2H,KEYSM5
	MOV A,#10H
	SJMP KEYSM7
KEYSM5: JB 0E3H,KEYSM10
	MOV A,#18H
KEYSM7: ADD A,R0
	CLR 0D4H
	CJNE A,#10H,KEYSM9
KEYSM9: JNC KEYSM10
	MOV DPTR,#KEYDATA
	MOVC A,@A+DPTR
KEYSM10:RET
KEYDATA:DB 07H,04H,08H,05H,09H,06H,0AH,0BH
	DB 01H,00H,02H,0FH,03H,0EH,0CH,0DH
	END

⌨️ 快捷键说明

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