课程设计说明书
课程设计名称单片机原理及应用课程设计
专业电子信息工程
班级 140405
学号
学生姓名李延琦
指导教师胡黄水
2016 年 12 月 26 日
课程设计任务书
注:此任务书由指导教师在课程设计前填写,发给学生做为本门课程设计的依据。
目录
第一部分:自主设计课设:酒精测试仪
1 总体方案设计
设计要求
本课题要求以单片机为核心,设计一个酒精测试仪,由四部分组成:酒精检测模块,显示模块,报警模块,CPU控制模块。
CPU控制模块采用STC89C52单片机进行控制。
酒精传感器采用MQ-Sensor传感器模块和ADC0809模数转换模块用于对人呼出酒精气体的酒精度检测,显示模块采用1602液晶显示,报警电路采用蜂鸣器。
要求酒精测试仪有以下功能:
(1)酒精浓度通过1602液晶显示模块显示出来
(2)酒精浓度超过设定的阈值则蜂鸣器发声进行报警。
优点及意义
本课题采用51单片机进行控制,51单片机具有体积小、运行速度快的特点,用其作为主控芯片进行控制会十分的方便。
使用MQ-Sensor气体传感器模块能够快
速,准确的检测到酒精浓度,使用1602模块进行显示,直观,方便。
系统硬件电路设计
系统硬件设计框图。
根据设计要求,确定系统的设计方案,硬件由四部分组成。
采用STC89c52单品机为CPU控制模块,以MQ-Sensor传感器模块和ADC0809模块组成检测模块,以1602液晶显示组成显示模块,以蜂鸣器组成报警模块。
初步设计思路
(1)定义三组数组表,方便1602显示时进行调用(2)将adc0809的数据输出端接在单片机的P2口(3)将MQ-Sensor酒精传感器的TTL输出端接在单片机口,将AO模拟量输出端接到adc0809的
IN0通道。
(4)将1602的数据输入端接到单片机P0口
(5)将蜂鸣器接到单片机口。
2 硬件电路设计
酒精检测模块
传感器模块采用MQ-Sensor酒精传感器,其模拟量输送给ADC0809进行模数转换,将输出数据发给单片机。
电路中酒精检测传感器的模拟量输出端接在adc0809的IN0通道。
Adc0809的start引脚接到单片机的P1^2口,oe引脚接到单片机的p1^0引脚上,EOC引脚接到了单片机的p1^1口,ciock时钟信号接到了单片机的P1^6引脚上。
数字量输出端接到了单片机的P2口。
将传感器采集到的酒精浓度经过adc0809输送到单片机中。
显示模块
显示模块采用1602液晶显示屏进行显示,液晶显示具有低功耗,应用接口少,显示量大的特点,所以应用很广。
将单片机收到adc0809数字量发送给1602中,
进行显示。
将1602的数据输入端接到单片机的P0口,RS引脚接到单片机的P3^5口,将EN使能接口接到单片机的P3^4口,单片机发送数据给1602,1602进行显示酒精的浓度。
报警模块
报警模块采用蜂鸣器进行报警,直观,方便
将蜂鸣器接到单片机的P3^3口,当酒精检测传感器模块TTL电平输出端时证明酒精浓度已经超过了阈值,则启动报警,给蜂鸣器以低电平,蜂鸣器响。
否则,给蜂鸣器低电平,蜂鸣器不响。
CPU控制模块
CPU采用STC89c52单片机,负责整套系统的运行。
它包含时钟电路和复位电路。
(1)时钟电路
单片机工作的时间基准是由时钟电路提供的,在单片机的XTAL1和XTAL2两个引脚
间,接一只晶振及两只电容就构成了单片机的
时钟电路。
电路中,电容器C1和C2对振荡频率有微调作用,同时帮助晶振起振,通常取值范围在
22±,一般晶振为,电容取22PF。
石英晶体选
择。
(2)复位电路
单片机系统的复位电路在可以采用的是按钮式上电复位电路形式,其中电阻R采用10KΩ的阻值,电容采22μF的电容值。
3应用软件设计
主程序设计
酒精测试仪的基本功能是通过酒精传感器采集到气体的酒精浓度,之后经过ADC0809数模转换发送给单片机,之后单片机发送给1602液晶进行显示。
当检测到的酒精浓度值超过了所设计的阈值,则酒精传感器模块将输出低电平,将其接到单片机P1^7引脚上,当单片机检测到该引脚为低电平时,则驱动蜂鸣器发生进行报警。
流程图:
子程序设计
显示子程序设计
采用1602液晶屏进行显示,将液晶数据输入端接到单片机P0口,单片机驱动液晶进行显示。
流程图:
报警电路采用蜂鸣器进行报警,当酒精浓度超过了设定值,则蜂鸣器发声进行报警,将蜂鸣器接到单片机的P3^3引脚。
流程图:
酒精检测子程序设计
酒精检测模块采用MQ-Snsor酒精气体传感器和ADC0809组成,将采集到的酒精浓度经过模数转换器发给单片机。
流程图:
4 系统调试与性能分析
开机界面
开机之后1602界面显示,酒精检测模块气体中酒精度发送给单片机。
浓度判断
当检测到的酒精浓度大于设定的阈值时,则单片机驱动蜂鸣器发生进行报警,提示检测者酒精浓度已经
超标。
阈值修改
(1)硬件修改
通过改变酒精传感器的电阻值来改变传感器对气体酒精度的检测灵敏度,来修改阈
值。
(2)软件修改
通过对系统运行程序进行阈值设定,检测到的酒精浓度,进行人为的软件设定阈值,进
行判别。
总结:
本作品针对生活中因醉酒驾驶引发交通事故日益严重,明确研究方向,制定计划方案。
深入研究酒精传感器、模数转换器等器件原理,查阅相关酒驾标准。
为制作出满足实际要求的作品,做好充分的准备。
在此期间所遇到的问题,通过最有效、最准确的渠道进行解决,为成功扫清障碍。
随着对单片机、ADC0809、LCD显示器的加深了解,对信号采集和数据算法处理的进一步学习;加入温度、湿度和气压的影响,在现有基础上进行改进,一定会使测得的数据更加准确,使作品与预期目标更接近。
使其能成为商品,进入家庭,实现我们以此为课题的最终目的。
参考文献
[1] 单成祥.传感器的理论与设计基础及其应用[M].北京:国防工业出版社,[2] 张福学.现代传感器电路[M].北京:中国计量出版社,2000,441
[3] 吴兴惠,王彩君.传感器与信号传感器[M].北京:电子工业出版社,1998 [4] 万隆,巴奉丽.单片机原理及应用技术[M].北京:清华大学出版社,2010 [5] 汤竟南,沈国琴.51单片机C语言开发与实例[M].人民邮电出版社
[6] 雷伏容,张小林,崔浩.51单片机常用模块设计查
询手册[M].北京:清华大学出版社,2010
[7] 韩成,张延拿了就用单片机[M].北京:人民邮电
出版社,2008
[8] 赵建领.51系列单片机开发宝典[M].北京:电子工业出版社,2007-04
[9] 张毅刚单片机原理及接口技术:人民邮电出版社附录
附录A 硬件电路图
附录B 程序清单
/********************************************** *******/
;
write_com(0x80+0x40+12);
write_date(table[c]);
write_com(0x80+0x40+13);
write_date(table[v]);
}
}
/***************************************
CLK振荡信号
****************************************/
void timer0( ) interrupt 1
;
}
}
}
void main()
{
uchar table[] = " xianzaiwendu: ";
2017年1月6日。