资源简介
021 酒精浓度检测 仿真 显示 51单片机
代码片段和文件信息
#include
#include
#include “lcd1602.h“
/************端口定义********************/
sbit CS=P1^0; //ADC0832片选
sbit CLK=P1^1; //ADC0832时钟
sbit DIO=P1^2; //ADC0832输入输出
/*****************************************/
/********ADC0832的A/D转换程序************************/
unsigned char Get_AD_Result(unsigned char ch)
{
unsigned char idat1=0dat2=0;
CS = 0; _nop_(); _nop_(); //片选使能,低电平有效
CLK = 0; _nop_(); _nop_(); //芯片时钟输入
DIO = 1; _nop_(); _nop_();
CLK = 1; _nop_(); _nop_();
//第1个下降沿之前,设DI=1/0
//选择单端/差分(SGL/DIF)模式中的单端输入模式
CLK = 0;DIO = 1; _nop_(); _nop_();
CLK = 1; _nop_(); _nop_();
//第2个下降沿之前设置DI=0/1选择CHO/CH1
CLK = 0;
if(ch==0)
DIO = 0; //通道0 内部电压测试
else DIO = 1; //通道1
_nop_(); _nop_();
CLK = 1; _nop_(); _nop_();
//第3个下降沿之前设置DI=1
CLK = 0;DIO = 1; _nop_(); _nop_();
//第4-11个下降沿读数据(MSB->LSB)
for(i=0;i<8;i++)
{
CLK = 1; _nop_(); _nop_();
CLK = 0; _nop_(); _nop_();
dat1 = dat1 << 1 | DIO;
}
//第11-18个下降沿读数据(LSB->MSB)
for(i=0;i<8;i++)
{
CLK = 1; _nop_(); _nop_();
CLK = 0; _nop_(); _nop_();
dat2 = dat2 << ((unsigned char)(DIO)< }
CS = 1;//取消片选一个周期结束
//如果MSB->LSB和LSB->MSB读取的结果相同则返回读取的结果否则返回0
return dat1;
// return (dat1 == dat2) ? dat1:0;//取消校验
}
sbit ADDkey=P3^4;
sbit SECkey=P3^5;
sbit beep=P3^7;
//酒精检测相关定义
#define K_MG_MV 160/128 //传感器灵敏度系数,可自行校准 60 62 68 128
#define K_ZERO 30 //传感器零点漂移
int alcohol_alarm_value; //酒精浓度报警值 一般为80mg/L为酒驾检准
int alcohol_temp=0;
int alcohol_value=0;
void main()
{
LCD_init();
alcohol_alarm_value=80;
LCD_write_str(00“alcohol: mg/L“);
LCD_write_str(01“Alarm : mg/L“);
LCD_write_num(80alcohol_value);
LCD_write_num(71alcohol_alarm_value);
while(1)
{
//酒精检测 50mg/L=62.5ppm,传感器灵敏度应事先校准
// alcohol_temp=500.0*Get_AD_Result(0)/256;//获取AD转换值 计算电压值,单位10毫伏
// alcohol_temp=alcohol_temp-K_ZERO; //减去0点漂移 130mV
// if(alcohol_temp<0) alcohol_temp=0;
// else
// alcohol_temp=alcohol_temp*K_MG_MV;//将mV转成mg/LK_MG_MV系数需校准
// alcohol_value=alcohol_temp; //得到酒精值
alcohol_value=500.0*Get_AD_Result(0)/256; //得到酒精值
LCD_write_num(80alcohol_value); //刷新显示
LCD_write_num(71alcohol_alarm_value); //刷新显示
if(ADDkey==0) //加
{
while(ADDkey==0);
alcohol_alarm_value++;
}
if(SECkey==0)//减
{
while(SECkey==0);
alcohol_alarm_value--;
}
if(alcohol_value>alcohol_alarm_value) //判断报警
{
beep=0;
}else
{
beep=1;
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-04-24 16:01 021 酒精浓度检测\
目录 0 2019-04-24 16:01 021 酒精浓度检测\proteus仿真\
文件 121274 2018-03-31 19:05 021 酒精浓度检测\proteus仿真\alcohol.DSN
文件 22095 2019-04-24 16:01 021 酒精浓度检测\proteus仿真\alcohol.pdsprj
文件 872 2019-04-24 16:01 021 酒精浓度检测\proteus仿真\alcohol.pdsprj.ANOOP.PC1.workspace
文件 1102 2018-03-31 19:05 021 酒精浓度检测\proteus仿真\alcohol.PWI
文件 121274 2018-03-31 19:05 021 酒精浓度检测\proteus仿真\Last Loaded alcohol.DBK
文件 21535 2018-12-30 16:44 021 酒精浓度检测\proteus仿真\Last Loaded alcohol.pdsbak
文件 21471 2018-12-30 16:45 021 酒精浓度检测\proteus仿真\仿真图.pdsprj
文件 2198 2018-12-30 16:53 021 酒精浓度检测\proteus仿真\仿真图.pdsprj.ANOOP.PC1.workspace
目录 0 2019-04-24 16:01 021 酒精浓度检测\proteus仿真\源程序\
文件 17808 2018-12-30 16:46 021 酒精浓度检测\proteus仿真\源程序\alcohol
文件 1288 2018-12-30 16:46 021 酒精浓度检测\proteus仿真\源程序\alcohol.build_log.htm
文件 2937 2018-12-30 16:46 021 酒精浓度检测\proteus仿真\源程序\alcohol.c
文件 9813 2018-12-30 16:46 021 酒精浓度检测\proteus仿真\源程序\alcohol.hex
文件 46 2018-12-30 16:46 021 酒精浓度检测\proteus仿真\源程序\alcohol.lnp
文件 5806 2018-12-30 16:46 021 酒精浓度检测\proteus仿真\源程序\alcohol.LST
文件 17510 2018-12-30 16:46 021 酒精浓度检测\proteus仿真\源程序\alcohol.M51
文件 15852 2018-12-30 16:46 021 酒精浓度检测\proteus仿真\源程序\alcohol.OBJ
文件 402 2018-03-31 19:05 021 酒精浓度检测\proteus仿真\源程序\alcohol.plg
文件 71646 2018-12-30 16:54 021 酒精浓度检测\proteus仿真\源程序\alcohol.uvgui.PC1
文件 5443 2018-12-30 16:24 021 酒精浓度检测\proteus仿真\源程序\alcohol.uvopt
文件 13791 2018-12-30 16:24 021 酒精浓度检测\proteus仿真\源程序\alcohol.uvproj
文件 996 2018-03-31 19:04 021 酒精浓度检测\proteus仿真\源程序\alcohol_Opt.Bak
文件 0 2016-11-21 17:33 021 酒精浓度检测\proteus仿真\源程序\alcohol_Uv2.Bak
文件 4031 2018-12-30 16:39 021 酒精浓度检测\proteus仿真\源程序\lcd1602.h
文件 274617 2018-11-21 20:51 如何运行仿真.docx
文件 691 2019-04-24 15:13 说明书.txt
相关资源
- 3 8个温度检测+报警+可按键设置报警值
- 原理图源代码Proteus仿真.zip
- 用proteus实现数字抢答器
- 单片机红外报警系统仿真与源码和上
- 基于51单片机的m序列产生及应用研究
- 基于51单片机的全自动洗衣机控制系统
- 8路抢答器proteus仿真
- proteus 下pt100温度报警器
- 直流电机控制proteus仿真
- 用Proteus仿真的sht11电路
- 基于51单片机酒精浓度检测仪设计-源
- 基于51单片机水量检测c代码+proteus仿真
- 智能温度传感器Proteus+Keil含功能思路
- 51单片机密码锁PROTEUS仿真
- 交通灯控制电路设计,proteus仿真
- 单片机PIC16F887模拟电话设计程序含P
- 单片机水塔水位控制系统课程设计p
- 027 简易电子秤 LCD1602显示 超重报警
- 基于proteus的跑马灯仿真分析
- 51单片机温度报警器设计程序及prote
- 客车超载proteus仿真
- 基于PROTEUS的单片机多路温度采集系统
- 基于Proteus八路抢答器的设计与仿真
- 基于52单片机自动空调加PROTEUS仿真
- 8086Proteus报警器
- Proteus播放音乐
- proteus仿真16*16点阵屏显示汉字4个
- 嵌入式系统图形界面 GUI 基于51单片机
- LCD12864里面包括源代码和使用Proteus仿
- PROTEUS仿真单片机最小系统
评论
共有 条评论