找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 基于单片机的解码器应用于安防系统

[复制链接]
admin 发表于 2013-3-21 03:18:40 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
1 引言
     采用AT89C2051单片机,实现了PT2262的大容量解码功能。本设计能解决一片PT2272只能对一种地址的PT2262的15种状态进行解码,对于较大的编解码保安防盗控制系统,常使用多片PT2272组合解码,满足不了大中型安防系统的设计要求。
     2 PT2262的编码原理
     PT2262的工作原理如图1所示,图中K0~K7为地址端,应该预置其状态;K8~K11为数据端,按下按钮开关K8~K11后,PT2262就在第17脚输出一串行编码脉冲。开关K0~K11为12个位码开关,其0或1的状态值组合出不同的编码结果,每传送一组编码都自动连发四次字码。4M7电阻为PT2262的外接振荡电阻。MPSH10为315MHz的高频振荡三极管。图2~图5表示了PT2262的编码原理。图2是PT2262的字码结构,图3是PT2262的位码信号,图4是PT2262的同步位信号,图5是PT2262的帧码结构。
      20121107053426446913005.jpg
   
     3 解码的实现
     3.1 位编码信号的检测方法
     根据PT2262的编码原理,其输出的每个0位或1位编码信号由二组脉冲组成,因此可以使用单片机进行解码。本设计使用了ATMEL半导体公司生产的AT89C51单片机,利用“定时/计数器0”进行脉宽的计时,并判断该脉宽的高字节是否相同,相同则为PT2262的0或1位(本设计只考虑了“0”和“1”状态,其每个位的二组脉冲是相同的)。AT89C51对0或1位编码信号必须进行12次判断,如果全部正确,则该PT2262编码器就是本系统的信号之一。
     3.2 SYNC同步信号的检测方法
     PT2262的SYNC同步编码信号如图4所示。该位脉冲的低电平长达124个机器周期,因此只需判断其脉宽时间是否大于8倍的“0”位或“1”位的脉宽。
     3.3 解码信号的处理
     将12位解码数据(可参阅htpp://www.princeton.com.tw)中的高8位与E2PROM中地址码表的地址数据进行比较,如果相同,则将E2PROM中对应的房间号、单元号、楼栋号等数据,通过P0、P1、P2口输出到16位7段显示屏。
   4 硬件电路
     本设计的解码、安防接警中心电路原理图如图6所示,将经高频接收模块变频处理的数字脉冲信号送入AT89C2051(可参阅http://www.atmel.com)的P3.4 I/O口进行解码,再将满足E2PROM中地址码条件的数据通过RS232接口输出到计算机。图中省略了数字键盘和报警喇叭驱动电路部分。
   
    20121107053426493783006.jpg
   5 软件设计
   
     软件流程图如图7所示。
      20121107053426540653007.jpg
    5.1 初始化
     将AT89C2051〔1〕的16位定时/计数器0设置为内部计数器方式。
     5.2 编码信号的采集
     当输入信号为“1”时,定时/计数器0开始计数,并将定时/计数器0的高八位存入内存缓冲区中。当输入信号为“0”时,定时/计数器0也进行计数,同时判断是否有大于8倍的内存缓冲区中的值。如不满足条件,则继续采集脉冲信号,否则对24个内存缓冲区中的数据进行处理。
     5.3 解码信号的处理
     对24个内存缓冲区中的数据两两进行比较,如果不相等,则编码信号不是本系统中的信号。如果相等,则将其值设为“0”或“1”。如果12组数据都相等,则得到8个“0”或“1”的地址位和4个“0”或“1”的数据位。
     将高8位的地址位与E2PROM中地址码表中的数据进行比较,如果不相等,则该编码信号不是本系统中发射器的控制信号。如果相等,则将E2PROM中对应的房间号、单元号、楼栋号等数据,通过段控制P0口和位控制P1、P2口输出到16位7段显示屏,同时鸣响报警喇叭。数字键盘用于向E2PROM中键入编码地址、房间号、单元号、楼栋号等数据。
     假设某保安防盗系统中有32种地址的PT2262发射器,其地址为45H~64H,在AT89C2051的软件中设定其地址码表的值为45H、46H、47H、……、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种状态。
     6 计算机的数据处理
     Delphi是Borland公司推出的可视化开发工具,它提供了大量的组件,用户可以轻松地开发出功能强大的应用程序,而且通过它编译出来的可执行文件的工作效率相当高。
     建立一个用户数据库,包含有用户的防盗主机的编号、姓名、详细住址、电话、手机、传呼等信息。
     利用SPCOMM串口控件,接收AT89C2051发送的串口数据--防盗主机的编号,将该数据与数据库中的所有防盗主机编号一一对比,再将数据相同的用户记录显示在屏幕上,同时调用一个声音播放控件,报警提示。
     7 结束语
     本设计方案已应用于保安防盗系统的接警中心,运行状态良好。也适用于其它编码系统,如华智-茂矽公司的VD5026和HOLTEK公司的HT12A/12E、HT6012/6014/6016等编码芯片。
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-23 04:22 , Processed in 0.062871 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表