基于某单片机的汽车疲劳驾驶报警系统毕业论文设计.docx
《基于某单片机的汽车疲劳驾驶报警系统毕业论文设计.docx》由会员分享,可在线阅读,更多相关《基于某单片机的汽车疲劳驾驶报警系统毕业论文设计.docx(20页珍藏版)》请在冰豆网上搜索。
![基于某单片机的汽车疲劳驾驶报警系统毕业论文设计.docx](https://file1.bdocx.com/fileroot1/2023-1/7/972eabb6-70ac-4aa7-a4e7-f7ca2d7dd9bc/972eabb6-70ac-4aa7-a4e7-f7ca2d7dd9bc1.gif)
基于某单片机的汽车疲劳驾驶报警系统毕业论文设计
摘要:
1
1前言2
1.1彳十么是疲劳2
1.2疲劳驾驶与交通事故2
1.3怎么预防疲劳驾驶2
1.4小结3
2本设计的总体思路及其理念3
2.1理论基础3
2.2AT89C2051单片机的芯片管脚介绍3
2.3设计方案5
3系统硬彳牛部分的设计6
3.1心'率采集电路6
3.2单片机控制电路8
3.3小结10
4系统软件部分的设计10
4.1主程序设计10
4.2定时程序设计11
4.3中断子程序设计13
4.4显示子程序设计15
5软件调试17
5.1调试软件的介绍17
5.2调试结果17
6总结18
参考文献19
基于单片机的汽车疲劳驾驶报警系统
徐文燕
(大学民生学院,,475004)
摘要:
汽车已经成为我们人类生活中的一种必需交通工具,不仅与我们的生活是息息相关,而且与我们的生命安全关系密切。
因为疲劳驾驶造成的交通事故已经严重的威胁到我们的生活,所以能够帮助P對氐一走概率的交通事故的仪器实用性是很强的。
设计描述的是一个基于AT89C2051单片机的汽车疲劳驾驶检测预警系统。
它可以用来检测j气车驾驶员的疲劳程度,使用此率计在一走程度上降低交通事故。
而且,它的检测方式是非接触式的,使用红外线检测驾驶员的心率;然后,由单片机系统判断具是否处于疲劳驾驶状态,将显示结果使用LCD液晶显示屏显示出来,并进行语音提示。
设计简单实用,有很高的实用价值。
关键词:
疲劳驾驶;疲劳检测;预警系统
DriVingalarmSyStemOfautomobilefatiguebased
OnSingIeChiPmicrocomputer
XUWen・yan
(SChOOIOfminShengZHenanUniversity,HenanKaifeng475004,China)
AbStraCt
TheCarShavebecomeessentialtransportforhumanIif巳notOnlyWithOUrIiVeSareClOSeIyIinkedZandareCIOSeIyrelatedtoOUrIifeSafety・BeCaUSeaccidentsCaUSedbydriverfatiguehasbeenaSeriOUSthreattoOUrIiVeS・SOthe
instruments'PraCtiCabilaityisVeryStrOngrbecauseitisPOSSibIetohelpreducethePrObabilityOfatrafficaccident.
ThiSPaPerdescribesadrowsinessearlyWamingSyStemdetectionbasedOnAT89C2051Single-ChiPMicrocomputer.ItisUSingOndeterminethedriver1SIeverOfattention,aCertainextentritCanreducethenumberOftrafficaccident.BeSideSJthemethodOfdetectiOnisUntOUChedfandUSinginfraredinSPeCtiOndetectthedrivers'rheartrate;TheSingIe-ChiPMiCrOCOmPUterWilljudgeWhetherheisinthefatiguedrivingStatezLCDWiIldisplaytheresultsandVOiCePrOmPtThiSdesignisSimPleandPraCtiCalWithhighValUe・
KeyWOrds:
FatigUeddirving;faitiguedetection;earlyWarningSyStem
1刖百
在高速发展的现代,拥有汽车的人是越来越多,交通越来越拥挤,正是因为如此,交通事故也越来越频发,这就促使人们正视这一问题。
而在交通事故中,因为驾驶员疲劳驾驶引起的事故,占其中相当大的一部分,疲劳驾驶已经成为威胁我们生命的一大危害,了解疲劳驾驶以及它弓I发的一些变化,有助于我们找到原因以及克服它的方法,可以在驾驶员行驶时发生突发或者无意识的疲劳困倦进行警醒,从而一定程度上避免车祸的发生。
11什么是疲劳驾驶
疲劳驾驶就是驾驶员较长时间维持一个姿势或者休息时间不够等原因造成的反映迟钝,驾驶员打盹、疲乏、操作不当甚至完全丧失驾驶能力就是它的主要表现。
并且Z疲劳驾驶不仅反映在心理上,还反映在生理上。
心理上的反应包含反应时间延迟、出现动作不协调、大脑注意力分散等;生理反应上包括神经系统、血液、眼睛、握力等的变化。
12疲劳驾驶与交通事故
据相关调查显示,发生交通事故的原因百分之八十五是与驾驶员有关的,环境与车辆的因素只是占到百分之十五,司机在事故发生前的那么一瞬间的行为以及故障会直接导致交通事故的发生,知觉上的延迟、对危险情况的错误抉择、对环境的决策错误等就是导致交通事故的一些因素;而在所有的驾驶员所犯的错误中,决策错误和知觉延缓是最为常见的,而这些就会使驾驶员产生反应迟钝、注意力不集中等反应,产生这些错误的根本的原因就是疲劳驾驶。
所以,在一定程度上制止驾驶员疲劳驾驶这一行为现象,就能有效的减小交通事故发生的概率。
13怎么预防疲劳鸾驶
许多的国家已经意识到疲劳驾驶的问题,对于它的研究工作早期上主要是使用在医学角度上,是在医疗器械的帮助下实现的,这些研究可以追溯到上个世纪三十年代美国交通部下辖的洲际商业协会对城市商业机动车辆的驾驶员服务时间的管理条例的合理性进行的调查;而实质性研究汽车驾驶员与疲劳驾驶的关系是从上世纪八十年代初开始的,由美国国会批准交通部实施改革驾驶服务时间,探索驾驶员和道路安全的关系,提高完善公共汽车安全法规开始的,我们发现疲劳驾驶硏究的高度提高到了立法,可以在一定程度上保证疲劳驾驶研究的有效性、合法性和捋续性⑺。
研究工作大致上可以分成两类:
第一类是研究疲劳困倦产生的原理和其他各种疲劳困倦的诱因,找到降低此种危险的方法;第二种是研究车辆的智能报警系统以及相关可以警醒的用具,来防止驾驶员产生疲劳,并在疲劳的状态下行驶。
驾驶员在疲劳驾驶时会有很多不同的反应及其状况出现在身体上,对于它们的检测大致上可以将其分为以下三类状况,一类是基于驾驶员的生理特征上的疲劳驾驶检测识别技术(如疲劳时人的心率、脑电图、肌电图、呼吸状态、脉搏频
率等会有变化);另一类是基于驾驶员头部或面部特征的疲劳驾驶检测识别技术(如疲劳时人的部表情、眼睛眨动的频率、注视的方向、瞳孔的直径等的变化);
第三类是基于驾驶员操纵车辆的特点和所驾驶车辆的特性的疲劳驾驶检测识别技术(如疲劳时人的握力、车辆的行驶轨道等会有变化1
基于此,本设计选取就是驾驶员在疲劳驾驶时他的生理特征的变化,即脉搏的变化来对其进行是否处于疲劳状态进行辨别。
14小结
疲劳驾驶所造成的危害是不言而喻的,所以,对汽车疲劳驾驶的研究是必要的,对汽车疲劳驾驶智能报警系统的开发是可行且必须的。
2本设计的总体思路及其理念
2.1理论基础
单片机是一个不带外部设备的微型计算机。
它是20世纪70年代中期发展起来的一种大规模的集成电路芯片(1971年inter公司研制出世界上第一个四位微处理器),是集合CPU、RAM、ROM.I/O接口和中断系统于一体的电子设备。
单片机是一个软硬结合的产物。
它具有集成度高(highlyintegrated∖功能强大(POWerfUl\体积小(SmaIl\灵活(flexible\稳定可靠(reliable\价格低廉(inexpensive)等许多的特点。
上世纪八十年代以来,单片机发展十分的迅速,各种新型高性能的机种产品不断地出现在市场上洋片机顺利成章的已经成为工厂实现自动化和各控制领域的支柱产业之一。
单片机的基本端口操作和基本功能,包括单片机的定时、中断、I/O端口以及简单的外部器件的设计等,这些都需要去了解设计,才能成功完成一个设计。
2.2AT89C2051单片机的芯片管脚介绍
本设计使用的是AT89C2051单片机;
PDIP/SOIC
图2-1AT89C2051单片机的引脚配置图
此单片机有20个引脚Z相关引脚配置如图2-1所示。
它各个管脚的功能是:
VCC电源电压;
GND接地;
RST复位输入;当RST变为高电平并维持了2个机器周期时,所有的I/O弓I脚都被复位达到高电平冈;
XTALI部时钟工作电路的输入端、反向振荡器的输入端冈;
XTAL2反向振荡放大器的输出;
Pl口8位双向I/O口;PLO和PLl两个端口需要外部上拉,可以用作片精确模拟比较器的正向输入(AINO\反向输入(AINI)〔8】;引脚P1.2~P1.7提供部上拉,当作为输入且被外部下拉为低电平时,它们就输出电流,这是因部上拉的缘故[叭PI口的输出缓冲器能接收20mA的电流,并且能直接驱动LED显示器;PI口的引脚写入T后,可以用作输入冈。
在闪速编程和编程校验期间,PI口也可以接收编码数据[臥
P3口引脚P3.0~P3.5和P3.7是7个带部上拉的双向I/O引脚;P3.6在部已经与片比较器输出相连,所以不能作为通用的I/O弓I脚访问[8】。
AT89C2051的性能指标有:
与MCS-51产品指令系统完全兼容;
2k字节可重擦写闪速存储器;
IOOO次擦写周期;
2.7V-6V的工作电压围;
全静态操作:
0Hz-24MHz;
两极加密程序存储器;
128字节部RAM;
15个可编程I/O口线;
2个16位定时/计数器;
6个中断源;
可编程串行UART通道;
可直接驱动LED的输出端口;
置一个模拟比较器;
低功耗空闲和掉电模式。
2.3设计方案
2.3.1检测方法
此设计采取的方法用红外线来检测人体脉搏,因为光能避开很强烈的电磁干扰,具有很强烈的绝缘性,并且可以做到非侵入式的检测脉搏波。
它采用红外线来检测并采集驾驶员的脉搏,所检测部位可以为被检测人的一个手指或耳垂(对
于驾驶员来说检测耳垂会比较不影响他的驾驶,如果制造成蓝牙耳机的样式会更加实用方便1
2.3.2检测原理
此设计的检测基本原理是:
人体组织中的血液流量伴随看心脏的搏动而产生变化,血管中血液的饱和度发生变化,那么人体组织的半透明度也会因此被改变。
当血液被送到人体各部分的组织时,血管中的血液饱和度就会变大相应的组织的半透明度就会减小;当血液重新流回到心脏时,人体组织血管中的血液饱和度变小,相应的它的半透明度就会增大。
因此,如果在人体组织相对比较薄弱的地方(例如指尖和耳垂)用红外发光二极管产生的红外线照射,就可以用红外三极管接收并将其转换为电信号。
因为用上述方法测试得到的脉搏信号跟人体的脉搏频率成正比,脉搏信号只要通过一定功能的电路转换成的脉冲信号并对其进行相应的处理,就可以实现检测的脉搏频率被随时检测的目的。
而如果检测到的脉搏频率低于或者高于正常值的百分之二十时,单片机对其进行分析输出,然后驱动报警电路,对驾驶员进行报警,从而实现其智能。
2.3.3系统设计方案
综上,设计系统框图及其说明如图2-2所示:
红外检测与采集脉搏
信号抗干扰及滤波
信号整形与放大
液晶屏显示
/—
单片机AT89C2051
-N
报警系统
图2-2设计系统框图
3系统硬件部分的设计
在硬件部分,电路主要完成的是心率采集和心率数据处理的功能,那么可以将整体电路分为心率采集和单片机控制电路。
31心率采隼控制系统
红外检测采集电路模块:
⅛D1和QI组成的红外检测元件等组成;
信号整形电路模块:
RC振荡电路(由电阻R2和和电容CI组成)、光电隔离电路、一阶低通滤波电路,它们共同构成了信号抗干扰电路组;另外,它们和ICIbSC5与Rl0、ICIC共同组成信号整形电路。
以上三个主要的模块组成心率采集电路。
心率采集处理电路工作过程如下:
电路中的红外线二极管DI发射红外线照射到耳垂或指尖部位,然后红外接收三极管QI接收相应人体部位的半透明度,电信号就这样被转换出来了。
据相关资料显示,大多数人体的脉搏是在五十次每分钟和两百次每分钟之间,这样经过计算可得到的频率围大致就在0.78HZ和3.33HZ之间,由此可知,经由红外设置得到的脉搏频率会很低。
那么,外界高频信号会很容易地干扰到脉搏信号而出现错误,所以,信号在进入单片机系统之前就必须先进行处理才能够使用。
电
路中采用CI和R2组合进行低通滤波,可以滤除绝大多数的高频干扰。
然而,由于本系统设计的使用场所为室外,室外光线相对室明亮许多,因此
它很大可能会遇到强光辐射的情况。
电容C2和电容C3背靠背串联组成的双极性耦合电容的设计,可以避免室外强光干扰接收脉搏时的红外线(它们构成了一个简单的光电隔离电路,从而使干扰光线被隔离)。
另外,为了彻底滤除高频干扰,使用由ICIaX电容C4、电阻R4组成的截止频率为IOHZ左右
(/=--1l-.)的低通滤波器电路Z又把输入的信号放大两百倍左右2∏λ4∙C4
Z4R4IwIOOOOOO…c∖
(A=-——=_拱=一≈-212.8)O
R5朮4700
到这里我们就得到了经由前面处理所得到脉冲正弦波是有噪声的,需要对它整形。
先要正弦波信号经过比较器ICIb转换成方波(电压鼎交器可以实现将模拟信号转换为二值信号的功能,即只有0和1两种状态的离散信号),而利用R8可以把比较器的阈值电压调定在正弦波的幅值围之。
然后,信号经由电容C5和电路RIO构成的微分电路(微分运算电路输入方波,且RC远小于[时,就输
2
出尖顶波)方波进行微分处理就可以成为正负相间的尖脉冲。
得到的脉冲输入到ICIC(单稳多谐振荡器)的反相输入端来稳定脉冲的输出,然后ICIC的输出就可以成为后面的实际需要。
单稳多谐振荡器ICIC在工作时,输入信号一旦出现,输出端就会输出一个高电平,与此同时电容C6就会通过电阻RlI充电。
充电过程大约需要20毫秒,之后,因为电容C6充电电流的减小使得ICIC的同相输入端电位降低,当反相输入端的电位高于同相输入端的电位时(此时尖脉冲已过去很久),ICIC就将改变存在的状态并再次输出低电平。
这20毫秒的时间所产生的脉冲是与人体的脉搏是同步的,电路D3发出红光的闪烁情况会和信号脉冲相呼应。
那么,此时就
有了实际所需的脉冲信号,它经由电阻R12直接被送到AT89C2051单片机的
P3.3引脚,然后,经过系统的处理就可以实现后面的计数以及显示了。
电路中Rl4、R15对9V电压分压并经过ICld缓冲所得到的4.5V电压就是ICIa、IClb、ICIC它们工作所需的电源电压。
这样的设置,使得即使电池电压降低到6V,电路也能实现正常工作。
3.2单片机控制电踣
图3-2单片机控制电路
此部分介绍单片机控制电路如图3-2所示.主要由以下几部分组成:
单片机(型号AT89C2051);LCD显示屏(SMCI602A)f显示部分用来显示数据;蜂鸣器,发出提示音;晶振电路,给单片机提供晶振;以及复位电路等几部分。
3.2.1晶振电路
在单片机系统中,有通用的晶振电路,它是一种非常典型的电路,分为外部时钟方式和部时钟方式两种⑷。
此设计使用的晶振频率是12MHz,在晶振两端接上负载电容构成三点式电容振荡是为了帮助晶振起振,即XTAL1、XTAL2两端口外接两个33PF的谐振电容。
当晶振电路能够提供稳定的时钟信号后,单片机就可以一^坯地从ROM中取指令执行程序⑷
3.2.2复位电路
复位电路和晶振电路一样都是单片机系统中非常典型的外部电路⑷。
从功能上复位电路的实现一般可以分为两种:
一种是使用电源复位,即外部的复位电路在系统上电之后直接使单片机工作,单片机的开启和暂停都是通过电源控制的⑷;另一种方法就是在复位电路中设计了按键开关,通过设计的按键开关来触发复位电平,控制单片机的复位⑷。
此设计采用的是第二种f当按下开关K且通电时,电容两端便相当于是短路,单片机上的RST引脚上就会变成高电平,然后电源就会通过电阻给电容充电,RST端电压慢慢降下,高电平就会变成低电平,单片机就会开始正常工作⑷。
3.23工作原理
脉冲信号被心率采集电路处理后,所得结果与单片机的P3.3引脚相连。
单片机的中断触发模式设定为负跳变触发。
当脉冲的下降沿到达时,AT89C2051就会被触发产生中断,相关程序就会对脉冲开始计时;当下一个脉冲的下降沿到达时,单片机就对前后相邻下降沿之间的时间间隔计算,计算所得到的结果就是被检测驾驶员的心率。
这个结果由PI口送至液晶显示芯片的DB端口,数据进行处理后显示出来。
在液晶显示屏显示心率值之后,单片机将对此心率值与80次/分~120次/分的人体正常脉搏围进行比较。
若此心率值X为80sXsl20显示芯片中会显示"verygoodΓ,以表示被测试者心率正常;若此值不在80到120围之,即X<80或者X>120,那么,显示芯片中就会显示"aIittIebadΓ,以便表示被测者心率不正常。
另外,为更人性化而提示用户及时观察显示屏上的心率值,电路中设置了一个蜂鸣器电路,由单片机系统驱动,当每次脉冲到来时,单片机的P3.7引
脚所连接的蜂鸣器SP都会发出提示音提示用户,那么,当用户第二次听到蜂鸣器发出的提示音时,就表明一分钟的脉搏计数的显示已经完成。
这样,就可以用这种方法来提示驾驶者自己此时所处的状态是否是正常的。
此外』匕设计的有效测量显示围是50次/分到199次/分。
为了避免可能被出现的干扰影响到检测Z在单片机对两个脉冲之间的时间间距进行检测时,即意外情况的出现使得到的心率次数值不在我们所设置的有效测量围之时,就忽略该干扰并且不显示。
这样子就更加降低了心率计在实际使用时所出现的误差的可能性。
3.2.4元器件的选取
设计中心率计的电源为七到九伏的直流电源冋以通过交直流转换后来获取到电压,同样的可以直接使用电池供电。
正常工作时的电流为IOOmAO≡⅛电路中所使用的ICIaSIClb.ICIC和ICId是运算放大器ICl(四运放LM324)的四路分配。
使用普通蜂鸣器作为提示音装置。
单片机采用的是12MHz的晶振。
在整合安装时,可以把DI和QI分别连接到蓝牙耳机式装置的耳垂前后的位置,剩余的电路板等各部件安装在一个塑制小盒中,小盒可以放在驾驶员前的玻璃窗下面。
为方便使用时进行按键操作和观察,红色发光二极管D3、蜂鸣器、复位键Kl.液晶显示器的显示窗口都需要在塑制小盒的上方留出一定的放置位置。
在实际使用时驾驶员先将DI和QI组成的蓝牙耳机样式的检测装置戴上,然后接通电源。
心率计在正常工作时,能看到红色发光二极管在闪烁,为提高安全系数,复位键KI被按下之后,单片机复位,并重新开始测量脉搏信号计数和显示。
在听到第二次蜂鸣器的提示音之后,显示屏上观察到的是被检测者的心率,随后可以看到之前显示的心率是否正常的英文提示语。
3.3小结
硬件部分的设计需要进行的是把脉搏信号通过一系列的电路转化成为我们需要的、实际可用的方波然后将方波输入到单片机中去进行一系列的数据处理,然后驱动后面的LCD显示屏显示数据。
4系统软件部分的设计
4.1主程序设计
主程序部分流程图如图4-1:
显示程序
图4-1主程序部分流程图
它的主要代码为:
ORG
OOOOH
AJMP
MAlN
;转主程序
ORG
0013H
;/MTl中断矢量地址
AJMP
IPO
;转中断服务程序起始地址
ORG
030H
MAIN:
MOV
SR#60H
;设堆栈指针
SETB
ITI
;设力\71为边沿触发模式
SETB
EA
;CPU开中断
SETB
EXI
;允许丽中断
MOV
R7,#OOH
;计数器赋初值
LP:
ACALL
DlSP
;调显示子程序
AJMPLP
IPO:
INC
R7
;计数器加1
RET
4.2定时程序设计
定时器子程序流程图如图4-2所示:
图4-2定时子程序流程图
主要代码如下:
CLR
EXI
PUSH
ACC
PUSH
PSW
MOV
THOZ31H
MOV
TLO,30H
MOV
LOOPI:
CJNZ
L00P2:
CJNZ
L00P3:
MOV
JZ
CLR
SJMP
L00P4:
MOV
JNZ
INC
CLR
SJMP
L00P5:
POP
POP
R7,31H
R7,#50,L00P3
R7,#200,L00P4
AfC
A,L00P5
A
L00P2
A,C
A,L00P5
R6
P3.7
L00P5
PSW
ACC
SETBEXI
RETI
4.3中断子程序设计
INTI夕卜中断子程序的流程如图4-3:
主要代码如下:
图4・3外中断子程序流程图
START:
PUSH
ACC
;保护现场
PUSH
PSW
CLR
EXI
MOV
TMOD,#90H
JI工作于工作模式1,GATE置位
MOV
TLO,#00H
MOV
THO,#OOH
;送定时初值
WAITl:
JB
P3.3WAlTI
;等待/MTl由高变低
SETB
TRO
;启动定时
WAIT2:
JB
P33WAΓΓ2
;等待∕Λ71由高变低
LOOP:
MOV
R6,TLO
MOVR7,THO
CLR
C
MOV
A,R6
SUBB
A,#OBBH
MOV
31H,A
MOV
A,R7
SUBB
A,#3CH
MOV
30H,A
MOV
RO,TLO
MOV
Rl,THO
CLR
A
MOV
R2,A
MOV
R3,A
MOV
R4,A
MOV
R5,#16
CLR
C
MOV
A,RO
RLC
A
MOV
RO,A
MOV
A,RI
RLC
A
CLRTRO
;停止计数
;计算时间差
;存储结果
;从待转换数的高端移出一位到CY
MOV
RIlA
MOV
A,R4
;送到BCD的低端
ADDC
A,R4
;带进位加,自身相加,等于左移一位
DA
A
;十进制调制,变为BCD码
MOV
R4,A
MOV
A,R3
ADDC
A,R3
DA
A
MOV
R3,A
MOV
A,R2
ADDC
A,R2
MOV
A,R2
DJNZ
R5,LOOP