基于AT89C2051的解码器设计
扫描二维码
随时随地手机看文章
目前我国应用极广的编解码器是Princeton公司生产的具有531441(312)种状态的PT2262编码芯片和与之配套的PT2272解码芯片,但一片PT2262只能对一种地址的PT2272的15种状态进行解码,对于较大的编解码保安防盗控制系统,通常使用多片PT2272组合解码方式,但这种多片方案仍然满足不了设计要求。因此,本文给出了采用AT89C2051单片机实现 PT2272大容量解码的设计方案。
1 PT2262的编码原理
PT2262的工作原理电路如图1所示,图中,K0~K7为地址端,使用时应该预置其状态;K8~K11为数据端。当应用时按下按钮开关K8~K11 后,PT2262就会在第17脚输出一串行编码脉冲。开关K0~K11为12个位码开关,其0或1的状态组合可用来确定不同的编码结果,每传送一组编码就会自动连发四次字码。4.7MΩ电阻为PT2262的外接振荡电阻。MPSH10为 315MHz的高频振荡三极管。图2是PT2262的编码原理示意图。
2解码的实现
2.1位编码信号的检测
分析PT2262的编码原理可以发现,其输出的每个0位或1位编码信号均由二组脉冲组成,因此可使用单片机进行解码。本设计使用ATMEL半导体公司生产的AT89C2051单片机,利用其“定时/计数器0”进行脉宽的计时,并判断该脉宽的高字节是否相同,如相同则为PT2262的0或1位(本设计只考虑了“0”和“1”状态,其每个位的二组脉冲是相同的),然后由AT89C2051对0或1位编码信号进行12次判断,如果全部正确,则确定该PT2262编码器就是本系统的信号之一。
2.2 SYNC同步信号的检测
PT2262的SYNC同步编码信号如图2(c)所示。由于该位脉冲的低电平时间长达124个机器周期,因此只需判断其脉宽时间是否大于8倍的“0”位或“1”位脉宽即可测出其同步信号。
2.3解码信号的处理
可将12位解码数据中的高8位与地址码表中的地址数据进行比较,如果相同,则将12位解码数据中的低4位输出到单片机的P1.0~P1.3,同时置 VT位。输出的时间长短由控制系统的需要来决定。一般输出的解码数据有三种情况:第一种为脉冲型;第二种在发射器按键撤消后输出便停止;第三种在下次按键后,其输出将改变。本设计使用1秒的脉冲型输出。
3基于单片机的解码方案
3.1硬件电路
本设计的解码电路原理图如图3所示,利用该电路可将高频接收模块变频处理后的数字脉冲信号送入AT89C2051的P0.0口进行解码,再将满足地址码条件的控制脉冲信号输出到P1.0~P1.3,同时输出1秒的VT信号。
3.2软件设计
基于单片机AT89C2051的解码软件流程图如图4所示。利用初始化可将AT89C2051的16位定时/计数器0设置为内部计数器方式。
在编码信号的采集时,如果输入信号为“1”,则定时/计数器0将开始计数,同时将定时/计数器0的高8位存入内存缓冲区。而当输入信号为“0”时,定时/计数器0也进行计数,同时判断是否有大于8倍的内存缓冲区中的值。如不满足条件,则继续采集脉冲信号;否则将对24个内存缓冲区中的数据进行处理。
解码信号的处理过程实际上是对24个内存缓冲区中的数据进行俩俩比较。如果不相等,则认为编码信号不是本系统中的信号。如果相等,则将其值设为“0”或“1”。而如果12组数据都相等,则可得到8个“0”或“1”的地址位和4个“0”或“1” 的数据位。此时便可将高8位的地址位与程序中地址码表中的数据进行比较。如果不相等,则认为该编码信号不是本系统中发射器的控制信号。如果相等,则将其低 4位的数据位输出到P1.0~P1.3口,同时输出一个高脉冲VT信号到P0.6口。
假设某保安防盗系统中有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进行工作。
实际上,该方案中PT2262的地址值可选00H~FFH共256个中的任意组合,因而通过该方案可实现256个PT2262,即至少256×4=1024个状态的大容量的解码功能。如果将PT2262的K8、K9、K10、K11任意组合,则其解码容量还可以达到256×15=3840种状态。
4结束语
本文所设计的单片机解码方案已应用于某保安防盗系统,实际运行表明:运行状态良好。同时,该方案也适用于其它编码系统,如华智茂矽公司的VD5026和HOLTEK公司的HT12A/12E、HT6012/6014/6016等编码芯片。
参考文献
1.PT2262 Data Sheet
2.PT2272 Data Sheet
3.AT89C2051 Data Sheet
4.谢筑森.单片机开发与典型应用设计.北京航 空航天大学出版社