找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1592|回复: 10
收起左侧

基于51单片机的1602+ADC0832烟雾报警系统Proteus仿真程序设计

  [复制链接]
电子电子小宅神 发表于 2020-10-17 10:42 | 显示全部楼层 |阅读模式
本设计基于51单片机,共有ADC0832数模转换模块,1602液晶显示模块,按键控制与声光报警模块4大模块组成!可实现对烟雾浓度的实时监测与反应

之后是仿真目录
51hei.png 51hei.png
下面是部分代码,想要了解,可以下载文末完整附件!
//基于1602+ADC0832的烟雾/温度报警系统
//作者:科技小宅神
//创作时间:2020/09/20
//版权:科技小宅神原创!抄袭必究,仅供参考学习!
#include <reg51.h>//包含51单片机寄存器的头文件
#include <1602.h>//调用1602.h文件
#include <intrins.h>//包含_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)<<i);
  CLK = 1;  _nop_();_nop_();
  CLK = 0;  _nop_();_nop_();
}

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

下面是文件夹里的总目录
51hei.png
全部资料51hei下载地址:
基于1602+ADC0832的烟雾报警系统.zip (121.56 KB, 下载次数: 177)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

Unique。 发表于 2020-11-9 16:25 来自手机 | 显示全部楼层
如果是用汉字显示要如何编写呢
回复

使用道具 举报

ccxniubi 发表于 2020-11-9 18:01 | 显示全部楼层
太好了,解决了我的问题!!!!!!
回复

使用道具 举报

 楼主| 电子电子小宅神 发表于 2020-11-9 22:08 | 显示全部楼层
要购买带中文字库的1602以及相应的中文取模软件
回复

使用道具 举报

呆呆啊啊啊 发表于 2020-11-18 16:19 | 显示全部楼层
我用pretues7.8好像打不开,新手不知道怎么回事,有解答的吗?
回复

使用道具 举报

51hei团团 发表于 2020-11-18 16:27 | 显示全部楼层
呆呆啊啊啊 发表于 2020-11-18 16:19
我用pretues7.8好像打不开,新手不知道怎么回事,有解答的吗?

pretues7.8不行的,.pdsprj文件要8.8版本可以成功打开
回复

使用道具 举报

 楼主| 电子电子小宅神 发表于 2020-11-19 23:36 | 显示全部楼层
呆呆啊啊啊 发表于 2020-11-18 16:19
我用pretues7.8好像打不开,新手不知道怎么回事,有解答的吗?

我这是8.6的,建议升级一下

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

cfgvbjk 发表于 2021-3-2 17:15 | 显示全部楼层
请问,一个ADC0832可以连接两个传感器吗,一个压力传感器检测超载,一个烟雾传感器?
回复

使用道具 举报

 楼主| 电子电子小宅神 发表于 2021-3-15 00:29 | 显示全部楼层
cfgvbjk 发表于 2021-3-2 17:15
请问,一个ADC0832可以连接两个传感器吗,一个压力传感器检测超载,一个烟雾传感器?

不太清楚,应该不可以
回复

使用道具 举报

cfgvbjk 发表于 2021-3-15 18:06 | 显示全部楼层
Unique。 发表于 2020-11-9 16:25
如果是用汉字显示要如何编写呢

还就换个LCD吧,可以用LCD12864
回复

使用道具 举报

幻夜行 发表于 2021-4-8 09:30 | 显示全部楼层
请问有ADC0832的补丁吗,仿真时报错显示找不到这个模型
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表