基于单片机的防盗报警系统

2023-01-09 01:13喻丽丽
大众标准化 2022年23期
关键词:防盗中断时钟

喻丽丽,朱 艳,吴 婷

(金山职业技术学院,江苏 镇江 212200)

1 研究意义

随着人们家庭安全意识的不断提升以及防盗报警器智能化水平的不断提升,防盗报警器的市场需求越来越大,防盗报警器能有效保证家庭生命财产安全。此外,随着单片机技术、通信技术与人工智能技术的不断发展,使得防盗报警系统越来越智能化,因此,设计基于单片机的防盗报警系统具有重要的实际意义,也能为建设平安社会发挥重要力量。

2 研究内容

文章主要从以下几个方面研究基于单片机的防盗报警系统:首先进行整体方案设计,设计出满足使用要求,且具有特点的智能防盗报警系统;其次,进行硬件系统设计,包括进行单片机、红外传感器、显示模块、时钟芯片、外扩存储器及用户端探测器的选型等,最后,进行软件设计,检验所设计的基于单片机的防盗报警系统的功能是否满足使用要求,检验所设计的系统的合理性。

3 系统方案设计

文章所设计的基于单片机的防盗系统结构如图1所示:由AT89C51单片机、存储芯片AT24C02、时钟芯片DS1302、键盘、LCD显示屏、检测信号输入、声光报警电路等组成。用AT89C51单片机进行控制,AT89C51与存储芯片交换信息,从DS1302获取校准时间,通过键盘输入信息,LCD显示屏显示信息,当检测到有异常信号时向单片机进行中断申请,声光报警装置发出报警信号。本系统采用5 V电压,时钟晶振频率为12 MHz,键盘的输入行接P1.0、P1.3,输入列接P1.4、P1.7,时钟引脚和复位引脚分别接P1.6、 P1.7, AT24C02用I2C双总线传输,时钟信号接P2.2,数据线接P2.3,报警系统和I/O引脚分别接P3.4、P3.6,报警指示灯接P3.7,蜂鸣器采用三极管驱动,并接续流二极管防止三极管击穿, P0为数据的输入、输出端口,LCD显示屏的数据输入、输出和检测信号(16路)的输入都通过P0,显示屏的控制线分别接P2口的高三位;利用74LS373锁存器将16路监测信号输入给AT89C51。

图1 系统总体结构

4 系统硬件设计

4.1 单片机选型

AT89C51是含4K字节FLASH存储器,是低电压、高性能CMOS 8位微处理器。AT89C51有32个I/O口,2个16位定时器/计数器,5个中断源,可编程串行通道,具有掉电模式和低功耗空闲模式。芯片中组合了多功能8位CPU和闪烁存储器,文章设计所用AT89C51单片机的引脚如图2所示。

图2 AT89C51引脚分布

4.2 热释电红外传感器选型

文章选用的热释电红外传感器型号为RE200B,如图3所示为热释电红外传感器RE200B内部电路,D接工作电压,工作电压2.2~15 V,S为输出电压,在0.4~1.1 V,GND接地,工作波长7.5~14 um,R=47 kΩ,输出信号大于2.0 V,水平角120°,检测距离6~10 m,工作温度-10~40 ℃。

图3 热释电红外传感器RE200B内部电路图

4.3 振动位移传感器选型

选取ND-1型传感器作为振动位移传感器,能检测振动和位移信号。当检测到人体运动信号时,输出高电平并通过电路进行延时,反之输出低电平。

4.4 显示器选型

LED数码管有静态和动态两种,由发光二极管组成,驱动功耗小、电压低、信息容量大,在光很亮的情况下也可用,但工作温度范围较窄。静态显示法适用于显示器位数较少的场合,静态显示时,显示一个字符,相应的发光二极管被导通或截止。动态显示是显示器各个位一位一位点亮,显示器每一位每隔一段时间亮一次,须保证扫描速度够快,字符才不闪烁。设计采用1602LCD液晶显示,其显示容量为16×2Byte,芯片工作电压5±0.5 V,工作电流2 mA,字符尺寸2.95 mm×4.35 mm,显示屏能够同时显示2行信息,每行16个字符。

4.5 时钟芯片选型

DS1302是一种高性能、低功耗,芯片内自带RAM,工作可接2.0~5.5 V电压。可以对year、month、day、week、hour、minute等进行计时,附带闰年补偿功能。采用三总线方式与CPU进行同步通信,并可采用突发方式一次传送多个字节的RAM数据或时钟信号。

4.6 外扩存储器选型

AT24C02内含256×8位字节,一个16 Byte页写缓冲器,通过I2C总线接口进行数据信号和地址信号的传输,通过地址选择端A0、A1和A2实现最多8个AT24C02器件连接至总线。

