基于AT89C2051的解码器设计

摘  要:文章针对采用PT2262编码系统需要使用多个PT2272解码芯片进行大容量解码时所存在的问题,给出了采用AT89C2051单片机代替每个PT2272进行大容量解码的设计方案,同时给出了相应的硬件控制电路和软件控制流程。
3U i}zR8j40425    关键词:PT2262;编码;解码;AT89C2051;PT2272
#Oe'{w |5IX40425 电子园51单片机学习网u|3J}}1ZE)u
  目前我国应用极广的编解码器是Princeton公司生产的具有531441(312)种状态的PT2262编码芯片和与之配套的PT2272解码芯片,但一片PT2262只能对一种地址的PT2272的15种状态进行解码,对于较大的编解码保安防盗控制系统,通常使用多片PT2272组合解码方式,但这种多片方案仍然满足不了设计要求。因此,本文给出了采用AT89C2051单片机实现 PT2272大容量解码的设计方案。
&L U6b}fQ:o;W404251 PT2262的编码原理****
UB;vT+[m-n40425  PT2262的工作原理电路如图1所示,图中,K0~K7为地址端,使用时应该预置其状态;K8~K11为数据端。当应用时按下按钮开关K8~K11后,PT2262就会在第17脚输出一串行编码脉冲。开关K0~K11为12个位码开关,其0或1的状态组合可用来确定不同的编码结果,每传送一组编码就会自动连发四次字码。4.7MΩ电阻为PT2262的外接振荡电阻。MPSH10为 315MHz的高频振荡三极管。图2是PT2262的编码原理示意图。电子园51单片机学习网d7o p!tq.o

电子园51单片机学习网s` sXg N

dF-x9]3d!SH404252解码的实现电子园51单片机学习网^ ^hNdG
2.1位编码信号的检测
A%p*A2Wz40425  分析PT2262的编码原理可以发现,其输出的每个0位或1位编码信号均由二组脉冲组成,因此可使用单片机进行解码。本设计使用ATMEL半导体公司生产的AT89C2051单片机,利用其“定时/计数器0”进行脉宽的计时,并判断该脉宽的高字节是否相同,如相同则为PT2262的0或1位(本设计只考虑了“0”和“1”状态,其每个位的二组脉冲是相同的),然后由AT89C2051对0或1位编码信号进行12次判断,如果全部正确,则确定该PT2262编码器就是本系统的信号之一。

H Y6_/YRpsg40425

wcteO(k)D;T2X%f40425 电子园51单片机学习网1Ok~ JZn0O
2.2 SYNC同步信号的检测电子园51单片机学习网1X6AS@4B'm
  PT2262的SYNC同步编码信号如图2(c)所示。由于该位脉冲的低电平时间长达124个机器周期,因此只需判断其脉宽时间是否大于8倍的“0”位或“1”位脉宽即可测出其同步信号。
+L2h&QF,nt404252.3解码信号的处理电子园51单片机学习网3Up*|!a&w\)^ O
  可将12位解码数据中的高8位与地址码表中的地址数据进行比较,如果相同,则将12位解码数据中的低4位输出到单片机的P1.0~P1.3,同时置 VT位。输出的时间长短由控制系统的需要来决定。一般输出的解码数据有三种情况:第一种为脉冲型;第二种在发射器按键撤消后输出便停止;第三种在下次按键后,其输出将改变。本设计使用1秒的脉冲型输出。
^1cV}B404253基于单片机的解码方案**
,p g.XZM0[4TSv404253.1硬件电路**电子园51单片机学习网x t-Rs)Rjw
  本设计的解码电路原理图如图3所示,利用该电路可将高频接收模块变频处理后的数字脉冲信号送入AT89C2051的P0.0口进行解码,再将满足地址码条件的控制脉冲信号输出到P1.0~P1.3,同时输出1秒的VT信号。电子园51单片机学习网|#PdC?'Axb
3.2软件设计电子园51单片机学习网8|vv Ed2EP wOl Yh
  基于单片机AT89C2051的解码软件流程图如图4所示。利用初始化可将AT89C2051的16位定时/计数器0设置为内部计数器方式。
[ [c/|7D[U2c40425  在编码信号的采集时,如果输入信号为“1”,则定时/计数器0将开始计数,同时将定时/计数器0的高8位存入内存缓冲区。而当输入信号为“0”时,定时/计数器0也进行计数,同时判断是否有大于8倍的内存缓冲区中的值。如不满足条件,则继续采集脉冲信号;否则将对24个内存缓冲区中的数据进行处理。

}T0t"R3i40425

_CIQ vc'\J;X ?40425 电子园51单片机学习网ltv:Hj/C2wV,wY6c1M
  解码信号的处理过程实际上是对24个内存缓冲区中的数据进行俩俩比较。如果不相等,则认为编码信号不是本系统中的信号。如果相等,则将其值设为“0”或“1”。而如果12组数据都相等,则可得到8个“0”或“1”的地址位和4个“0”或“1” 的数据位。此时便可将高8位的地址位与程序中地址码表中的数据进行比较。如果不相等,则认为该编码信号不是本系统中发射器的控制信号。如果相等,则将其低 4位的数据位输出到P1.0~P1.3口,同时输出一个高脉冲VT信号到P0.6口。
|:x r@g5v1q.xf40425  假设某保安防盗系统中有32种地址的PT2262发射器,其地址从45H~64H,如果地址为50H的发射器按下了K10开关,且解码系统所接收的高 8位地址的值与软件地址表中50H的值相同,那么,对应输出的4位A、B、C、D的值将是0010B;而如果地址为63H的发射器按下了K8开关,且解码系统所接收的高8位地址的值与软件地址表中63H的值相同,其输出对应的A、B、C、D值将是1000B;……。由此可见,该设计仅使用一片 AT89C2051单片机即可替代32片PT2272进行工作。电子园51单片机学习网.q]a Ky)Ps;g

电子园51单片机学习网){5CZA"D*@*U
电子园51单片机学习网3Cr3ncA,C

电子园51单片机学习网Qs"IY@)s _1S V
  实际上,该方案中PT2262的地址值可选00H~FFH共256个中的任意组合,因而通过该方案可实现256个PT2262,即至少256×4=1024个状态的大容量的解码功能。如果将PT2262的K8、K9、K10、K11任意组合,则其解码容量还可以达到
-M3IN$_-MNz.o40425256×15=3840种状态。
$j H+Jdd404254结束语****
@ JE7rZ!V qd40425  本文所设计的单片机解码方案已应用于某保安防盗系统,实际运行表明:运行状态良好。同时,该方案也适用于其它编码系统,如华智茂矽公司的VD5026和HOLTEK公司的HT12A/12E、HT6012/6014/6016等编码芯片。电子园51单片机学习网 Cd"})k,E)j^

参考文献电子园51单片机学习网l(g2[,LV7T'sv
电子园51单片机学习网^#N,w:s n

1.PT2262 Data Sheet电子园51单片机学习网R,w FK"y!XK T
2.PT2272 Data Sheet电子园51单片机学习网:q.cu&j.~x
3.AT89C2051 Data Sheet电子园51单片机学习网c1~mku s1w^{T~
4.谢筑森.单片机开发与典型应用设计.北京航 空航天大学出版社

博主
lihailin560@163.com
lihailin560's Blog
lihailin560