欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 單片機蔬菜大棚溫度感應(yīng)系統(tǒng),帶源碼仿真圖 [打印本頁]

作者: 304619352    時間: 2019-6-24 15:08
標(biāo)題: 單片機蔬菜大棚溫度感應(yīng)系統(tǒng),帶源碼仿真圖
如題 51單片機設(shè)計,內(nèi)有文檔代碼解釋

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)

本文介紹的是一個由單片機構(gòu)成的溫度控制系統(tǒng),主要用來提供測溫的解決方案,同時還能實時監(jiān)控溫度變化趨勢,以及報警功能。它利用STC89C52RC單片機,DS18B20,蜂鳴器報警電路和LCD1602來實現(xiàn)溫度檢測控制功能。溫度檢測是使用的DS18B20溫度傳感器,將檢測得到的溫度通過單片機單總線的協(xié)議讀取并將其顯示在LCD1602液晶屏上。除此之外,它還能通過按鍵設(shè)置溫度的上限值,如果溫度超過上限,則蜂鳴器報警,大大提高了系統(tǒng)的安全性。本文在后續(xù)章節(jié)詳細介紹了系統(tǒng)的總體方案設(shè)計,硬件設(shè)計,軟件設(shè)計等。

傳感器主要大體經(jīng)過了三個發(fā)展階段:模擬集成溫度傳感器。該傳感器是采用硅半導(dǎo)體集成工藝制成,因此亦稱硅傳感器或單片集成溫度傳感器。此種傳感器具有功能單一(僅測量溫度)、測溫誤差小、價格低、響應(yīng)速度快、傳輸距離遠、體積小、微功耗等,適合遠距離測溫、控溫,不需要進行非線性校準(zhǔn),外圍電路簡單。它是目前在國內(nèi)外應(yīng)用最為普遍的一種集成傳感器,典型產(chǎn)品有AD590、AD592、TMP17、LM135等;模擬集成溫度控制器。模擬集成溫度控制器主要包括溫控開關(guān)、可編程溫度控制器,典型產(chǎn)品有LM56、AD22105和MAX6509。某些增強型集成溫度控制器(例如TC652/653)中還包含了A/D轉(zhuǎn)換器以及固化好的程序,這與智能溫度傳感器有某些相似之處。但它自成系統(tǒng),工作時并不受微處理器的控制,這是二者的主要區(qū)別;智能溫度傳感器。智能溫度傳感器(亦稱數(shù)字溫度傳感器)是在20世紀(jì)90年代中期問世的。它是微電子技術(shù)、計算機技術(shù)和自動測試技術(shù)(ATE)的結(jié)晶。智能溫度傳感器內(nèi)部都包含溫度傳感器、A/D轉(zhuǎn)換器、信號處理器、存儲器(或寄存器)和接口電路。有的產(chǎn)品還帶多路選擇器、中央控制器(CPU)、隨機存取存儲器(RAM)和只讀存儲器(ROM)。智能溫度傳感器的特點是能輸出溫度數(shù)據(jù)及相關(guān)的溫度控制量,適配各種微控制器(MCU);并且它是在硬件的基礎(chǔ)上通過軟件來實現(xiàn)測試功能的,其智能化程度也取決于軟件的開發(fā)水平。

系統(tǒng)總體方案設(shè)計

溫度檢測系統(tǒng)有著共同的特點:測量點多、環(huán)境復(fù)雜、布線分散、現(xiàn)場離監(jiān)控室遠等。若采用一般溫度傳感器采集溫度信號,則需要設(shè)計信號調(diào)理電路、A/D 轉(zhuǎn)換及相應(yīng)的接口電路,才能把傳感器輸出的模擬信號轉(zhuǎn)換成數(shù)字信號送到計算機去處理。這樣,由于各種因素會造成檢測系統(tǒng)較大的偏差;又因為檢測環(huán)境復(fù)雜、測量點多、信號傳輸距離遠及各種干擾的影響,會使檢測系統(tǒng)的穩(wěn)定性和可靠性下降。所以溫度檢測系統(tǒng)的設(shè)計的關(guān)鍵在于兩部分:溫度傳感器的選擇和主控單元的設(shè)計。溫度傳感器應(yīng)用范圍廣泛、使用數(shù)量龐大,也高居各類傳感器之首。

