【電子信息工程畢業(yè)設計 文獻綜述 開題報告】溫室多點溫度采集系統(tǒng)設計--軟件設計_第1頁
【電子信息工程畢業(yè)設計 文獻綜述 開題報告】溫室多點溫度采集系統(tǒng)設計--軟件設計_第2頁
【電子信息工程畢業(yè)設計 文獻綜述 開題報告】溫室多點溫度采集系統(tǒng)設計--軟件設計_第3頁
【電子信息工程畢業(yè)設計 文獻綜述 開題報告】溫室多點溫度采集系統(tǒng)設計--軟件設計_第4頁
【電子信息工程畢業(yè)設計 文獻綜述 開題報告】溫室多點溫度采集系統(tǒng)設計--軟件設計_第5頁
已閱讀5頁,還剩57頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、【電子信息工程畢業(yè)設計+文獻綜述+開題報告】溫室多點溫度采集系統(tǒng)設計-軟件設計 20_ _屆本科畢業(yè)設計溫室多點溫度采集系統(tǒng)設計-軟件設計摘 要溫度是與人類的生活、工作關系最密切的物理量,許多技術領域都離不開測溫和控溫。本課題以SST89E51單片機為控制核心,輔以新型的溫度傳感器DS18B20電路,數模轉換器,液晶顯示電路等組成的測溫系統(tǒng)??蓪Σ煌臏厥掖笈锘蛘呤窃谕粋€溫室大棚內的不同地點進行溫度測量采集。本文從硬件和軟件兩方面來講述在過程中主要應用、顯示器而主要是通過 DS18B20數字溫度傳感器采集環(huán)境溫度,以單片機為核心控制部件,并通過1602字符型液晶顯示器顯示實時溫度的一種數字溫

2、度計。軟件方面采用語言來進行程序設計。為了便于擴展和更改,軟件的設計采用模塊化 Design of Multi-Channel Thermal Acquisition System in Greenhouse?- software designAbstractThermal acquisition system has been widely used. The thesis first describes the various functional modules and basic principle of our multi-channel thermal acquisition sy

3、stem, and then briefly introduces the design of the various hardware circuits of the system. Software design is my main work. Using C language for programming. In order to facilitate expansion and change, software design is modular structure,temperature acquisition module, the temperature display mo

4、dule and the serial communication module.Keywords: Temperature,SST89E51,DS18B20,LCD Monitor,Software Design, Flow Chart目錄摘 要IIIAbstractIV1 緒論11.1課題的來源11.2課題的意義11.3溫室多點溫度采集系統(tǒng)國內外開展現狀21.3.1國內的研究現狀21.3.2 國外的研究現狀31.4課題研究的主要內容32溫室多點溫度采集系統(tǒng)的總體設計32.1溫室多點溫度采集系統(tǒng)的方案設計42.2方案評價42.3溫室多點溫度采集系統(tǒng)的設計內容53系統(tǒng)硬件電路設計53.1單片機

5、控制單元63.2溫度采集局部73.3溫度顯示局部783.5 PCB電路圖94系統(tǒng)軟件設計94.1主程序流程圖104.2主要模塊及局部程序134.3上位機程序20結論23參考文獻24致謝25附錄26附錄圖1 硬件電路圖27附錄圖2 PCB圖28附錄圖3 程序清單291 緒論溫室是一種可以改變植物生長環(huán)境、防止外界四季變化和惡劣氣候對其影響使種植物生長在一個較好環(huán)境下的場所。在我國大局部地區(qū),夏天天氣炎熱枯燥,冬天溫度較低,因此,農戶修建溫室來種植一些季節(jié)反常蔬菜或一些名貴花草。在溫室種植中,溫度檢測控制的好壞直接影響作物的生長情況,傳統(tǒng)靠人工控制溫度操作,測量精度較低,且控制實時性較差,而一些控

