📄 解码汇编.txt
字号:
REMA:
MOV 40H,#08H ;测8位地址
MOV TMOD,#10H
MOV 43H,#5;延时3MS
D3:MOV 44H,#250
D4:JB REM,D3
DJNZ 44H,D4
DJNZ 43H,D3
REM0:MOV TH1,#0FFH ;准备检测第一个电平
MOV TL1,R4
JNB REM,$ ;等待高电平
SETB TR1 ;启动定时器
JNB TF1,$
CLR TR1 ;时间到停止
CLR TF1
;采集接收信号并记录第一个电平值
MOV C,REM
JC REM1 ;判断电平高低,如果高则转---------------
MOV A,R0 ;高电平顺序执行
RRC A
MOV R0,A
MOV TH1,#0FFH ;准备检测第二个电平
MOV TL1,R4
JNB REM,$ ;等待高电平
SETB TR1 ;启动定时器
JNB TF1,$
CLR TR1 ;时间到停止
CLR TF1
;采集接收信号并记录第二个电平值
MOV C,REM
JC REMAA ;判断电平高低,如果高则转---------------
MOV A,R1
RRC A
MOV R1,A
DJNZ 40H,REM0
LCALL REM2
REM1:MOV A,R0
RRC A
MOV R0,A
MOV TH1,#0FFH ;准备检测第二个电平
MOV TL1,R4
JB REM,$ ;等待低电平
JNB REM,$ ;等待高电平
SETB TR1
JNB TF1,$
CLR TR1 ;时间到停止
CLR TF1
;采集接收信号并记录第二个电平值
MOV C,REM
JC REMAA ;判断电平高低,如果高则转---------------
MOV A,R1
RRC A
MOV R1,A
DJNZ 40H,REM0
LCALL REM2
REMAA:MOV A,R1
RRC A
MOV R1,A
JB REM,$ ;等待低电平
DJNZ 40H,REM0
;测4位数据--------------------------------------------------------------
REM2:MOV 40H,#04H ;测4位数据
REM5:MOV TH1,#0FFH ;准备检测第一个电平
MOV TL1,R4
JNB REM,$ ;等待高电平
SETB TR1 ;启动定时器
JNB TF1,$
CLR TR1 ;时间到停止
CLR TF1
;采集接收信号并记录第一个电平值
MOV C,REM
JC REM3 ;判断电平高低,如果高则转---------------
MOV A,R2 ;高电平顺序执行
RRC A
MOV R2,A
MOV TH1,#0FFH ;准备检测第二个电平
MOV TL1,R4
JNB REM,$ ;等待高电平
SETB TR1 ;启动定时器
JNB TF1,$
CLR TR1 ;时间到停止
CLR TF1
;采集接收信号并记录第二个电平值
MOV C,REM
JC REMBB ;判断电平高低,如果高则转---------------
MOV A,R3
RRC A
MOV R3,A
DJNZ 40H,REM5
LCALL REM4
REM3:MOV A,R2
RRC A
MOV R2,A
MOV TH1,#0FFH ;准备检测第二个电平
MOV TL1,R4
JB REM,$ ;等待低电平
JNB REM,$ ;等待高电平
SETB TR1
JNB TF1,$
CLR TR1 ;时间到停止
CLR TF1
;采集接收信号并记录第二个电平值
MOV C,REM
JC REMBB ;判断电平高低,如果高则转---------------
MOV A,R3
RRC A
MOV R3,A
DJNZ 40H,REM5
LCALL REM4
REMBB:MOV A,R3
RRC A
MOV R3,A
JB REM,$ ;等待低电平
DJNZ 40H,REM5
;四位数据编码由高四位移到低四位上
REM4:MOV A,R2
SWAP A
MOV R2,A
MOV A,R3
SWAP A
MOV R3,A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -