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

📄 ir_rx.asm

📁 Infra Red Received coding for received 8 bit address and data code
💻 ASM
字号:
$MOD51
			ORG 00H
			AJMP START
		
START:		ACALL FLASH                         ; TURN OFF PORT 2 ALL LED
			MOV P1,#0FFH
CR_LOOP:	MOV R0,#30H
			ACALL IR_IN
			MOV A,31H
			CPL A
			MOV B,30H
			CJNE A,B,EXIT
OUT:		MOV P2,A
EXIT:		AJMP CR_LOOP

;DECODE IR SIGNAL 			
IR_IN:	
I1:			JNB P1.0,I2                         ; WAIT FOR IR SIGNAL
			AJMP I1

I2:			MOV R5,#70                          ; DELAY FOR CHECK IR START POINT (7mS)
I20:		ACALL DEL0_1
			DJNZ R5,I20
			JB P1.0,I1
			CLR P1.1                            ; TURN ON LED INDICATE IR SIGNAL REC.
I21:		JB P1.0,I3
			ACALL DEL0_1
			AJMP I21

I3:			MOV R3,#0                           ; CLEAR 8BIT VALUE
I31:		JNB P1.0, I4
			ACALL DEL0_1
			AJMP I31

I4:			JB P1.0,LL
			ACALL DEL0_1
			AJMP I4

LL:			MOV R2,#0                           ; 0.1mS CALCULATION		
L1:			ACALL DEL0_1
			JB P1.0,N1                          ; WAIT SIGNAL TO LOW AND EACH 0.1mS PUT R2+1
			MOV A,#8                            ; CHECK R2 COUNT VALUE
			CLR C
			SUBB A,R2                           ; IDENTIFY 1 OR 0 BIT, IF C=0, BIT=0
			MOV A,@R0
			RRC A
			MOV @R0,A                           ; COMPLETE 1 BIT PROCESS
			JNB P1.0,$
			INC R3
			CJNE R3,#8,LL                       ; NEED PROCESS 8 BIT
			MOV R3,#0                           ; PROCESS NEXT 8 BIT
			INC R0
			CJNE R0,#32H,LL  
			AJMP OK
N1:			INC R2
			CJNE R2,#30, L1                     ; IF HIGH VALUE TIME MORE THAN 3mS AUTO EXIT
OK:			SETB P1.1
			RET

FLASH:		MOV P2,#00H
			ACALL DELAY_1S
			MOV P2,#FFH
			RET

DEL0_1: 	MOV R7, #23          		 ; DELAY 0.1mS
DL:			NOP                          ; inserted NOPs to cause delay 
			NOP
			DJNZ R7, DL                  ; decrement R7, if not zero loop back
			RET                                                         

DELAY_1S:	MOV R6,#250                  ; DELAY 1S
DL2:		MOV R7,#250
DL1:		DJNZ R7,DL1
			DJNZ R6,DL2
			RET

			END


⌨️ 快捷键说明

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