6、制系統(tǒng)也存在測量誤差大、電機控制功能單一導致控制效果不理想等問題。而單片機的溫度檢測控制并報警在現代的生活、生產特別在設施農業(yè)中得到了越來越廣泛的應用及認可。因此,本課題圍繞SST89E516單片機進行設計?,F代農業(yè)生產中大量采用溫室進行蔬菜等農作物培育,目前已廣泛應用于農業(yè)生產、農作物的試驗研究和商業(yè)動、植物的培養(yǎng)等方面,已經成為農業(yè)生產和農業(yè)科研必不可少的技術手段。溫度監(jiān)測是控制農作物生長的關鍵因素,由于不同溫室中農作物生長所需要的溫度不同且要求穩(wěn)定在一定的溫度范圍內,僅僅依靠人工管理,存在溫度調節(jié)不及時、不準確、影響作物生長及人力資源浪費等問題。因此,要求有一種具有足夠精度和可以實現實時

7、控制的溫度控制系統(tǒng)來代替人工操作,并盡可能地具有較低本錢。為此,設計了以SST89E516單片機為控制核心,輔以新型的溫度傳感器DS18B20電路,數模轉換器,液晶顯示電路等組成的測溫系統(tǒng),其具有精度高、抗干擾能力強、經濟性好、適合于惡劣環(huán)境的現場溫度測控、溫控范圍廣等優(yōu)點。隨著農業(yè)產業(yè)規(guī)模的不斷提高,現代農業(yè)大棚技術的普及開展,溫室大棚數量不斷增多,溫室大棚的溫度控制便成為一個關鍵,而傳統(tǒng)的溫度控制措施顯現出很大的局限性,所以國內外研究各種新型的溫室采集控制系統(tǒng),用以效勞農業(yè),降低農資本錢。我國對于溫度測控技術的研究較晚,始于20世紀80年代工程技術人員在吸收興旺國家溫度測控技術的根底上,才

8、掌握了溫度室內微機控制技術,該技術僅限于對溫度的單項環(huán)境因子的控制。AD轉換后顯示在LCD液晶顯示器上,從而實現了大棚內溫度的自動化調節(jié)。其特點是耗電量小,體積小,實時性強,操作簡單,精度高等特點。再根據當前農業(yè)現代化開展的需求,以當前農業(yè)中所采用的溫室大棚為模擬對象,按照現有溫室控制的根本方式,從中提取關鍵信息,利用一些較低價位的傳感器、控制芯片、拖動器件和其他功能器件,來設計建造一個微型智能溫室。和現有的溫室相比,微型智能溫室具有本錢低、耗能少、易于實現、便于實驗、適應性強等優(yōu)點,能夠實現現有通用溫室的一般功能,包括溫度調節(jié)、濕度調節(jié)、光照調節(jié)、空氣流通調節(jié)、供水量調節(jié)等。我國溫度測控設施

9、計算機應用,在總體上正從消化吸收、簡單應用階段向實用化、綜合性應用階段過渡和開展。在技術上,以單片機控制的單參數單回路系統(tǒng)居多,尚無真正意義上的多參數綜合控制系統(tǒng),與興旺國家相比,存在較大差距。國外對溫度控制技術研究較早,始于20世紀70年代。先是采用模擬式的組合儀表,采集現場信息并進行指示、記錄和控制80年代末出現了分布式控制系統(tǒng)在此類系統(tǒng)中,單片機與PC機如何進行高效、快速、方便的數據傳輸是系統(tǒng)需要著重考慮的問題。單片機與PC機的數據交換,目前通常采用RS一232串口通訊方式,其存在傳輸速率較低、PC端口資源有限,可擴展性較差、不支持熱插拔等方面的缺乏。通用串行總線USB Universa

10、l Serial Bus 是1995年Cornpaq,Microsoft,IBM ,DEC等公司聯(lián)合推出的一種新型的通信標準。USB接口具有較高的傳輸速率,USB11中低速設備可達15Mbits高速設備為12Mbits,現在剛剛推出的USB20協(xié)議,在理論上其傳輸速率可以到達480 Mbps E。用USB連接的外圍設備數目最多可達127個,并且具有可熱插拔、無需外接電源等特點。 目前正開發(fā)和研制計算機數據采集控制系統(tǒng)的多因子綜合控制系統(tǒng)現在世界各國的溫度測控技術開展很快,一些國家在實現自動化的根底上正向著完全自動化無人化的方向開展2溫室多點溫度采集系統(tǒng)的總體設計本系統(tǒng)以單片機SST89E51為

