• 大小: 396KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-08-28
  • 语言: 其他
  • 标签: proteu  酒驾检测  

资源简介

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

评论

共有 条评论