pt2262单片机解码程序分享

我们通常使用的遥控器是指发射编码的一方,被遥控的物品应该是接收方,当接收方收到遥控信号后,需要解码才能达到遥控的目的。接收端的解码方式有硬件解码和软件解码,比如pt2262是编码芯片,pt2272是解码芯片,当pt2262和pt2272配对使用时,要求发送端编码芯片pt2262的地址编码与接收端解码芯片pt2272的地址编码必须一致,而且振荡频率相匹配,才能达到遥控目的。参见下表pt2262的震荡电阻如果采用1.2m,那么pt2272的震荡电阻就要采用200k才行。
单片机解码电路
单片机解码电路由128*64液晶显示屏,at89c51单片机,at24c512存储器,cd40106,315m收发模块和433m收发模块组成。液晶显示屏用于显示参数和解码后的结果,存储器用于保存解码数据,cd40106由六个施密特触发器电路组成。每个电路均为在两输入端具有施密特触发器功能的反相器,cd40106用于改善波形并对波形反相的作用,因为大部分无线遥控器都是采用315mhz和433mhz的无线电频率,所以采用了这2种频率的收发模块,用于接收待解码的无线电信号,实物如下图。
2、解码原理
上图是 pt2262编码芯片的编码格式,pt2262输出数据的顺序:a0a1a2a3a4a5a6a7d0d1d2d3同步码 a0a1a2a3a4a5a6a7d0d1d2d3同步码……,连续发四次。每组编码之间由同步码隔开,同步码低电平宽度是窄脉冲宽度(4t)的31倍(124t),用单片机软件解码时,程序只要判断出同步码,然后对后面的字码进行脉冲宽度识别即可。2262每次发射时至少发射4 组字码,我们只需连续两次检测到相同的地址码加数据码就可以了。
不同公司的2262,振荡电阻一样,pt2262的振荡频率会有区别,估算公式f=2*1000*16/rosc(kω) khz其中rosc 为振荡电阻这里我们选用rosc=4.7mω,频率f≈6.8khz,。t=1/f≈147微秒,同步脉冲的宽度是124t=18228微秒,由上图可见数据“0”是2个(4t=588微秒)短脉冲,间隔(12t=1764微秒)低电平。数据“1”是2个12t的高电平宽脉冲,间隔一个4t的低电平窄脉冲,数据“f”是1个高电平窄脉冲间隔12t的低电平宽脉冲,再加一个12t的高电平宽脉冲。总结如下:
同步码占用124t=18228微秒,时间较长,数据“0”,“1”,“f”是由2个脉冲组成,一个数据占用32t=4704微秒时间。数据“0”,“1”,“f”特点见下表:
上表中我们用“窄、窄”表示数据“0”,“宽、宽”表示数据“1”,“窄、宽”表示数据“f”,实际应用时是经过cd40106反相后的波形,所以数据“0”就变成“宽、宽”,数据“1”变成“窄、窄”,数据“f”变成“窄、宽”了。我们用51单片机的定时器来测量这些脉冲的宽度来确定数据是“0”,“1”,还是“f”。这就是解码原理。
pt2262 软件解码的单片机程序 org0000h ;2011年9月1日通过,433mhz无线发送模块,2262解码程序,单片机使用6兆晶体,震荡电阻是4.7兆欧电阻
ajmp l0
org 000bh
org 0013h;外部中断p3.3脚int0入口地址
org 001bh
reti
org 0025h
l0:
mov tmod, #11h
mov 8ch, #3ch
mov 8ah, #0b0h
clr ea;打开cpu总中断请求
ql: mov a,#00h
mov r2,#66d ;清数据区;;
mov r0,#18h
qram: mov @r0, a
inc r0
clr a
djnz r2, qram
ss: movr6,#24; 查找同步码,同步码高电平长度是359微秒的31倍11129微秒=15bch,所以th1=15和10之间
ss1: jb p3.2, ss1 ;躲过前1组数据,共发射4组数据
jnb p3.2,$ ;
djnz r6,ss1
sss0: jb p3.2,$ ; 编码信号反相后送到单片机的p3.2口进行解码
mov 8dh,#00h ;定时器1时间常数
mov 8bh,#00h
jnb p3.2,$ ;测量高电平时间
setb tr1 ;高电平启动定时器1
jb p3.2,$
clr tr1
mov a, th1
mov r2,a
clr c
subba,#15h ;同步码高电平时长,比15h长返回
jnc sss0
mov a,r2
clr c
subba,#10h ;同步码高电平时长,比10h短返回
jc sss0
ss0: jb p3.2,$ ;找到同步码后,开始解码
mov r0,#1ah
mov r1,#18h
mov r2,#2
s01: mov r6,#49 ;判断高电平时间常数,识别数据?
s0: mov 8dh,#00h ;定时器1时间常数
mov 8bh, #00h
s1: jnb p3.2,s1
setb tr1 ;高电平启动定时器1
s2: jb p3.2,s2 ;等待变低
clr tr1
s3: mov a,th1 ;低电平停止定时,把数据放到@r0中
mov@r0,a
inc r0
js2: djnz r6,s0 ;校验1ah及33h起始的24个数据,如果校验成功说明解码成功
mov r2,#24
mov r0,#1ah
mov r1,#33h
bj1: mova,@r0
xrl a,@r1
jnz ql
inc r0
inc r1
djnz r2,bj1
sss: clrp1.2;蜂鸣器鸣响嘀嘀嘀的声音,表示解码成功
lcall delay2
setb p1.2;蜂鸣器停止
mov r2,#12
mov r1,#4ch
mov r0,#1ah
cz: mov a,@r0
anl a,#0fh
swap a
mov @r1,a
inc r0
mov a,@r0
anl a,#0fh
add a,@r1
mov @r1,a
xrl a,#10h ;a0-a8悬浮时波形是一宽一窄两个高电平波形
jnz cz1
mov a,#0fh
mov @r1,a
ajmp cz4
cz1: mova,@r1
xrla,#11h ;a0-a8=0时波形是2个宽高电平波形
jnz cz2
mov a,#0
mov @r1,a
ajmp cz4
cz2: mova,@r1
xrl a,#00h
jnz cz4
mova,#01h ;a0-a8=1时波形是2个窄高电平波形
mov @r1,a
cz4: incr1
inc r0
djnz r2,cz
j01: movr1,#4ch;数码管显示解码后的12个数据(略)
mov r4,#12;49;10
;lcall xs
ajmp ql
ys: mov 7eh, #64h
ys1: mov 7fh, #0ffh
ys22: djnz 7fh, ys22
ret
delay: mov r5, #88h
del: nop
djnz r5, del
ret
delay1: mov r6, #10h
dela: acall delay
djnz r6, dela
ret
delay2: mov r6, #0ffh
de: acall delay
djnz r6,de
ret
end
如果采用软件解码,就可以省去pt2272这个芯片了。用软件编程的方法解码,必须知道该编码芯片的编码格式。比如pt2262发出的编码由地址码、数据码、同步码组成。地址码和数据码都用宽度不同的脉冲来表示,两个窄脉冲表示“0”;两个宽脉冲表示“1”;一个窄脉冲和一个宽脉冲表示“f”(“悬空”)。

焊接机器人的电气控制系统的工作原理及流程
【鲁班猫门禁系统】创建tornado工程
中国电子召开2020年第二轮常规巡视动员部署会
安卓手机哪家强?6GB+128GB版三星S8评测:堪称十项全能旗舰
光子芯片有望成为下一代芯片技术发展方向
pt2262单片机解码程序分享
先积集成荣获2023中国IC设计成就奖之“年度潜力IC设计公司”称号
一文了解磁电编码器的工作原理及适用领域
业界首款可以在多天线无线基站中实现更高速度、性能和设计效率的
2021年,中国移动将携手产业链新增5G手机2亿部
Twitter发布Mac应用更新 增加对苹果Silicon Mac的支持
在亚马逊网站销售的产品遭遇下架怎么办?
5G时代即将到来,vivo连出大招,iQOO5G手机超强性价比,NEX3也来了
物联网领域转型进行时,扩展安富利的生态圈
微机模糊控制在TIG逆变电源中设计
如何在电力系统前端选择运算放大器
自给自足!中国半导体进口大幅下降
新型传感器比头发还细50万倍!智创芯微电子与意法半导体签署战略合作协议
确认Windows 10 1903将在2020年12月8日停止服务
NBS橡胶磨耗试验机的用途都有哪些