2.1、傳感器部分

方案一:采用熱敏電阻,利用其感溫效應(yīng),可滿足40攝氏度至90攝氏度測量范圍,但熱敏電阻精度、重復(fù)性、可靠性較差,對于檢測1攝氏度的信號是不適用的。而且在溫度測量系統(tǒng)中,采用單片溫度傳感器,比如AD590,LM35等。但這些芯片輸出的都是模擬信號,必須經(jīng)過A/D轉(zhuǎn)換后才能送給計算機,這樣就使得測溫裝置的結(jié)構(gòu)較復(fù)雜,一定程度上也增加了軟件實現(xiàn)的難度。

方案二:在溫度控制系統(tǒng)中,傳統(tǒng)的測溫方法是將模擬信號遠距離采樣進行A/D轉(zhuǎn)換,而為了獲得較高的測溫精度,就必須采用措施解決由長線傳輸、放大電路零點漂移等造成的誤差補償問題。采用數(shù)字溫度芯片DS18B20測量溫度,輸出信號全數(shù)字化,便于單片機處理及控制,省去傳統(tǒng)的測溫方法的很多外圍電路。且該芯片的物理化學(xué)性很穩(wěn)定,它能用做工業(yè)測溫元件,此元件線形較好。在0—100攝氏度時,最大線形偏差小于1攝氏度。DS18B20的最大特點之一采用了單總線的數(shù)據(jù)傳輸,由數(shù)字溫度計DS1820和微控制器STC89C52RC構(gòu)成的溫度測第一章總體設(shè)計方案4量裝置,它直接輸出溫度的數(shù)字信號,可直接與計算機連接。這樣,測溫系統(tǒng)的結(jié)構(gòu)就比較簡單,體積也不大,且由于STC89C52RC可以帶多個DSB1820,可實現(xiàn)多點測量,輕松的組建傳感器網(wǎng)絡(luò),本次設(shè)計用于大棚溫度檢測比較適合方便。

2.2、主控制部分

方案一:此方案采用PC機實現(xiàn),它可在線編程,可在線仿真的功能,這讓調(diào)試變得方便,且人機交互友好。但是PC機輸出信號不能直接與DS18B20通信,需要通過RS232電平轉(zhuǎn)換兼容,硬件的合成在線調(diào)試,較為繁瑣,很不簡便。而且在一些環(huán)境比較惡劣的場合,PC機的體積大,攜帶安裝不方便,性能不穩(wěn)定,給工程帶來很多麻煩。

方案二:此方案采用STC89C52RC八位單片機實現(xiàn)。單片機軟件編程的自由度大,可通過編程實現(xiàn)各種各樣的算術(shù)算法和邏輯控制。而且體積小,硬件實現(xiàn)簡單,安裝方便。既可以單獨對多DS18B20控制工作,還可以與PC機通信,運用主從分布式思想,由一臺上位機(PC微型計算機),下位機(單片機)實現(xiàn)溫度數(shù)據(jù)采集,組成兩級分布式溫度測量的巡回檢測系統(tǒng),實現(xiàn)遠程控制。另外STC89S51在農(nóng)業(yè)控制上也有著廣泛的應(yīng)用,編程技術(shù)及外圍功能電路的配合使用都很成熟。

總體設(shè)計綜上所述,溫度傳感器以及主控部分都采用第二方案。首先由溫度傳感器DS18B20采集溫度數(shù)據(jù),經(jīng)單片機I/O模擬單總線讀取后送入STC89C52RC單片機中進行運算處理,并LCD1602液晶顯示當(dāng)前溫度,同時與鍵盤輸入的設(shè)定溫度值(上限)進行比較,由單片機控制是否發(fā)出報警信號。在整個過程中,溫度始終都能得以顯示。設(shè)定溫度過程中顯示設(shè)定溫度值,以便于操作。

本系統(tǒng)的總體設(shè)計方框圖如圖2-1所示,它主要由五部分組成:

①主控制部分主芯片采用單片機STC89C52RC(包括時鐘和復(fù)位電路);

②顯示部分采用3位LED數(shù)碼管以動態(tài)掃描方式實現(xiàn)溫度顯示;

