DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 117|回复: 0
打印 上一主题 下一主题

基于单片机的解码器应用于安防系统

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-16 16:39:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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的帧码结构。
  


?
  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接口输出到计算机。图中省略了数字键盘和报警喇叭驱动电路部分。
  



                          
                       
                          
                                5 软件设计
?
  软件流程图如图7所示。
  



?
  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好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-11-16 06:12 , 耗时 0.090053 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

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