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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、【電子信息工程畢業(yè)設(shè)計+文獻(xiàn)綜述+開題報告】溫室多點溫度采集系統(tǒng)設(shè)計-軟件設(shè)計 20_ _屆本科畢業(yè)設(shè)計溫室多點溫度采集系統(tǒng)設(shè)計-軟件設(shè)計摘 要溫度是與人類的生活、工作關(guān)系最密切的物理量,許多技術(shù)領(lǐng)域都離不開測溫和控溫。本課題以SST89E51單片機(jī)為控制核心,輔以新型的溫度傳感器DS18B20電路,數(shù)模轉(zhuǎn)換器,液晶顯示電路等組成的測溫系統(tǒng)。可對不同的溫室大棚或者是在同一個溫室大棚內(nèi)的不同地點進(jìn)行溫度測量采集。本文從硬件和軟件兩方面來講述在過程中主要應(yīng)用、顯示器而主要是通過 DS18B20數(shù)字溫度傳感器采集環(huán)境溫度,以單片機(jī)為核心控制部件,并通過1602字符型液晶顯示器顯示實時溫度的一種數(shù)字溫

2、度計。軟件方面采用語言來進(jìn)行程序設(shè)計。為了便于擴(kuò)展和更改,軟件的設(shè)計采用模塊化 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)國內(nèi)外開展現(xiàn)狀21.3.1國內(nèi)的研究現(xiàn)狀21.3.2 國外的研究現(xiàn)狀31.4課題研究的主要內(nèi)容32溫室多點溫度采集系統(tǒng)的總體設(shè)計32.1溫室多點溫度采集系統(tǒng)的方案設(shè)計42.2方案評價42.3溫室多點溫度采集系統(tǒng)的設(shè)計內(nèi)容53系統(tǒng)硬件電路設(shè)計53.1單片機(jī)

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

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

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

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

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

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

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

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

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

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

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

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

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

18、H 搜索所有在線溫度傳感器, 而是采用ROM 命令33H 先離線讀出需要用到的每個溫度傳感器, 這樣做不但簡化了編程, 也不用進(jìn)行在線的逐個搜索ROM 編碼而浪費大量的時間等待搜索是否完成 平均每搜索75 個芯片ROM 編碼需1s。通過離線一片一片地讀出其中ROM 編碼, 在存儲這些編碼的二維數(shù)組中也可以事先匹配好測溫的對象。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溫度數(shù)據(jù)send_data ; / 發(fā)送采集的溫度if i 0 lcd_pos 0x00 ;/ 設(shè)置顯示位置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 '.' ;/小數(shù)點lcd_wdat xiaoshu0+'0' ;/小數(shù)局部lcd_wdat xiaoshu1+'0' ;/小數(shù)局部lcd_wda

21、t 0xdf ;lcd_wdat 0x43 ;/單位符號soundplay ; 一、DS18B20讀溫度模塊1、流程圖2、DS18B20復(fù)位函數(shù)在主機(jī)初始化過程, 主機(jī)通過拉低單總線至少480 Ls, 以產(chǎn)生復(fù)位脈沖。接著, 主機(jī)釋放總線, 并進(jìn)入接收模式。當(dāng)總線被釋放后, 上拉電阻將單總線拉高。在單總線器件檢測到上升沿后, 延時15 60 Ls, 接著通過拉低總線60 240 Ls, 以產(chǎn)生應(yīng)答脈沖。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 復(fù)位成功,繼續(xù)下一步 delay11us 45 ; /延時500 us presence DQ; DQ 1; /拉高電平 3、總線寫數(shù)據(jù)寫時隙均起始于主機(jī)拉低總線, 產(chǎn)生寫1 時隙的方式: 主機(jī)在拉低總線后, 接著必須在15 Ls 之內(nèi)釋放總線;而產(chǎn)生寫0 時隙的方式: 在主機(jī)拉低總線后, 只需在整個時隙期間保持低電平即可 至少60 us 。在寫字節(jié)程序中

