位码
位码时编码波形的基本单元,可分为AD(地址、数据)和SYNC位(同步)
AD位有“0”“1”“F”即低电位、高电位和悬空三种状态
每种状态由两个脉冲表示,每个脉冲周期含16个时钟周期:如图
同步位是4个AD位的长度,含一个1/8AD位宽度的脉冲
1/8位宽=4a
4AD=128a
字码
一组位码构成字码,字码由12个位码紧跟一个同步码构成。
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 SYNC
接收有效
当2272收到编码信号时,检查是否是一个完整的字码,地址码与接收电路的地址设置是否一致。当连续两个有效接收后2272将收到的数据在相应数据输出端输出,并将VT置高电平
第一字 同步 第二字 同步
Din
Ta
瞬态输出 Tc
Tb
VT
Ta=8a
Tb=1a
Tc=2字码
2272操作流程
无数据输出解码
1、 上电后,芯片2272进入待机模式
2、 检查是否有信号,若无信号,停留待机状态;否则进行接收码地址与设置码地址比较
3、 连续收到两帧地址匹配字码后,确认接收有效,VT驱动为高电平,否则处于待机
4、 连续进行码地址匹配检查,连续两帧不匹配的码地址将不能驱动VT,并继续处于待机状态。
开机(上电)
待机模式
否
信号输入 不驱动VT
是
码地址匹配 否
是
否
码地址匹配
是
驱动VT
是 码地址连续匹配
否
是 码地址连续匹配 否
有数据输出解码
1、 上电后2272进入待机模式
2、 检查有否接收信号,无接收信号停留待机状态,否则进行接收码地址与设置码地址的比较
3、 当接收地址与设置地址匹配时,数据存于寄存器中,当检查到连续两帧码地址匹配,且数据都一致,相应数据端输出,并驱动VT。当连续两帧地址码不匹配时VT不被驱动,对暂存型输出复位,锁存型输出维持
开机(上电)
待机模式
否 不驱动VT输出 不驱动VT
有信号输入 数据复位 维持数据输出
(瞬态型) (锁存型)
是
码地址匹配 否
是
码地址匹配 否
是
驱动VT
是 码地址连续匹配
否
是
码地址连续匹配 否
2272内部框图
15 16 17
出逻辑 18
振荡器
同步检测
系统定时 控制逻辑 比较电路 9
数据检测
三态地址数据检测
1 2 3 4 5 6 7 8 9 10 11 12 13 14
-PT2262 PT2272 和P87LPC764 单片机的接口设计
PT2262 和PT2272 是一对专用的集成编解码器当采用4 位数据通信的时候可以有6561 组码A0--A7
为三态地址编码即接正电源接地和悬空当采用PT2262 和P87LPC764 组成的遥控系统中可以把解码
的部分都可以省略掉但相对的解码的速度会慢一点如果用PT2272 来解码可以加快解码的速度减小需
要耗费的单片机资源下面以红外遥控为例简要的说一下
一发射部分
其中这里采用了4 位数据码8 位地址码的通信方式地址编码端口为A0~A7 图中A0..A7 的编码
为悬空TE 为编码输出控制端当接低电平时PT2262 就通过第17 脚不断地串行输出其编码串对于每
传送一组编码都自动连发四次编码器用不同的占空比及组合表示不同的状态
振荡频率f 1000x16/Rosc(K ) KHz
二用P87LPC764 单片机来解码
接收到的信号为发送信号的反码因为每检测到按键有效一次PT2262 都发送四次编码我们可以
利用这一特点来解码先检测有没有接收到信息当有的时候我们就去掉第一次编码的信号检测5ms 的
高电平来检测编码的开始信号接收到5ms 的高电平后才开始解码我们可以发现每个码的长度都是1.3ms
左右每一个编码都是由低电平开始然后到高电平又到低电平又回到高电平我们从第一个高电平
的宽度可以把1 码区分出来剩下的悬空码和0 码可以从第二个高电平的宽度区分出来
具体的单片机译码方法如下
由高电平开始检测到下降沿时就延时300us 读取接收的状态记为A0 然后再检测下一个下降沿
下降沿后又延时300us 读取接收的状态记为A1 这样就把一个编码给译出来了
具体的程序如下
REM EQU P1.7
P0M1 EQU 84H
P0M2 EQU 85H
P1M1 EQU 91H
P1M2 EQU 92H
P2M1 EQU 0A4H
P2M2 EQU 0A5H
;接收正确位
RECEIVE BIT 20H.0
;因为当按住PT2262 的按键不放的时候PT2262 会把编码不断的送出
;设置ENABLE 位用来检测按键有没有放开过如果没有放开则不再响应
ENABLE BIT 20H.1
;30H 32H:接收的8 位地址编码
;31H 33H:接收的4 位数据编码
;36H 37H:设定的8 位地址密码
;其中以30H.0 和32.0 为例
;悬空: 30H.0=1 32H.0=0
;1: 30H.0=0 32H.0=0
;0: 30H.0=1 32H.0=1
;38H:输出控制
ORG 0000H
LJMP BEGIN
ORG 0100H
BEGIN:
MOV SP #60H
MOV P1M1 #0FFH ;设定P1 口为斯密特输入状态
MOV P1M2 #00H
MOV P0M1 #00H ;设定P0 口为上拉输出配置
MOV P0M2 #0FFH
MOV P0 #00H
MOV P1 #0FFH
;编码设定为:A0~A7 为悬空
MOV 36H #0FFH
MOV 37H #00H
LOOP:
LCALL REMOTE ;接收遥控码
LCALL WORK ;控制输出
JMP LOOP
REMOTE:
;检测50ms 内有没有编码接收
MOV 40H #50
REMOTEA:
MOV 41H #250
REMOTEB:
JNB REM REMOTE0 ;有码发送则跳转
DJNZ 41H REMOTEB
DJNZ 40H REMOTEA
CLR ENABLE
REMOTE_END:
RET
REMOTE0:
JB ENABLE REMOTE_END ;按键没有放开则返回
1.部分资源来自网络,经ET电子归类整理,旨在服务电子爱好者并无商业目的,不保证正确性与完整性.
2.如果您觉得本站资源对您有用,请告知您的好友,用搜索引擎搜"ET电子"即可.

