




已阅读5页,还剩46页未读, 继续免费阅读
基于单片机的防疲劳酒后驾驶系统毕业设计论文.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的防疲劳酒后驾驶系统 原创性声明原创性声明 兹呈交的学位论文(设计),是本人在导师指导下独立完成的研究 成果。除文中已经明确标明引用或参考的内容外,本论文(设计)不包 含任何其他个人或集体已经发表或撰写过的研究成果。本人依法享有和 承担由此论文而产生的权利和责任。 声明人(签名): 日期:年月日 基于单片机的防疲劳酒后驾驶系统 I 基于单片机的防疲劳酒后驾驶系统 摘要随着我国机动车保有量的增加,交通事故频发已成为社会所面临的严峻问题。据 相关部门统计,近年来我国每年死于车祸的人数高达 10 万左右,而其中相当一部分是“酒 精”所致,约有三分之一是疲劳驾驶所造成。另有数据统计,从 2005 年到 2015 年,全国因 酒后驾车而导致的死亡人数平均每年以 7.3的速度增长,危害巨大;还有,中国疲劳驾 驶车祸事故死亡人数已占全球 20%。所以,有效的防止司机醉驾、疲劳驾驶是具有重要意 义的。本设计是将酒精传感器安装在驾驶座位的上方和方向盘上,将轻触按键安装在油门 上。当司机坐在驾驶座位上时,酒精传感器将自动检测驾驶员是否处于酒驾状态,若检测 出司机体内酒精含量超标,单片机将关闭汽车的点火装置,并且系统会呼叫相应的人员过 来帮助驾驶员; 当在驾驶的过程中检测到司机体内酒精含量超标时, 系统会立即发出警报, 提醒司机停车,并呼叫相应的人员过来帮助驾驶员;当汽车引擎开始转动,并且油门上的 轻触按键受到压力时,计时器会开始计时,当达到疲劳驾驶时间时,系统会发出警报,提 醒司机注意安全。 关键词单片机防酒驾防疲劳驾驶监测 基于单片机的防疲劳酒后驾驶系统 II Anti fatigue drink driving system based on MCU AbstractWith the increase of the number of vehicles in our country, traffic accident has become a serious problem facing society. According to statistics from related departments, in recent years, Chinas annual died in the accident, the number of up to 10 million, which a considerable part is caused by alcohol, about one third of the accident is caused by fatigue driving. Otherwise statistics, from 2005 to 2015, the drunken driving caused the death toll at an average annual rate of 7.3% growth in that great harm; and China fatigue driving accident death toll has accounted for 20% of the world. So, effective anti drivers drunk driving, fatigue driving is has important significance . this design is will alcohol sensor installed in the driving seat in the head on the steering wheel, pressure sensor installed on the steering wheel. When the driver is sitting in the drivers seat, alcohol sensor will automatically detect whether the driver is drunk driving state, if detected drivers in the alcohol content exceeded, SCM will close the ignition, and the system will call the corresponding personnel come and help the driver; when the engine starts to rotate, and the direction wheel pressure sensor under pressure, the timer will start timing, when reaching the fatigue driving time, the system will alarm to remind drivers to pay attention to safety when checking in the process of driving To measure alcohol content exceed the standard driver, the system will immediately alert to remind the driver to stop, and call the appropriate personnel to help the driver. KeywordsMCU,anti drunk driving,anti fatigue driving,monitor 基于单片机的防疲劳酒后驾驶系统 III 目录 引言.1 第 1 章 概论2 1.1 防疲劳酒后驾驶系统的使用现状.2 1.2 防疲劳酒后驾驶系统的任务和特点.2 1.3 单片机控制的优点3 1.4 本文研究内容 3 第 2 章 基于单片机防疲劳酒后驾驶系统的总体设计.5 2.1 系统功能要求 5 2.2 系统设计思想 5 2.3 总体设计方案 5 第 3 章 系统硬件设计7 3.1 总体结构.7 3.2 系统硬件组成 7 3.3 主要模块和器件的选择7 3.3.1 单片机最小系统的设计8 3.3.2 酒精传感器的选择 8 3.3.3 防疲劳驾驶电路的设计9 3.3.4 输入模块的设计.9 3.3.5 通讯模块的选择.10 3.3.6 显示模块的设计.11 第 4 章 系统软件设计. 12 4.1 系统子模块程序设计12 4.1.1 键盘输入软件设计12 4.1.2 防疲劳驾驶功能的软件设计12 4.1.3 防酒驾软件功能的设计14 4.1.4 短信模块软件设计15 4.2 系统主程序设计15 第 5 章 系统调试17 5.1 模块的单独调试17 5.2 系统的的整体调试.19 结论.21 致谢语.22 基于单片机的防疲劳酒后驾驶系统 IV 参考文献.23 基于单片机的防疲劳酒后驾驶系统 1 引言 当今的时代人人都想有自己的座驾,而随着我国人均机动车保有量的增加,交通事故 的频发已成为社会所面临的严峻问题。据有关部门统计,中国每年由于酒后驾车而引发的 交通事故多达数万起,数以万计的家庭因为交通事故而支离破碎。另有数据统计,中国疲 劳驾驶车祸事故死亡人数已占全球此类事故死亡总数的 20%。 所以,有效的防止司机醉驾、疲劳驾驶是具有重要意义的。本设计采用超高灵敏度酒 精传感器用旁热型半导体式酒精气敏元件 MQ3,超低功耗 51 单片机,自动探测酒精浓度的 方法,可以防止驾驶人员逃避检测,以判断驾驶员是否是酒后开车。主机电路包括 6 个模 块,分别是酒精传感电路模块、键盘控制模块、液晶显示模块、GPRS 短信模块、语音报警 模块、轻触按键模块。该系统放置在汽车仪表盘位置,当司机打开车门时,酒精检测系统 启动,此时引擎处于锁定状态,汽车无法启动。酒精传感器加热后,系统对酒精传感器探 测的气体信号进行检测。由于酒精含量与酒精传感器检测后产生的电压信号成特定的比例 关系,因而可根据电压信号进行酒精含量的判断 1。检测到的信号经过放大和滤波之后, 由单片机对此信号进行处理判断, 假设酒精含量没有超标, 液晶显示屏上将不会显示警告, 汽车可正常启动;反之屏幕上显示红色报警字样,并进行语音报警,51 单片机通过 I/O 口 发出高电平信号切断点火装置电源,系统启动呼叫紧急联系人装置,通过 GPRS 模块以短 信“我现在的状态无法开车,请速与我联系”通知紧急联系人,此时驾驶人员无法启动汽 车,从根本上实现控制酒后驾车。当汽车启动后,系统也会检测司机的驾驶状态;在防止 疲劳驾驶方面,当司机启动发动机时,防疲劳驾驶功能就会开始监测司机的驾驶时间,司 机踩油门, 油门上的轻触按键因压力而闭合, 通过计算按键闭合的时间来计算其驾驶时间, 当监测驾驶时间连续超过 4 小时,系统会锁死油门,使得车辆无法加速,并且语音提醒司 机其当前已经处于疲劳驾驶,应该停车休息至少 20 分钟。如果发动机熄火 20 分钟后,防 疲劳系统内的当前累计驾驶时间会清零。 基于单片机的防疲劳酒后驾驶系统 2 第 1 章 概论 1.1防疲劳酒后驾驶系统的使用现状 在科学技术突飞猛进的今天,人们研发了各种方法来针对酒后驾驶和疲劳驾驶的问 题。其中检测酒后驾驶的文章如下:根据理论研究,要判断是否是酒后驾驶,最准确的方 法应该是检查驾驶人员血液中的酒精含量。但考虑到价格和使用的方便性等因素,目前普 遍使用的只有燃料电池型(电化学型)和半导体型。半导体型通常采用氧化锡半导体作为 传感器,其具有气敏特性,当所检测的气体中的敏感气体浓度增加时,呈现的电阻值就会 降低, 半导体型呼气酒精测试仪便是利用此原理制作的。 这种半导体在不同温度下工作时, 对不同的气体敏感程度是不一致的,因此半导体型呼气酒精测试仪中都采用加热元件,把 传感器加热到特定的温度,在此温度下,此传感器对酒精具有最高的敏感度 2。在防止疲 劳驾驶方面,有这样的文字叙述:摄像机安放在汽车的控制面板上,因此并不影响驾驶员 正常驾驶时的视野。利用汽车速度传感器来监测车辆的速度,当超过预先设定的车速后, 一般为 40 km /h,启动本系统,此外还需要连续检测驾驶员的头部图像。检测方法为,连 续检测几帧驾驶员图像,当驾驶员有微小动作时,通过移动的像素数来判断头部的位置, 根据驾驶员五官的相对位置,经图像处理后,确定眼睛的位置 3。该方法可以实现从整体 到局部、从“粗”到精,准确的检测到眼睛的位置,继而可局部处理眼睛的图像,精确的 分析眼睛特征参数,根据眨眼时间、睁闭程度、眨眼频率等,利用人眼在困倦和清醒时的 特征参数估计出当时状态,在疲劳时予以报警。其所有检测的结果和车辆行驶状态均将被 同时保存在 SD 卡中,当发生事故时,可用于分析事故原因。 而我国也在机动车辆驾驶中驾驶安全测评方法的研究上取得了一定的理论成绩,但目 前为止,还没有研究出实用的产品,和发达国家相比存在着很大的差距。因此,在我国, 研究防酒驾和防疲劳的意义是显而易见的。 1.2 防疲劳酒后驾驶系统的任务和特点 本设计的总要宗旨就是保障车辆的安全驾驶,把酒驾和疲劳驾驶引发车祸的可能性降 至最低。基于本宗旨,本系统的任务自然是防止司机酒驾和疲劳驾驶。但其功能不仅仅如 此,其中内含 GPRS 模块,可以在司机当前无法驾驶车辆时,通过发送短信给提前设定好 的号码,通知他人来帮助自己。此系统可以从司机坐上驾驶座的一刻起,实时监测司机的 状态,当发动机启动前检测出车辆驾驶人员呼出的气体中含有酒精大于或等于 20mg 基于单片机的防疲劳酒后驾驶系统 3 100ml 时,判定其驾驶行为为酒驾,立即锁死点火系统,并发送短信给提前设定好的号码, 通知他人来帮助自己;当车辆行驶的过程中,检测出驾驶人员呼出的气体中含有酒精大于 或等于 20mg100ml 时,系统会锁死油门,使得车辆无法加速,并且语音提醒司机其当前 已经处于酒驾;当发动机启动时,防疲劳驾驶功能就会开始监测司机的驾驶时间,司机踩 油门上的轻触按键的时间来计算其驾驶时间,再以驾驶时间的长短来判定司机是否处于疲 劳驾驶的状况。当监测驾驶时间连续超过 4 小时,系统会锁死油门,使得车辆无法加速, 并且语音提醒司机其当前已经处于疲劳驾驶,应该停车休息至少 20 分钟。如果发动机熄 火 20 分钟后,防疲劳系统内的当前累计驾驶时间会清零。 本系统具有实时性,可靠性,稳定性,安全性。 1.3 单片机控制的优点 单片机(Micro controllers)是一种集成电路芯片,是采用超大规模集成电路技术 把具有数据处理能力的中央处理器 CPU、随机存储器 RAM、只读存储器 ROM、多种 I/O 口和 中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路 转换器、A/D 转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统, 在工业控制领域广泛应用。 依据单片机目前的发展状况,其优点是: 1.主流单片机包括 CPU、4KB 容量的 RAM、128 KB 容量的 ROM、 2 个 16 位定时/计数 器、4 个 8 位并行口、全双工串口行口、ADC/DAC、SPI、I2C、ISP、IAP; 2.系统结构简单,使用方便,实现模块化 4; 3.单片机可靠性高,可工作到 10 6小时至 107小时无故障; 4.处理功能强,速度快; 5.低电压,低功耗,便于生产便携式产品; 6.控制功能强; 7.环境适应能力强 5。 1.4 本文研究内容 论文主要针对防酒驾和疲劳驾驶系统进行研究和设计,根据实际要求,完成整个控制 系统的总体方案, 并对硬件系统和软件系统进行详细的设计, 实现最终的自动化控制系统。 第 1 章介绍该系统的使用现状和并对单片机的发展现状以及防酒驾和疲劳驾驶系统 的任务和特点进行详细介绍,熟悉单片机控制优点,了解防酒驾和疲劳驾驶系统。 基于单片机的防疲劳酒后驾驶系统 4 第 2 章介绍防酒驾和疲劳驾驶系统的控制要求,简单介绍防酒驾和疲劳驾驶系统的基 本原理,对防酒驾和疲劳驾驶系统的总体构造进行详细的介绍,充分了解防酒驾和疲劳驾 驶系统原理。 第 3 章完成系统的硬件设计方案,介绍系统需要满足的技术要求,完成基本的硬件设 计,硬件系统的设计包括系统硬件总体结构及各模块的硬件电路设计。 第 4 章完成系统的软件设计,介绍系统采用的主要软件,完成系统的主体程序,并对 程序功能进行详细介绍。 第 5 章完成对系统的调试,描述完成设计过程中对各个硬件模块的调试。 基于单片机的防疲劳酒后驾驶系统 5 第 2 章 基于单片机防疲劳酒后驾驶系统的总体设计 2.1 系统功能要求 本系统的作用是防止司机酒驾和疲劳驾驶,对于防止酒驾,需要求本系统能够通过酒 精传感器精确的检测出司机呼出气体内所含的酒精浓度,而当检测出气体内酒精浓度超出 20mg100ml 时,要求系统能够发送信号限制发动机的启动回路和加速回路,并且发送短 信给指定号码;对于防止疲劳驾驶,要求系统能够通过油门上的轻触按键检测出司机的驾 驶时间,通过轻触按键上传出信号的持续时间(间断不超过 20 分钟即视为持续),当检 测出持续驾驶时间超过 4 小时,要求系统能够发送信号限制车辆的加速回路,并且发送短 信给指定号码。 2.2 系统设计思想 本系统设计出来是为了尽量减少酒驾和疲劳驾驶情况的出现。系统的总体功能分为检 测酒精浓度、计算时间、语音提醒和发送短信四个部分。检测酒精浓度的方法是通过酒精 传感器检测司机呼出气体内所含酒精的浓度,以检测出的数值是否大于 20mg100ml 为标 准来控制点火装置和油门;计算时间是计算司机的驾驶时间,具体是通过安装在油门上的 轻触发出信号的持续时间(停止发出信号超过 20 分钟视为间断)来统计司机的驾驶时间, 以统计出的数值是否超过 4 小时来控制油门;发送短息是在系统认定司机出现酒驾或者疲 劳驾驶时, 发送求助信息给提前设定好的号码, 并且语音模块会提醒司机当前的驾驶情况。 2.3 总体设计方案 本系统的重要部分还是在单片机程序方面。如何让单片机接收模块发出的信息,并且 显示用户需要看到的信息,和发送可以实现功能要求的控制信号就是本设计的总体概括。 首先,是液晶屏幕的页面显示设计。屏幕上将分别显示用户当前设定的紧急通讯号码 和用户当前的持续驾驶时间。 然后是调试键盘输入模块, 用户可以用键盘输入紧急通讯的号码, 可以主动发送短信, 可以重启系统。 其次就是需要将酒精传感器和轻触按键连接进单片机,单片机利用串口接收传感器的 数据后进行处理,然后显示在液晶屏幕上已分配好的位置。 基于单片机的防疲劳酒后驾驶系统 6 接着需要将 GPRS 通讯模块与单片机连接,使得单片机能用信号控制通讯。 最后需要对模块进行整合,整合部分就是对归类好的管脚以及电路进行处理,再统一 焊接在电路板上。结束后再对这个系统进行测试,到此处整个设计就大体完成。 基于单片机的防疲劳酒后驾驶系统 7 第 3 章 系统硬件设计 3.1 总体结构 基于单片机的防疲劳酒后驾驶系统整体设计方案如图 3-1 所示。司机呼出的气体进入 酒精传感器,传感器将接收到的信号传入单片机进行分析,经过程序换算后发送到液晶屏 幕进行显示, 当检测的气体内酒精浓度高于设置数值的时候, 语音模块就会进行警报, GPRS 模块就会发送短信,而单片机将会通过管脚发送信号;当发动机启动时,轻触按键回路会 开始工作,检测司机的持续驾驶时间,当时间超过设定的数值的时候,语音模块就会进行 报警。整体过程中,由电源模块进行供电。 图 3-1防疲劳酒后驾驶系统的总体结构 3.2 系统硬件组成 此系统由型号为 STC12C5A60S2 的 51 单片机为核心控制;通过显示屏为司机显示自己 当前设定的联络人号码和当前持续驾驶的时间,显示屏型号为 1.44 寸的 TFT 彩屏;检测 驾驶时间通过计算轻触按键的闭合时间;酒精传感器是采用 MQ-3 酒精传感器;语音系统 是采用 ISD1820 录音语音模块。 3.3 主要模块和器件的选择 电 源 模 块 单 片 机 系 统 酒精传感器 轻触按键 GPRS 模块 液 晶 显 示 屏 矩阵键盘 基于单片机的防疲劳酒后驾驶系统 8 3.3.1 单片机最小系统的设计 对于此次设计而言,最重要的硬件便是系统的中枢-单片机。本系统采用的是型号为 STC12C5A60S2 的单片机,其最小系统如图 3-2 所示。在繁多的 51 系列单片机中,本设计 采用的 STC12C5A60S2 单片机要算是国内 STC 公司的 1T 增强系列中比较具有竞争力的,原 因是此单片机不但和 8051 指令、管脚完全兼容,而且其片内具有大容量程序存储器,而 且是 FLASH 工艺的,STC12C5A60S2 单片机内部就自带高达 60K FLASHROM,这种工艺的存储 器用户可以用电的方式瞬间擦除和改写。而且 STC 系列单片机支持串口程序烧写。显而易 见,这种单片机对开发设备的要求非常低,开发时间也极大缩短。写入单片机内的程序还 可以进行加密保护,这又很好地保护了编程者的劳动成果 6。 图 3-2 单片机最小系统 3.3.2 酒精传感器的选择 本设计使用的 MQ-3 酒精传感器电路原理图如图 3-3 所示,其介绍如下: 1.尺寸:32mm X 22mm X 22mm长*宽*高 2.主要芯片:LM393、MQ-3 气体传感器 3.工作电压:DC3-5V 7 4.特点: 基于单片机的防疲劳酒后驾驶系统 9 (1)具有信号输出指示; (2)双路信号输出(模拟量输出及 TTL 电平输出); (3)TTL 输出有效信号为低电平,可直接接单片机; (4)模拟量输出 0V 到 5V 的电压,浓度越高则电压越高; (5)对乙醇蒸汽具有非常高的灵敏度和良好的选择性; (6)具有长期的使用寿命和可靠的稳定性; (7)快速的响应恢复特性 8。 图 3-3 MQ-3 酒精传感器原理图 5.应用: 适用于机动车司机及其他严禁酒后作业人员的现场检测,也用于其他场所乙醇蒸汽的 检测,探测酒精范围:探测范围是 101000ppm 9。 3.3.3 防疲劳驾驶电路的设计 根据系统功能的需要,采用的是轻触式按键,其一段与单片机的 I/O 口连接,另一端 接地。当按下时 I/O 口收到低电平,松开时输出高电平。 3.3.4 输入模块的设计 因为系统需要让用户输入紧急联系人的电话号码, 所以采用 4X4 矩阵键盘, 直插按键。 其原理图如图 3-4 所示: 基于单片机的防疲劳酒后驾驶系统 10 图 3-44X4 矩阵键盘原理图 3.3.5 通讯模块的选择 如图 3-5 所示,为 SIM900A 的实物图。为了满足在司机饮酒而不方便驾驶时,能及时 通知到紧急联络人,所以本系统加入通讯模块,采用 SIM900A 模块,其特点是: 1.超小体积适合各种袖带式和嵌入式。 2.自弹卡槽,方便更换手机卡,可以放到盒子一边预留更换手机卡口。 3.采用 IPX 接口,可以任意更换天线,默认 PCB 天线,大大的减少使用空间。 4.板子采用镀金板子,性能来讲更稳定一些。 5.布线规整保证板子运行的时候更加稳定。 6.本模块加个保护器件,可实现防接反,防高压,减少了板子的损耗 10。 图 3-5 SIM900A 实物图 基于单片机的防疲劳酒后驾驶系统 11 3.3.6 显示模块的设计 本系统采用 1.44 寸 TFT 液晶屏,如图 3-6 所示,为其接线图。这款液晶屏完全兼容 于 STC12C5A60S2 单片机,数字、英文、汉字和图片都能显示。运用取模软件,可以建立 自己的字库,图库,十分方便。 图 3-6 液晶屏接线图 基于单片机的防疲劳酒后驾驶系统 12 第 4 章 系统软件设计 4.1 系统子模块程序设计 4.1.1 键盘输入软件设计 如图 4-1 所示,键盘输入值为 0 到 9 时,液晶屏幕上会对应的显示出来;当键入值为 10 时,程序会执行退格删除功能,相当于电脑键盘上的 backspace 键,而当屏幕上没有数 值显示时,按删除键将没反应;当键入值大于 10 时,程序将没反应。 图 4-1 键盘输入流程图 4.1.2 防疲劳驾驶功能的软件设计 如图 4-2 所示,当汽车发动机启动,并且司机踩在油门上时,防疲劳驾驶系统便会开 否 否 否 是 是 是 开始 输入键值 keycode Keycode240 分钟? 屏幕显示持续驾驶时间 time0 播放语音提醒 结束 是 轻触开关是 否有闭合? 发送限制加速的信号 否 否 否 轻触开关断开 超过 20 分钟? 否 是 Time0=0 发动机是否启动? 否 是 基于单片机的防疲劳酒后驾驶系统 14 4.1.3 防酒驾软件功能的设计 如图 4-3 所示,当司机坐在驾驶位置的那一刻起,防酒驾系统便会启动。安装在驾驶 座上方的酒精传感器将会实时检测司机呼出气体的酒精浓度,在汽车未启动时如果检测到 气体内酒精浓度超出标准值,系统便会在液晶屏幕上显示出“您现在的状态无法正常驾驶 车辆。”,发出语音报警,并且发出信号使发动机无法启动;当在汽车行驶过程中检测到 司机呼出气体内的酒精浓度超出标准时,系统同样会显示文字提醒,发出语音报警,并且 发出信号使车辆无法加速。 图 4-3 检测气体酒精浓度流程图 是 开始 屏幕显示文字警报 播放语音提醒 结束 酒精浓度是 否超标? 发送限制启动的信号 否 发送限制加速的信号 引擎是否启动? 是 否 基于单片机的防疲劳酒后驾驶系统 15 4.1.4 短信模块软件设计 如图 4-4 所示,当检测到气体酒精浓度超标或者持续驾驶时间超出设定值时,系统便 会自动向用户预设定的电话号码(输入详解见 4.1.1)发送短信,短信内容为“我现在的 状态无法开车,请速与我联系。” 图 4-4 发送短信流程图 4.2 系统主程序设计 如图 4-5 所示,描述的是整个系统的主程序流程图。程序开始运行时,液晶屏幕上便 会显示之前设定好的中文,而当有矩阵键盘输入,或者轻触按键闭合,或者酒精传感器检 测到气体内含有酒精浓度时,程序将会执行相对应的子程序。 开始 发送短信 结束 是 持续驾驶时 间是否超标? 否 是 酒精浓度是 否超标? 否 是 引擎停止超 过 20 分钟? 否 发送短信 基于单片机的防疲劳酒后驾驶系统 16 图 4-5 系统主程序流程图 否 是 开始 输入 驾驶时间 0? 屏幕显示以设定的中文 Keyflag=1? 执行键盘输入部分程 序 检测到气体 含有酒精? 否 是 执行检测疲劳驾驶程 序 执行检测酒后驾驶程 序 是 否 基于单片机的防疲劳酒后驾驶系统 17 第 5 章 系统调试 5.1 模块的单独调试 1.调试单片机 对单片机的调试,首先便是用万用表测试单片机的每一个管脚是否焊接正确,其次最 直观的便是看能否把程序成功烧录进单片机。按照图 5-1 所示,连接单片机与 USB 转 TTL 模块,之后连接到电脑,打开烧录软件,显示烧录成功即可。 图 5-1 单片机与 USB 转 TTL 模块连接图 2.调试显示屏 首先是依照显示屏模块背面管脚的标号,将之与单片机对应相连。然后接通单片机电 源,通过观察显示屏是否启动,以此初步判断显示屏的好坏。最后作为功能测试,再将显 示中文的单片机程序烧录进单片机之前,需要使用的特定的文字取模软件-PCtoLCD2002, 将文字转换成十六进制的数组并编写进程序的字库中,烧录之后看屏幕上是否清晰的显示 出与程序中对应的中文,如图 5-2 所示。 图 5-2 液晶屏正确显示图 基于单片机的防疲劳酒后驾驶系统 18 3.调试通讯模块 如图 5-3 所示,调试通讯模块得先将其与电脑通过 USB 转 TTL 模块相连接,然后用电 脑上的 TC35i 测试工具调试,调试成功后,再将其管脚与单片机对应管脚相连,将发送短 信的程序烧录进单片机,运行后,对象号码收到短信即调试成功。 图 5-3 GPRS 模块与 USB 转 TTL 模块连接图 4.调试输入模块 将键盘的 1 到 4 号管脚与单片机 P0.7 到 P0.4 的 I/O 口对应相连,再将键盘的 5 到 8 管脚与单片机 P0.0 到 P0.3 的 I/O 口对应相连。将输入程序和屏幕显示程序编写为一个程 序,并烧录进单片机,当按下键盘上的按键时,屏幕上会显示出对应的键值,即调试成功, 如图 5-4 所示。 图 5-4 屏幕显示键盘输入图 基于单片机的防疲劳酒后驾驶系统 19 5.调试酒精模块 先将酒精模块的电源端和接地点连接上电源的正负极,用万用表的电压挡测 DO 管脚 的输出电压,正常情况下输出高电平,测出高电平后,用对着酒精传感器呼出酒精气体, 并用螺丝刀调整滑动变阻器,直到测出低电平为止,即调试成功,如图 5-5 所示。 图 5-5 现场调试酒精模块图 5.2 系统的的整体调试 因为这个系统涉及到多个模块,所以需要梳理好程序,让各个模块间既不互相冲突, 又能彼此配合。在调试之前,需要将每个模块如图 5-6 所示焊接在万用板上,严格按照原 理图接线,完成后用万用表检测连接是否正确,确认无误后方可进行整体调试。 在让屏幕显示你需要的内容,并且可以在操作时,屏幕会做出相应的显示之前,需要 在液晶屏幕上划分好局域以免重叠显示,在编写程序时就需要编写好在哪一行哪一列显示 对应的信息。首先,需要先清屏,以免与之前的显示重叠,采用的方法是用与屏幕底色相 同的颜色覆盖一次屏幕即可。 清屏之后便可以运行显示程序, 当按下矩阵键盘上的按键时, 屏幕将会显示对应的键值,而当按下删除键时,程序会用与之前相同的字符去覆盖,但此 字符的颜色是与屏幕底色相同的,这样便可以删除屏幕上的字符。 用户可以在通过矩阵键盘在液晶屏幕上输入电话号码,而这电话号码将会是 GPRS 模 块发送短信的对象。最初的调试,是在输入完号码,并在屏幕上确认无误后,按下矩阵键 盘上的十二号键并可以通过 GPRS 模块发送短信,调试成功后,变将轻触按键发出的信号 代替十二号键盘。而在调试轻触按键时,是将其与一个 LED 灯相连,当按下轻触按键后并 且不松开,单片内部的时钟便会开计时,当持续按压的时间达到提前设定的数值后,灯会 亮起,经过此种调试并成功后,再把发送短信的程序、屏幕显示警报字样的程序和播放语 基于单片机的防疲劳酒后驾驶系统 20 音警报的程序加入进去,使其亮灯的同时能够发送短信并且响起警报。酒精模块控制到系 统的方式跟轻触按键控制系统的方法是一样的。 图 5-6 基于单片机的防疲劳酒后驾驶系统实物图 基于单片机的防疲劳酒后驾驶系统 21 结论 经过半年多时间的努力和学习基本上实现了本课题的既定要求。其中包括软件控制和 硬件实物执行两大部分的完成。 实现了硬件部分的三大主要模块部分, 即单片机控制部分、 防止疲劳驾驶部分和防止酒后驾驶部分。其主要内容包括: 1、单片机控制部分; 2、防止疲劳驾驶部分; 3、防止酒后驾驶部分; 4、紧急通讯部分。 本系统采用 5V 的直流电源对单片机和各个模块进行供电。系统的电路涉及有 GPRS 模 块电路、轻触按键模块、STC12C5A60S2 单片机最小系统电路、MQ-3 酒精浓度传感器电路、 4X4 矩阵键盘模块、液晶显示模块。此设计为用户提供录制提醒语音内容和键入联系人电 话的功能。设计实用性很强,故而具有广大的应用前景。 基于单片机的防疲劳酒后驾驶系统 22 致谢语 毕业设计终于顺利完成了,我需要感谢在毕业设计这段时间里给与我指导、帮助和支 持的张俊杰老师,需要感谢同班同学的帮忙,同时也感谢所有支持我的老师、同学们。 在毕设的几个月时间内,我从最初依托科学商店,利用网络有效的完成了课题相关内 容调查,有效的为本课题的实施提供了强有力的数据支持和现实应用力。然后在张老师的 指导下顺利的完成了对系统的合理性设计,在同班同学的支持下有效的完成了相关仿真工 作,完成了相关电路的焊接工作。 毕业设计不仅考察了我在大学四年所学到的知识,更重要的是锻炼了我的动手能力和 将知识与实践相结合的能力。在做毕业设计的整个过程中,我都翻阅了大量中外资料,通 过与老师讨论确定主题和设计方案,通过视频学习相关软件并有效的完成了软件部分的设 计,通过上网对各元器件性能、接线等内容做了充分的了解。在软件调试和硬件调试过程 中通过不断的发现问题、 不断的寻找解决问题的方法, 进而锻炼了自己独立思考能力。 最 后,我仍需感谢张俊杰老师对我的大力支持和指导,以及其他人的帮助。 基于单片机的防疲劳酒后驾驶系统 23 参考文献 1崔海碰. 车载酒精探测控制仪设计J. 今日电子, 2009, (3):10-13. 2高腾岗. 如何使用呼出气体酒精测试仪提高测量准确度研究J. 科技信息(科学教研),2007, 5(3):12-15. 3杨金瑞. 基于法布里-珀罗干涉效应的多孔硅乙醇传感器 D. 重庆:重庆大学,2009. 4许奕帅. 电子驱鼠器及其在电力安全生产中的应用研究D. 厦门:华侨大学, 2013. 5王强. 浅谈单片机的基本结构、主要类型和相关应用领域J. 科技致富向导,2013,(2):9-12. 6汪瑞芳. 自动散热风扇控制系统设计与实现D. 安徽:安徽大学, 2013 年. 7李晓静. 基于物联网的嵌入式酒驾智能辨识系统J. 制造业自动化,2012,10(4):11-13. 8张磊. 基于现场总线的工业监控系统D. 南京:河海大学, 2006 年. 9姜志海,黄玉清,刘连鑫. 单片机原理及应用M. 山东:电子工业出版社, 2013. 10朱正清,董玉龙,李建国. 一种具有防酒驾、 防瞌睡的安全系统J. 科技资讯, 2013, 29(2):56-58. 基于单片机的防疲劳酒后驾驶系统 24 附录 主程序 #include #include #include #include #define uchar unsigned char #define uint unsigned int #include #include #include #define FOSC 11059200L #define MODE1T /Timer clock mode, comment this line is 12T mode, uncomment is 1T mode #ifdef MODE1T #define T1MS (65536-FOSC/1000)/1ms timer calculation method in 1T mode #else #define T1MS (65536-FOSC/12/1000)/1ms timercalculation method in 12T mode #endif /定义常用颜色 #define RED0xf800 #define GREEN0x07e0 #define BLUE 0x001f #define WHITE0xffff #define BLACK0x0000 #define YELLOW0xFFE0 #define GRAY00xEF7D #define GRAY10x8410 #define GRAY20x4208 extern void dsp_single_colour(int color); extern void lcd_initial(); extern void delay_ns(uint time); extern void delay_ms(u16 ms); extern void Font_Test(void); extern void keyin(void); extern void sentChinese(void); extern void Display_ASCII8X16(uint x0,uint y0,uchar *s); extern void Display_ASCII8X17(uint x0,uint y0,uchar *s); extern void Fast_DrawFont_GBK16(uint x, uint y, uint fc, uint bc, uchar *s); extern unsigned charkeyFlag,keycode; unsigned char phonecall12; 基于单片机的防疲劳酒后驾驶系统 25 unsigned char a,i,number2,jishi2; sbit J_J = P27; sbit P_E= P26; sbit Y_L = P34; typedef unsigned char BYTE; typedef unsigned int WORD; int m; /* define SFR */ sfr AUXR= 0x8e;/Auxiliary register sbit TEST_LED = P16;/work LED, flash once per second sbit GR_LED = P15; /* define variables */ WORD count;/1000 times counter WORD second=0,second1=0,second2=0; /测试硬件平台:STC12C5A60S2/STC12LE5A60S2 /主频:12MHZ /单片机 IO 推挽输出设置定义 /#define USE_LANDSCAPE/测试程序横竖屏切换,横屏请开启此宏,竖屏请屏蔽 #define MCU_STC12/如果您使用的单片机不是 STC12 系列(如 STC89C52)请屏蔽此宏定义 #ifdef MCU_STC12 sfr P3M1= 0xB1; /P3M1.n,P3M0.n =00-Standard,01-push-pull sfr P3M0= 0xB2; /=10-pure input, 11-open drain #endif /* Timer1 interrupt routine */ void tm1_isr() interrupt 3 using 1 TL1 = T1MS;/reload timer1 low byte TH1 = T1MS 8;/reload timer1 high byte if (count- = 0)/1ms * 1000 - 1s second1+=1; if(Y_L=1) second2+=1; count = 1000 ; /reset counte main() #ifdef MCU_STC12 P3M1 /initial timer0 high byte EA = 1;/open global interrupt switch ET1 = 1; count = 1000;/initial counter while(1) Fast_DrawFont_GBK16(16,10,WHITE,BLACK,“当前设定电话“); Fast_DrawFont_GBK16(16,50,WHITE,BLACK,“持续驾驶时间“); keyin(); L1: if(keycode=10)number0=(phonecalli);/用白色字符一样的黑色字符覆盖 while(1) Display_ASCII8X17(a,30,number);/显示黑色的数字 keyin(); if(keycode23)goto L1; L2:if(keyFlag=1) phonecalli=keycode+48; a+=8; i+=1; Display_ASCII8X16(a,30,number); delay_ns(50); if(J_J=0)/检测气体是否含有酒精 基于单片机的防疲劳酒后驾驶系统 27 dsp_single_colour(BLACK); GR_LED =1; Fast_DrawFont_GBK16(10,50,RED,BLACK,“您已处于酒驾“); for(m=0;m9) dsp_single_colour(BLACK); TEST_LED =1; Fast_DrawFont_GBK16(16,50,RED,BLACK,“您已处于疲“); Fast_DrawFont_GBK16(16,70,RED,BLACK,“劳驾驶状态“); for(m=0;m4) TR0=0;second1=0;TEST_LED =0; if(keycode=15) goto start; keycode=12; 基于单片机的防疲劳酒后驾驶系统 28 键盘输入子程序 #include void delay_sr(unsigned chartimer) while(timer-); unsigned char keyFlag,keycode; void keyin(void) unsigned char a,i; unsigned char row; unsigned char rowFlag; P0=0x0f; a=P0 if(a!=0x0f) keyFlag=1; rowFlag=0; keycode=0; row=0xef; for(i=0;i7); keycode+=4; else delay_sr(100); while(P0rowFlag=1; else if(a=0x0d)keycode+=1;rowFlag=1; else if(a=0x0b)keycode+=2;rowFlag=1; else if(a=0x07)keycode+=3;rowFlag=1; elsekeyFlag=0; 基于单片机的防疲劳酒后驾驶系统 29 短信发送程序 #include “string.h“ #include “delay.h“ #include “uart.h“ #define Buf1_Max 60/串口 1 缓存长度 #define Buf2_Max 200/串口 2 缓存长度 /*本地常量声明*/ sbit RUNING_LED = P32;/运行指示灯 unsignedchar content117=“0891683110300805F011000D91688158696691F80008AA22621173B05728768472B6600165E 06CD55F008F66FF0C8BF7901F80547CFB62113002“;/发送短信内容 0-27 /*短信内容解析*/ /* /短信中心号(倒序)目标手机(倒序)短信内容(测试已经完成) 8613010380500F8618859666198F短信长度(0C) 089
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 税务等级动态管理办法
- 网店美工素材管理办法
- 税务建账个体管理办法
- 企业安全生产培训政策课件
- 2025年乡村振兴战略与实践考试试卷及答案
- 2025中央一号文件考题及答案
- 统编版语文七年级上册《皇帝的新装》练习题(含答案)
- 出差报销培训课件
- 出差安全培训计划课件
- 出国留学课件
- 交通规划中智能交通信号控制技术应用2025年研究报告
- 公共空间设计培训课件
- 2025年汽车维修高级技师能力认证考试试卷及答案解析
- 2025年邮政集团招聘考试复习资料与预测题
- 2025年保险理赔员执业资格考试试题及答案解析
- 板绘插画师基础知识培训课件
- 2025至2030年中国分时度假行业市场运营现状及投资规划研究建议报告
- 孕期甲状腺功能课件
- 2025年版《煤矿安全规程》考试题库(含答案)
- 押运员持枪证考试试题及答案
- 医药代表一院一策工作汇报
评论
0/150
提交评论