很多单片机在我们的日常生活工作中都有自己的应用场景,随着工业技术水平的不断提升,单片机在各个应用领域中的涉及范围越来愈广泛。下面是搜索整理的51单片机论文6篇,供大家参考阅读。
51单片机论文第一篇:基于51单片机的智能家居火灾报警的设计与实现
摘要:本文利用STC89C52单片机,结合使用温度传感器和烟雾传感器,设计了一款智能家居火灾报警系统。该系统可以通过按键对当前的时间、温度临界值、烟雾临界值进行修改,然后把从温度检测模块和烟雾检测模块得到数据实时显示在LCD1602屏幕上,便于用户观察,同时将数据通过蓝牙无线模块发送至手机APP上,当监测到的温度或者超过设定阈值时,语音播报模块指示灯亮,播报警告,同时手机APP端也可以接收到火灾逃跑的信息。
关键词: STC89C52单片机;火灾报警;烟雾检测;温度检测;手机APP;
1 引言
随着社会的进一步发展,相关硬件采集系统飞速的发展,所谓的火灾预警数据采集已经遍布各行各业,工业内部,农业内部、家庭生活内部等,我们能发现相关数据采集无时无刻遍布在我们身边。以及相关软件系统的飞速发展,相关系统在开发过程中能够能更加省时省力地进行。二者的相辅相成,进一步促进了数据采集行业的发展,这也为我们的火灾预警系统坚定了基础,提供了全方面的技术保障。但是,在这样的环境下,也出现了相关采集系统的成本较高,不能够完美的切合实际,往往会出现系统和实际解决问题不相符、不匹配的问题,并且其检测的数据往往精度不高,不能够实现更为细致精确的数据测量工作,这也为人们的日常工作提供了不便[1]。由于相关检测设备的参差不穷,检测设备的目的性质参差不穷,能够真正的符合本次需求分析的采集系统有少之又少。所有,如何能够出现一款切合实际的火灾预警系统,那将能够大大有效的提高整个行业标准,也为相关的工厂单位、事业单位提供稳固的保障[2]。为了能够进一步提高采集数据的快捷性和准确性,从数据的采集端进行稳固的保障工作,将能够大大提高整个火灾预警系统的工作性能。本次火灾预警系统设计通过从改善整个数据采集的工作过程,实现自动化、时实化的工作性质[3],为后续火灾预警联动以及消防设备管理系统扩展以及系统发展有深远的意义。本次实现的火灾预警系统是在总结前人的工作以及传统工作系统的不足,进而在更优质的选择下达到工作目的。通过物联网技术改变传统工作的工作模式,通过更优质高效的计算机子系统的处理下,使得火灾预警相关数据检测工作变得人性化、智能化。简化了往常工作的复杂性,提高了效率[4]。并且,火灾预警系统的实现也使得人们的生活质量显着提高,人们能在花费少量的时间和精力下,实现往常的等价工作,大大提高了人们的办事效率。数据的及时性传输也能够让整个火灾系统的即时性大幅度提高,传统的数据获取不光复杂,数据整理起来也不方便,有可能出现数据丢失等情况。但是,在物联网计算机处理数据下,获取的数据以及反馈也能减少不必要的错误,提高数据的精确性和准确性[5]。
本课题基于单片机技术,在分析了以智能家居火灾报警系统开发使用的智能需求为基础,设计了一种基于51单片机的智能家居系统火灾报警系统。同时加入了多种传感器电子技术辅助使用。可以通过按键对系统当前时间、温度阈值、烟雾阈值进行修改,并将温度检测模块以及烟雾检测模块得到的数据实时显示在LCD1602上,便于用户观察,同时将数据通过蓝牙无线模块发送至手机APP上,当监测到的温度超过设定临界值值时,指示灯闪烁,语音播报模块发出声音播报“温度过高”,隔十秒一次报警;当烟雾浓度超过设定临界值时,指示灯闪烁,语音播报模块发出声音播报“烟雾过高”,隔十秒一次报警;当温度和烟雾浓度同时超过临界值时,指示灯连续闪烁,语音模块循环播报“火灾快跑”。同时,手机APP端也可以接收到火灾逃跑的信息。
2 系统总体结构设计
2.1 需求分析
采集端通过中央处理系统,配合相关的数据监测模块能够进行实现整体数据的采集工作。本次设计的基于单片机的智能家居系统火灾报警是通过单片机以及其他采集模块共同配合下,处理温度以烟雾工作流程中的问题,数据采集端通过管脚把信息传输到单片机处理端,单片机能够完美的把数据进行处理,为后续的各种操作打好基础。以及通过单片机的高性能把信号数据进行处理封装。
图1:系统总体结构
系统主要实现的功能有:
(1)系统成功地通过温度传感器检测到温度数据;
(2)系统通过烟雾传感器成功检测到烟雾数据;
(3)系统通过语音模块进行危险播报处理;
(4)系统能够通过按键进行报警阈值的设置;
(5)能够通过无线方式发送至上位机供用户观测。
2.2 系统总体框架设计
基于单片机的智能家居系统火灾报警设计项目总共分为以下几大模块:电源模块;STC89C52单片机处理模块;复位电路模块;晶振电路模块;LCD1602显示模块;ADC0832模数转换模块;按键模块以及语音模块。
系统总体结构如图1所示。
3 系统软件设计
在单片机植入的程序选择上,根据课程上的学习程度以及当前主流的程序,该系统软件选择C语言进行开发设计,C语言是一种面向过程的抽象的编程语言。其契合度十分合适对于应用底层的开发,十分满足本系统的需要。C语言能够通过使用简易的程序编译,使用低级的存储器。并且高效以及跨平台性。相对于汇编语言来说,汇编语言,代码单调,特殊命令字符少,代码冗长难写,汇编语言调用内存存储数据,因此bug发生较大,兼容性较弱,调试也比较困难。综合上述分析,本系统采用了C语言作为本系统的开发语言,因为各个模块的调度问题,选择C语言能够提升开发效率,降低出现问题的可能性。
3.1 软件设计思想
在软件编程过程中主要采用的是模块化编程思想,对各个模块分别进行调试,在所有模块都能实现其本身的功能时,把各个模块结合起来,形成一个有机整体。这样设计方便于在软件编程过程中程序代码的优化,并且能更好低完成对程序的设计、调试和维护。软件系统主要分为系统主程序和任务子程序两大部分,其中,任务子程序主要用来实现各个模块的功能,而主程序则负责调用任务子程序,实现整个系统的功能。本系统中主要包括:初始化子程序、按键设置子程序、ADC模数转换子程序、蓝牙发送子程序、语音驱动程序、LCD显示子程序。软件完成后能够实现以下功能:
图2:软件总体设计流程
(1)各硬件初始化;
(2)按键设置系统的运行状态以及更改时间信息、温度临界值以及烟雾浓度临界值。
(3)LCD1602显示系统当前运行状态以及系统的时间、温度临界值以及烟
雾浓度临界值,便于用于进行相关操作。
(4)烟雾模块监测烟雾数据、温度模块检测温度数据、语音模块驱动报警。
(5)蓝牙模块发送监测信息至手机端,便于用户远程进行监测。
3.2 软件设计实现
本系统的人机交互部分主要依靠软件实现软件的设计,流程如图2所示。
3.3 LCD1602工作流程
LCD显示当前采集的信息,在设计LCD的单片机程序部分时,为了能让我们的设计思路清晰明了,LCD的功能更加清楚,最简单有效的开发方式就是先画出LCD的具体流程图,然后按照流程步骤一步一步的设计程序,就避免遗漏重要的显示信息的情况。
3.4 按键模块
本系统中主要利用按键模块来设置系统工作模式以及更改系统时间、温度阈值和烟雾阈值。
4 总结与展望
本次智能家居系统火灾报警系统主要能够实现室内温湿度监测、烟雾浓度监测等功能,并且可以设定环境参数临界值,当监测到环境数据大于临界值时,自动启动语音模块报警提示,通知用户尽快逃离,并且通过蓝牙模块与手机相连,供用户在一定范围进行监测,实现对火灾的预防与扑救。
在整个系统调试的时候,首先是对硬件方面的调试,在表面上来看似乎把每根线的接触都是连接好了的,这就往往迷惑了自己,只能看到表面,似乎硬件的调试没什么难度,就是按照电路设计图来完成,但是也会产生一定的原因,比如接口焊接不稳,在后续的软件调试还会以为是硬件的问题。所以我们必须掌握相关的调试方法,根据故障现象,分开模块进行调试,反复的测试和判断,分析故障的点在哪里。在测试过程中对硬件电路模块的测试主要是测硬件的相关参数以及等,在这个硬件的测试的时候进行综合仿真分析问题。对里面的代码采用了Protues仿真测试,一个一个模块的测试,最定位到问题,逐个解决,最后完成。在这整个软件与硬件的测试中,提高了对事情的分析以及解决能力,提高了对本专业的知识以及兴趣,因此,在未来我会在此方面以及扩展方面不断的学习和积累经验,最后设计出更多实用的功能。
参考文献
[1]白旭涛,吕海荣于计算机的火灾报警监控系统的研究物理学杂志:会议系列,2021,1744(2).
[2]李珊,成薇于物联网的简易智能家居系统[J]电子制作,2020(14):34-35.
[3] 刘军,钟毅,刘天成,许景生.- 种基于蓝牙的智能家居控制系统的硬件设计[J].网络安全技术与应用2020(05):147-149.
[4]蔡改贫,邓涛倪俊基于手机客户端的智能家居火灾报警系统设计[J].消防科学与技术,2020 ,39(03):377-380.
[5]关超柴宝仁基于stm32的智能家居控制系统的设计与实现[J]轻工科技,2019,35(02):91-92+95.
[6]杨丽,冯娟,卢秀丽,刘强基于物联网智能家居安全监控系统设计[J]现代电子技术,2019,42(08)-55-58.
51单片机论文第二篇:基于51单片机的多功能安全头盔设计
摘要:本文主要设计了基于51单片机的多功能安全头盔,可以实现测距、事故报警、和接听三个功能,通过接听功能和测距功能减少驾驶人驾驶过程中发生事故的可能性,通过事故报警功能达到及时抢救,减少事故造成的伤害。
关键词:多功能安全头盔; STC89C52;三轴加速度传感器; GSM/GPS;超声波测距模块;
本文采用STC89C52作为多功能安全头盔的主控制器,STC89C52属于增强型51单片机。51系列单片机是一款应用广泛的8位单片机,它提供了一套完整的按位操作系统,同时具有乘法和除法指令,操作简单,容易上手。STC89C52相比于51单片机,拥有更大的RAM和ROM存储空间,增加了定时器数量和相应的特殊功能寄存器和中断功能更强大。
1 多功能安全头盔功能描述
1.1 功能概述
1.1.1 接听功能
配置蓝牙外耳机,避免骑手以为佩戴入耳式耳机,对周围声音丧失基本的判断,减少意外情况的发生,且不影响骑手对基本语音通话的使用。
1.1.2 测距功能
先用MPU6050测得行驶的加速度,通过算法测得速度,当速度达到15km/h以上触发左后方和右后方超声波测距模块,当超声波模块测距距离为2m以内发出提示音提醒左后方或右后方有车,请注意安全。
1.1.3 事故报警功能
板子正常情况下是水平,一旦MPU6050检测到板子不再水平即摔倒,蜂鸣器发出提示音,且摔倒的时间持续超过15秒后GSM模块开始工作,向有关人员发送求救信息和GPS模块得到的位置信息。
1.2 功能框图
功能框图如图1所示。
2 多功能安全头盔硬件设计
2.1 功能单元划分
(1)主控制器:STC89C52。
(2)测距功能:MPU6050,两个HC_SR04,报警电路。
(3)事故报警功能:MPU6050,SIM800模块,GPS模块,报警电路。
(4)接听功能:蓝牙外耳机。
2.2 模块性能指标
2.2.1 STC89C52
(1)属于增强型8051单片机,相比于传统的8051单片机,其功能更加强大。
(2)工作电压:5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机)。
(3)STC89C52共有32个I/O口,大多为弱上拉型,本系统需要两个I/O口进行IIC通信,3个I/O口分别连接指示灯和控制按键以及蜂鸣器,4个I/O口分别连接两个HC-SR04,同时还需要若干I/O口连接LCD1602液晶显示屏。
(4)STC89C52有一个串口,我们需要用串口实现与GSM/GPS模块的通信。
(5)共3个16位定时器/计数器。即定时器T0、T1、T2,我们用到了T0和T1定时器,T1定时器进行定时,T0定时器用于测距模块。
图1:功能框图
2.2.2 HC-SR04超声波测距模块
(1)使用电压:DC-5V。
(2)静态电流:小于2m A。
(3)电平输出:高电平5V。
(4)电平输出:低电平0V。
(5)感应角度:不大于15度。
(6)探测距离:2cm-450cm。
(7)高精度可达0.2cm。
2.2.3 MPU6050
(1)尺寸:4*4*0.9mm。
(2)封装:QFN。
(3)支持电压:2.5v 5%,3.0v 5%,3.3v 5%。
(4)陀螺仪可测范围:250,500,1000,2000/秒。
(5)加速度计可测范围:2,4,8,16g。
2.2.4 SIM800模块
(1)尺寸:24*24*3mm。
(2)重量:3.1g。
(3)通过AT命令控制(GSM 07.07,07.05 and SIMCOM增强AT命令集)。
(4)供应电压范围:3.4~4.4V。
(5)操作温度范围:-40℃~85℃。
2.2.5 GPS模块
(1)5Hz定位更新速率。
(2)精确度:定位2.5MCEP,SBAS:2.0m CEP。
(3)捕获冷启动29s。
(4)温启动27s。
(5)辅助启动<3s。
(6)热启动<1s。
(7)支持Assist Now Online及Assist Now Offline。
(8)速度515m/s(1000节)。
(9)模块输入电压:5V。
2.3 系统工作原理
图2:原理图
图3:主程序流程图
2.3.1 mpu6050陀螺仪/六轴加速度传感器
电路板位于头盔的顶端,水平放置,正常情况下倾角为0度。MPU6050用于测量x方向和y方向的加速度以及电路板的倾角,正常情况下,mpu6050测得的倾角为0,同时两个方向的加速度在正常的范围内。当加速度的绝对值出现特别大的值(发生碰撞),之后倾角不为0(摔倒)且十五秒后不恢复0值,便触发GSM模块和报警模块工作。
2.3.2 GSM/GPS模块
GSM模块采用SIM800A,其接收端与单片机串口的发送端相连用于接收单片机发送的信息并发送给对应的手机。GPS模块用于测量经纬度信息并发送给单片机,在事故发生后,单片机将求救信息以及事故发生的经纬度信息通过串口发送给GSM模块,GSM模块发送给相应的手机。
2.3.3 由加速度计算速度的算法设计
假设y方向为正前方,由MPU6050测得y方向的加速度a,用定时器1做定时,以每100ms为间隔,读取每个间隔的中间值作为a的值,然后累加10次,则得到速度的值。
2.3.4 HC-SR04超声波测距模块
超声波测距模块用于测量在电动车高速运动时距离后方车辆的距离,当速度超过15km/h,启动左后方和右后方的超声波测距模块,当测的距离小于两米时,启动提醒/报警电路进行提醒。
2.3.5 报警/提醒电路
该电路由蜂鸣器和二极管电路组成,当高速状态下测距小于两米时,电路发出间隔为1s的滴答声进行提醒,当检测到事故发生时,发出长时间的报警声。
2.3.6 LCD1602液晶显示屏
LCD1602用于显示mpu6050测得的加速度和倾角的数值以及通过算法计算出的速度值以及左后方和右后方两个HC-SR04测得的距离。用于进行调试,可以去掉。
2.4 单元详细设计
2.4.1 引脚设计
(1)MPU6050的SCL时钟线接单片机P21引脚,SDA数据线接单片机P20引脚,实现与单片机的IIC通信。
(2)单片机P22引脚通过三极管接蜂鸣器。
图4:GSM模块、GPS模块子程序流程图
(3)GPS模板TXD输出引脚连接单片机RXD串口输入引脚RXD,向单片机发送位置信息。
(4)单片机TXD串口输出引脚连接GSM模块RXD输入引脚TXD,控制GSM模块向手机发送短信。
(5)两个超声波测距模块的TX发送引脚分别接P10,P16引脚,接收引脚RX接单片机P11,P17引脚。
(6)LCD1602数据端接单片机P00到P07引脚,使能端接P27引脚,读写端接P26引脚,使能端P25引脚。
2.4.2 引脚设计特色
由于STC89C52只有一个串口,而GSM和GPS模块都需要与串口进行通信,我们可以将单片机串口的接收端与GPS模块的发送端相连,同时单片机串口的发送端与GSM模块的接收端相连,实现了一个串口与两个模块的通信。
2.4.3 原理图
原理图如图2所示。
3 软件详细设计
3.1 开发环境
本产品采用的开发环境为Keil5_C51,Keil集编辑、编译、到连接、调试为一体,提供了一套完整的软件开发流程。用Keil软件对程序进行编译形成HEX文件,将HEX文件用STC-ISP软件和CH340通过串口烧录到STC89C52,从而对整个系统实现控制。
3.2 主程序设计
主程序主要分为两个部分,测距功能和事故报警功能。首先通过MPU6050和HC-SR04以及各种算法得到行驶时加速度,速度,倾角,距离等状态。然后通过这些状态判断是否处于危险状态或是否有事故发生,进而打开或关闭报警/提醒电路。报警电路可以通过按键进行取消。具体流程图如图3。
3.3 子程序设计
3.3.1 GSM模块子程序(GSM_PROC())
GSM模块用于向手机发送求救信息和GPS模块测得的经纬度信息,使用GSM模块首先需要单片机通过串口向GSM模块发送相关的协议,之后才可以发送对应的手机电话号码以及求救信息和位置信息,GSM模块接收到单片机发送的这些信息之后,进而通过短信形式发送到相应的手机。
3.3.2 GPS模块子程序(GPS_PROC())
GPS模块用于获取驾驶员的经纬度信息,GPS模块的原始信息通过串口接收中断函数获得,GPS模块的子程序主要用于处理GPS获得的原始信息进而转化成位置信息,及经纬度信息。之后通过串口把经纬度信息发送给GSM模块。
图5:定时器1、串口接收中断服务函数流程图
GSM模块、GPS模块子程序流程图如图4所示。
3.3.3 超声波测距模块子程序(Wave_PROC())
超声波测距模块用到了两个HC-SR04,用于同时测量左后方和右后方的距离。超声波测距子程序用到了定时器0,通过定时器0完成了波的发送以及距离的测量,最终返回两个模块较小的距离。
3.4 中断程序设计
3.4.1 定时器1中断服务函数(Timer1_Routine()interrupt 3)
定时器1的周期为1ms,定时器1中断服务函数用于对各个模块进行一定周期的扫描,同时在中断服务函数中含有速度的算法,用于通过加速度计算速度。是一个比较重要的中断服务函数。
3.4.2 串口接收中断服务函数(USART_Routine()interrupt 4)
单片机串口的接收端连接GPS模块的发送端,GPS模块所得到的原始信息通过单片机的串口接收中断服务函数获得,我们通过GPS模块发送的协议获取相应的原始信息,具体通过接收到的逗号次数判断接收数据的类型,进而将原始信息放在相应的数组中。
定时器1、串口接收中断服务函数流程图如图5所示。
4 结语
基于51单片机的多功能安全头盔可以在现代交通行业得到广泛的应用,可以进一步提高摩托车、电动车骑乘人员和驾乘人员的安全防护水平。多功能安全头盔拥有接听、测距、事故报警三大功能,结构简单,功能强大,成本低廉,可靠性强,具备较大的应用空间。
参考文献
[1]叶永正,郑波易湘棱智能头盔摔倒检测方法及智能头盔[P].中国:CN201710060140.1 ,2017-05-10.
[2]苗雨基于GSM模块实现短信发送[J].电脑知识与技术,2008(18):1741-1742+1753.
[3]龚鑫基于FPGA的GPS时统设计[J].科技致富向导,2013(35):152- 153.
[4]天,晴天基于89c52单片机陀螺仪mpu6050测试程序[DE/OL].2015-08-14/2021-02-18.