11、核心,利用溫度傳感器DS18B20對環(huán)境進行直接溫度監(jiān)測,然后采用液晶顯示器1602對溫度進行數字顯示。采集溫度需經單片機處理,比擬監(jiān)測到的溫度值和報警設置值,發(fā)現超限那么蜂鳴器報警提示,最后通過串口RS232連接到PC機上。為了便于對設計的擴展和更改,在軟件設計方面采用了模塊化結構,把它分成溫度采集模塊,溫度顯示模塊和串口通信模塊等。圖2-1設備總體設計方案系統(tǒng)采用的芯片屬于常規(guī)芯片,采用的溫度傳感器DSl8B20是DALLAS公司生產的單總線數字溫度傳感器,它具有低功耗、微型化、高性能、抗干擾能力強等優(yōu)點,特別適合于構成溫度檢測系統(tǒng),可直接將溫度轉化成串行數字信號進行處理。在溫度顯示上采用

12、液晶顯示器1602,它采用的數字式接口使其和單片機系統(tǒng)的接口更加簡單可靠,操作更加方便1DALLAS半導體公司推出的DS18B20溫度傳感器,通過單片機與多個溫度傳感器,液晶顯示電路相連,采集記錄溫度傳感器的測量數據,并對數據進行實時顯示。然后將環(huán)境中采集到的溫度數據通過串口通信RS232傳到PC機,工作人員可以通過PC機顯示,對數據進行記錄并做相關處理。在電源設計方面,通過采用2節(jié)7號電池,再由1674升壓芯片升壓到5V進行供電??傮w設計的主要內容有:電路原理圖設計;繪制電路圖;PCB圖繪制;程序編寫仿真;程序燒入;調試。233硬件電路設計本系統(tǒng)采用主要以單片機SST89E51為核心進行溫度

13、控制。SST芯片所有微控制單元MCU的設計和制造都使用了SST公司特有的SuperFlash工藝。片內的SuperFlash存儲器分為兩個獨立的程序存儲塊。主SuperFlash塊0為64KB/32KB大小,從塊1為8KB大小,其可以映射到64KB/32KB地址空間的最低位位置;也可從被程序計數器隱藏,映射到數據空間,作為一個獨立的EEPROM數據存儲器。通過一個特殊的適配器和相應針對SST的固件代碼可以使用標準的87C5x OTP EPROM編程器對器件進行編程。在上電復位時,器件可以配置為外部主機編程器等的一個從設備用于燒寫代碼,也可以配置為一個主設備進行IAP。器件設計為可進行ISP在系

14、統(tǒng)編程和IAP在應用編程可以大大擴展電路板設計的靈活性,特別對于TQFP小型封裝和PLCC封裝可以省去價格昂貴的適配器。這顆器件在出廠時,SST已經向從Flash塊中預寫了一段典型的引導代碼,示范了通過IAP進行用戶代碼下載和引導代碼升級的操作。SST提供一個典型的引導代碼例子用于用戶參考設計。片擦除指令將擦除預編的引導代碼。圖3-1 SST89E51 3.2 溫度采集局部系統(tǒng)利用SST89E51單片機及其外圍接口電路來實現對溫度測量與控制。數字溫度傳感器DS18B20對外界環(huán)境進行多點測溫,DS18B20內部主要由溫度傳感器、溫度數字轉換電路、ROM存儲器、一個暫存RAM、一個非易失性電可擦

15、除E2RAM和串行IO接口電路等本分組成,與傳統(tǒng)的熱敏電阻相比DSl8B20能夠直接讀出被測溫度并且可根據實際要求通過簡單的編程實現9-12位的數字讀取方式。從DS18B20讀出的信息或寫入DS18B20的信息僅需要一根口線 單線接口 讀寫,溫度變換功率來源于數據總線??偩€本身也可以向所掛接的DS18B20供電,而無需額外電源。因而使用DS18B20可使系統(tǒng)結構更趨簡單,可靠性更高。多點測溫電路如圖3-2。 圖3-2 多點測溫簡單電路溫度顯示上采用液晶顯示器1602,它采用的數字式接口使其和單片機系統(tǒng)的接口更加簡單可靠,操作更加方便 圖3-3 溫度顯示連接電路單片機通過普通I/O口與計算機RS

