找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 9002|回復(fù): 13
收起左側(cè)

基于51單片機的1602+ADC0832煙霧報警系統(tǒng)Proteus仿真程序設(shè)計

  [復(fù)制鏈接]
ID:830316 發(fā)表于 2020-10-17 10:42 | 顯示全部樓層 |閱讀模式
本設(shè)計基于51單片機,共有ADC0832數(shù)模轉(zhuǎn)換模塊,1602液晶顯示模塊,按鍵控制與聲光報警模塊4大模塊組成!可實現(xiàn)對煙霧濃度的實時監(jiān)測與反應(yīng)

之后是仿真目錄
51hei.png 51hei.png
下面是部分代碼,想要了解,可以下載文末完整附件!
//基于1602+ADC0832的煙霧/溫度報警系統(tǒng)
//作者:科技小宅神
//創(chuàng)作時間:2020/09/20
//版權(quán):科技小宅神原創(chuàng)!抄襲必究,僅供參考學(xué)習!
#include <reg51.h>//包含51單片機寄存器的頭文件
#include <1602.h>//調(diào)用1602.h文件
#include <intrins.h>//包含_nop_函數(shù)定義的頭文件
#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;//數(shù)據(jù)信號輸入/輸出,并聯(lián)使用。定義為P1^2引腳
//有害氣體含量變量
uchar temp;        //用于讀取ADC數(shù)據(jù)
uchar yushe_yanwu= 255;  //煙霧預(yù)設(shè)值
//按鈕模式
uchar mode=0;
//管腳聲明
sbit led_yanwu= P2^3;   //煙霧報警燈
sbit baojing= P2^4;    //蜂鳴器接口
//按鍵
sbit key1=P2^5;     //設(shè)置鍵
sbit key2=P2^6;     //加按鍵
sbit key3=P2^7;     //減按鍵

//1毫秒延時程序(不精確)
void delayms(uint ms)
{
uchar t;
while(ms--)
{
  for(t=0;t<120;t++);
}
}
//ADC0832函數(shù)
uchar AD()
{
uchar i,dat1 = 0,dat2 = 0;
//第一個周期:轉(zhuǎn)換開始
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個下降沿讀取數(shù)據(jù)(MSB->LSB) 先進來的為最高位,后進來為最低位
for(i=0;i<8;i++)
{
  CLK = 1;  _nop_();_nop_();
  CLK = 0;  _nop_();_nop_();
  dat1 = dat1<<1|DIO;
}
//11-18 共8個下降沿讀取數(shù)據(jù)(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讀取數(shù)據(jù)結(jié)果相同,返回讀取結(jié)果,否者0
return (dat1==dat2) ? dat1 : 0 ;
}

下面是文件夾里的總目錄
51hei.png
全部資料51hei下載地址:
基于1602+ADC0832的煙霧報警系統(tǒng).zip (121.56 KB, 下載次數(shù): 497)

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:833323 發(fā)表于 2020-11-9 16:25 來自觸屏版 | 顯示全部樓層
如果是用漢字顯示要如何編寫呢
回復(fù)

使用道具 舉報

ID:841129 發(fā)表于 2020-11-9 18:01 | 顯示全部樓層
太好了,解決了我的問題!�。。。�!
回復(fù)

使用道具 舉報

ID:830316 發(fā)表于 2020-11-9 22:08 | 顯示全部樓層
要購買帶中文字庫的1602以及相應(yīng)的中文取模軟件
回復(fù)

使用道具 舉報

ID:787274 發(fā)表于 2020-11-18 16:19 | 顯示全部樓層
我用pretues7.8好像打不開,新手不知道怎么回事,有解答的嗎?
回復(fù)

使用道具 舉報

ID:328014 發(fā)表于 2020-11-18 16:27 | 顯示全部樓層
呆呆啊啊啊 發(fā)表于 2020-11-18 16:19
我用pretues7.8好像打不開,新手不知道怎么回事,有解答的嗎?

pretues7.8不行的,.pdsprj文件要8.8版本可以成功打開
回復(fù)

使用道具 舉報

ID:830316 發(fā)表于 2020-11-19 23:36 | 顯示全部樓層
呆呆啊啊啊 發(fā)表于 2020-11-18 16:19
我用pretues7.8好像打不開,新手不知道怎么回事,有解答的嗎?

我這是8.6的,建議升級一下

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:886143 發(fā)表于 2021-3-2 17:15 | 顯示全部樓層
請問,一個ADC0832可以連接兩個傳感器嗎,一個壓力傳感器檢測超載,一個煙霧傳感器?
回復(fù)

使用道具 舉報

ID:830316 發(fā)表于 2021-3-15 00:29 | 顯示全部樓層
cfgvbjk 發(fā)表于 2021-3-2 17:15
請問,一個ADC0832可以連接兩個傳感器嗎,一個壓力傳感器檢測超載,一個煙霧傳感器?

不太清楚,應(yīng)該不可以
回復(fù)

使用道具 舉報

ID:886143 發(fā)表于 2021-3-15 18:06 | 顯示全部樓層
Unique。 發(fā)表于 2020-11-9 16:25
如果是用漢字顯示要如何編寫呢

還就換個LCD吧,可以用LCD12864
回復(fù)

使用道具 舉報

ID:336823 發(fā)表于 2021-4-8 09:30 | 顯示全部樓層
請問有ADC0832的補丁嗎,仿真時報錯顯示找不到這個模型
回復(fù)

使用道具 舉報

ID:911990 發(fā)表于 2021-5-15 23:04 來自觸屏版 | 顯示全部樓層
cfgvbjk 發(fā)表于 2021-3-2 17:15
請問,一個ADC0832可以連接兩個傳感器嗎,一個壓力傳感器檢測超載,一個煙霧傳感器?

可以的
回復(fù)

使用道具 舉報

ID:440028 發(fā)表于 2022-1-12 08:46 | 顯示全部樓層
下載后有能正常工作的嗎?我用的是8.9版本
回復(fù)

使用道具 舉報

ID:1007525 發(fā)表于 2022-4-22 10:50 | 顯示全部樓層
有沒有人做成實物驗證,我想做一個出來看看
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表