1、基于某单片机的汽车疲劳驾驶报警系统毕业论文设计摘要: 11前言 21.1彳十么是疲劳 21.2疲劳驾驶与交通事故 21.3怎么预防疲劳驾驶 21.4小结 32本设计的总体思路及其理念 32.1理论基础 32.2 AT89C2051单片机的芯片管脚介绍 32.3设计方案 53系统硬彳牛部分的设计 63.1心率采集电路 63.2单片机控制电路 83.3小结 104系统软件部分的设计 104.1主程序设计 104.2定时程序设计 114.3中断子程序设计 134.4显示子程序设计 155软件调试 175.1调试软件的介绍 175.2调试结果 176总结 18参考文献 19基于单片机的汽车疲劳驾驶报警
2、系统徐文燕(大学民生学院,475004 )摘要:汽车已经成为我们人类生活中的一种必需交通工具,不仅与我们的生活是息息相关,而 且与我们的生命安全关系密切。因为疲劳驾驶造成的交通事故已经严重的威胁到我们的生 活,所以能够帮助P對氐一走概率的交通事故的仪器实用性是很强的。设计描述的是一个基于AT89C2051单片机的汽车疲劳驾驶检测预警系统。它可以用来 检测j气车驾驶员的疲劳程度,使用此率计在一走程度上降低交通事故。而且,它的检测方 式是非接触式的,使用红外线检测驾驶员的心率;然后,由单片机系统判断具是否处于疲劳 驾驶状态,将显示结果使用LCD液晶显示屏显示出来,并进行语音提示。设计简单实用, 有
3、很高的实用价值。关键词:疲劳驾驶;疲劳检测;预警系统DriVing alarm SyStem Of automobile fatigue basedOn SingIe ChiP microcomputerXU Wenyan(SChOOI OfminSheng Z Henan University, Henan Kaifeng 475004, China)AbStraCtThe CarS have become essential transport for human Iif巳 not Only With OUr IiVeS are ClOSeIy IinkedZ and are CIOSeI
4、y related to OUr Iife Safety BeCaUSe acci dents CaUSed by driver fatigue has been a SeriOUS threat to OUr IiVeS SO theinstruments PraCtiCabilaity is Very StrOngr because it is POSSibIe to help reduc e the PrObability Of a traffic accident.ThiS PaPer describes a drowsiness early Waming SyStem detecti
5、on based On AT89C2051 Single-ChiP Microcomputer. It is USing On determine the driver1 S I ever Of attention , a Certain extent r it Can reduce the number Of traffic accide nt. BeSideS J the method Of detectiOn is UntOUChedf and USing infrared inSPeCti On detect the driversr heart rate; The SingIe-Ch
6、iP MiCrOCOmPUter Will judge Whether he is in the fatigue driving Statez LCD WiIl display the results and VOi Ce PrOmPt ThiS design is SimPle and PraCtiCal With high ValUeKeyWOrds:FatigUed dirving; faitigue detection; early Warning SyStem1刖百在高速发展的现代,拥有汽车的人是越来越多,交通越来越拥挤,正是因为 如此,交通事故也越来越频发,这就促使人们正视这一问题
7、。而在交通事故中, 因为驾驶员疲劳驾驶引起的事故,占其中相当大的一部分,疲劳驾驶已经成为威 胁我们生命的一大危害,了解疲劳驾驶以及它弓I发的一些变化,有助于我们找到 原因以及克服它的方法,可以在驾驶员行驶时发生突发或者无意识的疲劳困倦进 行警醒,从而一定程度上避免车祸的发生。11什么是疲劳驾驶疲劳驾驶就是驾驶员较长时间维持一个姿势或者休息时间不够等原因造成 的反映迟钝,驾驶员打盹、疲乏、操作不当甚至完全丧失驾驶能力就是它的主要 表现。并且Z疲劳驾驶不仅反映在心理上,还反映在生理上。心理上的反应包含 反应时间延迟、出现动作不协调、大脑注意力分散等;生理反应上包括神经系统、 血液、眼睛、握力等的变
8、化。12疲劳驾驶与交通事故据相关调查显示,发生交通事故的原因百分之八十五是与驾驶员有关的,环 境与车辆的因素只是占到百分之十五,司机在事故发生前的那么一瞬间的行为以 及故障会直接导致交通事故的发生,知觉上的延迟、对危险情况的错误抉择、对 环境的决策错误等就是导致交通事故的一些因素;而在所有的驾驶员所犯的错误 中,决策错误和知觉延缓是最为常见的,而这些就会使驾驶员产生反应迟钝、注 意力不集中等反应,产生这些错误的根本的原因就是疲劳驾驶。所以,在一定程 度上制止驾驶员疲劳驾驶这一行为现象,就能有效的减小交通事故发生的概率。 13怎么预防疲劳鸾驶许多的国家已经意识到疲劳驾驶的问题,对于它的研究工作早
9、期上主要是使 用在医学角度上,是在医疗器械的帮助下实现的,这些研究可以追溯到上个世纪 三十年代美国交通部下辖的洲际商业协会对城市商业机动车辆的驾驶员服务时 间的管理条例的合理性进行的调查;而实质性研究汽车驾驶员与疲劳驾驶的关系 是从上世纪八十年代初开始的,由美国国会批准交通部实施改革驾驶服务时间, 探索驾驶员和道路安全的关系,提高完善公共汽车安全法规开始的,我们发现疲 劳驾驶硏究的高度提高到了立法,可以在一定程度上保证疲劳驾驶研究的有效 性、合法性和捋续性。研究工作大致上可以分成两类:第一类是研究疲劳困倦 产生的原理和其他各种疲劳困倦的诱因,找到降低此种危险的方法;第二种是研 究车辆的智能报警
10、系统以及相关可以警醒的用具,来防止驾驶员产生疲劳,并在 疲劳的状态下行驶。驾驶员在疲劳驾驶时会有很多不同的反应及其状况出现在身体上,对于它们 的检测大致上可以将其分为以下三类状况,一类是基于驾驶员的生理特征上的疲 劳驾驶检测识别技术(如疲劳时人的心率、脑电图、肌电图、呼吸状态、脉搏频率等会有变化);另一类是基于驾驶员头部或面部特征的疲劳驾驶检测识别技术 (如疲劳时人的部表情、眼睛眨动的频率、注视的方向、瞳孔的直径等的变化);第三类是基于驾驶员操纵车辆的特点和所驾驶车辆的特性的疲劳驾驶检测识别 技术(如疲劳时人的握力、车辆的行驶轨道等会有变化1基于此,本设计选取就是驾驶员在疲劳驾驶时他的生理特征
11、的变化,即脉搏 的变化来对其进行是否处于疲劳状态进行辨别。14小结疲劳驾驶所造成的危害是不言而喻的,所以,对汽车疲劳驾驶的研究是必要 的,对汽车疲劳驾驶智能报警系统的开发是可行且必须的。2本设计的总体思路及其理念2.1理论基础单片机是一个不带外部设备的微型计算机。它是20世纪70年代中期发展 起来的一种大规模的集成电路芯片(1971年inter公司研制出世界上第一个四 位微处理器),是集合CPU、RAM、ROM. I/O接口和中断系统于一体的电子 设备。单片机是一个软硬结合的产物。它具有集成度高(highly integrated 功能强大(POWerfUl 体积小(SmaIl 灵活(flex
12、ible 稳定可靠(reliable 价格低廉(inexpensive )等许多的特点。上世纪八十年代以来,单片机发展十分的迅速,各种新型高性能的机种产品 不断地出现在市场上洋片机顺利成章的已经成为工厂实现自动化和各控制领域 的支柱产业之一。单片机的基本端口操作和基本功能,包括单片机的定时、中断、I/O端口以 及简单的外部器件的设计等,这些都需要去了解设计,才能成功完成一个设计。2.2 AT89C2051单片机的芯片管脚介绍本设计使用的是AT89C2051单片机;PDIP/SOIC图2-1 AT89C2051单片机的引脚配置图此单片机有20个引脚Z相关引脚配置如图2-1所示。它各个管脚的功能是
13、: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 后,可以用作输入冈。在闪速编程
14、和编程校验 期间,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检测
15、方法此设计采取的方法用红外线来检测人体脉搏,因为光能避开很强烈的电磁干 扰,具有很强烈的绝缘性,并且可以做到非侵入式的检测脉搏波。它采用红外线 来检测并采集驾驶员的脉搏,所检测部位可以为被检测人的一个手指或耳垂(对于驾驶员来说检测耳垂会比较不影响他的驾驶,如果制造成蓝牙耳机的样式会更 加实用方便12.3.2检测原理此设计的检测基本原理是:人体组织中的血液流量伴随看心脏的搏动而产生 变化,血管中血液的饱和度发生变化,那么人体组织的半透明度也会因此被改变。 当血液被送到人体各部分的组织时,血管中的血液饱和度就会变大相应的组织的 半透明度就会减小;当血液重新流回到心脏时,人体组织血管中的血液饱和度变
16、 小,相应的它的半透明度就会增大。因此,如果在人体组织相对比较薄弱的地方 (例如指尖和耳垂)用红外发光二极管产生的红外线照射,就可以用红外三极管 接收并将其转换为电信号。因为用上述方法测试得到的脉搏信号跟人体的脉搏频 率成正比,脉搏信号只要通过一定功能的电路转换成的脉冲信号并对其进行相 应的处理,就可以实现检测的脉搏频率被随时检测的目的。而如果检测到的脉搏 频率低于或者高于正常值的百分之二十时,单片机对其进行分析输出,然后驱动 报警电路,对驾驶员进行报警,从而实现其智能。2.3.3系统设计方案综上,设计系统框图及其说明如图2-2所示:红外检测与采集脉搏信号抗干扰及滤波信号整形与放大液晶屏显示/
17、单片机AT89C2051-N报警系统图2-2设计系统框图3系统硬件部分的设计在硬件部分,电路主要完成的是心率采集和心率数据处理的功能,那么可以 将整体电路分为心率采集和单片机控制电路。31心率采隼控制系统红外检测采集电路模块:D1和QI组成的红外检测元件等组成;信号整形电路模块:RC振荡电路(由电阻R2和和电容CI组成)、光电隔 离电路、一阶低通滤波电路,它们共同构成了信号抗干扰电路组;另外,它们和 ICIbS C5与Rl0、ICIC共同组成信号整形电路。以上三个主要的模块组成心率 采集电路。心率采集处理电路工作过程如下:电路中的红外线二极管DI发射红外线照射到耳垂或指尖部位,然后红外接 收三
18、极管QI接收相应人体部位的半透明度,电信号就这样被转换出来了。据相 关资料显示,大多数人体的脉搏是在五十次每分钟和两百次每分钟之间,这样经 过计算可得到的频率围大致就在0.78HZ和3.33HZ之间,由此可知,经由红外 设置得到的脉搏频率会很低。那么,外界高频信号会很容易地干扰到脉搏信号而 出现错误,所以,信号在进入单片机系统之前就必须先进行处理才能够使用。电路中采用CI和R2组合进行低通滤波,可以滤除绝大多数的高频干扰。然而,由于本系统设计的使用场所为室外,室外光线相对室明亮许多,因此它很大可能会遇到强光辐射的情况。电容C2和电容C3背靠背串联组成的双极 性耦合电容的设计,可以避免室外强光干
19、扰接收脉搏时的红外线(它们构成了一 个简单的光电隔离电路,从而使干扰光线被隔离)。另外,为了彻底滤除高频干 扰,使用由ICIaX电容C4、电阻R4组成的截止频率为IOHZ左右(/=- -1l-.)的低通滤波器电路Z又把输入的信号放大两百倍左右 24C4Z 4 R4 Iw IOOOOOO c(A =-=_拱=一 -212.8 ) OR5 朮 4700到这里我们就得到了经由前面处理所得到脉冲正弦波是有噪声的,需要对它 整形。先要正弦波信号经过比较器ICIb转换成方波(电压鼎交器可以实现将模 拟信号转换为二值信号的功能,即只有0和1两种状态的离散信号),而利用R8 可以把比较器的阈值电压调定在正弦波
20、的幅值围之。然后,信号经由电容C5和 电路RIO构成的微分电路(微分运算电路输入方波,且RC远小于时,就输2出尖顶波)方波进行微分处理就可以成为正负相间的尖脉冲。得到的脉冲输入到 ICIC (单稳多谐振荡器)的反相输入端来稳定脉冲的输出,然后ICIC的输出就 可以成为后面的实际需要。单稳多谐振荡器ICIC在工作时,输入信号一旦出现,输出端就会输出一个 高电平,与此同时电容C6就会通过电阻RlI充电。充电过程大约需要20毫秒, 之后,因为电容C6充电电流的减小使得ICIC的同相输入端电位降低,当反相 输入端的电位高于同相输入端的电位时(此时尖脉冲已过去很久),ICIC就将改 变存在的状态并再次输
21、出低电平。这20毫秒的时间所产生的脉冲是与人体的脉 搏是同步的,电路D3发出红光的闪烁情况会和信号脉冲相呼应。那么,此时就有了实际所需的脉冲信号,它经由电阻R12直接被送到AT89C2051单片机的P3.3引脚,然后,经过系统的处理就可以实现后面的计数以及显示了。电路中Rl4、R15对9V电压分压并经过ICld缓冲所得到的4.5V电压就 是ICIa、IClb、ICIC它们工作所需的电源电压。这样的设置,使得即使电池电 压降低到6V,电路也能实现正常工作。3.2单片机控制电踣图3-2单片机控制电路此部分介绍单片机控制电路如图3-2所示.主要由以下几部分组成:单片机(型号AT89C2051 ) ;
22、 LCD显示屏(SMCI602A) f显示部分用来显 示数据;蜂鸣器,发出提示音;晶振电路,给单片机提供晶振;以及复位电路等 几部分。3.2.1晶振电路在单片机系统中,有通用的晶振电路,它是一种非常典型的电路,分为外部 时钟方式和部时钟方式两种。此设计使用的晶振频率是12MHz ,在晶振两端 接上负载电容构成三点式电容振荡是为了帮助晶振起振,即XTAL1、XTAL2两 端口外接两个33PF的谐振电容。当晶振电路能够提供稳定的时钟信号后,单片 机就可以一坯地从ROM中取指令执行程序3.2.2复位电路复位电路和晶振电路一样都是单片机系统中非常典型的外部电路。从功能上复位电路的实现一般可以分为两种:
23、一种是使用电源复位,即外 部的复位电路在系统上电之后直接使单片机工作,单片机的开启和暂停都是通过 电源控制的;另一种方法就是在复位电路中设计了按键开关,通过设计的按键开 关来触发复位电平,控制单片机的复位。此设计采用的是第二种f当按下开关 K且通电时,电容两端便相当于是短路,单片机上的RST引脚上就会变成高电 平,然后电源就会通过电阻给电容充电,RST端电压慢慢降下,高电平就会变成 低电平,单片机就会开始正常工作。3.23工作原理脉冲信号被心率采集电路处理后,所得结果与单片机的P3.3引脚相连。单 片机的中断触发模式设定为负跳变触发。当脉冲的下降沿到达时,AT89C2051 就会被触发产生中断
24、,相关程序就会对脉冲开始计时;当下一个脉冲的下降沿到 达时,单片机就对前后相邻下降沿之间的时间间隔计算,计算所得到的结果就是 被检测驾驶员的心率。这个结果由PI 口送至液晶显示芯片的DB端口 ,数据进行处理后显示出来。 在液晶显示屏显示心率值之后,单片机将对此心率值与80次/分 120次/分的 人体正常脉搏围进行比较。若此心率值X为80sXsl20显示芯片中会显示very good ,以表示被测试者心率正常;若此值不在80到120围之,即X120,那么,显示芯片中就会显示a IittIe bad ,以便表示被测者心率 不正常。另外,为更人性化而提示用户及时观察显示屏上的心率值,电路中设置 了一
25、个蜂鸣器电路,由单片机系统驱动,当每次脉冲到来时,单片机的P3.7引脚所连接的蜂鸣器SP都会发出提示音提示用户,那么,当用户第二次听到蜂鸣 器发出的提示音时,就表明一分钟的脉搏计数的显示已经完成。这样,就可以用 这种方法来提示驾驶者自己此时所处的状态是否是正常的。此外匕设计的有效 测量显示围是50次/分到199次/分。为了避免可能被出现的干扰影响到检测Z 在单片机对两个脉冲之间的时间间距进行检测时,即意外情况的出现使得到的心 率次数值不在我们所设置的有效测量围之时,就忽略该干扰并且不显示。这样子 就更加降低了心率计在实际使用时所出现的误差的可能性。3.2.4元器件的选取设计中心率计的电源为七到
26、九伏的直流电源冋以通过交直流转换后来获取 到电压,同样的可以直接使用电池供电。正常工作时的电流为IOOmAO 电 路中所使用的ICIaS IClb. ICIC和ICId是运算放大器ICl (四运放LM324 ) 的四路分配。使用普通蜂鸣器作为提示音装置。单片机采用的是12MHz的晶振。在整合安装时,可以把DI和QI分别连接到蓝牙耳机式装置的耳垂前后的 位置,剩余的电路板等各部件安装在一个塑制小盒中,小盒可以放在驾驶员前的 玻璃窗下面。为方便使用时进行按键操作和观察,红色发光二极管D3、蜂鸣器、 复位键Kl.液晶显示器的显示窗口都需要在塑制小盒的上方留出一定的放置位 置。在实际使用时驾驶员先将D
27、I和QI组成的蓝牙耳机样式的检测装置戴上, 然后接通电源。心率计在正常工作时,能看到红色发光二极管在闪烁,为提高安 全系数,复位键KI被按下之后,单片机复位,并重新开始测量脉搏信号计数和 显示。在听到第二次蜂鸣器的提示音之后,显示屏上观察到的是被检测者的心率, 随后可以看到之前显示的心率是否正常的英文提示语。3.3小结硬件部分的设计需要进行的是把脉搏信号通过一系列的电路转化成为我们 需要的、实际可用的方波然后将方波输入到单片机中去进行一系列的数据处理, 然后驱动后面的LCD显示屏显示数据。4系统软件部分的设计4.1主程序设计主程序部分流程图如图4-1 :显示程序图4-1主程序部分流程图它的主要
28、代码为:ORGOOOOHAJMPMAlN;转主程序ORG0013H;/MTl中断矢量地址AJMPIPO;转中断服务程序起始地址ORG030HMAIN :MOVSR#60H;设堆栈指针SETBITI;设力71为边沿触发模式SETBEA;CPU开中断SETBEXI;允许丽中断MOVR7,#OOH;计数器赋初值LP:ACALLDlSP;调显示子程序AJMP LPIPO:INCR7;计数器加1RET4.2定时程序设计定时器子程序流程图如图4-2所示:图4-2定时子程序流程图主要代码如下:CLREXIPUSHACCPUSHPSWMOVTHO Z 31HMOVTLO , 30HMOVLOOPI : CJN
29、ZL00P2 : CJNZL00P3 : MOVJZCLRSJMPL00P4 : MOVJNZINCCLRSJMPL00P5 : POPPOPR7 , 31HR7, #50, L00P3R7,#200 , L00P4AfCA, L00P5AL00P2A, CA, L00P5R6P3.7L00P5PSWACCSETB EXIRETI4.3中断子程序设计INTI夕卜中断子程序的流程如图4-3 :主要代码如下:图43外中断子程序流程图START :PUSHACC;保护现场PUSHPSWCLREXIMOVTMOD,#90HJI工作于工作模式1 ,GATE置位MOVTLO, #00HMOVTHO,#OO
30、H;送定时初值WAITl:JBP3.3 WAlTI;等待/MTl由高变低SETBTRO;启动定时WAIT2:JBP33 WA2;等待71由高变低LOOP:MOVR6, TLOMOV R7, THOCLRCMOVA, R6SUBBA,#OBBHMOV31H,AMOVA, R7SUBBA, #3CHMOV30H, AMOVRO, TLOMOVRl, THOCLRAMOVR2,AMOVR3, AMOVR4, AMOVR5, #16CLRCMOVA, RORLCAMOVRO, AMOVA, RIRLCACLR TRO;停止计数;计算时间差;存储结果;从待转换数的高端移出一位到CYMOVRIlAMOVA,R4;送到BCD的低端ADDCA,R4;带进位加,自身相加,等于左移一位DAA;十进制调制,变为BCD码MOVR4 , AMOVA, R3ADDCA, R3DAAMOVR3 , AMOVA, R2ADDCA, R2MOVA, R2DJNZR5 , LOOP
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1