91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于單片機(jī)的瓦斯氣體PM2.5溫度風(fēng)速檢測(cè)報(bào)警系統(tǒng)

bbxyliyang ? 來(lái)源:bbxyliyang ? 作者:bbxyliyang ? 2023-07-31 15:42 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群


一、系統(tǒng)方案

本設(shè)計(jì)采用STC89C52作為主控制器,瓦斯傳感器、PM2.5傳感器采集數(shù)據(jù)值送到ADC0832轉(zhuǎn)換,送到單片機(jī)處理,液晶1602顯示對(duì)應(yīng)測(cè)量值,溫度DS18B20采集溫度值,送到液晶顯示,風(fēng)速傳感器采集風(fēng)速,送到ADC0832轉(zhuǎn)換,送到單片機(jī)處理對(duì)應(yīng)測(cè)量值,按鍵設(shè)置報(bào)警閥值,測(cè)量值超過(guò)設(shè)設(shè)定閥值,蜂鳴器報(bào)警。

wKgaomTHZb6Aci37AAAYTYJo5oI812.png

二、硬件設(shè)計(jì)
原理圖如下:

wKgaomTHZcWAclj0AAFklRamRQQ496.png

三、單片機(jī)軟件設(shè)計(jì)
1、首先是系統(tǒng)初始化:

Lcd1602_Init(); //LCD1602初始化
Delay_function(50); //延時(shí)50ms
lcd1602_clean(); //清屏
Delay_function(50); //延時(shí)50ms
Ds18b20_Init(); //DS18B20初始化
Delay_function(50); //延時(shí)50ms
2、液晶顯示程序
/**********************************
包含頭文件
**********************************/
#include "lcd1602.h"


/**********************************
函數(shù)定義
**********************************/
/****
*******1602檢測(cè)忙函數(shù)
*****/
void lcd1602_check_busy()
{
P0=0xff;
do
{
LCD1602_RS=0;
LCD1602_RW=1;
LCD1602_E=0;
LCD1602_E=1;
} while(LCD1602_BUSY==1);
LCD1602_E=0;
}

/****
*******1602寫(xiě)數(shù)據(jù)忙函數(shù)
*****/
void lcd1602_write_date(uchar date)
{
lcd1602_check_busy();
LCD1602_E=0;
LCD1602_PORT=date;
LCD1602_RS=1;
LCD1602_RW=0;
LCD1602_E=1;
LCD1602_E=0;
}

/****
*******1602寫(xiě)命令函數(shù)
*****/
void lcd1602_write_com(uchar com)
{
lcd1602_check_busy();
LCD1602_E=0;
LCD1602_PORT=com;
LCD1602_RS=0;
LCD1602_RW=0;
LCD1602_E=1;
LCD1602_E=0;
}

/****
*******LCD1602初始化函數(shù)
*****/
void Lcd1602_Init()
{
lcd1602_write_com(0x38);
lcd1602_write_com(0x0c);
lcd1602_write_com(0x06);
lcd1602_write_com(0x01);
}

/****
*******LCD1602顯示字符串函數(shù)
*******參量定義: hang:輸入顯示行數(shù) 1 第一行 2 第二行
******* add:偏移量,0-15
******* dat:所要顯示的字符串,輸入格式 " "
*****/
void lcd1602_display_str(uchar hang, uchar add, uchar *dat)
{
if(hang==1)
lcd1602_write_com(0x80+add); //第一行
else
lcd1602_write_com(0x80+0x40+add); //第二行

while(*dat != '?')
{
lcd1602_write_date(*dat++);
}
}

/****
*******LCD1602清屏函數(shù)
*****/
void lcd1602_clean()
{
lcd1602_display_str(1,0," ");
lcd1602_display_str(2,0," ");
}

/****
*******LCD1602顯示數(shù)字函數(shù)(最大4位)
*******參量定義: hang:輸入顯示行數(shù) 1 第一行 2 第二行
******* add:偏移量,0-15
******* num:所要顯示的數(shù)據(jù),最大4位
*****/
void lcd1602_display_num(uchar hang, uchar add, uint num)
{
if(hang==1)
lcd1602_write_com(0x80+add); //第一行
else
lcd1602_write_com(0x80+0x40+add); //第二行

if(num > 999)
lcd1602_write_date(num/1000%10+48); //千
if(num > 99)
lcd1602_write_date(num/100%10+48); //百
if(num > 9)
lcd1602_write_date(num/10%10+48); //十
lcd1602_write_date(num/1%10+48); //個(gè)
lcd1602_write_date(' ');
lcd1602_write_date(' ');
lcd1602_write_date(' ');
}