4.7 用户端探测器设计

文章设计的检测信号电路图,信号检测采用复合式传感器,其由热释电红外探测器和动位移传感器通过或非门相连组成,任何一个传感器接收到报警信号,单片机都会响应,增加安全性,降低漏报率。

16路检测信号采用74LS20、74LS25,每4路信号先与后非,再对4路与非门输出取或非,正常状态下,检测信号是高电平,反之,当检测出异常信号时则输出低电平,同时由高电平到低电平所产生的下降沿进行中断申请,同时锁存器74LS373其 LE 端变为0,锁存Dn端信号,P2.0、P2.1为外部中断程序扫描端,锁存器74LS373 OC端为0时,锁存信号由Qn端输出,检测信号(16路)输入电路。

4.8 时钟电路设计

为了使时钟功能更加精准,且节省单片机I/O口资源,选用时钟芯片DS1302、DS1302,体积小、线路简单、易于操作。DS1302与单片机之间的通信是同步串行,DS1302用于记录数据与数据出现的时间。

4.9 蜂鸣器设计

文章选用蜂鸣器与单片机的P1.7口相连,按下开关2时,P1.7为高电平时,蜂鸣器报警,反之蜂鸣器停止工作。

4.10 危险指示灯设计

当检测到热电型红外传感器无信号时,P1.3输出高电平,LED指示灯灭,反之,当检测到危险信号时,P1.3输出低电平,LED指示灯亮。

4.11 信号发送与接收模块选型

SC2262是一个8位地址码和按键码组合的无线射频发射模块,1、2引脚是工作电压,K0、K3是按键输入,VT脚为发射指示输出端,SC2262的地址和SC2272的地址需设置成一样,否则无法通信。SC2272是一个带射频接收和译码电路的无线射频接收模块。

5 系统软件设计

5.1 显示程序设计

选用1602显示模块作为LCD显示,使用前先对1062模块进行初始化,即上电15 ms后对1602显示模式写指令38H,再对1602输入清屏指令,如图4。

图4 显示流程

5.2 系统初始化程序设计

系统在运行前都要进行初始化操作,才能保证系统能正常、有效运行。系统初始化包括寄存器初始化、LCD初始化、AT24C02检测以及报警时长设置。如图5为系统初始化流程,首先设置堆栈SP为60H,设置IE为 07H,中断优先级IP为01H,再初始化LCD,设置报警时长,设置好后系统检查I2C的数据通信,若数据通信失败或出错,显示器显示“ E”字符;2EH、2FH分别写FFH,读取的监测信号异常位为0,将检测信号与2EH、2FH分别做与运算,存在异常的位为0,通过检测位显示当前报警发生异常的通道,最后从DS1302获取当前时间,开中断,启动定时,初始化结束。

图5 系统初始化流程

5.3 报警系统程序设计

设计报警系统时,当16监测信号发生异常时,电平处于低位,向单片机申请中断,低电平通知74LS373锁存异常信号;进入中断,从74LS373读信号,记录异常时间,通知外部中断1报警,报警指示灯亮,蜂鸣器开,LCD显示报警时间和通道。报警时长到或中途取消,退出报警。

5.4 查询记录程序设计

记录查询包括单通道和总体状况查询,总体查询检查异常通道,显示该通道发生异常的次数,查询出现异常的时间与记录。程序将通道记录数地址、光标显示位置和通道号分别读入R0、R2、R3。当查询某路详细记录时,先查该通道记录是否存在,即R0不为0,再将R0和R3参数传递给详细查询子程序。当某通道存在异常记录时,详细查询通道的异常记录,并通过总体查询获得记录数地址和通道号,从AT24C02获取数据。

5.5 定时中断程序设计

中断程序完成对时间的计数,每完成一次定时中断R7加1,当R7=20时,则对R7进行清零。当时间为24时时,中断从DS1302时钟芯片校准时间。

5.6 外部中断程序设计

当前通道若无记录,则当前记录为第1条,若有记录,设置当前记录为第2条。中断程序完成对异常信号的判断与记录,拉低P3.1,并发出提示信号。

5.7 删除记录程序设计

删除记录程序用于删除当前通道查询的记录,清空内存数据时,要对存储芯片进行写操作,若删除的是两条中最早的记录,后一条记录替代前一条。需判断记录数和当前删除记录的位置,然后再执行删除动作。

猜你喜欢
防盗中断时钟
别样的“时钟”
古代的时钟
“单片机中断概述”微课教学设计
一种考虑GPS信号中断的导航滤波算法
古代陵墓中的防盗机关
Linux中断线程化分析及中断延时测试
防火防盗报警器设计
2017年凯迪拉克XT5电路图
跟踪导练(二)(5)
有趣的时钟