16、232串口如圖3-4所示。 圖3-4 串口連接3.5 PCB電路圖PCBPrintedCircuitBoard,中文名稱為印制電路板,又稱印刷電路板、印刷線路板,是重要的電子部件,是電子元器件的支撐體,是電子元器件電氣連接的提供者。由于它是采用電子印刷術制作的,故被稱為“印刷電路板4系統(tǒng)軟件設計本系統(tǒng)程序主要實現功能為,一DS18B20讀取溫度并處理,二液晶顯示器1602顯示溫度值,三串口發(fā)送溫度數據至PC機。具體實現為溫度傳感器DS18B20監(jiān)測環(huán)境溫度,經過單片機SST芯片處理在1602進行數字顯示DS18B20 的工作嚴格遵守單總線協(xié)議: 1 主機首先發(fā)一復位脈沖, 信號線上所有DS18

17、B20器件都被復位。 2 接著主機發(fā)送ROM 命令, 程序開始讀取單個在線的芯片ROM 編碼并保存在單片機數據存儲器中, 然后卸下已讀出的, 將未讀出編碼的DS18B20 逐個掛在總線上并讀取其ROM 編碼, 直到把所有的需要用到的DS18B20的ROM 編碼都離線讀出, 最后用一個二維數組保存所有這些ROM 編碼, 數據保存在X25043 中。 3 系統(tǒng)工作時, 把所有讀取了編碼的且需要用的DS18B20 掛在總線上。發(fā)溫度轉換命令, 再總線復位。 4 然后就可以從剛剛的二維數組逐個匹配在線的溫度傳感器, 隨后發(fā)溫度讀取命令就可以依次獲得各路對應的溫度值了。多路測溫沒有采用發(fā)ROM 命令0F

18、H 搜索所有在線溫度傳感器, 而是采用ROM 命令33H 先離線讀出需要用到的每個溫度傳感器, 這樣做不但簡化了編程, 也不用進行在線的逐個搜索ROM 編碼而浪費大量的時間等待搜索是否完成 平均每搜索75 個芯片ROM 編碼需1s。通過離線一片一片地讀出其中ROM 編碼, 在存儲這些編碼的二維數組中也可以事先匹配好測溫的對象。void main void unsigned char i,j;/,m,n;lcd_init ;/ 初始化LCDUART_init ;delay1ms 1 ;TH 30;TL -3;/報警上下限/rs_rom ;/讀取ROM,串口發(fā)送/search_1wire ;whi

19、le 1 for i 0;i num_18b20;i+ work_temp read_temp11 seriali ;/讀取,處理指定DS18B20溫度數據send_data ; / 發(fā)送采集的溫度if i 0 lcd_pos 0x00 ;/ 設置顯示位置else if i 1 lcd_pos 0x40 ;else if i 2 lcd_pos 0x09 ;else lcd_pos 0x49 ;if zhenshu2 0 T2 ' ' /百位else if zhenshu2 '-' T2 '-' else T2 zhenshu2+'0&#

20、39;if zhenshu2 0 && zhenshu1 0 | zhenshu2 '-' && zhenshu1 0 T1 ' ' /十位else T1 zhenshu1+'0'T0 zhenshu0+'0'/個位j 3;do j-;lcd_wdat Tj ;/ 顯示字符 while j ;lcd_wdat '.' ;/小數點lcd_wdat xiaoshu0+'0' ;/小數局部lcd_wdat xiaoshu1+'0' ;/小數局部lcd_wda

21、t 0xdf ;lcd_wdat 0x43 ;/單位符號soundplay ; 一、DS18B20讀溫度模塊1、流程圖2、DS18B20復位函數在主機初始化過程, 主機通過拉低單總線至少480 Ls, 以產生復位脈沖。接著, 主機釋放總線, 并進入接收模式。當總線被釋放后, 上拉電阻將單總線拉高。在單總線器件檢測到上升沿后, 延時15 60 Ls, 接著通過拉低總線60 240 Ls, 以產生應答脈沖。ow_reset void char presence 1;while presence while presence DQ 1;_nop_ ;_nop_ ;/從高拉倒低DQ 0; delay1