③溫度采集部分采用DS18B20溫度傳感器;

④按鍵輸入部分主要功能是實現(xiàn)設(shè)定溫度值的輸入;

⑤人體紅外傳感器用來檢測人體信息

DS18B20檢測溫度,將溫度信息傳送到單片機內(nèi),單片機檢測到溫度信號,對其進行處理,將處理得到的數(shù)據(jù)在LCD1602液晶上顯示出來。可以通過按鍵來設(shè)置溫度的上下限值,當(dāng)溫度超過范圍時,單片機控制蜂鳴器報警,同時當(dāng)人體紅外傳感器檢測到人體時,也會觸發(fā)蜂鳴器報警。

圖2-1 系統(tǒng)總體設(shè)計框圖


3、系統(tǒng)硬件設(shè)計

硬件電路部分包括51單片機主控模塊的設(shè)計,單片機最小系統(tǒng)的設(shè)計,DS18B20溫度檢測模塊,按鍵設(shè)置模塊,蜂鳴器報警模塊,LCD1602液晶顯示模塊。各模塊電路的詳細介紹將在后續(xù)給出。

主程序流程圖設(shè)計

如下圖4-2所示是系統(tǒng)主程序流程圖。

圖4-2 主程序流程圖

如圖4.2所示,程序開始后,進行初始化,初始化包括LCD1602液晶初始化,DS18B20初始化;然后在LCD1602液晶上顯示固定信息,再給DS18B20溫度傳感器發(fā)送讀取數(shù)據(jù)命令,則模塊開始測溫。然后進入主循環(huán),顯示當(dāng)前溫度,再進入按鍵設(shè)置子程序設(shè)置當(dāng)前溫度上限值,最后比較當(dāng)前溫度是否超過范圍,若是則蜂鳴器報警,否則不報警。

4.3各子程序設(shè)計

子程序設(shè)計包括按鍵設(shè)置子程序、DS18B20溫度檢測子程序、LCD1602液晶顯示子程序、。各子程序的具體介紹將在如下部分詳細給出。

4.3.1按鍵設(shè)置子程序

圖4-3 按鍵設(shè)置子程序流程圖

如圖4-3所示為按鍵設(shè)置子程序流程圖,程序當(dāng)分別按下按鍵K1、K2時,則上限值Tmpup加1和減1,然后結(jié)束,Tmpup表示溫度上限,程序當(dāng)分別按下按鍵K3、K4時,則上限值Tmpdowm加1和減1,然后結(jié)束,Tmpdowm表示溫度下限。


如上為DS18B20讀取溫度子函數(shù),read_18b20()是用來讀取DS18B20溫度傳感器中的一字節(jié)數(shù)據(jù),通過DQ數(shù)據(jù)總線時序來實現(xiàn)。read_temp()是用來處理從DS18B20讀取的數(shù)據(jù)并轉(zhuǎn)換成溫度值的函數(shù),通過調(diào)用read_temp()函數(shù)得到兩字節(jié)溫度數(shù)據(jù),分為高8位和低8位,將其整合在一起得到溫度完整的數(shù)據(jù)。


如上LCD_Init()函數(shù)為1602液晶初始化程序,write_com(0x38)用來設(shè)置初始化顯示模式為0x38,write_com(0x0c)用來顯示開和光標(biāo)設(shè)置,write_com(0x06)用來顯示光標(biāo)移動設(shè)置。Wite_com()用來寫命令,write_data()用來寫數(shù)據(jù),write_string()則用來給1602寫入顯示的字符串?dāng)?shù)據(jù)。

如上為按鍵設(shè)置子程序,當(dāng)按鍵KEY0或KEY1、KEY2或KEY3按下時LCD顯示的設(shè)置上限值也會隨之加減,改變報警溫度上限,從而實時判斷當(dāng)前溫度,當(dāng)溫度超出范圍則蜂鳴器報警。

附錄一 系統(tǒng)原理圖


全部資料51hei下載地址:

設(shè)計方案.7z (666.59 KB, 下載次數(shù): 65)




作者: 如癡百感生    時間: 2019-8-6 15:54
前來學(xué)習(xí)




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1