《酒精测试仪51单片机课程设计》由会员分享,可在线阅读,更多相关《酒精测试仪51单片机课程设计(28页珍藏版)》请在金锄头文库上搜索。
1、课 程 设 计 说 明 书课程设计名称 单片机原理及应用课程设计 专 业 电子信息工程 班 级 学 号 学生姓名 指导教师 课 程 设 计 任 务 书课程设计题目酒精测试仪起止日期2016年 12月 26 日 2017 年1月6日设计地点计算机科学与工程学院单片机实验室3409设计任务及日程安排:设计任务:分两部分:(一)、设计实现类:进行软、硬件设计,并上机编程、联线、调试、实现;1.电子钟的设计 2.交通灯的设计 3.温度计的设计 4.点阵显示 5.电机调速6.电子音乐发声(自己选曲) 7.键盘液晶显示系统(二)、应用系统设计类:不须上机,查资料完成软、硬件设计画图。查资料选定题目。说明:
2、第1-7题任选其二即可。(二)里题目自拟。日程安排:本次设计共二周时间,日程安排如下:第1天:查阅资料,确定题目。第2-4天:进实验室做实验,连接硬件并编写程序作相关的模块实验。第5-7天:编写程序,并调试通过。观察及总结硬件实验现象和结果。第8-9天:整理资料,撰写课程设计报告,准备答辩。第10天:上交课程设计报告,答辩。设计报告要求:1. 设计报告里有两个内容,自选题目内容+附录(实验内容),每位同学独立完成。2. 自选题目不须上机实现,要求能正确完成硬件电路和软件程序设计。内容包括:1) 设计题目、任务与要求 2)硬件框图与电路图 3) 软件及流程图 (a)主要模块流程图 (b)源程序清
3、单与注释4) 总结 5) 参考资料 6)附录 实验上机调试内容注:此任务书由指导教师在课程设计前填写,发给学生做为本门课程设计的依据。目录第一部分:自主设计课设:酒精测试仪11 总体方案设计11.1 设计要求11.2优点及意义11.3 系统硬件电路设计11.4初步设计思路22 硬件电路设计22.1酒精检测模块22.2显示模块22.3报警模块32.4 CPU控制模块43应用软件设计53.1 主程序设计53.2 子程序设计63.2.1 显示子程序设计63.2.2报警子程序设计73.2.3 酒精检测子程序设计84 系统调试与性能分析84.1 开机界面84.2 浓度判断84.3 阈值修改9总结:9参考
4、文献9附录10附录A 硬件电路图10附录B 程序清单11第二部分:课堂设计内容:温度测量系统161 实验目的162实验内容163实验原理164实验步骤165 流程图:176 程序清单:18第一部分:自主设计课设:酒精测试仪1 总体方案设计1.1 设计要求 本课题要求以单片机为核心,设计一个酒精测试仪,由四部分组成:酒精检测模块,显示模块,报警模块,CPU控制模块。CPU控制模块采用STC89C52单片机进行控制。酒精传感器采用MQ-Sensor传感器模块和ADC0809模数转换模块用于对人呼出酒精气体的酒精度检测,显示模块采用1602液晶显示,报警电路采用蜂鸣器。要求酒精测试仪有以下功能:(1
5、) 酒精浓度通过1602液晶显示模块显示出来(2) 酒精浓度超过设定的阈值则蜂鸣器发声进行报警。1.2优点及意义本课题采用51单片机进行控制,51单片机具有体积小、运行速度快的特点,用其作为主控芯片进行控制会十分的方便。使用MQ-Sensor气体传感器模块能够快速,准确的检测到酒精浓度,使用1602模块进行显示,直观,方便。1.3 系统硬件电路设计系统硬件设计框图。根据设计要求,确定系统的设计方案,硬件由四部分组成。采用STC89c52单品机为CPU控制模块,以MQ-Sensor传感器模块和ADC0809模块组成检测模块,以1602液晶显示组成显示模块,以蜂鸣器组成报警模块。CPU处理模块ST
6、C89c52报警模块蜂鸣器检测模块MQ-Sensor+adc0809显示模块1602液晶屏1.4初步设计思路(1) 定义三组数组表,方便1602显示时进行调用(2) 将adc0809的数据输出端接在单片机的P2口(3) 将MQ-Sensor酒精传感器的TTL输出端接在单片机P1.7口,将AO模拟量输出端接到adc0809的IN0通道。(4) 将1602的数据输入端接到单片机P0口(5) 将蜂鸣器接到单片机P3.3口。2 硬件电路设计2.1酒精检测模块传感器模块采用MQ-Sensor酒精传感器,其模拟量输送给ADC0809进行模数转换,将输出数据发给单片机。电路中酒精检测传感器的模拟量输出端接在
7、adc0809的IN0通道。Adc0809的start引脚接到单片机的P12口,oe引脚接到单片机的p10引脚上,EOC引脚接到了单片机的p11口,ciock时钟信号接到了单片机的P16引脚上。数字量输出端接到了单片机的P2口。将传感器采集到的酒精浓度经过adc0809输送到单片机中。2.2显示模块显示模块采用1602液晶显示屏进行显示,液晶显示具有低功耗,应用接口少,显示量大的特点,所以应用很广。将单片机收到adc0809数字量发送给1602中,进行显示。将1602的数据输入端接到单片机的P0口,RS引脚接到单片机的P35口,将EN使能接口接到单片机的P34口,单片机发送数据给1602,16
8、02进行显示酒精的浓度。2.3报警模块 报警模块采用蜂鸣器进行报警,直观,方便将蜂鸣器接到单片机的P33口,当酒精检测传感器模块TTL电平输出端时证明酒精浓度已经超过了阈值,则启动报警,给蜂鸣器以低电平,蜂鸣器响。否则,给蜂鸣器低电平,蜂鸣器不响。2.4 CPU控制模块CPU采用STC89c52单片机,负责整套系统的运行。它包含时钟电路和复位电路。(1) 时钟电路单片机工作的时间基准是由时钟电路提供的,在单片机的XTAL1和XTAL2两个引脚间,接一只晶振及两只电容就构成了单片机的时钟电路。电路中,电容器C1和C2对振荡频率有微调作用,同时帮助晶振起振,通常取值范围在220.1PF,一般晶振为
9、11.0592MHZ,电容取22PF。石英晶体选择11.0592MHZ。(2) 复位电路单片机系统的复位电路在可以采用的是按钮式上电复位电路形式,其中电阻R采用10K的阻值,电容采22F的电容值。3应用软件设计3.1 主程序设计 酒精测试仪的基本功能是通过酒精传感器采集到气体的酒精浓度,之后经过ADC0809数模转换发送给单片机,之后单片机发送给1602液晶进行显示。 当检测到的酒精浓度值超过了所设计的阈值,则酒精传感器模块将输出低电平,将其接到单片机P17引脚上,当单片机检测到该引脚为低电平时,则驱动蜂鸣器发生进行报警。流程图:开始系统初始化检测酒精浓度是否超过设定值声报警1602显示酒精浓
10、度结束否是3.2 子程序设计3.2.1 显示子程序设计 采用1602液晶屏进行显示,将液晶数据输入端接到单片机P0口,单片机驱动液晶进行显示。流程图:开始LCD初始化写入地址数据忙碌标志位检查写入显示数据结束否是3.2.2报警子程序设计 报警电路采用蜂鸣器进行报警,当酒精浓度超过了设定值,则蜂鸣器发声进行报警,将蜂鸣器接到单片机的P33引脚。流程图:开始初始化引脚是否为低电平蜂鸣器发生结束是否3.2.3 酒精检测子程序设计 酒精检测模块采用MQ-Snsor酒精气体传感器和ADC0809组成,将采集到的酒精浓度经过模数转换器发给单片机。流程图:开始气体检测Adc0809模数转换发送给单片机结束4
11、 系统调试与性能分析4.1 开机界面 开机之后1602界面显示 ,酒精检测模块气体中酒精度发送给单片机。4.2 浓度判断 当检测到的酒精浓度大于设定的阈值时,则单片机驱动蜂鸣器发生进行报警,提示检测者酒精浓度已经超标。4.3 阈值修改(1)硬件修改 通过改变酒精传感器的电阻值来改变传感器对气体酒精度的检测灵敏度,来修改阈值。(2)软件修改 通过对系统运行程序进行阈值设定,检测到的酒精浓度,进行人为的软件设定阈值,进行判别。总结: 本作品针对生活中因醉酒驾驶引发交通事故日益严重,明确研究方向,制定计划方案。深入研究酒精传感器、模数转换器等器件原理,查阅相关酒驾标准。为制作出满足实际要求的作品,做
12、好充分的准备。在此期间所遇到的问题,通过最有效、最准确的渠道进行解决,为成功扫清障碍。随着对单片机、ADC0809、LCD显示器的加深了解,对信号采集和数据算法处理的进一步学习;加入温度、湿度和气压的影响,在现有基础上进行改进,一定会使测得的数据更加准确,使作品与预期目标更接近。使其能成为商品,进入家庭,实现我们以此为课题的最终目的。参考文献1 单成祥.传感器的理论与设计基础及其应用M.北京:国防工业出版社,2 张福学.现代传感器电路M.北京:中国计量出版社,2000,441 3 吴兴惠,王彩君.传感器与信号传感器M.北京:电子工业出版社,1998 4 万隆,巴奉丽.单片机原理及应用技术M.北
13、京:清华大学出版社,2010 5 汤竟南,沈国琴.51单片机C语言开发与实例M.人民邮电出版社 6 雷伏容,张小林,崔浩.51单片机常用模块设计查询手册M.北京:清华大学出版社,20107 韩成,张延 拿了就用单片机M.北京:人民邮电出版社,2008 8 赵建领.51系列单片机开发宝典M.北京:电子工业出版社,2007-04 9 张毅刚 单片机原理及接口技术 :人民邮电出版社附录附录A 硬件电路图附录B 程序清单/*/项目名称:酒精测试仪/程序内容:通过酒精模块将采集到的酒精浓度显示到1602上/ 如果浓度超过设定值,则进行报警。/*/#include /头文件#define uchar unsigned char /宏定义无符号字符型#define uint unsigned int /宏定义无符号整型uchar code table=0123456789;uchar code table1=voltage:;uchar code table2= alcohol tester ;/位控制码sbit ST