文档详情

基于51单片机酒精浓度监测仪设计与实现.ppt

发布:2018-05-10约3.01千字共20页下载文档
文本预览下载声明
设计背景 随着中国经济的高速发展,人民生活水平的迅速提高,中国逐渐步入“汽车社会”,酒后驾车行为所造成事故越来越多,对社会的影响也越来越大,酒精正在成为越来越凶残的“马路杀手”。 本研究设计了一种用于公共场所具有检测及报警功能的酒精浓度智能监测仪 设计思路 本设计主要基于51单片机来设计的。 通过MQ-2对呼出气体中酒精浓度的反应以取样电压的形式送入到NE555的触发端,使NE555的输出端由低变成高电平,继电器KS吸合,并将转换的数据送入单片机进行分析处理,并判断是否醉酒驾车,如果是,则发光二极管被点亮。 为了下一次继续检测,我设置了解除报警功能按键。 设计方案(系统框图) 单片机AT89C51简介 AT89C51是作为此系统的核心器件,具有以下主要特点: 与MCS-51 兼容    4K字节可编程FLASH闪速存储器    寿命:1000写/擦循环    数据保留时间:10年    全静态工作:0Hz-24MHz    128字节内部RAM    32个可编程I/O口线    两个16位定时器/计数器    5个中断源    可编程串行通道    低功耗的闲置和掉电模式 片内振荡器和时钟电路 单片机最小系统 单片机是一种微控制器,任何为控制器正常工作最基本的条件是要有电源、时钟电路、复位信号,三者缺一部可。 电源模块是为了解决单片机容易受到干扰而出现程序乱飞的现象。 单片机晶振的作用是为系统提供基本的时钟信号,通常一个系统共用一个晶振,便于各部分保持同步。 复位电路作用是把一个例如状态机初始化到空状态。 单片机最小系统图 复位电路与时钟电路 NE555模块简介 NE555是一个用途很广且相当普遍的计时IC,只需少数的电阻和电容,便可产生数位电路所需的各种不同频率之脉冲信号 。555集成电路是8脚封装,双列直插型 1脚为地。 2脚为触发端。 3脚为输出端。 4脚是复位端。 5脚为控制端。 6脚为阈值端。 7脚为放电端。 8脚是电源端。 酒精传感器MQ-2简介 MQ-2传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。 特点:灵敏度较高,长寿命、低成本,简单的驱动电路即可。 图是传感器的基本测试电路。该传感器需要施加2 个电压:加热器电压(VH)和测试电压(VC)。其中VH用于为传感器提供特定的工作温度。VC 则是用于测定与传感器串联的负载电阻(RL)上的电压(VRL)。这种传感器具有轻微的极性,VC 需用直流电源。在满足传感器电性能要求的前提下,VC 和VH 可以共用同一个电源电路。为更好利用传感器的性能,需要选择恰当的RL值。 系统原理图 硬件实物图 软件设计 在单片机开发过程中,经常用到两种语言:汇编语言和C语言。 由于汇编语言程序的可读性和可移植性都较差,采用汇编语言编写单片机应用系统程序的周期长,而且调试和排错也比较困难。 而C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。C语言有功能丰富的库函数、运算速度快、编译效率高、有良好的可移植性,而且可以直接实现对系统硬件的控制。因此,本设计采用了C语言来开发。 流程图 程序 #includereg52.h #define uint unsigned int #define uchar unsigned char sbit key1=P1^0; sbit key2=P3^2; sbit led=P1^1; uchar num=0; void delayms(uint xms) //延时函数 { uint i,j; for(i=xms;i0;i--) for(j=110;j0;j--); } void dete() //检测函数 { if(key1==0num==0) //如果key1按下并且num为0,执行下面的程序 { led=0; } else { led=1; } } void keyscan() { if(key2==0) //key2键,解除报警用 { delayms(10); if(key2==0) { num=1; //num为1时,dete内条件不成立,报警解除 } } } void main() { EA=1; //开总中断
显示全部
相似文档