/****
*******LCD1602顯示溫度函數(shù)(顯示格式:**.*℃)
*******參量定義: hang:輸入顯示行數(shù) 1 第一行 2 第二行
******* add:偏移量,0-15
******* temp:所要顯示的溫度
*****/
void lcd1602_display_temp(uchar hang, uchar add,uint temp)
{
if(hang==1)
lcd1602_write_com(0x80+add); //第一行
else
lcd1602_write_com(0x80+0x40+add); //第二行

lcd1602_write_date(temp/100%10+48);
lcd1602_write_date(temp/10%10+48);
lcd1602_write_date('.');
lcd1602_write_date(temp/1%10+48);
lcd1602_write_date(0xdf); //顯示溫度的小圓圈符號(hào),0xdf是液晶屏字符庫(kù)的該符號(hào)地址碼
lcd1602_write_date(0x43); //顯示"C"符號(hào),0x43是液晶屏字符庫(kù)里大寫(xiě)C的地址碼
}

/****
*******LCD1602顯示風(fēng)速(顯示格式:**.*m/s)
*******參量定義: hang:輸入顯示行數(shù) 1 第一行 2 第二行
******* add:偏移量,0-15
******* wind:所要顯示的風(fēng)速
*****/
void lcd1602_display_wind(uchar hang, uchar add,uint wind)
{
if(hang==1)
lcd1602_write_com(0x80+add); //第一行
else
lcd1602_write_com(0x80+0x40+add); //第二行

lcd1602_write_date(wind/100%10+48);
lcd1602_write_date(wind/10%10+48);
lcd1602_write_date('.');
lcd1602_write_date(wind/1%10+48);
lcd1602_write_date('m');
lcd1602_write_date('/');
lcd1602_write_date('s');
}

/****
*******LCD1602顯示氣體濃度(顯示格式:000ppm)
*******參量定義: hang:輸入顯示行數(shù) 1 第一行 2 第二行
******* add:偏移量,0-15
******* gas_value:所要顯示的氣體濃度
*****/
void lcd1602_display_gas(uchar hang, uchar add,uint gas_value)
{
if(hang==1)
lcd1602_write_com(0x80+add); //第一行
else
lcd1602_write_com(0x80+0x40+add); //第二行

if(gas_value > 999)
lcd1602_write_date(gas_value/1000%10+48);
if(gas_value > 99)
lcd1602_write_date(gas_value/100%10+48);
if(gas_value > 9)
lcd1602_write_date(gas_value/10%10+48);
lcd1602_write_date(gas_value/1%10+48);
lcd1602_write_date('p');
lcd1602_write_date('p');
lcd1602_write_date('m');
lcd1602_write_date(' ');
lcd1602_write_date(' ');
lcd1602_write_date(' ');
}

/****
*******LCD1602顯示PM2.5(顯示格式:000ug/m3)
*******參量定義: hang:輸入顯示行數(shù) 1 第一行 2 第二行
******* add:偏移量,0-15
******* pm25_value:所要顯示的PM2.5
*****/
void lcd1602_display_pm25(uchar hang, uchar add,uint pm25_value)
{
if(hang==1)
lcd1602_write_com(0x80+add); //第一行
else
lcd1602_write_com(0x80+0x40+add); //第二行

if(pm25_value > 999)
lcd1602_write_date(pm25_value/1000%10+48);
if(pm25_value > 99)
lcd1602_write_date(pm25_value/100%10+48);
if(pm25_value >= 9)
lcd1602_write_date(pm25_value/10%10+48);
lcd1602_write_date(pm25_value/1%10+48);
lcd1602_write_date('u');
lcd1602_write_date('g');
lcd1602_write_date('/');
lcd1602_write_date('m');
lcd1602_write_date('3');
lcd1602_write_date(' ');
}

