资源描述:
《单片机课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、单片机课程设计报告——酒精自动报警系统纪鹏飞沈葭刘孝彬摘要:该项目以ATmega16为核心微处理器,实时监测动态扫描显示周围环境中的酒精浓度,一旦超过阈值即蜂鸣器报警。预计可用于车载监控及仓库等有防火要求的地方。关键字:酒精,报警,实时显示。一、前言:随着我国经济的腾飞和社会的变革,汽车成为当代社会主要的交通工具,随之带来的酒后驾驶问题已成为造成交通事故最主要的原因。为了避免交通悲剧的发生,一种有效地提醒民众防止酒后驾驶的系统的出现就成了现实中的迫切要求。而本课题正是要利用单片机知识制作造福社会大众的“酒后驾驶自动报警系统”,这种系统可谓应运而生。二、系统设计目的、用途以及
2、功能:正如前言所述,酒后驾驶问题日益成为当今社会的巨大问题,其所引起的交通事故比比皆是,正是基于对这种社会状况的担忧,我们选择了“酒后驾驶自动报警系统”这一课题。该系统安装在驾驶室内,对其周围的气体进行检测,一旦发现酒精浓度超过标准,就启动报警装置,提醒民众防止酒后驾驶,以最大限度地避免酒后驾驶可能给社会和个人造成的巨大损失。该系统的开发与应用不仅有利于培养我们大学生积极思考、勤于动手的能力,培养我们善于与他人合作的精神,而且造福于我们广大人民群众,对我国经济与社会的稳定起着不可忽略的作用。三、系统设计所需资源:MQ303A酒精传感器1个,AVR单片机芯片,ATmega16
3、单片机实验板1个,印刷电路板一块,七段数码管4个,五号干电池一节,以及若干电感一个,104电容一个,蜂鸣器一个,5k欧电阻一个,360欧电阻8个。成本:计约30元。四、系统设计原理与内容:1、硬件设计思想和原理图采用MQ303将酒精信号转换成敏感体电阻的变化,外接电源和负载电阻,把电阻变化转换成电压信号,利用Mega16单片机的模数转换功能采样电压变化,转换成酒精浓度用七段数码管显示出来,当达到预定报警浓度时,蜂鸣器报警。2如何使用硬件单元将MQ303预留引脚接电池,预热3秒以上。接通单片机电源,七段数码管闪烁显示周围酒精浓度。一旦酒精浓度超过阈值,蜂鸣器报警。硬件原理图2
4、、软件设计思想、流程与功能1端口初始化部分PORTA用于传感器信号输入和蜂鸣器输出;PORTB用于控制LED显示;PORTC用于LED位选。2传感器采集部分:采用ADC差分输入,因为传感器输出电压可以达到0-5v,单片机可以直接处理,故使用1倍增益。3ADC转换部分:使用7.3728M晶振,32分频,T0比较匹配中断,定时2ms,转换结果右对齐。4七段数码管显示部分动态扫描显示,间隔2ms。全部程序编译环境Iccavr//ICC-AVRapplicationbuilder:2008-5-2921:45:59//Target:M16//Crystal:7.3728Mhz#in
5、clude#includeflashunsignedcharled_7[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};flashunsignedcharposition[4]={0x01,0x02,0x04,0x08};unsignedchardis_buff[4]={0,0,0,0},posit;inttime_2ms_ok;unsignedlongintvalue;unsignedlongintmiddle_1,middle_2,middle_3;unsignedl
6、ongdensity;voidport_init(void){PORTA=0x00;DDRA=0xF0;PORTB=0x00;DDRB=0xFF;PORTC=0x00;DDRC=0xFF;PORTD=0x00;DDRD=0xFF;}//ADCinitialize//Conversiontime:112uSvoidadc_init(void){ADCSR=0x00;//disableadcADMUX=0x50;//selectadcavccACSR=0x80;SFIOR&=0x1F;SFIOR
7、=0x60;ADCSR=0xAD;}voiddensity_dis_buff(){
8、unsignedchari;for(i=0;i<=3;i++){dis_buff[i]=density%10;density/=10;}}#pragmainterrupt_handleradc_isr:iv_ADCvoidadc_isr(void){//conversioncomplete,readvalue(int)using...value=ADCL;//Read8lowbitsfirst(important)value
9、=(int)ADCH<<8;//read2highbitsandshiftintotopb