標(biāo)題: 基于單片機(jī)的CO檢測(cè)系統(tǒng) 物聯(lián)網(wǎng)在線實(shí)時(shí)監(jiān)測(cè)的設(shè)計(jì) 帶源程序和原理圖 [打印本頁(yè)]
作者: 狼牙小帥 時(shí)間: 2016-7-17 10:18
標(biāo)題: 基于單片機(jī)的CO檢測(cè)系統(tǒng) 物聯(lián)網(wǎng)在線實(shí)時(shí)監(jiān)測(cè)的設(shè)計(jì) 帶源程序和原理圖
自己做的,原理圖什么都有,
基于單片機(jī)的CO檢測(cè)系統(tǒng)
本設(shè)計(jì)是基于STC單片機(jī)的CO檢測(cè)系統(tǒng),可以220V供電,也可以5V供電,可以檢測(cè)CO濃度,自行設(shè)置報(bào)警值,當(dāng)檢測(cè)到CO濃度超過(guò)該設(shè)定值后進(jìn)行聲光報(bào)警,并將此時(shí)的CO濃度值和該時(shí)刻的時(shí)間存儲(chǔ),存儲(chǔ)后可以查詢,每次可存儲(chǔ)3次報(bào)警值,可以通過(guò)藍(lán)牙在手機(jī)上讀取出當(dāng)前的CO濃度和時(shí)間。
該系統(tǒng)共有7個(gè)按鍵,從左至右依次是功能按鍵、查詢按鍵、加(上翻)按鍵、減(下翻)按鍵、清空按鍵、退出按鍵、復(fù)位按鍵。
當(dāng)系統(tǒng)供電后,顯示主界面,如圖1所示。
0.png (261.04 KB, 下載次數(shù): 170)
下載附件
2016-7-20 02:44 上傳
圖1 主界面
1602液晶第一行顯示時(shí)間,第二行前半部分顯示此時(shí)CO濃度,即CO:****ppm(注意當(dāng)系統(tǒng)供電后,CO傳感器會(huì)有一個(gè)預(yù)熱時(shí)間,需要55S左右的預(yù)熱),第二行后半部分顯示設(shè)定的報(bào)警值,即H:****,當(dāng)按下功能按鍵后,進(jìn)入報(bào)警值調(diào)節(jié)界面,如圖2所示。此時(shí)通過(guò)加(上翻)按鍵、減(下翻)按鍵來(lái)調(diào)節(jié)報(bào)警值,當(dāng)調(diào)節(jié)完成后,按下退出按鍵,返回圖1所示界面。
0.png (276.83 KB, 下載次數(shù): 155)
下載附件
2016-7-20 02:44 上傳
圖2 報(bào)警值設(shè)置界面
當(dāng)CO濃度超過(guò)設(shè)置報(bào)警值后,蜂鳴器響,紅色LED發(fā)光,當(dāng)濃度值降低到報(bào)警值以下后報(bào)警自動(dòng)解除,此次的報(bào)警時(shí)間和報(bào)警值將被存儲(chǔ)。通過(guò)查詢按鍵,進(jìn)入查看存儲(chǔ)報(bào)警值的界面,如圖3所示。
0.png (272.66 KB, 下載次數(shù): 157)
下載附件
2016-7-20 02:45 上傳
圖3 查詢界面
該系統(tǒng)可以進(jìn)行3次報(bào)警值的存儲(chǔ),即連續(xù)發(fā)生3次報(bào)警后,這3次的報(bào)警值可以被存儲(chǔ),通過(guò)加(上翻)按鍵、減(下翻)按鍵進(jìn)行翻頁(yè)查詢。當(dāng)3次存儲(chǔ)完成后,按下清除按鍵可以清空存儲(chǔ)數(shù)據(jù),為下次存儲(chǔ)做準(zhǔn)備。查詢或清除完成后,通過(guò)退出按鍵,返回圖1 所示界面。復(fù)位按鍵對(duì)單片機(jī)系統(tǒng)復(fù)位,出現(xiàn)死機(jī)后,通過(guò)該按鍵重啟。
注意事項(xiàng)
1. 程序下載
程序利用串口下載,首先將下載器正確連接(說(shuō)明一下,板子上的下載口從左到右依次接下載器的TX、RX,下載器上標(biāo)的有,+5V和GND和藍(lán)牙共用,共用的目的是下載程序時(shí)把藍(lán)牙拔掉,切記),打開(kāi)STC下載器如圖。
0.png (213.83 KB, 下載次數(shù): 205)
下載附件
2016-7-20 02:46 上傳
選擇STC125A60S2,點(diǎn)擊“打開(kāi)程序文件”選擇源程序文件夾中的Output文件夾的(源程序) .hex文件。
點(diǎn)擊下載,當(dāng)提示上電時(shí)拔下電源再插上就可以了。
免冷切下載器不需要把電。
如果對(duì)我們的設(shè)計(jì)滿意,請(qǐng)把我們推薦給您身邊其他需要幫助的同學(xué)。
贈(zèng)人玫瑰,手有余香
基于物聯(lián)網(wǎng)CO在線實(shí)時(shí)監(jiān)測(cè)的設(shè)計(jì)的原理圖:
0.png (152.18 KB, 下載次數(shù): 190)
下載附件
2016-7-20 02:38 上傳
部分源碼預(yù)覽(元整的源碼請(qǐng)下載附件)
- /*
- *********************************************************************************************************
- *
- * 模塊名稱 : ADC采集配置
- * 文件名稱 : adc.h
- * 版 本 : V1.0
- * 說(shuō) 明 : 負(fù)責(zé)co輸出電壓采集
- * 修改記錄 :
- * 版本號(hào) 日期 作者 說(shuō)明
- * v1.0 2015-4-30
- *
- *
- *********************************************************************************************************
- */
- #include "adc.h"
- /******************************************************************************
- *函數(shù)名稱:uint adc10_start(uchar channel);
- *函數(shù)功能:adc采集
- *輸入?yún)?shù):channel:1-7
- *輸出參數(shù):adc
- *返回值:adc10_start()
- *******************************************************************************/
- uint adc10_start(uchar channel) //channel = 0~7
- {
- uint adc;
- uchar i;
- ADC_RES = 0;
- ADC_RESL = 0;
- ADC_CONTR = (ADC_CONTR & 0xe0) | ADC_START | channel;
- i = 250;
- do{
- if(ADC_CONTR & ADC_FLAG)
- {
- ADC_CONTR &= ~ADC_FLAG;
- adc = (uint)ADC_RES;
- adc = (adc << 2) | (ADC_RESL & 3);
- return adc;
- }
- }while(--i);
- return 1024;
- }
- /******************************************************************************
- *函數(shù)名稱:void delay1_ms(unsigned char ms);
- *函數(shù)功能:延時(shí)函數(shù)
- *輸入?yún)?shù):ms
- *輸出參數(shù):無(wú)
- *返回值:無(wú)
- *******************************************************************************/
- void delay1_ms(unsigned char ms)
- {
- unsigned int i;
- do{
- i = MAIN_Fosc / 14000;
- while(--i) ; //14T per loop
- }while(--ms);
- }
- /******************************************************************************
- *函數(shù)名稱:void INputchange(uchar date);
- *函數(shù)功能:選擇12C5A60AD/S2系列模擬輸入(AD)選擇
- *輸入?yún)?shù):date
- *輸出參數(shù):無(wú)
- *返回值:無(wú)
- *******************************************************************************/
- void INputchange(uchar date)
- {
- P1ASF = date;//0x03;//(1 << ADC_CH0); //12C5A60AD/S2系列模擬輸入(AD)選擇
- ADC_CONTR = ADC_360T | ADC_ON;
-
- }
- /******************************************************************************
- *函數(shù)名稱:uint AdHandle(uchar num);
- *函數(shù)功能:AD數(shù)據(jù)處理函數(shù)
- *輸入?yún)?shù):num
- *輸出參數(shù):number
- *返回值:AdHandle
- *******************************************************************************/
- uint AdHandle(uchar num)
- { uint count;
- uint number;
- delay1_ms(100);
- delay1_ms(100);
- count = adc10_start(num); // P1.0 ADC
- number = ((float)count*4.8828 ); //將采集的電壓放大1000倍,主要是為了提高co計(jì)算的精度
- return number;
-
- }
復(fù)制代碼
- /*
- *********************************************************************************************************
- *
- * 模塊名稱 : ADC采集配置
- * 文件名稱 : adc.h
- * 版 本 : V1.0
- * 說(shuō) 明 : 負(fù)責(zé)co輸出電壓采集
- * 修改記錄 :
- * 版本號(hào) 日期 作者 說(shuō)明
- * v1.0 2015-4-30
- *
- *
- *********************************************************************************************************
- */
- #include "adc.h"
- /******************************************************************************
- *函數(shù)名稱:uint adc10_start(uchar channel);
- *函數(shù)功能:adc采集
- *輸入?yún)?shù):channel:1-7
- *輸出參數(shù):adc
- *返回值:adc10_start()
- *******************************************************************************/
- uint adc10_start(uchar channel) //channel = 0~7
- {
- uint adc;
- uchar i;
- ADC_RES = 0;
- ADC_RESL = 0;
- ADC_CONTR = (ADC_CONTR & 0xe0) | ADC_START | channel;
- i = 250;
- do{
- if(ADC_CONTR & ADC_FLAG)
- {
- ADC_CONTR &= ~ADC_FLAG;
- adc = (uint)ADC_RES;
- adc = (adc << 2) | (ADC_RESL & 3);
- return adc;
- }
- }while(--i);
- return 1024;
- }
- /******************************************************************************
- *函數(shù)名稱:void delay1_ms(unsigned char ms);
- *函數(shù)功能:延時(shí)函數(shù)
- *輸入?yún)?shù):ms
- *輸出參數(shù):無(wú)
- *返回值:無(wú)
- *******************************************************************************/
- void delay1_ms(unsigned char ms)
- {
- unsigned int i;
- do{
- i = MAIN_Fosc / 14000;
- while(--i) ; //14T per loop
- }while(--ms);
- }
- /******************************************************************************
- *函數(shù)名稱:void INputchange(uchar date);
- *函數(shù)功能:選擇12C5A60AD/S2系列模擬輸入(AD)選擇
- *輸入?yún)?shù):date
- *輸出參數(shù):無(wú)
- *返回值:無(wú)
- *******************************************************************************/
- void INputchange(uchar date)
- {
- P1ASF = date;//0x03;//(1 << ADC_CH0); //12C5A60AD/S2系列模擬輸入(AD)選擇
- ADC_CONTR = ADC_360T | ADC_ON;
-
- }
- /******************************************************************************
- *函數(shù)名稱:uint AdHandle(uchar num);
- *函數(shù)功能:AD數(shù)據(jù)處理函數(shù)
- *輸入?yún)?shù):num
- *輸出參數(shù):number
- *返回值:AdHandle
- *******************************************************************************/
- uint AdHandle(uchar num)
- { uint count;
- uint number;
- delay1_ms(100);
- delay1_ms(100);
- count = adc10_start(num); // P1.0 ADC
- number = ((float)count*4.8828 ); //將采集的電壓放大1000倍,主要是為了提高co計(jì)算的精度
- return number;
-
- }
復(fù)制代碼
0.png (80.57 KB, 下載次數(shù): 196)
下載附件
2016-7-20 02:39 上傳
原理圖下載:
PCB_Project_24.pdf
(540.98 KB, 下載次數(shù): 94)
2016-7-17 10:18 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
基于物聯(lián)網(wǎng)CO在線實(shí)時(shí)監(jiān)測(cè)的設(shè)計(jì)源碼下載:
源程序1 - 副本.zip
(107.37 KB, 下載次數(shù): 117)
2016-7-17 10:16 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者: 狼牙小帥 時(shí)間: 2016-7-17 10:20
一些功能的介紹
【功能介紹】基于單片機(jī)的一氧化碳檢測(cè)與藍(lán)牙通信.doc
(502.5 KB, 下載次數(shù): 53)
2016-7-17 10:20 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者: 狼牙小帥 時(shí)間: 2016-7-17 10:22
有好多設(shè)計(jì),平常學(xué)的時(shí)候作者玩的,有需要的聯(lián)系我,有緣人直接帶走
作者: 人生如夢(mèng)超 時(shí)間: 2016-12-1 10:47
好厲害啊
作者: 湘?zhèn)?nbsp; 時(shí)間: 2017-1-12 21:10
很可以。
作者: onepcb 時(shí)間: 2017-1-13 18:29
謝謝分享!,,,,
作者: wzc1991 時(shí)間: 2017-4-2 16:27
很不錯(cuò)
作者: 真少lz 時(shí)間: 2017-5-11 20:03
樓主仿真圖用什么軟件打開(kāi)
作者: wxc 時(shí)間: 2017-5-27 10:35
為什么測(cè)出的濃度100多,這么高
作者: qq3119564 時(shí)間: 2018-3-28 12:58
求問(wèn)這兩塊是什么意思?
-
TIM圖片20180328125718.png
(3.6 KB, 下載次數(shù): 136)
下載附件
2018-3-28 12:57 上傳
-
TIM圖片20180328125723.png
(7.34 KB, 下載次數(shù): 141)
下載附件
2018-3-28 12:57 上傳
作者: lxllxlcc 時(shí)間: 2018-3-28 13:20
大神啊,牛逼
作者: deficit 時(shí)間: 2018-3-28 15:21
檢測(cè)一氧化碳的是什么芯片?
作者: deficit 時(shí)間: 2018-3-28 15:26
同問(wèn)
作者: 楓楓楓不覺(jué) 時(shí)間: 2018-11-28 20:58
很有用哈哈
作者: 鮑全宇 時(shí)間: 2019-12-4 13:08
我需要
作者: rayin 時(shí)間: 2020-11-15 16:18
不錯(cuò),值得學(xué)習(xí)。51hei有你更精彩!
作者: 千屹 時(shí)間: 2021-5-13 00:03
第二個(gè)是電源模塊
歡迎光臨 (http://www.torrancerestoration.com/bbs/) |
Powered by Discuz! X3.1 |