中北大学信息商务学院2014届毕业设计说明书
4 用户端自动报警器设计
本章详细介绍报警主机的硬件和软件设计。主要包括微处理器主机、双音多频(DTMF)收发电路、语音电路、看门狗电路、电话接口电路、键盘/显示电路。详细阐明芯片的选型比较,所选用芯片的内部组成、功能特点,设计出具体的硬件电路。 4.1 报警主机
报警器的主机采用AT89C51单片机来实现。单片机是将中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、定时/计数器及输入输出接口电路等计算机主要部件集成在一块集成电路芯片上的微型计算机。
现在世界上己经有很多大公司能够生产单片机,随着超大规模集成电路的迅猛发展,单片机的功能也日渐强大,运算速度日益提高,相继出现了32位和64位单片机,但根据实际系统的需要和产品的性价比,本系统选用ATMEL公司生产的8位单片机AT89C51,构成系统的主机。 4.1.1 AT89C51特点
AT89C51是ATMEL公司采用CMOS工艺生产的低功耗、高性能8位单片机,与MCS-51单片机兼容,其功能特点为:
(1)4K字节闪烁存储器(FLASH),可进行1000次写、擦除操作。 (2)静态操作,外接0Hz-24MHz晶振。 (3)128字节内部数据存储器(RAM)。 (4)32位可编程输入/输出线。 (5)两个16位定时/计数器。 (6)六个中断源。 (7)一个可编程串口。
(8)支持低功耗模式和掉电模式。 4.1.2 主机硬件电路设计
根据系统设计的需要,本报警器的主机由一片AT89C51单片机和一片IO扩展芯片8255A组成,主机电路如图4.1所示。时钟电路由两个3OpF的电容和12MHz的晶振构成。复位电路由电阻、电容和按键开关构成,具有上电复位和手动复位的功能。单片机的INT0与无线接收板的接收信号有效端VT经非门相连。为防止环境干扰信
第 26 页 共 55 页
中北大学信息商务学院2014届毕业设计说明书
号对触发中断的影响,当响应中断后,对中断信号多次巡检,确认是中断信号时,才去执行中断处理子程序,否则认为是外界干扰信号不执行报警处理。
图4.1 自动报警器主机电路图
PO口复用为地址/数据总线,分别和地址锁存器74LS373的输入线、8255A的数据总线、MT8888的数据线、无线接收芯片PT2270的数据线连接。Pl.0,P1.1接X25045的串行数据输入和串行数据输出端,P1.2接X25045的串行时钟输入端CLK;P1.3接X25045的片选端CS;Pl.4连接拨号/语音转换电路的三极管基极,用于DTMF音频信号和语音信号的切换;Pl.5接系统布防指示灯,用于指示系统的工作状态;PI.6接ISD1420语音芯片的放音脚PLAYL,低电平有效;Pl.7用于模拟摘挂机控制,实现系统和用户话机的工作切换;P2.0与MT8888的RSO相连,控制MT8888内部寄存器的选择。P2.1-P2.4分别接ISD1420语音录放芯片的A3-A6地址线,用于选择不同的语音提示;P2.5连接系统的声光报警电路,当报警时,报警灯点亮,警铃响;P2.6连接8255A芯片的选通端CS,用于控制8255A的选通;P2.7与MT8888的CS相连,控制MT8888的选通。RXD,TXD预留为主控计算机串行通讯口;Tl口连接MT8888的IRQ/CP端,用于计数监测电话音方波信号的个数;INT0口经非门接无线接收板的VT引脚,用于接收报警信号,引发中断;WR,RD分别与MT8888以及8255A的WR和RD相连,控制MT8888和8255A的读写。
第 27 页 共 55 页
中北大学信息商务学院2014届毕业设计说明书
4.2 串行EEPROM-X25045
为增强系统的可靠性和安全性,本系统采用X25045为记忆存储元件,系统参数、电话号码、用户信息、探测器信息、报警信息等所有信息都不会因为电源失去而变动。X25045是美国XICOR公司低功耗内含可编程的串行512×8位EEPROM的CM0S产品(备用电流10μA、工作电流3mA),它把看门狗定时器、VCC监控电路和EEPROM三种常用功能组合在单个封装内,增大了电路密度,减少了体积,提高了系统的可靠性。
4.2.1 X25045介绍 4.2.1.1 X25045引脚
X25045的引脚如图4.2所示。
图4.2 X25045引脚图
SO为串行数据输出引脚。在读周期内,数据在SO上由串行时钟SCK的下降沿同步移出。
SI为串行数据输入引脚。指令码、字节地址和写入EEPROM的数据在SI上输入,并由SCK的上升沿锁存到X25045。
SCK为串行时钟输入引脚。SCK控制串行数据(包括指令码、字节地址)的输入输出。
CS为芯片选择输入引脚。当CS为“1”时,SO输出引脚处于高阻状态即不选中X25045;CS为“0”选中X25045。应当注意,在对X25045的读写操作之前需要CS从“1”至“0”的跳变,在读写期间保持CS为“0”,读写结束置CS为“1”。另外,CS的下降沿可复位看门狗定时器,即RESET输出低电平。
WP为写保护输入引脚。当WP为“0”时,禁止写操作,但其它功能正常;当WP为“1”时,所有的功能(含写操作)都正常。
RESET为复位信号输出引脚(漏极开路的输出端)。当Vcc检测电路检测到Vcc
第 28 页 共 55 页
中北大学信息商务学院2014届毕业设计说明书
降到最小工作电压以下时,RESET变为高电平,直到Vcc返回到正常值为止。因此,若把RESET接到单片机的复位端,则可把单片机系统复位,从而使系统免受低电压的影响。如果允许看门狗定时器工作,当CS保持“1”或“0”的时间长于看门狗超时周期时,RESET也变为高电平,同样能使系统复位,这为单片机提供了独立的保护系统。如,当单片机因受干扰信号而不能执行工作程序(含复位看门狗程序)时,CS将保持不变,RESET就会变高电平从而把单片机系统复位,待干扰消失后系统重新开始工作。 4.2.1.2 寄存器
X25045包含一个写使能锁存器,在对状态寄存器、EEPROM写操作之前必须用WREN指令设置写使能锁存器,否则不允许写操作。WRDI指令能复位写使能锁存器。另外,若WP变为“0”,,写使能锁存器也被复位。一旦写使能锁存器被复位,就禁止写操作。这些都是保护EEPROM内数据的措施。
X25045还包含一个8位状态寄存器。位0为只读位,称为WIP位,它表示芯片是否忙于写操作。若WIT为“1”,表示写操作正在进行。位1为只读位,称为WEL位,它表示写使能锁存器的状态。若该位为“1”,则说明写使能锁存器被置位,否则说明写使能锁存器被复位。位3、位2为可写位,称为块保护位BL1、BL0,表示EEPROM被保护的地址范围。当位3位2为00时,表示无块保护(可读可写);当位3位2为01时,表示被保护的范围为180H-1FFH(可读不可写);当位3位2为10时,表示被保护的范围为100H-1FFH;当位3位2为11时,表示被保护的范围为000H-1FFH。这是对EEPROM内的数据采取的另一个保护方法。位5、位4为可写位,称为看门狗定时器位WD1、WD0,用于设置看门狗的超时周期。当位5位4为11时,禁止看门狗工作;当位5位4分别为00、01、10时,看门狗超时周期分别为1.4s、600ms、200ms。 4.2.1.3 指令介绍
对X25045的操作是通过执行6条指令(表4.1)实现的。指令码通过SI引脚送入X25045的8位指令寄存器,指令码由SCK的上升沿锁存到指令寄存器,此时CS必须为“0”且WP为“1”。指令码、地址、数据都以最高位在前的方式传送,读写指令的位3包含了高地址位A8。
第 29 页 共 55 页
中北大学信息商务学院2014届毕业设计说明书
表4.1 X25045的指令表
4.2.2 X25045与单片机的接口电路和软件编程 4.2.2.1 接口电路
本系统中X25045应至少依次存储2组话机号码、用户编号、探测器编号等数据信息。X25045与单片机的接口电路如图4.3所示。单片机的Pl.0与X25045的串行输入脚SI相连,用于输出操作码、字节地址以及写入数据;Pl.1与X25045的串行输出引脚SO相连,用于读出数据;Pl.2与X25045串行时钟输入脚SCK相连,作为串行数据输入和输出的时钟信号;Pl.3与X25045的CS端相连,用于片选。由于X25045的复位输出信号为高电平有效,故和89C51复位方式一致,故可将它的复位端直接和单片机的同名引脚相连。X25045的RESET为漏极开路的输出端,应接上拉电阻R。
图4.3 X25045与单片机的接口电路
第 30 页 共 55 页