基于51单片机的报警器【模拟量,4路,ADC0832】(仿真)

您所在的位置:网站首页 扫码报警器 基于51单片机的报警器【模拟量,4路,ADC0832】(仿真)

基于51单片机的报警器【模拟量,4路,ADC0832】(仿真)

2024-07-13 14:20| 来源: 网络整理| 查看: 265

面向污水处理厂的气体检测电子鼻系统硬件部分主要由以下的部分组成:硫化氢传感器、氨气传感器、甲烷传感器、一氧化碳传感器、A/D转换模块、按键模块、电源供电模块、STC89C51单片机最小系统、液晶显示模块、声光报警电路。由传感器采集到的硫化氢、氨气、甲院、一氧化碳数值传送给单片机,在单片机的处理下,将最后的具体数值通过液晶屏显示出来。并设置上限,越限时要发出报警。

#include "ADC0832.h" #include "intrins.h" //读取AD值 unsigned int ADC0832(unsigned char channel,unsigned char tong) //AD转换,返回结果 { unsigned char i = 0; unsigned char j; unsigned int dat = 0; unsigned char ndat = 0; if (channel == 0) channel = 2;//通道1 if (channel == 1) channel = 3;//通道2 ADDI = 1;//输入引脚拉高 _nop_();//延时1us _nop_();//延时1us switch(tong) { case 0:ADCS1 = 0;break;//片选 case 1:ADCS2 = 0;break;//片选 case 2:ADCS3 = 0;break;//片选 case 3:ADCS4 = 0;//片选 } _nop_();//延时1us _nop_();//延时1us ADCLK = 1;//拉高时钟 _nop_();//延时1us _nop_();//延时1us ADCLK = 0;//拉低时钟 _nop_();//延时1us _nop_();//延时1us ADCLK = 1;//拉高时钟 ADDI = channel & 0x1; _nop_();//延时1us _nop_();//延时1us ADCLK = 0;//拉低时钟 _nop_();//延时1us _nop_();//延时1us ADCLK = 1;//拉高时钟 ADDI = (channel >> 1) & 0x1; _nop_();//延时1us _nop_();//延时1us ADCLK = 0;//拉低时钟 ADDI = 1;//输出1 _nop_();//延时1us _nop_();//延时1us dat = 0; //存储清零 ADDI =1; for (i = 0; i < 8; i++) //循环8次 { dat |= ADDI;//读取引脚 ADCLK = 1; //拉高时钟 _nop_();//延时1us _nop_();//延时1us ADCLK = 0;//拉低时钟 _nop_();//延时1us _nop_();//延时1us dat


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3