22、1us 50 ; /550 us/不少于480us低電平信號DQ 1; /拉高,15-60us后接收存在脈沖 /存在脈沖為一個60240uS的低電平信 delay11us 6 ; /66 uspresence DQ; /presence 0 復位成功,繼續(xù)下一步 delay11us 45 ; /延時500 us presence DQ; DQ 1; /拉高電平 3、總線寫數據寫時隙均起始于主機拉低總線, 產生寫1 時隙的方式: 主機在拉低總線后, 接著必須在15 Ls 之內釋放總線;而產生寫0 時隙的方式: 在主機拉低總線后, 只需在整個時隙期間保持低電平即可 至少60 us 。在寫字節(jié)程序中

23、的寫一個bit 位的時候, 沒有按照通常的分別寫0 時序和寫1 時序, 而是把兩者結合起來, 當主機拉低總線后在15 Ls 之內將要寫的位c 給D0: 如果c是高電平滿足15 Ls 內釋放總線的要求, 如果c 是低電平,那么D0 c 這條語句仍然是把總線拉在低電平, 最后都通過延時58 Ls 完成一個寫時序 寫時序0 或寫時序1 過程。 1 、向1-WIRE 總線上寫1個位void write_bit uchar val DQ 1;_nop_ ;_nop_ ; /從高拉倒低 DQ 0;_nop_ ;_nop_ ; _nop_ ;_nop_ ; /5 us DQ val&0x01; /最

24、低位移出/取最低位寫出 delay11us 6 ; /66 us DQ 1; delay11us 1 ; 2 、向總線上寫一個字節(jié)數據void write_byte uchar val uchar i; for i 8;i 0;i- write_bit val ; /66 us val val/2; /右移1位 DQ 1; delay11us 1 ; 4、總線讀數據每個讀時隙都由主機發(fā)起, 至少拉低總線1 Ls, 在主機發(fā)起讀時隙之后, 單總線器件才開始在總線上發(fā)送0 或1。所有讀時隙至少需要60 Ls。 1 、從總線上讀取1個字節(jié)數據uchar read_byte void uchar i;

25、uchar value 0;for i 8;i 0;i- DQ 1;_nop_ ;_nop_ ;value 1;DQ 0;_nop_ ;_nop_ ;_nop_ ;_nop_ ; /4 usDQ 1;_nop_ ;_nop_ ;_nop_ ;_nop_ ; /4 us /讀引腳寫1?if DQ value| 0x80;delay11us 6 ; /66 us DQ 1;return value ; 2 、從總線上取1個位uchar read_bit void uchar value 0;DQ 1;_nop_ ;_nop_ ;DQ 0;_nop_ ;_nop_ ;_nop_ ;_nop_ ; /

26、4 usDQ 1;_nop_ ;_nop_ ;_nop_ ;_nop_ ; /4 us讀引腳寫1?value unsigned char DQ;delay11us 6 ; /66 usDQ 1;return value ; 5、溫度數據處理函數從DS18B20讀取了兩個字節(jié)數據,把二進制高字節(jié)的低半字節(jié)和低字節(jié)的高半字節(jié)組成一字節(jié),這個字節(jié)的二進制轉換為十進制后,就是溫度值的百、十、個位值,而剩下的低字節(jié)的低半字節(jié)轉化成十進制后,就是溫度值的小數局部work_temp uint tem uchar n 0;uchar m 0;if tem 6348 / 溫度值正負判斷 tem 65536-te

27、m;n 1; / 負溫度求補碼,標志位置1m tem&0x0f; / 取小數局部的值/ 存入小數局部顯示值xiaoshu0 ditabm/10; / 十分位xiaoshu1 ditabm%10;/百分位/整數局部m tem 4; / 取中間八位,即整數局部的值zhenshu2 m/100; / 取百位數據暫存zhenshu0 m%100; / 取后兩位數據暫存zhenshu1 zhenshu0/10; / 取十位數據暫存zhenshu0 zhenshu0%10; /個位 if n /符號位顯示判斷 zhenshu2 '-' /溫度在零下時最高位顯示"-&quo

