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

📄 ht6221_sourse_codes.txt

📁 HT6221摇控代码
💻 TXT
字号:
;		IR remote
; p1 LED display十位数, p2 LED display 个位数
; ir input=p3.3(interupt1)
		ORG		0000H
		AJMP		MAIN
		ORG		0013H
		AJMP		INT
MAIN:		MOV		SP,#40H
		MOV		P2,#00H           ;十位数
		MOV		P0,#00H           ;个位数
		SETB		EA
		SETB		IT1
		SETB		EX1
DSP:		MOV		R2,#32
		MOV		DPTR,#TAB1
VV:		MOV		A,R2
		MOVC		A,@A+DPTR
		XRL		A,1CH
		JZ		ABC
		DJNZ		R2,VV
ABC:		MOV		A,R2  		   ;开始显示个位数
		MOV		DPTR,#TAB0
		MOVC		A,@A+DPTR
RX1:		MOV		P0,A
RX2:		MOV		A,R2		   ;开始显示十位数
		MOV		DPTR,#TAB
		MOVC		A,@A+DPTR
		MOV		P2,A
		AJMP		DSP
INT:		CLR		EA
		MOV		R6,#10
SB:		ACALL		YS1
		JB		P3.3,EXIT
		DJNZ		R6,SB		;在9MS起始码内有低电平出现退出中断,
		JNB		P3.3,$
		ACALL		YS2
		JB		P3.3,EXIT       ;在4.74MS时不为低电平退出中断    
		MOV		R1,#1AH
		MOV		R2,#4  
PP:		MOV		R3,#8
JJJJ:		JNB		P3.3,$
	        ACALL		YS1		;延时0.882秒,再判断是0还是1
	        MOV		C,P3.3
	        JNC		UUU
	        JB   		P3.3,$
UUU:		MOV		A,@R1           ;将C中的值读入(右移)组中
       		RRC		A
       		MOV		@R1,A
		DJNZ		R3,JJJJ         ;移完8位?
		INC		R1		;更换一个寄存器
		DJNZ		R2,PP;  received all data?
		MOV		A,1AH
		XRL		A,#0		;判断低8位地址码
		JNZ		EXI		
		MOV		A,1BH
		XRL		A,#01110111B	;判断高8位地址码
		JNZ		EXI
		MOV		A,1CH
		CPL		A
		XRL 		A,1DH		;判断数据码与其反码关系是否正确
		JNZ		EXI
		AJMP		EXIT
EXI:		MOV		1CH,#0		;三个判断其中有一个不对,就退出并将数据区清00
EXIT:		SETB		EA		;开中断并退出。
		RETI
YS1:		MOV		R4,#20
D1:		MOV		R5,#20
		DJNZ		R5,$
		DJNZ		R4,D1
		RET
YS2:		MOV		R4,#10
D2:		MOV		R5,#235
		DJNZ		R5,$
		DJNZ		R4,D2
   		RET
TAB:		DB      3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH	   ;0,0,0,0,0,0,0,0,0	10位数字
		DB	3FH,06H,06H,06H,06H,06H,06H,06H            ;0,1,1,1,1,1,1,1
		DB	06H,06H,06H,5BH,5BH,5BH,5BH,5BH            ;1,1,1,2,2,2,2,2
		DB	5BH,5BH,5BH,5BH,5BH,4FH,4FH,4FH	   	   ;2,2,2,2,2,3,3,3
TAB0:           DB	3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH        ;0,1,2,3,4,5,6,7,8    个位数字
		DB	67H,3FH,06H,5BH,4FH,66H,6DH,7DH            ;9,0,1,2,3,4,5,6
		DB	07H,7FH,67H,3FH,06H,5BH,4FH,66H            ;7,8,9,0,1,2,3,4
		DB	6DH,7DH,07H,7FH,67H,3FH,06H,5BH            ;5,6,7,8,9,0,1,2
TAB1:		DB	00H,01H,02H,03H,04H,05H,06H,07H		;键盘源值00--32
		DB	08H,09H,0AH,0BH,0CH,0DH,0EH,0FH
		DB	10H,11H,12H,13H,14H,15H,16H,17H
		DB	18H,19H,1AH,1BH,1CH,1DH,1EH,1FH
		END
	

⌨️ 快捷键说明

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