将基于51单片机的解码器应用于安防系统
2011-10-26
1 引 言
目前,我国应用极广的编解码器是Princeton公司生产的具有531441(312)种状态的PT2262编码芯片和与之配套的PT2272解码芯片。但一片PT2272只能对一种地址的PT2262的15种状态进行解码,对于较大的编解码保安防盗控制系统,常使用多片PT2272组合解码,但仍远远满足不了大中型安防系统的设计要求。因此,采用AT89C2051单片机,实现了PT2262的大容量解码功能。
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.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 计算机的数据处理〔2〕
Delphi是Borland公司推出的可视化开发工具,它提供了大量的组件,用户可以轻松地开发出功能强大的应用程序,而且通过它编译出来的可执行文件的工作效率相当高。
建立一个用户数据库,包含有用户的防盗主机的编号、姓名、详细住址、电话、手机、传呼等信息。
利用SPCOMM串口控件,接收AT89C2051发送的串口数据——防盗主机的编号,将该数据与数据库中的所有防盗主机编号一一对比,再将数据相同的用户记录显示在屏幕上,同时调用一个声音播放控件,报警提示。
7 结束语
本设计方案已应用于保安防盗系统的接警中心,运行状态良好。也适用于其它编码系统,如华智-茂矽公司的VD5026和HOLTEK公司的HT12A/12E、HT6012/6014/6016等编码芯片。
2 吴旭东,等著.Delphi3.0/4.0多媒体和数据库编程.北京:清华大学出版社,2001
3 王 辉,等译.Delphi从入门到精通.北京:电子工业出版社,2000
进入单片机查看更多内容>>
目前,我国应用极广的编解码器是Princeton公司生产的具有531441(312)种状态的PT2262编码芯片和与之配套的PT2272解码芯片。但一片PT2272只能对一种地址的PT2262的15种状态进行解码,对于较大的编解码保安防盗控制系统,常使用多片PT2272组合解码,但仍远远满足不了大中型安防系统的设计要求。因此,采用AT89C2051单片机,实现了PT2262的大容量解码功能。
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.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个内存缓冲区中的数据进行处理。
对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 计算机的数据处理〔2〕
Delphi是Borland公司推出的可视化开发工具,它提供了大量的组件,用户可以轻松地开发出功能强大的应用程序,而且通过它编译出来的可执行文件的工作效率相当高。
建立一个用户数据库,包含有用户的防盗主机的编号、姓名、详细住址、电话、手机、传呼等信息。
利用SPCOMM串口控件,接收AT89C2051发送的串口数据——防盗主机的编号,将该数据与数据库中的所有防盗主机编号一一对比,再将数据相同的用户记录显示在屏幕上,同时调用一个声音播放控件,报警提示。
7 结束语
本设计方案已应用于保安防盗系统的接警中心,运行状态良好。也适用于其它编码系统,如华智-茂矽公司的VD5026和HOLTEK公司的HT12A/12E、HT6012/6014/6016等编码芯片。
参考文献
2 吴旭东,等著.Delphi3.0/4.0多媒体和数据库编程.北京:清华大学出版社,2001
3 王 辉,等译.Delphi从入门到精通.北京:电子工业出版社,2000
相关文章