基于51单片机的酒精报警器设计 下载本文

内容发布更新时间 : 2024/10/23 2:04:10星期一 下面是文章的全部内容请认真阅读。

//ADC0809读取信息 uchar ADC0809() { uchar temp_=0x00; //初始化高阻太 OE=0; //转化初始化 ST=0; //开始转换 ST=1; ST=0; //外部中断等待AD转换结束 while(EOC==0) //读取转换的AD值 OE=1; temp_=Data_ADC0809; OE=0; return temp_; } //按键函数 void Key() { if(Key1==0) //如果设置按键按下 { while(Key1==0);//等待按键释放 FENG=0; //蜂鸣器响 set++; //设置的变量加1 flag=0; //绿灯闪 TR0=0; //关定时器0 } if(set==1)//此时设置报警值 { write_com(0x38);//屏幕初始化 write_com(0x80+0x40+13);//位置 write_com(0x0f);//打开显示 无光标 光标闪烁 write_com(0x06);//当读或写一个字符是指针后一一位 FENG=1; //蜂鸣器关 } else if(set>=2) //又按了下设置 { set=0; //正常显示状态 write_com(0x38);//屏幕初始化 write_com(0x0c);//打开显示 无光标 无光标闪烁 FENG=1; //蜂鸣器关 flag=1; //红灯闪 TR0=1; //定时器0开 } if(Key2==0&&set!=0) //在设置的状态下按下加 { while(Key2==0); //等待按键释放 FENG=0; //蜂鸣器响 WARNING++; //报警值加1 if(WARNING>=255) //如果报警值大于等于255 WARNING=0; //报警值归零 write_com(0x80+0x40+11); write_data('0'+WARNING/100); write_data('0'+WARNING/10); write_data('0'+WARNING); //显示报警值 write_com(0x80+0x40+13);//调整位置 FENG=1; //蜂鸣器关 } if(Key3==0&&set!=0) //在设置的状态下按下减 { while(Key3==0); //等待按键释放 FENG=0; //蜂鸣器响 WARNING--; //报警值减1 if(WARNING<=0) //如果报警值小于等于0 WARNING=255; //那么报警值为255 write_com(0x80+0x40+11); write_data('0'+WARNING/100); write_data('0'+WARNING/10); write_data('0'+WARNING); write_com(0x80+0x40+13);//调整位置 FENG=1; //蜂鸣器关 } } void time1_int(void) interrupt 1 //定时器中断0 { uchar count; TL0=0xb0; TH0=0x3c; //重赋初值50ms count++; ///溢出值加1 if(count==10) //如果时间到半秒 { if(flag==0) //如果flag为0 { LED_G=0; //绿灯亮 LED_R=1; //红灯灭 FENG=1; //蜂鸣器关 } if(flag==1) //如果flag为1 { LED_G=1; //绿灯关 LED_R=0; //红灯亮 FENG=0; //蜂鸣器开 } } if(count==20) //如果时间到1秒 { count=0; //溢出值清零 if(flag==0) //如果flag为0 { LED_G=1; //绿灯关 LED_R=1; //红灯灭 FENG=1; //蜂鸣器关 } if(flag==1) //如果flag为1 { LED_G=1; //绿灯关 LED_R=1; //红灯灭 FENG=1; //蜂鸣器关 } } }程序流程图 第五章 总结 本作品针对生活中因醉酒驾驶引发交通事故日益严重,明确研究方向,制定计划方案。深入研究酒精传感器、模数转换器等器件原理,查阅酒驾标准。为制作出满足实际要求的作品,做好充分的准备。在此期间所遇到的问题,通过最有效、最准确的渠道进行解决,为成功扫清障碍。 完成本作品的主要困难有: (1)在课程中虽然我们学过C语言程序设计,但是始终处于理论阶段,对于程序控制运行方面无任何实战经验; (2)开始对单片机、ADC0809、LCD显示器一无所知,必需从头学习,而且在时间的分配上也要把握好; (3)对于遇到非人为因素所带来的问题,导致的解决问题效率低下,使我们的时间更感急迫。 随着对单片机、ADC0809、LCD显示器的加深了解,对信号采集和数据算法处理的进一步学习;加入温度、湿度和气压的影响,在现有基础上进行改进,一定会使测得的数据更加准确,使作品与预期目标更接近。使其能成为商品,进入家庭,实现我们以此为课题的最终目地。