3、按鍵檢測(cè)程序
/****
*******按鍵函數(shù)
*****/
void Key_function(void)
{
key_num = Chiclet_Keyboard_Scan(0); //按鍵掃描
if(key_num != 0) //有按鍵按下
{
switch(key_num)
{
case 1: //按鍵1,切換界面
flag_display++;
if(flag_display >= 6)
flag_display = 0;

lcd1602_clean();
break;

case 2: //按鍵2,不同界面有不同功能
switch(flag_display)
{
case 0: //界面0,切換測(cè)量界面
flag_meas_display++;
if(flag_meas_display >= 2)
flag_meas_display = 0;

lcd1602_clean();
break;

case 1: //界面1,溫度最大值+1
if(temp_max < 99)
temp_max++;
break;

case 2: //界面2,溫度最小值+1
if(temp_min < temp_max-1)
temp_min++;
break;

case 3: //界面3,風(fēng)速最大值+1
if(wind_max < 99)
wind_max++;
break;

case 4: //界面4,瓦斯最大值+1
if(gas_max < 500)
gas_max++;
break;

case 5: //界面5,PM2.5最大值+1
if(pm25_max < 500)
pm25_max++;
break;

default:
break;
}
break;

case 3: //按鍵3,不同界面有不同功能
switch(flag_display)
{
case 1: //界面1,溫度最大值-1
if(temp_max > temp_min+1)
temp_max--;
break;

case 2: //界面2,溫度最小值-1
if(temp_min > 0)
temp_min--;
break;

case 3: //界面3,風(fēng)速最大值-1
if(wind_max > 0)
wind_max--;
break;

case 4: //界面4,瓦斯最大值-1
if(gas_max > 0)
gas_max--;
break;

case 5: //界面5,PM2.5最大值-1
if(pm25_max > 0)
pm25_max--;
break;

default:
break;
}
break;

default:
break;
}
}
}
4、核心算法程序
void Manage_function(void)
{
if(flag_display == 0) //界面0,即測(cè)量界面
{
if(temp_value > temp_max*10 || temp_value < temp_min*10 || wind_value > wind_max*10 || gas_value > gas_max || pm25_value > pm25_max) //測(cè)量值不在設(shè)置的閾值之內(nèi),進(jìn)行聲光報(bào)警
{
if(time_num % 10 == 0)
{
LED = ~LED;
BEEP = ~BEEP;
}
}
else //測(cè)量值在設(shè)置的閾值之內(nèi),不進(jìn)行聲光報(bào)警
{
LED = 1;
BEEP = 1;
}
}
else //其他界面,即設(shè)置界面
{
LED = 1;
BEEP = 1;
}
}

四、proteus仿真設(shè)計(jì)
Proteus軟件是一款應(yīng)用比較廣泛的工具,它可以在沒(méi)有硬件平臺(tái)的基礎(chǔ)上通過(guò)自身的軟件仿真出硬件平臺(tái)的運(yùn)行情況,這樣就可以通過(guò)軟件仿真來(lái)驗(yàn)證我們?cè)O(shè)計(jì)的方案有沒(méi)有問(wèn)題,如果有問(wèn)題,可以重新選擇器件,連接器件,直到達(dá)到我們?cè)O(shè)定的目的,避免我們搭建實(shí)物的時(shí)候,如果當(dāng)初選擇的方案有問(wèn)題,我們器件都已經(jīng)焊接好了,再去卸載下去,再去焊接新的方案的器件,測(cè)試,這樣會(huì)浪費(fèi)人力和物力,也給開(kāi)發(fā)者帶來(lái)一定困惑,Proteus仿真軟件就很好的解決這個(gè)問(wèn)題,我們?cè)谠O(shè)計(jì)之初,就使用該軟件進(jìn)行模擬仿真,測(cè)試,選擇滿(mǎn)足我們?cè)O(shè)計(jì)的最優(yōu)方案。最后根據(jù)測(cè)試沒(méi)問(wèn)題的仿真圖紙,焊接實(shí)物,調(diào)試,最終完成本設(shè)計(jì)的作品。

