历史上的今天
返回首页

历史上的今天

今天是:2024年11月09日(星期六)

正在发生

2020年11月09日 | 基于51单片机的1602+ADC0832烟雾报警系统

2020-11-09 来源:51hei

本设计基于51单片机,共有ADC0832数模转换模块,1602液晶显示模块,按键控制与声光报警模块4大模块组成!可实现对烟雾浓度的实时监测与反应

之后是仿真目录
 
下面是部分代码,想要了解,可以下载文末完整附件!
//基于1602+ADC0832的烟雾/温度报警系统
//作者:科技小宅神
//创作时间:2020/09/20
//版权:科技小宅神原创!抄袭必究,仅供参考学习!
#include //包含51单片机寄存器的头文件
#include <1602.h>//调用1602.h文件
#include //包含_nop_函数定义的头文件
#define uchar unsigned char
#define uint unsigned int

//ADC0832引脚定义
sbit CS = P1^0;//片选使能位,定义为P1^0引脚
sbit CLK = P1^1;//时钟脉冲输入位,定义为P1^1引脚
sbit DIO = P1^2;//数据信号输入/输出,并联使用。定义为P1^2引脚
//有害气体含量变量
uchar temp;        //用于读取ADC数据
uchar yushe_yanwu= 255;  //烟雾预设值
//按钮模式
uchar mode=0;
//管脚声明
sbit led_yanwu= P2^3;   //烟雾报警灯
sbit baojing= P2^4;    //蜂鸣器接口
//按键
sbit key1=P2^5;     //设置键
sbit key2=P2^6;     //加按键
sbit key3=P2^7;     //减按键