28、t; 二、1602顯示模塊1、流程圖2、LCD初始化設置光標和顯示模式等void lcd_init lcd_wcmd 0x38 ;delay1ms 1 ;lcd_wcmd 0x0c ;/開顯示;光標不顯示,不閃爍delay1ms 1 ;lcd_wcmd 0x06 ;/光標、地址加一;屏幕不移動delay1ms 1 ;lcd_wcmd 0x01 ;/清屏delay1ms 1 ; 3、寫命令void lcd_wcmd unsigned char cmd rs 0;rw 0;ep 0;_nop_ ;_nop_ ;P0 cmd;delay1ms 1 ;ep 1;/010高脈沖有效delay1ms 1

29、;/1ms ep 0; 4、寫數據void lcd_wdat unsigned char dat rs 1;rw 0;ep 0;P0 dat;delay1ms 1 ;ep 1;/010高脈沖有效delay1ms 1 ;ep 0; 三、串口通信模塊1、流程圖2、 串口初始化設置串口工作的波特率void UART_init void TMOD 0x20; / 定時器1工作于8位自動重載模式, 用于產生波特率 TH1 unsigned char 256- XTAL / 32L * 12L * baudrate ; TL1 unsigned char 256- XTAL / 32L * 12L * b

30、audrate ; /定時器0賦初值 SCON 0x50; / 設定串行口工作方式,方式1,8位異步 PCON & 0x00; / 波特率不倍增 TR1 1; / 啟動定時器1 IE 0x00; / 禁止任何中斷 3、串口通信串口通信函數把從ds18b20的兩個字節(jié)的溫度暫存存放器中讀取到的數據直接發(fā)送到PC:void send_data void / 傳送十六位的溫度數據,低位在前 unsigned i 0; while i 2 SBUF temp_datai; while !TI ; / 等特數據傳送 TI 0; / 去除數據傳送標志 i+; 連接單片機與PC機的程序Option

31、Explicit'Public con As New Connection'Dim rst As Recordset'Dim jishu As IntegerDim n As IntegerDim tem As SinglePrivate Sub Combo1_Click ' On Error GoTo uerror If MSComm1.PortOpen True Then MSComm1.PortOpen False If MSComm1.PortOpen False Then MSComm1.PortOpen True Exit Subuerror: Ms

32、gBox "錯誤號:" & Err.Number & ":" & Err.Description, "提示" Resume NextEnd SubPrivate Sub Command1_Click Dim ditab Dim a As Byte Dim xiaoshu As Integer, zhengshu As Integer' Dim low As String, high As Integer Dim i As Integer Dim str1 As String ditab Array 0,

33、 6, 13, 19, 25, 31, 38, 44, 50, 56, 63, 69, 75, 81, 88, 94 '小數' ditab Array "00", "06", 13, 19, 25, 31, 38, 44, 50, 56, 63, 69, 75, 81, 88, 94 '小數 Shape1.Visible True If MSComm1.PortOpen False Then MSComm1.PortOpen True While 1 Do While MSComm1.InBufferCount 8 '接收

34、到8字節(jié)后進行處理 DoEvents Loop MSComm1.InBufferCount 0 str1 "號監(jiān)測點當前溫度值: " n 3 ReDim tem n As Single Dim look As Integer For i 0 To 6 Step 2 xiaoshu ditab a i And 15 '0x0f 15 邏輯與 zhengshu a i + 1 And 15 * 2 4 Or a i And 240 * 2 -4 '去掉符號擴展位,左移4位,加低字節(jié)的高半字節(jié)構成整數局部 If zhengshu 128 Then look Not

35、 zhengshu zhengshu - Not zhengshu And 255 + 1 '取反加1,integer16位,需將取反后的高八位清零,加上符號 '+ 優(yōu)先級高于 not and or ! End If List1.List i / 2 Str i / 2 + str1 + Format zhengshu + Round xiaoshu / 100, 2 , "0.00" + "" tem i / 2 zhengshu + xiaoshu / 100' LastP 125 - tem 0 Next i' Ti

