控制/MCU
本文主要详解基于单片机的智能安防报警系统设计方案,我们以基于STC89C52单片机设计的方案来介绍,首先介绍了STC89C52引脚图及功能,其次阐述了基于STC89C52单片机的智能安防报警系统的硬件、软件、系统测试等方面的内容,具体的跟随小编来详细的了解一下。
STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
STC89C52引脚图及功能
STC89C52引脚说明:
VCC(40引脚):电源电压
VSS(20引脚):接地
P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。
P1口:P1口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4个TTL逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2 的触发输入(P1.1/T2EX),具体如下表所示。在flash编程和校验时,P1口接收低8位地址字节。
引脚号第二功能
P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出
P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)
P1.5 MOSI(在线系统编程用)
P1.6 MISO(在线系统编程用)
P1.7 SCK(在线系统编程用)
P2口:P2口是一个具有内部上拉电阻的8位双向I/O 口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX @DPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:P3口是一个具有内部上拉电阻的8位双向I/O 口,P3输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为STC89C52特殊功能(第二功能)使用,如下表所示。在flash编程和校验时,P3口也接收一些控制信号。
P3口除作为一般I/O口外,还有其他一些复用功能:
RST——复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。
ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。
对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当STC89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。
基于单片机的智能安防报警系统设计方案
本设计提出了一个基于STC89C52单片机控制GSM的智能家用报警系统,对房屋灾情进行实时监控和报警。系统使用温度传感器对室内温度进行检测并且在数码管显示;使用热释电红外传感器检测屋内是否有人非法侵入,检测数据传入单片机,单片机对数据进行分析和处理,若有异常,进行蜂鸣报警,并控制GSM系统向主人发送信息。该智能报警系统可以根据环境变化及时做出反应,从而保证家居环境的安全。
系统基于STC89C52单片机,主要的模块有热释电红外传感模块、温度检测模块、蜂鸣器报警模块、数码管显示模块和GSM短信报警模块。系统整体框架如图1所示。
温度检测及显示模块采用数字温度传感器DS18B20,DS18B20数字温度计接线方便,封装成后可应用于多种场合,耐磨耐碰,体积小,使用方便,并且具有超强的稳定性和卓越的灵敏性。温度检测电路如图2所示。
热释电红外传感模块主要用来对室内是否有人体进行检测,主要由热释电红外传感器RE20HDB和BISS0001处理芯片构成。BISS0001是CMOS类具有独立的高输入阻抗运算放大器,可以与多种传感器匹配,进行信号处理,能有效的抑制其他信号的干扰,稳定性高,调节范围广。
若有人进入热释电红外传感器的扫描范围内,RE200B产生微弱的电压变化使得芯片被触发,经过BISS0001芯片的两级放大后,在VO信号输出端产生3.3 V左右的电压;当没有人经过时,VO端输出0 V,输出电压送入单片机进行判断和处理,从而实现了人体检测。
GSM模块主要由TC35i、电源电路、串口电路和GSM保护电路组成。TC35i新版西门子工业GSM模块是一个既支持英文短信又支持中文短信息的工业级GSM模块,支持数据和语音两种格式的SMS短信发送形式,且格式的设置都可通过AT命令来实现。TC35i短信模块体积小、重量轻、耗能低,具有SIM应用工具包和AT命令集控制等优点。电源电路为GSM提供合适的电压。GSM保护电路用于防止供给电压过大。
系统以C和汇编语言为编程语言。该系统通过传感器对室内环境条件进行检测,检测数据传送给单片机,由单片机对数据进行处理并采取相应措施。系统程序流程如图3所示。系统启动之后,首先进行初始化操作,为了能够及时显示温度以及对非法入侵报警,系统采用中断技术,使用单片机定时中断TO,每隔500 ms中断一次。打开中断后,系统开始进行工作,当有人进入时,系统调用GSM短信发送程序,并进行蜂鸣器报警,为了让报警产生效果,将报警时间延迟2分钟。GSM发送短信程序设计的流程图如图4所示。
系统软硬件设计完成后,对各模块进行测试。接通电源后,数码管能够正常显示当前室内的温度,并且随室内温度的改变而改变,表明温度检测和显示模块功能正常;然后,对是否能够检测到人体进行了测试,当有人进入热释红外传感器扫描范围内时,系统报警并且发送短信息到指定手机,没有人体进入时,系统不报警,表明报警和短息通知功能正常。因此,该系统的温度检测、显示、报警和发送短信功能均正常。
此家用报警系统,主要以防盗和室内温度检测为主,防盗报警体现于发送短信报警和驱动蜂鸣器报警,室内温度检测主要将其显示于数码管。整个设计的创新点在于系统的自动化和智能化,实用性强。使用简单实用的传感器,融合声、温、电、网络信息传输等技术,系统易于实现。此外,系统的设计思想为智能家居、智能安防等系统的开发提供参考价值。
全部0条评论
快来发表一下你的评论吧 !