//1毫秒延时程序(不精确)
void delayms(uint ms)
{
uchar t;
while(ms--)
{
  for(t=0;t<120;t++);
}
}
//ADC0832函数
uchar AD()
{
uchar i,dat1 = 0,dat2 = 0;
//第一个周期:转换开始
CS = 0;
CLK = 0;
DIO = 1;
_nop_(); _nop_();//短暂定时2us——也可以写成delay2us();,那么程序就要有delay2us();的定义了。
CLK = 1; _nop_(); _nop_();


//第二个周期:选择选择单通道还是双通道  DIO=0双通道差分 或 DIO=1单通道
CLK = 0; DIO=1; _nop_();_nop_();
CLK = 1;        _nop_();_nop_();

//第三个周期:DIO选择CH1-->如果DIO=0 选择CH0
CLK = 0;DIO = 0; _nop_();_nop_();
CLK = 1;DIO = 1; _nop_();_nop_();

//等待
CLK = 0; DIO = 1; _nop_();_nop_();

//4-11,共8个下降沿读取数据(MSB->LSB) 先进来的为最高位,后进来为最低位
for(i=0;i<8;i++)
{
  CLK = 1;  _nop_();_nop_();
  CLK = 0;  _nop_();_nop_();
  dat1 = dat1<<1|DIO;
}
//11-18 共8个下降沿读取数据(LSB->MSB) 先进来的为最低位,后进来为最高位
for(i=0;i<8;i++)
{
  dat2 = dat2|((uchar)(DIO)<  CLK = 1;  _nop_();_nop_();
  CLK = 0;  _nop_();_nop_();
}

//禁止片选
CS = 1;
//如果MSB->LSB和LSB->MSB读取数据结果相同,返回读取结果,否者0
return (dat1==dat2) ? dat1 : 0 ;
}

推荐阅读

史海拾趣

意普(ESPE)公司的发展小趣事

作为一家有社会责任感的企业,意普(ESPE)公司始终关注环保和可持续发展。公司采用环保材料和生产工艺,减少了对环境的污染。同时,公司还积极参与社会公益活动,为社会做出了积极贡献。这些举措不仅提升了公司的社会形象,也为企业的长期发展奠定了良好的社会基础。

Ho Chien Electronics Group Inc公司的发展小趣事

随着工业自动化和智能化的不断发展,意普(ESPE)公司开始将光电保护技术与智能制造相结合,推出了多款智能光电保护产品。这些产品具有更高的检测精度和更快的反应速度,能够更好地保护操作人员的安全。同时,公司还积极参与工业互联网和物联网的建设,推动光电保护技术的智能化发展。

Deutron Electronics Corp公司的发展小趣事

Deutron Electronics Corp深知研发和创新对于公司发展的重要性。因此,公司始终保持着对研发的高投入,不断引进和培养人才。公司建立了完善的研发体系,鼓励员工参与创新活动,并为他们提供了充足的资源和支持。这些措施使得Deutron Electronics Corp在研发方面取得了显著成果,为公司的发展提供了源源不断的动力。

DBM Optix公司的发展小趣事

在竞争激烈的电子行业中,DBM Optix深知只有不断创新才能保持领先地位。因此,公司始终将研发作为核心竞争力之一,持续投入大量资金用于新技术、新产品的开发。通过与高校、研究机构等合作,DBM Optix不断引入新技术、新材料,并将其应用于产品中,从而不断提升产品的性能和品质。这些创新举措使得DBM Optix在光学通信领域始终保持领先地位。

DCX-CHOL Enterprises公司的发展小趣事

DCX-CHOL Enterprises成立于一个科技蓬勃发展的时代。公司的创始人是一群热衷于电子技术的年轻人,他们看到市场上对于高性能、低功耗芯片的巨大需求,于是决定自主研发。经过数年的艰苦努力,他们成功开发出了一款具有革命性意义的低功耗芯片,该芯片不仅性能卓越,而且成本远低于同类产品。这一创新成果迅速赢得了市场的认可,DCX-CHOL Enterprises因此获得了第一桶金,为公司后续的发展奠定了坚实的基础。

Compostar Technology Co Ltd公司的发展小趣事

Compostar Technology Co Ltd公司自成立以来,一直致力于电子技术的研发与创新。在早期,公司凭借一款具有高效能耗比的电源管理芯片,成功打入了市场。随着技术的不断进步,公司逐渐将业务扩展到通信、智能家居和可穿戴设备等多个领域。公司不断投入研发资金,吸引了一批优秀的科研人才,成功研发出多款具有竞争力的产品,逐渐在电子行业中树立了良好的口碑。

问答坊 | AI 解惑

全球通用测试测量市场趋势分析

根据测试测量世界tmworld与Frost & Sullivan的联合调查,全球通用仪器市场的大部分份额仍然由示波器、频谱分析仪、信号发生器、万用表四种仪器把持。如图(1)所示四种仪器所占份额依次为33.7%,17.3%,16.3%,13.1%。个人认为,频谱分析仪之所以会占 ...…

查看全部问答>

Altium Designer 6.0 设计管理器学习

Altium Designer 6.0 的所有电路设计工作都必须在 Design Explorer (设计管理器)中进行,同时设计管理器也是 Altium Designer 6.0 启动后的主工作接口。设计管理器具有友好的人机接口,而且设计功能强大,使用方便,易于上手。因此本章将对设计管 ...…

查看全部问答>

TFTP: Desktop losing ACK, block number =3(无法传输nk)

pb通过以太网无法传输nk,串口调试信息                               TFTP: Desktop losing ACK, block number = 3      ...…

查看全部问答>

DM365DVR上TD模块(LC6311)的网速测试的疑问

我的开发平台是DM365DVR,通过USB方式将TD模块(LC6311)连接到DM365DVR上,正确配置后,能够成功拨号,也能够通过TD网络传输视频,但是传输效果极差。CIF(352*288)格式的视频每秒只能传输一到两帧,而且画面质量也不好。更可气的是传不几秒就断 ...…

查看全部问答>

系统 电池电量低挂起。

要做这个功能,希望大家说说。你们系统是在哪个位置做的这个功能,我好去看看我的代码,谢谢大家。…

查看全部问答>

新手紧急求助:232编程问题

具体事情如下: 传感器测一个力,送到“TR700数字式重量变送器”上显示。现在从“TR700数字式重量变送器”上接出的一个RS232接到电脑上,需要做的是在电脑上采集传感器测得的数据并存储下来。 从来没做过这方面的工作,在网上查了一下还是毫无头 ...…

查看全部问答>

驱动中触摸屏坐标和LCD坐标转换问题!!

#define TOUCH_MAX_X 1000 // 950 #define TOUCH_MIN_X 30 // 90 #define TOUCH_MAX_Y 980 // 960 // 910 #define TOUCH_MIN_Y 30 // 70 //50 #define TOUCH_X 800 #define TOUCH_Y 480 VOID Touch_CoordinateConversion(INT *px, INT ...…

查看全部问答>

bsp中romStart的解压缩过不去~

开发的硬件是mips架构的CPU~ 郁闷了~在dos下编bootrom.bin,烧进flash后通过点灯观察运行状况 在romStart函数中复制rom代码到ram已经没问题,之后可以成功调用rom中的点灯程序或者已经复制到ram中的点灯程序拷贝。 但是解压缩就是过不去~ 想问 ...…

查看全部问答>

初学者

向各位高手请教一下,我是刚学51单片机的,8位CPU和片外32口线,16地址线是什么意思?尽量讲的通俗易懂些,谢谢!…

查看全部问答>

一个文件读取的问题?

我在VC下写        char szDrive[256]={0};         char szDir[256]={0};         char szPath[256]={0};         _splitpath(szFileName,szDrive,szDir,NUL ...…

查看全部问答>