36、mer1.Enabled True WendEnd SubPrivate Sub Form_Load ' On Error GoTo uerror Me.Move Screen.Width - Me.Width / 2, Screen.Height - Me.Height / 2 MSComm1mPort 1 MSComm1.Settings "9600,n,8,1" MSComm1.InputMode 1 MSComm1.InputLen 0 If MSComm1.PortOpen False Then MSComm1.PortOpen True Shape1.V

37、isible False Exit Subuerror: MsgBox "錯誤號:" & Err.Number & ":" & Err.Description, vbOKOnly + vbExclamation, "提示" Resume NextEnd Sub結論隨著計算機與信息技術的開展,計算機測量控制系統(tǒng)得到了越來越廣泛的應用。其中溫度是許多監(jiān)控系統(tǒng)中的一個重要參數。在一些需要實時多點溫度測量的場合,計算機測控系統(tǒng)顯得尤為重要。本文介紹了利用SST89E51控制DS18B20實現多點溫度采集測量,其中的溫度

38、采集測量由數字溫度傳感器DS18B20構成,DS18B20直接把溫度信息轉換成相應的數字信號,再通過液晶顯示器1602可以直接顯示讀取溫度。數據采集、處理模塊主要由SST89E51單片機構成,完成溫度數據的讀取和傳輸。綜合考慮系統(tǒng)精度、效率以及經濟性要求三方面因素,故設計了基于SST89E51的溫度測控系統(tǒng),選用性價比擬高的傳感器,實現對溫度自動監(jiān)測和相應控制功能。針對不同農作物,可以通過設定溫度參數的上、下限值。當系統(tǒng)檢測到溫度有參數越限時。那么啟動報警設備,以期對執(zhí)行機構進行相應控制。為了便于系統(tǒng)的調試、修改,采用模塊化設計,主要包括主程序模塊、數據采集與顯示模塊、與計算機連接的串口模塊、

39、報警模塊等。該系統(tǒng)通過硬件電路設計及軟件編程,能夠實現對溫室大棚溫度的實時監(jiān)測,控制模塊采用SST89E51單片機控制。與傳統(tǒng)測試系統(tǒng)相比具有結構簡單、體積小、本錢低、通用性好、易于實現等特點。本溫度采集顯示系統(tǒng)采用了DS18B20數字傳感器和液晶顯示器1602,無需傳統(tǒng)的AD轉換,使系統(tǒng)占有硬件資源少,具有抗干擾能力強、便于遠距離傳輸等特點,具有很強的實用價值。同時,設備生產本錢較低,能充分滿足農民朋友的根本需求,易于推廣。參考文獻AT89C51的溫室大棚溫濕度測控系統(tǒng)設計AT8 9 S 5 1單片機控制的新型溫室溫度采集監(jiān)測系統(tǒng)A. 江西農業(yè)大學計算機與信息工程學院,2021_09, 9:

40、107-109.DS18B20的溫室溫度控制系統(tǒng)設計A.南京農業(yè)大學工學, 2021,37 36 :17870-17871,17901.5 方琨,張娟,蔡振江,王渝.基于DSl8820數字溫度傳感器的溫室環(huán)境采集系統(tǒng)設計及應用A.北京理工大學自動化學院,北京100081;河北農業(yè)大學機電工程學院,河北保定, 202138 23 :1279212794.6 楊偉新,張曉森.溫濕度控制系統(tǒng)設計A. 西北民族大學,甘肅蘭州730030;蘭州理工大學,甘肅蘭州,2021_12,21 6 :115-117.7 任啟宏,吳年祥.溫室大棚多路溫度檢測系統(tǒng)設計A.安徽國防科技職業(yè)學院,安徽六安,2021,23

41、 4 :48-49.8沈炎松.溫室恒溫控制系統(tǒng)設計A. 漳州職業(yè)技術學院,福建漳州,2021_07:40-43.9 黃偉鋒,葉祥.溫室環(huán)境多點數據嵌入式智能監(jiān)測系統(tǒng)A.仲愷農業(yè)工程學院機電工程學院,華南農業(yè)大學工程學院,2021_06 06 :133-13610 程 浩,錢東平,黃君冉,張 凱.溫室環(huán)境信息采集系統(tǒng)的USB接口設計B. 河北農業(yè)大學機電工程學院,2006_08,22 8 :253-256.11 陳愛武,徐建華,趙瑾.溫室環(huán)境智能監(jiān)控系統(tǒng)設計A.中北大學科技產業(yè)處,中北大學信息與通信工程學院,北京理工大學軟件學院.2007,28 3 .12 張瑋,王東鋒.新型溫室溫度自動記錄儀系

