找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 9058|回復(fù): 13
打印 上一主題 下一主題
收起左側(cè)

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

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:830316 發(fā)表于 2020-10-17 10:42 | 只看該作者 |只看大圖 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
本設(shè)計(jì)基于51單片機(jī),共有ADC0832數(shù)模轉(zhuǎn)換模塊,1602液晶顯示模塊,按鍵控制與聲光報警模塊4大模塊組成!可實(shí)現(xiàn)對煙霧濃度的實(shí)時監(jiān)測與反應(yīng)

之后是仿真目錄

下面是部分代碼,想要了解,可以下載文末完整附件!
//基于1602+ADC0832的煙霧/溫度報警系統(tǒng)
//作者:科技小宅神
//創(chuàng)作時間:2020/09/20
//版權(quán):科技小宅神原創(chuàng)!抄襲必究,僅供參考學(xué)習(xí)!
#include <reg51.h>//包含51單片機(jī)寄存器的頭文件
#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) 先進(jìn)來的為最高位,后進(jìn)來為最低位
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) 先進(jìn)來的為最低位,后進(jìn)來為最高位
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下載地址:
基于1602+ADC0832的煙霧報警系統(tǒng).zip (121.56 KB, 下載次數(shù): 497)

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏10 分享淘帖 頂3 踩
回復(fù)

使用道具 舉報

沙發(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ù)

使用道具 舉報

5#
ID:787274 發(fā)表于 2020-11-18 16:19 | 只看該作者
我用pretues7.8好像打不開,新手不知道怎么回事,有解答的嗎?
回復(fù)

使用道具 舉報

6#
ID:328014 發(fā)表于 2020-11-18 16:27 | 只看該作者
呆呆啊啊啊 發(fā)表于 2020-11-18 16:19
我用pretues7.8好像打不開,新手不知道怎么回事,有解答的嗎?

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

使用道具 舉報

7#
ID:830316 發(fā)表于 2020-11-19 23:36 | 只看該作者
呆呆啊啊啊 發(fā)表于 2020-11-18 16:19
我用pretues7.8好像打不開,新手不知道怎么回事,有解答的嗎?

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

評分

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

查看全部評分

回復(fù)

使用道具 舉報

8#
ID:886143 發(fā)表于 2021-3-2 17:15 | 只看該作者
請問,一個ADC0832可以連接兩個傳感器嗎,一個壓力傳感器檢測超載,一個煙霧傳感器?
回復(fù)

使用道具 舉報

9#
ID:830316 發(fā)表于 2021-3-15 00:29 | 只看該作者
cfgvbjk 發(fā)表于 2021-3-2 17:15
請問,一個ADC0832可以連接兩個傳感器嗎,一個壓力傳感器檢測超載,一個煙霧傳感器?

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

使用道具 舉報

10#
ID:886143 發(fā)表于 2021-3-15 18:06 | 只看該作者
Unique。 發(fā)表于 2020-11-9 16:25
如果是用漢字顯示要如何編寫呢

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

使用道具 舉報

11#
ID:336823 發(fā)表于 2021-4-8 09:30 | 只看該作者
請問有ADC0832的補(bǔ)丁嗎,仿真時報錯顯示找不到這個模型
回復(fù)

使用道具 舉報

12#
ID:911990 發(fā)表于 2021-5-15 23:04 來自觸屏版 | 只看該作者
cfgvbjk 發(fā)表于 2021-3-2 17:15
請問,一個ADC0832可以連接兩個傳感器嗎,一個壓力傳感器檢測超載,一個煙霧傳感器?

可以的
回復(fù)

使用道具 舉報

13#
ID:440028 發(fā)表于 2022-1-12 08:46 | 只看該作者
下載后有能正常工作的嗎?我用的是8.9版本
回復(fù)

使用道具 舉報

14#
ID:1007525 發(fā)表于 2022-4-22 10:50 | 只看該作者
有沒有人做成實(shí)物驗(yàn)證,我想做一個出來看看
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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