文档详情

单片机课程设计酒精自动报警系统.doc

发布:2019-01-17约4.69千字共8页下载文档
文本预览下载声明
以及若干电感一个,104 以及若干电感一个,104电容一个,蜂鸣器 单片机课程设计报告 酒精自动报警系统 摘要: 该项目以ATmegal6为核心微处理器,实时监测动态扫描显示周围环境屮的 酒精浓度,一旦超过阈值即蜂鸣器报警。预计可用于车载监控及仓库等有防火要 求的地方。 酒精,报警,实时显示。 一、 前言: 随着我国经济的腾飞和社会的变革,汽车成为当代社会主要的交通工具,随Z带 來的酒后驾驶问题已成为造成交通事故最主要的原因。为了避免交通悲剧的发牛,一种有效 地提醒民众防止酒后驾驶的系统的出现就成了现实中的迫切要求。而本课题正是要利用单片 机知识制作造福社会大众的“酒后驾驶自动报警系统”,这种系统可谓应运而生。 二、 系统设计目的、用途以及功能: 正如前言所述,酒后驾驶问题口益成为当今社会的巨大问题,其所引起的交通事故比比 皆是,正是基于对这种社会状况的担忧,我们选择了 “酒后驾驶白动报警系统”这一课题。 该系统安装在驾驶室内,对其周I韦I的气体进行检测,一旦发现酒精浓度超过标准,就启动报 警装置,提醒民众防止酒后驾驶,以最人限度地避免酒后驾驶可能给社会和个人造成的巨犬 损失。该系统的开发为应用不仅有利于培养我们大学生积极思考、勤于动手的能力,培养我 们善于与他人合作的精神,而H造福于我们广大人民群众,对我国经济与社会的稳定起着不 可忽略的作用。 三、 系统设计所需资源: MQ3O3A酒精传感器1个,AVR单片机芯片,ATmegalG单片机实验板1个,印刷电 路板一块,七段数码管4个,五号干电池一节, 一个,5k欧电阻一个,360欧电阻8个。 成本:计约30元。 四、 系统设计原理与内容: 1、硬件设计思想和原理图 采用MQ3O3将洒精信号转换成敏感体 电肌的变化,外接电源和负载电阻,把电阻 变化转换成电压信号,利用Mega 16单片机 的模数转换功能采样电压变化,转换成酒精 浓度用七段数码管显示出來,当达到预定报 警浓度吋,蜂鸣器报警。 2如何使用硬件单元 将MQ303预留引脚接电池,预热3秒 以上。 接通单片机电源,七段数码管闪烁显示 周围酒精浓度。 一旦酒楷浓度超过阈值,蜂鸣器报警。 LSL踏盂SK(ADCtDPAO (ADCDFAl (ADCMA2 (ADOAJU (ADC4)PA4 (ADCS PAS (ADCWA6盟烹SSSK1SDOX.XTORIcCAP硬件原理图 LSL踏盂SK (ADCtDPAO (ADCDFAl (ADCMA2 (ADOAJU (ADC4)PA4 (ADCS PAS (ADCWA6 盟烹SSSK1S DOX.XTOR I c CAP 2、软件设计思想、流程与功能 1端口初始化部分 PORTA用于传感器信号输入和 蜂鸣器输出; PORTB用于控制LED显示; PORTC用于LED位选。 2传感器采集部分: 采用ADC差分输入,因为传感器 输出电压可以达到0-5v,单片机可以 直接处理,故使用1倍增益。 3 ADC转换部分: 使用7.3728M晶振,32分频,TO 比较匹配屮断,定时2ms,转换结果右 对齐。 4七段数码管显示部分 动态扫描显示,间隔2ms。 酒精浓度是否、达到阈值’全部程序 酒精浓度是否 、达到阈值’ 编译环境Ice avr //ICC-AVR application builder : 2008-5-29 21:45:59 // Target: M16 // Crystal: 7.3728Mhz #includc ioml6v.h #include macros.h flash unsigned char led_7[ 10]={OxCO,0xF9,OxA4,0xB0,0x99,0x92,0x82,OxF8,0x80,0x90}; flash unsigned char position[4]={ 0x() 1,0x02,0x04,0x08}; unsigned char dis_buff[4]= {0,0,0,0},posit; int time_2ms_ok; unsigned long int value; unsigned long int middle. 1 ,middle_2,middle_3; unsigned long density; void port_init(void) PORTA = 0x00; DDRA = 0xF0; PORTB = 0x00; DDRB = OxFF; PORTC = 0x00; DDRC = OxFF; PORTD = 0x00; DDRD = OxFF; } //ADC initialize // Conversion time: 112uS void adc」nit(void) { ADCSR = 0x00; //dis
显示全部
相似文档