wKgaomTHZc6AbYe4AAF-_JBGalE046.png

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 控制器
    +關(guān)注

    關(guān)注

    114

    文章

    17113

    瀏覽量

    184395
  • 報(bào)警系統(tǒng)
    +關(guān)注

    關(guān)注

    5

    文章

    653

    瀏覽量

    75933
  • DS18B20
    +關(guān)注

    關(guān)注

    10

    文章

    782

    瀏覽量

    82215
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    49-基于51單片機(jī)PM2.5和溫濕度檢測(cè)報(bào)警 精選資料分享

    具體功能:1、LCD1602液晶第一行顯示當(dāng)前的PM2.5值,第二行顯示當(dāng)前的溫度和濕度值;2、可以設(shè)置PM2.5、溫濕度上下限報(bào)警值。共4個(gè)按鍵:復(fù)位按鍵、減鍵、加鍵、設(shè)置鍵;設(shè)定的
    發(fā)表于 07-16 07:58

    基于單片機(jī)PM2.5檢測(cè)系統(tǒng)有哪些功能

    設(shè)計(jì)簡(jiǎn)介:本設(shè)計(jì)是基于單片機(jī)PM2.5檢測(cè)系統(tǒng),主要實(shí)現(xiàn)以下功能:可實(shí)現(xiàn)LCD1602顯示PM2.5的具體數(shù)值以及最大數(shù)值;可實(shí)現(xiàn)通過(guò)按鍵
    發(fā)表于 11-19 06:48

    如何去實(shí)現(xiàn)基于單片機(jī)PM2.5監(jiān)測(cè)系統(tǒng)仿真設(shè)計(jì)

    044【畢設(shè)課設(shè)】基于單片機(jī)PM2.5監(jiān)測(cè)系統(tǒng)仿真設(shè)計(jì),實(shí)現(xiàn)的功能是實(shí)時(shí)檢測(cè)溫度PM2.5值,他可以手動(dòng)設(shè)定
    發(fā)表于 11-19 09:19

    基于單片機(jī)環(huán)境監(jiān)測(cè)溫濕度PM2.5系統(tǒng)設(shè)計(jì)

    基于單片機(jī)環(huán)境監(jiān)測(cè)溫濕度PM2.5系統(tǒng)設(shè)計(jì),實(shí)時(shí)檢測(cè)環(huán)境中的溫濕度值,并檢測(cè)控制的PM2.5顆粒
    發(fā)表于 11-19 08:38

    基于51單片機(jī)PM2.5檢測(cè)報(bào)警系統(tǒng)相關(guān)資料推薦

    系統(tǒng)由STC89C52單片機(jī)+ADC0832+GP2Y1010AUPM2.5傳感器+按鍵+LED及蜂鳴器構(gòu)成。具體功能:1、液晶第一行顯示實(shí)際PM2.5值,液晶第二行顯示
    發(fā)表于 11-19 06:19

    怎樣去設(shè)計(jì)基于51單片機(jī)的空氣質(zhì)量檢測(cè)報(bào)警

    機(jī)PM2.5空氣質(zhì)量檢測(cè)霧霾粉塵檢測(cè)報(bào)警器69本系統(tǒng)由STC89C52單片機(jī)、LCD1602液
    發(fā)表于 11-19 09:18

    怎樣去設(shè)計(jì)一個(gè)基于單片機(jī)溫濕度PM2.5報(bào)警設(shè)置系統(tǒng)

    036【畢設(shè)課設(shè)】基于單片機(jī)溫濕度PM2.5報(bào)警設(shè)置系統(tǒng),實(shí)時(shí)檢測(cè)溫濕度傳感器的值,通過(guò)LCD液晶作為顯示,可以設(shè)置溫濕度上下限范圍,通過(guò)L
    發(fā)表于 01-27 06:41

    求一種基于單片機(jī)的井下安全監(jiān)測(cè)系統(tǒng)設(shè)計(jì)方案

    設(shè)計(jì)簡(jiǎn)介:本設(shè)計(jì)是基于單片機(jī)的井下安全監(jiān)測(cè)系統(tǒng),主要實(shí)現(xiàn)以下功能:可通過(guò)LCD1602顯示溫度風(fēng)速PM2.5
    發(fā)表于 02-18 06:42

    基于單片機(jī)PM2.5(灰塵)檢測(cè)系統(tǒng)

    設(shè)計(jì)簡(jiǎn)介:本設(shè)計(jì)是基于單片機(jī)PM2.5檢測(cè)系統(tǒng),主要實(shí)現(xiàn)以下功能:可實(shí)現(xiàn)LCD1602顯示PM2.5的具體數(shù)值以及最大數(shù)值; 可實(shí)現(xiàn)通過(guò)按
    發(fā)表于 11-12 16:06 ?39次下載
    基于<b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>PM2.5</b>(灰塵)<b class='flag-5'>檢測(cè)</b><b class='flag-5'>系統(tǒng)</b>

    6-基于51單片機(jī)PM2.5檢測(cè)報(bào)警系統(tǒng)

    系統(tǒng)由STC89C52單片機(jī)+ADC0832+GP2Y1010AUPM2.5傳感器+按鍵+LED及蜂鳴器構(gòu)成。具體功能:1、液晶第一行顯示實(shí)際PM2.5值,液晶第二行顯示
    發(fā)表于 11-13 09:21 ?35次下載
    6-基于51<b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>PM2.5</b><b class='flag-5'>檢測(cè)報(bào)警</b><b class='flag-5'>系統(tǒng)</b>

    442【畢設(shè)課設(shè)】基于51單片機(jī)PM2.5空氣質(zhì)量檢測(cè)霧霾粉塵檢測(cè)報(bào)警

    442【畢設(shè)課設(shè)】基于51單片機(jī)PM2.5空氣質(zhì)量檢測(cè)霧霾粉塵檢測(cè)報(bào)警
    發(fā)表于 11-13 10:06 ?36次下載
    442【畢設(shè)課設(shè)】基于51<b class='flag-5'>單片機(jī)</b><b class='flag-5'>PM2.5</b>空氣質(zhì)量<b class='flag-5'>檢測(cè)</b>霧霾粉塵<b class='flag-5'>檢測(cè)報(bào)警</b>器

    (畢業(yè)設(shè)計(jì)資料)基于單片機(jī)溫濕度PM2.5報(bào)警設(shè)置系統(tǒng)

    (畢業(yè)設(shè)計(jì)資料)基于單片機(jī)溫濕度PM2.5報(bào)警設(shè)置系統(tǒng)
    發(fā)表于 12-03 19:06 ?34次下載
    (畢業(yè)設(shè)計(jì)資料)基于<b class='flag-5'>單片機(jī)</b>溫濕度<b class='flag-5'>PM2.5</b><b class='flag-5'>報(bào)警</b>設(shè)置<b class='flag-5'>系統(tǒng)</b>

    基于單片機(jī)的井下安全監(jiān)測(cè)系統(tǒng)

    設(shè)計(jì)簡(jiǎn)介:本設(shè)計(jì)是基于單片機(jī)的井下安全監(jiān)測(cè)系統(tǒng),主要實(shí)現(xiàn)以下功能:可通過(guò)LCD1602顯示溫度風(fēng)速PM2.5
    發(fā)表于 12-23 19:30 ?13次下載
    基于<b class='flag-5'>單片機(jī)</b>的井下安全監(jiān)測(cè)<b class='flag-5'>系統(tǒng)</b>

    基于單片機(jī)pm2.5檢測(cè)儀設(shè)計(jì)

    人體呼吸道,對(duì)人體健康影響極大。因此,研發(fā)一種基于單片機(jī)PM2.5檢測(cè)儀成為了當(dāng)今關(guān)注的焦點(diǎn)之一。本文將詳細(xì)介紹基于單片機(jī)PM2.5
    的頭像 發(fā)表于 12-20 09:18 ?1659次閱讀

    基于STM32單片機(jī)pm2.5空氣質(zhì)量檢測(cè)系統(tǒng)設(shè)計(jì)

    系統(tǒng)使用STM32單片機(jī)進(jìn)行系統(tǒng)主控,使用PM2.5粉塵檢測(cè)模塊進(jìn)行粉塵濃度檢測(cè),實(shí)時(shí)顯示粉塵濃
    的頭像 發(fā)表于 06-26 11:16 ?2707次閱讀
    基于STM32<b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>pm2.5</b>空氣質(zhì)量<b class='flag-5'>檢測(cè)</b><b class='flag-5'>系統(tǒng)</b>設(shè)計(jì)
    主站蜘蛛池模板: 精品成人网 | 免费又爽又黄的禁片1000部 | 成人深夜视频 | 无遮挡一级毛片视频 | 国产一级特黄高清在线大片 | 人与禽交免费网站视频 | 天天夜夜狠狠 | 欧美一区二区三区在线观看免费 | 手机在线观看你懂得 | 天堂网在线www资源网 | 亚洲国产婷婷综合在线精品 | 久久福利影视 | 婷婷六月久久综合丁香一二 | 阿v视频在线观看免费播放 爱爱视频天天干 | 亚洲四虎永久在线播放 | 美女视频黄色的免费 | 在线观看一区二区三区四区 | h视频日本 | 极品啪啪 | 在线观看黄色一级片 | 91正在 播放| 在线亚洲精品 | 深夜大尺度视频在线观看 | 亚洲成人高清在线观看 | 午夜高清在线 | 国语自产自拍秒拍在线视频 | 欧美性久久 | 国产网站在线免费观看 | 欧美社区| 日本黄色片在线观看 | 午夜黄色影院 | 久久草在线视频播放 | 曰本裸色私人影院噜噜噜影院 | 伊人网站在线观看 | 亚洲精品第三页 | 国产一卡二卡3卡4卡四卡在线视频 | 夜夜夜精品视频免费 | www视频在线观看com | 免费大片a一级一级 | 西西人体44renti大胆亚洲 | 免费网站日本永久免费观看 |