42、統(tǒng)設計A.孟津縣氣象局,空軍第一航空學院.2021,22 3 :169_170,176.13 吳洪濤.溫室環(huán)境調控自動化系統(tǒng)設計A.東北林業(yè)大學,2006_03,22 3 :20-23.14 樊建明,陳淵睿.基于SHT11 的溫室多點測量系統(tǒng)設計A. 華南理工大學,2006_11,25 11 :4-8.15 余國衛(wèi).基于單片機的溫室自動控制系統(tǒng)A. 沈陽理工大學信息科學與工程學院,2021_12,6:159-161.16 T. Ozawa.Temperature Control Modes in Thermal Analysis J. Journal of Thermal Analysis a

43、nd Calorimetry, 2001, 64 1 :109-126.17 S. Semenov and B. Cetegen. Spectroscopic Temperature Measurements in Direct Current Arc Plasma Jets Used in Thermal Spray Processing of MaterialsJ.Journal of Thermal Spray Technology, 2001,10 2 ,326-336.附錄附錄圖1 硬件電路圖附錄圖2 PCB圖程序清單:#include #include #define XTAL 1

44、1059200 / CUP 晶振頻率#define baudrate 9600 / 通信波特率#define uchar unsigned char#define uint unsigned intsbit BUZ P20;sbit rs P25;sbit rw P26;sbit ep P27;unsigned char code a "SEARCHING ROM." ;sbit DQ P21; uint temp;charTH,TL;/*溫度小數局部用查表法*/unsigned char code ditab16 0,6,13,19,25,31,38,44,50,56,6

45、3,69,75,81,88,94 ;/00.06250.1250.18750.250.31250.3750.43750.5 0.56250.6250.68750.750.81250.8750.93751/0 0.06 0.13 0.19 0.25 0.31 0.38 0.44 0.50 0.56 0.63 0.69 0.75 0.81 0.88 0.94 1.00 unsigned char data temp_data2 0x00,0x00 ; /讀出溫度暫放unsigned char data zhenshu3 0x00,0x00,0x00 ; /顯示整數局部unsigned char d

46、ata xiaoshu2 0x00,0x00 ; /顯示小數局部/unsigned char dat_serial8;/單個讀ROM時暫存序列號/unsigned char code xuliehao28/ 0x28,0x1E,0x33,0x7A,0x02,0x00,0x00,0x60 ,/ 0x28,0x58,0xC3,0x0F,0x03,0x00,0x00,0x83 ;低-高#define NUM 4 /存放18b20ROM序列號的數目uchar num_18b20;uchar serialNUM8 0x00 ; void delay1ms unsigned char ms unsigne

47、d char i;while ms- for i 0; i 250; i+ _nop_ ;_nop_ ;_nop_ ;_nop_ ; /*11us延時函數*/void delay11us unsigned int t for ;t 0;t- ; /*bit lcd_bz /返回值判斷是否busy bit result;rs 0; rw 1;ep 1; /011讀狀態(tài)_nop_ ;_nop_ ;_nop_ ;_nop_ ;result bit P0 & 0x80 ;/讀取狀態(tài)值ep 0;return result; */void lcd_wcmd unsigned char cmd /w

48、hile lcd_bz ;/判斷LCD是否忙碌rs 0;rw 0;ep 0;_nop_ ;_nop_ ;P0 cmd;delay1ms 1 ;ep 1;/delay1ms 1 ;/ep 0; void lcd_pos unsigned char pos lcd_wcmd pos | 0x80 ; void lcd_wdat unsigned char dat /while lcd_bz ;/判斷LCD是否忙碌rs 1;rw 0;ep 0;P0 dat;delay1ms 1 ;ep 1;/delay1ms 1 ;ep 0; void lcd_init lcd_wcmd 0x38 ;delay1ms 1 ;lcd_wcmd 0x0c ;/開顯示;光標不顯示,不閃爍delay1ms 1 ;lcd

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論