您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网>电子百科>无线通信>

PT2262编码芯片的软件编码

2017年11月14日 10:30 网络整理 作者: 用户评论(0

  PT2262/2272是一种CMOS工艺制造的低功耗低价位通用编解码电路,PT2262/2272最多可有12位(A0-A11)三态地址端管脚(悬空,接高电平,接低电平),任意组合可提供531441地址码,PT2262最多可有6位(D0-D5)数据端管脚,设定的地址码和数据码从17脚串行输出,可用于无线遥控发射电路。

  编码芯片PT2262编码信号是由地址码、数据码、同步码组成一个完整的码字,从17脚输出到射频发射模块的数据输入端发射出去。射频接收模块接收后送到解码芯片PT2272,其地址码经过三次比较核对后,PT2272的VT脚才输出高电平,与此同时与PT2262相应的数据脚也输出高电平,如果PT2262连续发送编码信号,PT2272第17脚和相应的数据脚便连续输出高电平。PT2262停止发送编码信号,PT2272的VT端便恢复为低电平状态。

  高频发射电路完全收控于PT2262的17脚输出的数字信号,从而对高频电路完成幅度键控(ASK调制)相当于调制度为100%的调幅。

  PT2262/2272特点:

  1、CMOS工艺制造,低功耗

  2、外部元器件

  3、RC振荡电阻

  4、工作电压范围宽:2.6-15v

  5、数据最多可达6位6、地址码最多可达531441种

  应用范围:

  1、车辆防盗系统

  2、家庭防盗系统

  3、遥控玩具

  4、其他电器遥控

  编码芯片分类

  (1)按编码类别分

  固定码:所谓的固定码,就是指每次发送出去的编码都不会改变,因此使用这类芯片的遥控器比较容易被复制。如PT2262,PT2260 PT2240 Ev1527 FP527 HT6014 SMC918等芯片。

  滚动码:所谓滚动码,就是指每次发出去的码都不一样,通过一系列算法,完成滚动输出的功能。这类芯片的遥控器复制比较困难,可以通过移值,或者已破解过的遥控器来完成复制工作。如HCS301 HC300 HCS201 HCS200 HCS361等芯片。

  (2)按编码方式分

  可变型:就是编码可通过人工手动修改。如PT2262编码集成电路,它有18个脚。它的1--8脚属于地址编码端,可以进行三态编码,就是一只脚可以是三种状态,即:接低电平(0)、高电平(1)、或悬空(F)三种状态,编码数有3的8次方,也就是共有6561种状态。这是一般的用法。PT2262还有4支脚,就是10、11、12、13,一般它是用来做数据端。它也可以编码,但是编码就只有两种状态:低电平(0)、高电平(1),没有悬空这种状态了。下面1图中的编码区编码是A0—A7都悬空,也就是A0=F,A1=F,A2=F,A3=F,A4=F,A5=F,A6=F,A7=F,下面2图中的编码是A0=0,A1=F,A2=0,A3=0,A4=1,A5=0,A6=1,A7=F,所以通过改变编码器的焊点就改变了地址编码。

  PT2262编码芯片的软件编码

  固定型:指芯片出厂时由厂家固化好编码在芯片里面。如PT2240 SMC918 EV1527等。

  PT2262编码芯片的软件编码

  PT2262编码芯片的软件编码

  上图是PT2262编码芯片的编码格式。根据PT2262编码芯片的编码格式可以看出同步码时长=4T高+124T低+4T高;数据“0”=4T高+12T低+4T高+12T低;数据“1”=12T高+4T低+12T高+4T低;数据“F”=4T高+12T低+12T高+4T低。我们可以用单片机通过软件来模拟PT2262的这个编码过程,用软件代替了硬件PT2262,由于通过软件可以模拟不同的震荡电阻,同时地址编码也可以随意更改,还可以选择不同的发射模块(315Mhz或433Mhz),所以更具有通用性。

  我们把2262的地址码用4个字节表示,如FFFF0101表示A0、A1、A2、A3(2262的1、2、3、4脚)开路,A4接地,A5接正电压,A6接地,A7接正电压。我们再用2个字节表示4个数据码,如0001表示D3、D2、D1(2262的10、11、12脚)为低电平,D0为高电平。把这6个字节数据存到单片机38h单元起始的 RAM中,R6存发送次数,R4存发送字节数,主程序中调用VFSS0软件编码子程序如下:

  LED EQU0B7H ;P3.7

  SDA EQU0B6H ;P3.6

  SCL EQU 0B5H ;P3.5

  JS433 EQU0B4H ;P3.4

  JS315 EQU0B3H ;P3.3

  JPSM EQU0B2H ;P3.2

  FS433 EQU0B1H ;P3.1

  FS315 EQU0B0H ;P3.0

  XPOS EQU 1AH ;列方向地址指针(用于LCDPOS子程序)

  YPOS EQU 1BH ;行方向地址指针(用于LCDPOS子程序)

  DPHH EQU 1CH ;存512高位地址

  DPLL EQU 1DH ;存512低位地址

  RSPIN EQU 80h ;P0.0

  RWPIN EQU 81h

  EPIN EQU 82h

  CS1PIN EQU 83h

  CS2PIN EQU 84h

  FSZ1: CALLVFSS0 ;调用VFSS0子程序发送数据

  AJMP DIS

  VFSS0: MOVR6,#5 ;发5次

  VFKS0: MOVR0,#38H

  MOVR4,#6 ;发送6个字节数据,其中4个字节地址,2字节数据

  CALLFS0 ; 先发送同步码:4T的高电平124T的低电平。

  CALLFTB ;124低

  VFSJ1: MOVR3,#2 ;发送一个字节,分2次发送,先发高4位,后发低4位

  MOVA,@R0 ;取出要发送的编码数据

  ANL A,#0F0H

  SWAP A

  MOV B,A

  VFS03: XRLA,#0FH ;先发高4位,低4位保存到B寄存器

  JNZ FS04

  VFSF: ACALL FS0 ; 发送F,4T高;F=4T高+12T低+12T高+4T低

  ACALL FSC ;12T低 F=4T高+12T低+12T高+4T低

  ACALL FS1 ;12T高

  ACALL FSD ;4T低

  AJMP VFS06

  VFS04: MOVA,B

  XRLA,#01H ;1=12T高+4T低+12T高+4T低

  JNZ VFS05

  ACALL FS1 ; 发送1,先发12T高

  ACALL FSD ;4T低

  ACALL FS1 ;12T高

  ACALL FSD ;4T低

  AJMP VFS06

  VFS05: MOVA,B ;发送0,0=4T高+12T低+4T高+12T低,

  XRL A,#0H

  JNZ VFS08

  ACALL FS0 ;4T高

  ACALL FSC ;12T低

  ACALL FS0 ;4T高

  ACALL FSC ;12T低

  AJMP VFS06

  VFS08: ;MOVA,B ;0=4T高+12T低+4T高+12T低,

  ; XRL A,#04H

  ;JNZ VFS06

  ACALL FS1 ;12T高

  ACALL FSd ;4T低

  ACALL FS0 ;4T高

  ACALL FSC ;12T低

  VFS06: MOVA,@R0

  ANL A,#0FH

  MOV B,A

  DJNZR3,VFS03 ;一个字节发送完了没有?没完继续

  INC R0

  DJNZR4,VFSJ1 ;6个字节全发送完了没有?没完继续,发送完发同步

  ACALL FS0 ;4T高 ;0=4T高+12T低+4T高+12T低,

  ACALL FSC ;12T低

  ACALL FS0 ;4T高

  ACALL FSC ;12T低

  VFS07: DJNZ R6,VFKS0 ;一共发送5遍,发送完了没有?没完继续

  RET

  ;发12T高电平

  FS1: MOV A,35H;#01H

  CPL A

  MOV 8CH, A

  MOV A,36H;#85H

  CPL A

  MOV 8AH,A

  MOV A,R2

  XRLA,#03H ;R2值选择发送模块是433MHZ还是315MHZ

  JZ FS2

  CLRFS433 ;经40106反相后变成高电平

  AJMP FS3

  FS2: CLR FS315

  FS3: SETB TR0

  FSF01: JBC TF0, FSF03

  AJMP FSF01

  FSF03: CLR TR0

  SETB FS433

  SETB FS315

  RET

  ;发送4T高电平

  FS0: MOV A,#00H

  CPL A

  MOV 8CH, A ; 给定时器0赋值,TH0=8CH,TL0=8AH,定时长度不同,模拟的震荡电阻值就不同,脉宽就不一样

  MOV A,37H;#85H

  CPL A

  MOV 8AH, A

  MOV A,R2

  XRL A,#03H

  JZ FS22

  CLRFS433 ;经40106反相后变成高电平

  AJMP FS33

  FS22: CLR FS315

  FS33: SETB TR0

  FSF02: JBC TF0, FSF04

  AJMP FSF02

  FSF04: CLR TR0

  SETB FS433

  SETB FS315

  RET

  ;发送12T低电平

  FSC: MOV A,35H;#01H ;一位数据=32T,位0=4T,位1=12T合起来等于16T还得加16T低电平

  CPL A

  MOV 8CH, A

  MOV A,36H;#85H

  CPL A

  MOV 8AH,A

  SETBFS433 ;经40106反相后变成高电平

  SETB FS315

  SETB TR0

  FSF01C: JBC TF0,FSF03C

  AJMP FSF01C

  FSF03C: CLR TR0

  RET

  ;发送4T低

  FSD: MOVA,#00H ;

  CPL A

  MOV 8CH, A

  MOV A,37H;#85H

  CPLA

  MOV 8AH, A

  SETBFS433 ;经40106反相后变成高电平

  SETB FS315

  SETB TR0

  FSF02D: JBC TF0,FSF0D

  AJMP FSF02D

  FSF0D: CLR TR0

  RET

  ;发同步

  FTB: MOVA,34H;#0FH ;同步码时长

  CPL A

  MOV TH0,A ;发同步信号

  MOV A,37H;#85H

  CPL A

  MOV TL0,A

  FS01: SETB TR0 ;发送124T低

  SETB FS433

  SETB FS315

  FS02: JBC TF0, FSJ

  AJMP FS02

  FSJ: CLR TR0

  RET

非常好我支持^.^

(1) 3.1%

不好我反对

(31) 96.9%

( 发表人:陈翠 )

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!