23、的寫一個bit 位的時候, 沒有按照通常的分別寫0 時序和寫1 時序, 而是把兩者結(jié)合起來, 當(dāng)主機(jī)拉低總線后在15 Ls 之內(nèi)將要寫的位c 給D0: 如果c是高電平滿足15 Ls 內(nèi)釋放總線的要求, 如果c 是低電平,那么D0 c 這條語句仍然是把總線拉在低電平, 最后都通過延時58 Ls 完成一個寫時序 寫時序0 或?qū)憰r序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é)數(shù)據(jù)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、總線讀數(shù)據(jù)每個讀時隙都由主機(jī)發(fā)起, 至少拉低總線1 Ls, 在主機(jī)發(fā)起讀時隙之后, 單總線器件才開始在總線上發(fā)送0 或1。所有讀時隙至少需要60 Ls。 1 、從總線上讀取1個字節(jié)數(shù)據(jù)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、溫度數(shù)據(jù)處理函數(shù)從DS18B20讀取了兩個字節(jié)數(shù)據(jù),把二進(jìn)制高字節(jié)的低半字節(jié)和低字節(jié)的高半字節(jié)組成一字節(jié),這個字節(jié)的二進(jìn)制轉(zhuǎn)換為十進(jìn)制后,就是溫度值的百、十、個位值,而剩下的低字節(jié)的低半字節(jié)轉(zhuǎn)化成十進(jìn)制后,就是溫度值的小數(shù)局部work_temp uint tem uchar n 0;uchar m 0;if tem 6348 / 溫度值正負(fù)判斷 tem 65536-te

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

28、t; 二、1602顯示模塊1、流程圖2、LCD初始化設(shè)置光標(biāo)和顯示模式等void lcd_init lcd_wcmd 0x38 ;delay1ms 1 ;lcd_wcmd 0x0c ;/開顯示;光標(biāo)不顯示,不閃爍delay1ms 1 ;lcd_wcmd 0x06 ;/光標(biāo)、地址加一;屏幕不移動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、寫數(shù)據(jù)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、 串口初始化設(shè)置串口工作的波特率void UART_init void TMOD 0x20; / 定時器1工作于8位自動重載模式, 用于產(chǎn)生波特率 TH1 unsigned char 256- XTAL / 32L * 12L * baudrate ; TL1 unsigned char 256- XTAL / 32L * 12L * b

30、audrate ; /定時器0賦初值 SCON 0x50; / 設(shè)定串行口工作方式,方式1,8位異步 PCON & 0x00; / 波特率不倍增 TR1 1; / 啟動定時器1 IE 0x00; / 禁止任何中斷 3、串口通信串口通信函數(shù)把從ds18b20的兩個字節(jié)的溫度暫存存放器中讀取到的數(shù)據(jù)直接發(fā)送到PC:void send_data void / 傳送十六位的溫度數(shù)據(jù),低位在前 unsigned i 0; while i 2 SBUF temp_datai; while !TI ; / 等特數(shù)據(jù)傳送 TI 0; / 去除數(shù)據(jù)傳送標(biāo)志 i+; 連接單片機(jī)與PC機(jī)的程序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 '小數(shù)' ditab Array "00", "06", 13, 19, 25, 31, 38, 44, 50, 56, 63, 69, 75, 81, 88, 94 '小數(shù) Shape1.Visible True If MSComm1.PortOpen False Then MSComm1.PortOpen True While 1 Do While MSComm1.InBufferCount 8 '接收

34、到8字節(jié)后進(jìn)行處理 DoEvents Loop MSComm1.InBufferCount 0 str1 "號監(jiān)測點當(dāng)前溫度值: " 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 '去掉符號擴(kuò)展位,左移4位,加低字節(jié)的高半字節(jié)構(gòu)成整數(shù)局部 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結(jié)論隨著計算機(jī)與信息技術(shù)的開展,計算機(jī)測量控制系統(tǒng)得到了越來越廣泛的應(yīng)用。其中溫度是許多監(jiān)控系統(tǒng)中的一個重要參數(shù)。在一些需要實時多點溫度測量的場合,計算機(jī)測控系統(tǒng)顯得尤為重要。本文介紹了利用SST89E51控制DS18B20實現(xiàn)多點溫度采集測量,其中的溫度

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

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

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

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

42、統(tǒng)設(shè)計A.孟津縣氣象局,空軍第一航空學(xué)院.2021,22 3 :169_170,176.13 吳洪濤.溫室環(huán)境調(diào)控自動化系統(tǒng)設(shè)計A.東北林業(yè)大學(xué),2006_03,22 3 :20-23.14 樊建明,陳淵睿.基于SHT11 的溫室多點測量系統(tǒng)設(shè)計A. 華南理工大學(xué),2006_11,25 11 :4-8.15 余國衛(wèi).基于單片機(jī)的溫室自動控制系統(tǒng)A. 沈陽理工大學(xué)信息科學(xué)與工程學(xué)院,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;/*溫度小數(shù)局部用查表法*/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 ; /顯示整數(shù)局部unsigned char d

46、ata xiaoshu2 0x00,0x00 ; /顯示小數(shù)局部/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序列號的數(shù)目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延時函數(shù)*/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 ;/開顯示;光標(biāo)不顯示,不閃爍delay1ms 1 ;lcd

溫馨提示

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

評論

0/150

提交評論