微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 单片机模拟2272软件解码介绍

单片机模拟2272软件解码介绍

时间:04-27 来源:互联网 点击:

效信号,建议每次接收至少检测3次,然后比较3次检测值

;3次值相同才认为收到了正确信号。可在主程序中如下处理:第1次检测时调用REMOTE

;第2、3次检测时调用REMOTES,请注意必需连续调用,否则得不到正确的数据 ; ;

;注意:将T1设定为16位定时器,允许中断,否则将导致接收数据错误

REMOTE: CLR RECEIVE ;;检测50ms 内有没有编码接收 ;

MOV 3AH,#55

REMOTEA:MOV 3BH,#250

REMOTEB:JB REM,REMOTE0;有码发送则跳转

DJNZ 3BH,REMOTEB

DJNZ 3AH,REMOTEA

REMOTE_END_1:

CLR ENABLE_DETE

REMOTE_END:

CLR REMOTING ;清除探头检测标志

RET

REMOTE0:JB ENABLE_DETE,REMOTE_END_1 ;按键没有放开则返回

REMOTES:MOV 34H,#12 ;接收12位编码 ;解码 ; ;先找出接收码的开头即10ms左右的高电平 ;

MOV TH1,#00H ;;设置高电平时间为8~12ms ; ;检测和等待8ms 的 低电平,70ms门限 ;

CLR T_OVER

MOV TL1,#00H

SETB TR1

REMOTE1:MOV 3AH,#50

REMOTE2:MOV 3BH,#25

REMOTE3:JB REM,REMOTE1

JB T_OVER,REMOTE_END

DJNZ 3BH,REMOTE3

DJNZ 3AH,REMOTE2 ;; ;等待在4ms 内接收到的高电平 ;

CLR T_OVER

MOV TH1,#0F1H

MOV TL1,#0F0H

SETB TR1

REMOTE_4:

JB T_OVER,REMOTE_5

JNB REM,REMOTE_4

CLR TR1

AJMP REMOTE6 ;;超出12ms 接收错误返回 ;

REMOTE_5:

AJMP REMOTE_END

REMOTE6:MOV 3AH,#00 ;等待550us 后采集接收信号 ;

DJNZ 3AH,$ ;;采集接收信号并记录 ;

MOV C,REM

MOV A,33H

RLC A

MOV 33H,A

MOV A,31H

RLC A

MOV 31H,A ;;等待第二个上升沿,限时1.5ms ;

CLR T_OVER

MOV TH1,#0FAH

MOV TL1,#099H

SETB TR1

RM1: JB T_OVER,REMOTE_END

JB REM,RM1

CLR TR1 ;;

CLR T_OVER

MOV TH1,#0FAH

MOV TL1,#099H

SETB TR1

RM2: JB T_OVER,REMOTE_END

JNB REM,RM2

CLR TR1 ;;等待550us 后采集接收信号 ;

MOV 3AH,#00

DJNZ 3AH,$

MOV C,REM

MOV A,30H

RLC A

MOV 30H,A

MOV A,32H

RLC A

MOV 32H,A ;;等待第二个码值的上升沿 ;

CLR T_OVER

MOV TH1,#0FAH

MOV TL1,#099H

SETB TR1

RM3: JB T_OVER,RM5

JB REM,RM3

CLR TR1 ;;

CLR T_OVER

MOV TH1,#0FAH

MOV TL1,#099H

SETB TR1

RM4: JB T_OVER,RM5

JNB REM,RM4

CLR TR1

DJNZ 34H,REMOTE6 ;;把接收的编码左移4 位将8 位密码放在同一字节上

MOV 34H,#4

AJMP REMOTE7

RM5: AJMP REMOTE_END

REMOTE7:CLR C

MOV A,33H

RLC A

MOV 33H,A

MOV A,31H

RLC A

MOV 31H,A

CLR C

MOV A,30H

RLC A

MOV 30H,A

MOV A,32H

RLC A

MOV 32H,A

DJNZ 34H,REMOTE7 ;;把4 位数据编码由高4 位移到低4 位上 ;

MOV A,33H

SWAP A

MOV 33H,A

MOV A,30H

SWAP A

MOV 30H,A

SETB ENABLE_DETE

SETB RECEIVE ;;

AJMP REMOTE_END_1

END

四、硬件抗干扰

在无线通讯中使用单片机会对通讯系统造成严重的干扰,相信许多技术人员一定有过同样的苦恼。如果硬件设计不当,会造成原先硬件解码时通讯距离为200米,而用软件解码后可能只有十几米,因此解决硬件抗干扰问题在很大程度上可减少软件解码的误码率。

1、收发模块:早期常用的频率为47MHz,在这种频率下,很难有好的解决方法;建议采用目前国家允许无线遥控使用的频率315 MHz。

2、单片机振荡频率:大量的MCS51教材中推荐大家使用的是12MHz及11.0592MHz的晶体,这些晶体在一般场合使用没有问题,但在此却不可以,它们在300MHz左右仍然能够产生较大的干扰,为解决单片机运行速度与电磁干扰的矛盾,建议采用频率为4MHz或3.58MHz的晶体。

3、隔离:为了有效抑制单片机对接收模块的电磁干扰,建议采用①电源隔离;②端口隔离;端口隔离可采用三极管或比较器。实践表明采用隔离的效果非常明显。

五、结束语

PT2262的软件解码在实际应用中有较好的用武之地。采用软件解码的系统,厂家再也无须对收发设备进行配套,以利于生产于保管;对客户来说,使用软件解码无须求助,厂家只须再软件中加入自动学习功能,用户可自行使用该功能,只须轻按学习键即可学习新的通讯设备,如遥控器等。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top