大棚溫濕度自動控制系統(tǒng)設(shè)計 畢業(yè)設(shè)計-
《大棚溫濕度自動控制系統(tǒng)設(shè)計 畢業(yè)設(shè)計-》由會員分享,可在線閱讀,更多相關(guān)《大棚溫濕度自動控制系統(tǒng)設(shè)計 畢業(yè)設(shè)計-(56頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、西華大學畢業(yè)設(shè)計說明書 大棚溫濕度自動控制系統(tǒng)設(shè)計 摘 要:本設(shè)計是基于STC89C52RC單片機的大棚溫濕度自動控制系統(tǒng),采用SHT10作為溫濕度傳感器,LCD1602液晶屏進行顯示。SHT10使用類似于I2C總線的時序與單片機進行通信,由于它高度集成,已經(jīng)包括A/D轉(zhuǎn)換電路,所以使用方便,而且準確、耐用。LCD1602能夠分兩行顯示數(shù)據(jù),第一行顯示溫度,第二行顯示濕度。這個控制系統(tǒng)能夠測量溫室大棚中的溫度和濕度,將其顯示在液晶屏LCD1602上,同時將其與設(shè)定值進行對比,如果超出上下限,將進行報警并啟動溫濕度調(diào)節(jié)設(shè)備。此外,還可以通過獨立式鍵盤對設(shè)定的溫濕度進
2、行修改。通過設(shè)計系統(tǒng)原理圖、用Proteus軟件進行仿真,證明了該系統(tǒng)的可行性。 關(guān)鍵詞:STC89C52RC,SHT10,I2C總線,獨立式鍵盤,溫濕度自動控制 Abstract: This design is an automatic temperature and humidity controller for greenhouses, with the STC89C52RC MCU being its main controller. It uses the SHT10 as the temperature and humidity sensor, and the LCD160
3、2 to display the messages. The SHT10 uses a timing sequence much like the I2C to communicate with the micro-controller. Because it’s a highly integrated chip, it already includes an analog to digital converter. Therefore, it’s quite convenient to use, and also accurate and durable. The LCD1602 can d
4、isplay two lines of messages, with the first line for temperature and the second line for humidity. The design can measure the temperature and humidity in a greenhouse, and then display it on a LCD1602. Meanwhile, it compares the data with the set limit. If the limit is exceeded, then the system wil
5、l send out a warning using a buzzer and activate the temperature and humidity controlling equipment. Besides, the set limit can be modified with the independent keyboard. Through schematic design and Proteus simulation, the feasibility of this design has been proved. Keywords: STC89C52RC, SHT10, I2
6、C bus, independent keyboard, temperature and humidity control 目 錄 1 前言 1 2 總體方案設(shè)計 3 2.1 溫濕度控制系統(tǒng)的設(shè)計指標要求 3 2.2 系統(tǒng)設(shè)計的原則 3 2.2.1 可靠性 3 2.2.2 性價比 3 2.3 方案比較 4 2.3.1 方案一 4 2.3.2 方案二 4 2.4 方案論證 5 2.5 方案選擇 5 3 單元模塊設(shè)計 6 3.1 各單元模塊功能介紹及電路設(shè)計 6 3.1.1 單片機最小系統(tǒng) 6 3.1.2 液晶顯示模塊 8 3.1.3 溫濕度傳感器模塊 8
7、3.1.4 報警電路的設(shè)計 9 3.1.5 輸出電路設(shè)計 10 3.1.6 電源的設(shè)計 12 3.1.7 按鍵電路設(shè)計 13 3.1.8 串口通信電路 14 3.2 元件清單 15 3.3 關(guān)鍵器件的介紹 17 3.3.1 STC89C52RC 17 3.3.2 SHT10溫濕度傳感器 19 4 系統(tǒng)軟件設(shè)計 22 4.1 軟件設(shè)計的總體結(jié)構(gòu) 22 4.2 主要模塊的設(shè)計流程框圖 24 4.2.1 主程序流程圖 24 4.2.2 SHT10子程序流程圖 25 4.2.3 LCD1602子程序流程圖 27 4.2.4 輸出控制子程序流程圖 28 4.2.5 鍵
8、盤掃描子程序流程圖 29 4.3 軟件設(shè)計所用工具 31 4.3.1 Keil uVision4 31 4.3.2 Proteus 31 5 系統(tǒng)調(diào)試 32 5.1 用Proteus搭建仿真總圖 32 5.2 用Keil對程序進行調(diào)試、編譯 33 6 結(jié)論 36 6.1 系統(tǒng)的功能 36 6.2 系統(tǒng)的指標參數(shù) 36 6.3 系統(tǒng)功能分析 36 7 總結(jié)與體會 38 8 致謝 39 9 參考文獻 40 附錄1 系統(tǒng)的電路原理圖 41 附錄2 系統(tǒng)仿真總圖 42 附錄3 系統(tǒng)實物照片 43 附錄4 系統(tǒng)源程序 44 附錄5 英文參考資料 46 1 中文翻譯
9、46 2 英文原文 49 西華大學畢業(yè)設(shè)計說明書 1 前言 溫室大棚作為一種高效的農(nóng)業(yè)生產(chǎn)方式,與傳統(tǒng)農(nóng)業(yè)生產(chǎn)方式相比具有很大的優(yōu)點。溫室農(nóng)業(yè)生產(chǎn)可以獲得高產(chǎn)和優(yōu)質(zhì)的蔬菜、花卉、瓜果,不僅可改變這些產(chǎn)品按自然季節(jié)供應(yīng)的模式,延長其供應(yīng)期,而且可在不同地方進行種植,達到所謂“地不分東西南北,食不分春夏秋冬”。溫室農(nóng)業(yè)可以改變傳統(tǒng)農(nóng)業(yè)勞動力冬閑夏忙
10、的安排,以小面積獲得高產(chǎn),減輕大面積的土地壓力。溫室農(nóng)業(yè)采用適時適量供水的優(yōu)化用水同時配以微灌和高濕環(huán)境,可達到農(nóng)業(yè)用水高效高產(chǎn),按產(chǎn)品的數(shù)量平均計算,節(jié)省水分量是很大的。這種設(shè)施系統(tǒng)可以從簡易到全自動控制,適宜各種狀況下的選擇,特別是對于日光溫室、塑料大棚,相對投資較少。若能降低成本、采用經(jīng)久耐用的低成本采光材料,發(fā)展前景將更為廣闊,即使在一些偏遠地區(qū)的農(nóng)村、場所,也可以修建單個的溫室和塑料大棚,進行環(huán)境控制下的蔬菜和瓜果的生產(chǎn),改變這些地區(qū)的生活條件。 要想實現(xiàn)溫室大棚高效增產(chǎn)的作用,對溫濕度的準確控制是極其重要的。溫室內(nèi)空氣濕度的日變化受天氣、加溫及通風換氣量的影響,陰天或灌水后室內(nèi)空
11、氣濕度幾乎都在90%以上。晴天在傍晚關(guān)窗至次日早晨開窗前溫室維持在高濕度。室內(nèi)濕氣遇冷后凝結(jié)成水滴附著在薄膜或玻璃的內(nèi)表面上,待到加溫或日出后,室內(nèi)溫度上升,濕度逐漸下降,附著在屋頂上的水滴隨之消失。溫濕度的較大變化對農(nóng)作物的生長十分不利,研究結(jié)果表明,由于植物體內(nèi)水分不足導(dǎo)致氣孔關(guān)閉,首先妨礙了CO2的交換,而使飽和作用顯著下降,特別是在缺水狀況加劇時,給細胞原生質(zhì)的生化作用帶來影響,光合作用顯著下降。而溫度在夜間下降過低也會影響光合作用的效率。 因此,非常有必要使用一套溫濕度控制系統(tǒng),以維持溫室大棚內(nèi)的溫度、濕度在一個合適的范圍,實現(xiàn)大棚內(nèi)農(nóng)作物的水分、養(yǎng)分的有效供給,提高光合作用的效率
12、,從而達到增產(chǎn)目的。 傳統(tǒng)的溫濕度控制是在溫室大棚內(nèi)部懸掛溫、濕度計,通過讀取溫、濕度值進而了解實際的溫度和濕度,然后根據(jù)現(xiàn)檢測的溫濕度與額定值進行比較,看溫濕度是否超過限定值,然后進行相應(yīng)的通風或者相應(yīng)的灑水。這些操作都是人工的,耗費了大量的人力以及物力。現(xiàn)在,隨著國家經(jīng)濟的迅速發(fā)展,農(nóng)業(yè)產(chǎn)業(yè)規(guī)模的進一步提高,大棚中培育出的農(nóng)產(chǎn)品品種數(shù)量的逐漸增多,對于數(shù)量較多而又大型的大棚,傳統(tǒng)的溫濕度控制措施就出現(xiàn)了局限性。這要求我們提高溫濕度檢測與控制技術(shù),來滿足對溫室大棚建設(shè)的需要。 在本設(shè)計中,采用單片機來控制溫濕度,不僅具有廉價、配置簡單和靈活的優(yōu)勢,而且可以大大提高所測溫濕度的技術(shù)指標,從
13、而可以提高產(chǎn)品的數(shù)量和質(zhì)量。單片機因為它具有功能強、高可靠性、體積小、造價便宜和開發(fā)周期短這些優(yōu)勢,廣泛用于自動化測量和控制現(xiàn)場設(shè)備,特別是在日常生活中發(fā)揮的日益重要的作用。 這次選用STC89C52RC作為主控制器,可以從按鍵電路輸入設(shè)定的溫濕度,通過溫濕度傳感器SHT10對溫度、濕度信號進行采集,然后通過I2C總線與單片機通信,并將溫濕度顯示在液晶屏LCD1602上,單片機把它們與設(shè)定的值進行對比后決定是否報警,并啟動空調(diào)設(shè)備對溫濕度進行調(diào)節(jié)。 2 總體方案設(shè)計 2.1 溫濕度控制系統(tǒng)的設(shè)計指標要求 本文要設(shè)計的大棚溫濕度自動控制系統(tǒng),要能夠及時、準確地對溫室大棚內(nèi)
14、的溫度、濕度進行采集,將其顯示在LCD1602液晶顯示器上,然后與設(shè)定的上下限值進行比較,如果超出限制則啟動溫度、濕度控制設(shè)備,并通過蜂鳴器報警,直到溫濕度回到規(guī)定的范圍。另外,還要能夠通過按鍵修改設(shè)定的上下限。為了能夠滿足農(nóng)業(yè)生產(chǎn)的需要,此次設(shè)計要達到一下指標: (1)工作環(huán)境:溫室大棚; (2)溫度測量誤差:1℃; (3)測溫范圍:0~+55℃; (4)濕度測量誤差:5%RH; (5)測濕范圍:0~100%RH; (6)通過鍵盤電路修改上下限:有; (6)溫濕度報警:有; 2.2 系統(tǒng)設(shè)計的原則 2.2.1 可靠性 可靠性是在設(shè)計過程中應(yīng)該優(yōu)先考慮的一個因素,一個控制系
15、統(tǒng)必須要能穩(wěn)定、可靠地工作,才能投入到生產(chǎn)實踐中去。如果系統(tǒng)的可靠性不能達標,那么系統(tǒng)出現(xiàn)故障的可能就會增大,造成很大的損失。這種損失不僅包括經(jīng)濟上和信譽上的損失,而且可能會對人身安全產(chǎn)生威脅。 要提高控制系統(tǒng)的可靠性,那么就要注意以下幾個方面:選用的元器件要有很高的可靠性;由于供電電源很容易產(chǎn)生干擾,所以應(yīng)該對其采用抗干擾措施;對輸入輸出通道也一樣,要采用抗干擾措施;在對電路板的設(shè)計時,要合理的布線和接地;軟硬件都要進行濾波;系統(tǒng)要有自己診斷功能等。 2.2.2 性價比 性價比也是一個系統(tǒng)設(shè)計中所要考慮的重要因素。性價比高的產(chǎn)品更容易被消費者接收,但是設(shè)計過程中不能盲目地追求性價比,它
16、應(yīng)該建立在對產(chǎn)品性能要求的基礎(chǔ)上,首先要滿足性能要求,然后再設(shè)法降低產(chǎn)品成本。 2.3 方案比較 2.3.1 方案一 采用PLC作為主控制器。 使用PLC的最大優(yōu)點在于PLC使用梯形圖進行編程,編程語言形象直觀,難度較低,因此開發(fā)周期短,便于擴展。而且PLC抗干擾能力強,工作穩(wěn)定可靠,這一點已被長期的工業(yè)控制實踐所證明。 繼電器 鍵盤輸入 加熱器 制冷器 加濕器 除濕器 液晶顯示 蜂鳴器報警 溫濕度傳感器 PLC 溫 室 大 棚 圖2.1 用PLC作為主控制器的控制系
17、統(tǒng) 2.3.2 方案二 使用單片機進行控制。 采用STC89C52RC單片機作為主控制器,可以用C語言進行編程,由于它支持ISP在線編程,因此可以通過RS232串口將程序燒錄到單片機中,很方便。溫濕度傳感器SHT10通過I2C總線與單片機連接。 溫濕度傳感器 單片機 加熱器 制冷器 加濕器 除濕器 鍵盤輸入 蜂鳴器報警 繼電器 液晶顯示 溫 室 大 棚 圖2.2 用單片機作為主控制器的控制系統(tǒng) 2.4 方案論證 從功能上看,兩種控制器都能滿足要求。PLC在工業(yè)控制領(lǐng)域用得比較多,編程簡單
18、,而且抗干擾能力強。但是本系統(tǒng)是用于溫室大棚,并沒有其他大型工業(yè)設(shè)備的干擾。單片機用C語言編程,相對PLC的梯形圖要復(fù)雜得多,但是編程更為靈活,可以實現(xiàn)復(fù)雜的功能。 從價格方面上看,單片機就比PLC具有很大的優(yōu)勢。一個單片機只要幾塊錢,而一個很一般的PLC一般也要幾百上千元。另外,中國是農(nóng)業(yè)大國,隨著溫室大棚越來越普及,農(nóng)村對溫濕度控制系統(tǒng)的需求也會越來越旺盛,因此雖然用單片機開發(fā)的周期較長,但是一旦完成開發(fā),后期生產(chǎn)環(huán)節(jié)的邊際成本很?。欢赑LC的控制系統(tǒng)受制于PLC的高昂價格,價格難以降低。 2.5 方案選擇 PLC和單片機都能作為主控制器進行設(shè)計,但是在價格方面單片機具有巨大優(yōu)勢
19、。綜上所述,本次設(shè)計采用單片機作為主控制器。 3 單元模塊設(shè)計 3.1 各單元模塊功能介紹及電路設(shè)計 3.1.1 單片機最小系統(tǒng) 圖3.1 單片機最小系統(tǒng) 單片機最小系統(tǒng)包括單片機、電源電路、時鐘電路和復(fù)位電路。 時鐘電路用于產(chǎn)生單片機工作時候所必須的時鐘信號,單片機在時鐘信號的節(jié)拍下逐條地執(zhí)行指令。單片機有兩種時鐘信號產(chǎn)生方式,一種是內(nèi)部時鐘方式,另一種是外部時鐘方式。外部時鐘方式是把已有的時鐘信號從XTAL1或XTAL2送入單片,一般用于有多個單片機的情況,所以本設(shè)計中時鐘電路采用內(nèi)部時鐘方式,選用12M的晶振
20、和兩個30pF的電容與片內(nèi)的高增益反相放大器構(gòu)成一個自激振蕩器。 電源電路后面的模塊中會單獨提到,用5V的直流電源。下面著重論述一下復(fù)位電路。 圖3.2 上電+手動復(fù)位電路 單片機的復(fù)位主要有上電復(fù)位和手動復(fù)位,之所以要進行復(fù)位,目的就是為了讓單片機進入初始狀態(tài),比如讓PC指向0000H,這樣單片機才能從頭運行程序。因此上電的時候就要讓單片機復(fù)位一次;在運行過程中,如果程序出錯,也需要進行手動復(fù)位。 本設(shè)計中的復(fù)位電路就是上電+手動復(fù)位電路,復(fù)位時要讓STC89C52RC的RST引腳得到2個機器周期以上的高電平。先說說上電復(fù)位的工作原理,當單片機上電時,電源+5V的Vcc通過1
21、0K的電阻對10uF的電容進行充電。剛上電時,有較大的電流從Vcc經(jīng)電容、電阻流向GND,由于電容兩端的電壓不可突變,因此仍然為0V,于是電阻的兩端分得5V的電壓,即RST引腳此時的電勢為5V。隨著充電的繼續(xù)進行,電流會逐漸減小,電阻兩端的電壓UR=IR也逐漸減小,即RST引腳的電勢逐漸減小。過了一定時間,RST引腳兩端的電壓下降到不再是高電平,只要這個充電的時間大于單片機兩個機器周期,就能使單片機復(fù)位。 程序運行過程中如果跑飛了、程序運行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,就需要用到手動復(fù)位。手動復(fù)位就是在上電復(fù)位電路的電容兩邊并聯(lián)一個微動開關(guān),需要手動復(fù)位時將其按下,使之接通,RST獲得
22、高電平,而且人按動按鈕的時間肯定是超過兩個機器周期的,于是單片機復(fù)位。 3.1.2 液晶顯示模塊 測量到的溫濕度值將顯示到液晶屏LCD1602上,它可以顯示2行,每行16個字符。LCD1602共有三個存儲器,它們是CGROM、CGRAM和DDRAM。CGROM用來保存LCD1602內(nèi)部固化的一些字符的字模,比如英文的26個字母的大小寫;CGRAM用來保存用戶自己取的字模,比如,如果要顯示漢字,就必須自己去漢字字模,在這里我們都用英語字母,故不用CGRAM;DDRAM用來存儲要顯示的字符的字模,它和屏幕上的位置是對應(yīng)的,第一行為00H到0FH,第二行為40H到4FH。在這里需要注意的是,在向
23、LCD1602寫入顯示數(shù)據(jù)存儲器地址時,根據(jù)控制指令的格式,最高位D7為1,所以寫入的數(shù)據(jù)為,第一行80H到8FH,第二行C0H到CFH。 它與單片機的接口電路如下圖所示: 圖3.3 LCD1602與單片機的接口電路 3.1.3 溫濕度傳感器模塊 溫濕度傳感器選用瑞士Sensirion公司生產(chǎn)的SHT10。SHT1X系列共有三個型號:SHT10、SHT11、SHT15,他們都是SMD貼片封裝的,他們依次性能越來越好,其中SHT10屬于經(jīng)濟型的溫濕度傳感器。三者的溫濕度性能如下圖所示。 圖3.4 SHT1X系列各型號傳感器的濕度、溫度最大誤差 從曲線中可
24、以看出,無論是濕度還是溫度,SHT10的誤差都是最大的,SHT15誤差最小,但是它們的價格也相差很大,SHT10多為二三十元一個,而SHT15價格上百。因此,從滿足大棚溫濕度監(jiān)測的要求來看,SHT10已經(jīng)足夠,故選用SHT10。 SHT10與單片機的接口電路如下所示: 圖3.5 SHT10與單片機的接口電路 SHT10采用類似于I2C的兩線制串行總線,一根是時鐘線,一根是數(shù)據(jù)線。數(shù)據(jù)線要通過一個上拉電阻接到VCC,目的是避免信號沖突,使單片機的引腳只提供低電平,要得到高電平則使該引腳懸空,由上拉電阻提供高電平。 3.1.4 報警電路的設(shè)計 當大棚內(nèi)的溫濕度超過上下限時,除了需要
25、啟動溫濕度調(diào)節(jié)器之外,還需要進行報警,這里用到的是蜂鳴器。蜂鳴器為一種采用一體化結(jié)構(gòu)的電子器件, 采用了直流電壓來供電,廣泛的應(yīng)用到了計算機、報警器、復(fù)印機、電子玩具、電話機、汽車電子設(shè)備、定時器等電子產(chǎn)品之中用作發(fā)聲器。 蜂鳴器分為有源蜂鳴器和無源蜂鳴器。有源蜂鳴器由于內(nèi)部集成了振蕩源,所以使用直流電壓就可以驅(qū)動它鳴叫;無源蜂鳴器內(nèi)部沒有振蕩源,因此一般使用2K~5K方波來驅(qū)動。本設(shè)計中使用的是有源蜂鳴器,在它兩端加載5V的直流電壓就可以使之鳴叫。 報警電路設(shè)計如下圖: 圖3.6 報警電路圖 蜂鳴器工作電流一般為10mA,而單片機的I/O口只能承受幾毫安的電流,因此需要加三
26、極管進行驅(qū)動。如上圖所示,單片機的I/O口中的P1.6接PNP型三極管的基極,當P1.6為低電平時,三極管導(dǎo)通,5V的電壓加載到蜂鳴器兩端,于是蜂鳴器鳴叫;當P1.6高電平時,三極管截至,蜂鳴器不鳴叫。 3.1.5 輸出電路設(shè)計 當溫濕度超出限定值后,單片機將輸出控制信號,啟動加熱、制冷、加濕、除濕設(shè)備。弱電控制強電,首先要用到繼電器來控制這些大功率的設(shè)備,而且為了進一步加強弱電和強電的電氣隔離,減少強電設(shè)備對單片機控制系統(tǒng)的干擾,需要在前一級加光耦進行隔離。光耦的驅(qū)動能力有限,一般電流只能達到30mA左右,不足以驅(qū)動繼電器,因此再加一個三極管放大電流。 原理如圖3.7所示: 圖3
27、.7 控制電路 輸出電路有四組,每一組由一個光耦、一個三極管、一個繼電器組成。這四組輸出電路分別控制加濕、除濕、加熱、制冷的設(shè)備。 光耦選用TLP521-4,它是Toshiba公司生產(chǎn)的四路光耦,由單片機直接驅(qū)動。51單片機P0口所能承受的灌電流最大,可以達到26mA。輸出系統(tǒng)中的繼電器最多同時有兩個工作,控制溫度的一個,控制濕度的一個。如果設(shè)置光耦的發(fā)光二極管的電流為10mA,那么兩個發(fā)光二極管同時導(dǎo)通時單片機的灌電流為20mA,小于26mA,符合要求。所以把P0口的引腳接到光耦TLP521-4輸入測的發(fā)光二極管陰極。 繼電器選用5V的,驅(qū)動繼電器需要大約100mA的電流,也就是說驅(qū)動
28、繼電器的三極管的集電極電流為Ic=100mA。三極管選用直流放大系數(shù)為100的9013,根據(jù)Ic=βIb,可計算得三極管基極電流Ib=1mA,而Vbe=0.7V,又由于光耦中的光電三極管的集電極、發(fā)射極飽和壓降Vces=0.3V,所以基極的限流電阻上的壓降為(5-Vces-Vbe)=4V,4V/0.001A=4KΩ,由于沒有標稱值為4KΩ的電阻,所以選擇4.7KΩ的。 還應(yīng)該注意到的一點是,光耦有一個參數(shù)叫電流傳輸比(CTR),CTR=Io/IF,及輸出端電流的最大值比上輸入端的電流,體現(xiàn)了光耦輸出電流的能力。如果輸入端的電流為20mA,電流傳輸比為50%的話,那么輸入端電流Io最大只能為1
29、0mA。在這里,TLP521-4的電流傳輸比為50%,輸出端我們剛才算出的電流Io=Ib=1mA,所以輸入端電流IF最小為2mA,由于電流很小時光耦處于死區(qū),因此要選大點,這里選擇IF=10mA。于是,光耦輸入端陽極上的限流電阻為R=(5V-0.7V)/0.01A=430Ω,這里選擇標稱值為470Ω的電阻。 此外,這里用的繼電器是普通的電磁繼電器。通過對電磁繼電器和固態(tài)繼電器進行比較,雖然固態(tài)繼電器具有無觸電、動作速度快、使用壽命長等特點,但是本設(shè)計中的繼電器只在溫濕度超過限定值時才動作,動作頻率低,而且固態(tài)繼電器的價格比電磁繼電器高得多,所以綜合考慮選擇電磁繼電器SRD一05VDC一SL-
30、C。 3.1.6 電源的設(shè)計 圖3.8 電源電路 電源電路是整個系統(tǒng)中非常重要的一部分,本設(shè)計中主要用到直流5V電源。要得到5V的直流電源,要經(jīng)過降壓、整流、濾波、穩(wěn)壓四個環(huán)節(jié)。 由于最后的穩(wěn)壓環(huán)節(jié),LM7805要得到5V的直流輸出,輸入與輸出要有一定的壓差,根據(jù)LM7805的數(shù)據(jù)手冊,需要有10V的輸入,因此在降壓環(huán)節(jié)把220V的電壓降為10V。 然后用橋式整流電路把交流電整流為直流電,此時的直流電只是方向不變,但仍按正弦方式變化,是脈動的直流電。 因此需要濾波電路將紋波濾掉。C8和C2都用來濾波,但是作用是不一樣的。C8是大電容,用電解電容,它的作用是低頻濾波,通過充電放電
31、,從而削峰填谷,使電壓的脈動成分減少,電壓基本保持穩(wěn)定。而C2是小電容,所以對于高頻信號容抗很小,相當于短路,從而濾掉高頻信號。 需要注意的是,470uF的大電容可以濾低頻,為什么不能濾高頻,還要單獨加一個0.33uF的小電容來濾高頻?從理論上來說大電容應(yīng)該高頻、低頻都可以,但是由于制造工藝的原因,電解電容的容值做得很大時,它就不再是一個單純的電容了,它等效于一個電容串聯(lián)一個電感。在頻率較低時,電感L=jwl較小,可以忽略不計,但是當頻率很高時,感抗就很大,相當于斷路,所以此時這個470uF的大電容不能濾掉高頻信號,必須單獨加一個小電容。小電容容值小,因此就不存在感抗的問題。 濾波完以后,
32、電壓的脈動成分已經(jīng)下降了很多,但是仍有起伏,所以最后還需加上一個三端集成穩(wěn)壓器,這里選用LM7805,它能將電壓穩(wěn)定在5V。并聯(lián)在LM7805兩端的二極管起保護作用,避免在短路等情況下LM7805輸出端的電壓比輸入端高,從而燒壞LM7805。三端集成穩(wěn)壓器后面又接了一大一小兩個電容,再次進行濾波,使電壓更穩(wěn)定。 3.1.7 按鍵電路設(shè)計 圖3.9 按鍵電路圖 鍵盤分為編碼式和非編碼式鍵盤。其中,非編碼式鍵盤又包括矩陣式鍵盤和獨立式鍵盤。矩陣式鍵盤較為復(fù)雜,一般用于按鍵數(shù)目較多,而單片機可用的I/O口又比較有限時。本控制系統(tǒng)中只需要用到5個按鍵,數(shù)目較少,并
33、且可用的I/O口充足,故采用獨立式鍵盤,一個按鍵對應(yīng)一個單片機的I/O口管腳。 本設(shè)計中總共用到5個按鍵式開關(guān),他們用來改變設(shè)定的溫濕度上下限數(shù)值。從S0到S4,分別控制進入溫度上下限設(shè)置、進入濕度上下限設(shè)置、數(shù)值加、數(shù)值減、確認并退出。 本設(shè)計中的鍵盤是低電平有效。未按鍵時,上拉電阻保證了單片機的I/O口是確定的高電平;當某個鍵按下時,I/O口變?yōu)榈碗娖健? 3.1.8 串口通信電路 串口通信可分為同步通信和異步通信,在單片機的應(yīng)用系統(tǒng)中,主要是采用異步串行通信。在設(shè)計通信接口時,應(yīng)該采用標準接口,這樣才能夠方便而又準確的把單片機和外設(shè)有機的連接起來,從而能形成一個測控系統(tǒng),目前異步串
34、口通信標準有RS一232、RS一422、RS一485標準。 其中,RS一232是PC機與通信工業(yè)中使用最早的一種串行接口標準。在短距離、較低波特率串行通信中得到了廣泛應(yīng)用。要讓單片機和PC機通過串口進行通信,需要進行電平轉(zhuǎn)換,因為盡管單片機有串行通信的功能,但單片機提供的TTL電平和RS232的電平不一樣。TTL電平中,電壓小于0.8V為低電平,高于2.4V為高電平;而RS232電平是負邏輯電平,電壓在-3V~-15V時為高電平,電壓在3V~15V時為低電平,因此要通過MAX232這種電平轉(zhuǎn)換芯片進行轉(zhuǎn)換。 MAX232是MAXIM公司專為RS-232標準串口設(shè)計的單電源電平轉(zhuǎn)換芯片,使用
35、+5V電源供電。適用于終端設(shè)備和數(shù)據(jù)通信設(shè)備間的接口,對于雙向通信,只需要使用串行輸入RXD(引腳2),串行輸出TXD(引腳3)和地線GND(引腳5)。 其電路連接如圖3.10所示; 圖3.10 串口通信電路 MAX232芯片內(nèi)部有一個電源電壓變換器,能夠把輸入的+5V電壓變換為RS232輸出電平所需的+10V 電壓,采用此芯片接口的串行通信系統(tǒng)值需要接+5V電壓即可。 MAX232芯片中有兩組電平轉(zhuǎn)換的引腳,我們這里只需使用其中一組。打頭的字母“T”表示TTL電平,“R”表示RS232電平。R1IN和R2IN表示輸入RS232電平,因此與電腦的串口相連;T1IN和T2IN表示輸入
36、TTL電平,因此與單片機相連。所以,引腳T1IN、T2IN、R1OUT、R2OUT為接TTL∕CMOS電平的引腳,引腳T1OUT、T2OUT、R1IN、R2IN為接RS232電平的引腳。 MAX232芯片專門為電腦的RS-232標準串口設(shè)計的接口電路,使用+5v單電源供電。MAX232就是用來進行電平轉(zhuǎn)換的,該器件包含2驅(qū)動器、2接收器和一個電壓發(fā)生器電路提供EIA/TIA-232-E電平??梢苑謩e接單片機的串行通信口。MAX232是一種雙組驅(qū)動器/接收器,片內(nèi)含有一個電容性電壓發(fā)生器以便在單5V電源供電時提供EIA/TIA-232-E電平。 3.2 元件清單 本次設(shè)計
37、需要用到的元器件如下表所示: 表3.1 所需元件列表 元件 型號 個數(shù) 單片機 STC89C52RC 1 顯示屏 LCD1602 1 溫濕度傳感器 SHT10 1 芯片底座 DIP40 1 光耦 TLP521-4 1 排針 10針 10 杜邦線 20 二極管 1N4007 4 三極管 9012 1 三極管 9013 4 電阻 10K 2 電阻 4.7K 9 電阻 1K 1 電阻 470 4 電位器 15K 1 瓷片電容 1uF 5 瓷片電容 0.1uF 1 點解電容 10uF
38、 1 瓷片電容 30pF 2 電平轉(zhuǎn)換芯片 MAX232 1 串口母頭 DB9 1 電平轉(zhuǎn)換芯片 MAX232 1 USB母座 1 晶振 12MHz 1 自鎖開關(guān) 6*6*5 1 按鍵開關(guān) 6*6*5 6 蜂鳴器 1 繼電器 SRD一05VDC一SL-C 4 3.3 關(guān)鍵器件的介紹 3.3.1 STC89C52RC STC89C52RC單片機是宏晶科技推出的新一代高速/低功耗/超強抗干擾的單片機,指令代碼完全兼容傳統(tǒng)8051單片機12時鐘/機器周期和6時鐘/機器周期可以任意選擇。 ① STC89C52RC的主要性能參數(shù)
39、(1)增強型8051單片機,6時鐘/機器周期和12時鐘/機器周期可以任意選擇,指令代碼與傳統(tǒng)8051單片機是兼容的。 (2)通用I/O口(32個):P1/P2/P3是準雙向口/弱上拉,P0口是漏極開路輸出,作為總線擴展用時,不用加上拉電阻,作為I/O口用時,需加上拉電阻。 (3)ISP(在線編程)/IAP(在應(yīng)用可編程):可通過串口下載程序,不需要使用專門的下載器,非常方便快捷。 (4)內(nèi)含8KB的程序存儲器,1000次寫∕擦寫周期; (5)內(nèi)含512字節(jié)的RAM; (6)32個可編程I/O口線; (7)3個16位定時器/計數(shù)器,即定時器 T0、T1、T2 (
40、8)6個中斷源、5個中斷矢量、2級優(yōu)先權(quán)的中斷結(jié)構(gòu); (9)具有一個全雙工UART串行通道; (10)掉電模式和低功耗空閑; ② STC89C52RC主要引腳功能 STC89C52RC的管腳排列如圖2一2所示: 圖3.11 STC89C52RC引腳圖 P0口(P0.0~P0.7): P0端口(P0.0~P0.7,39~32 引腳):P0口是一個漏極開路的8位雙向I/O 口。作為輸出端口,每個引腳能驅(qū)動8個TTL負載,對端口P0寫入每個引腳能驅(qū)動寫入“1”時,可以作為高阻抗輸入。在訪問外部程序和數(shù)據(jù)存儲器時 在訪問外部程序和數(shù)據(jù)存儲器時,P0口也可以提供低8位地址和8位數(shù)據(jù)的復(fù)
41、用總線位數(shù)據(jù)的復(fù)用總線。在進行程序校驗的時候,輸出指令字節(jié);而在Flash ROM 編程時,接收指令字節(jié)。 P1口(P1.0~P1.7): P1端口(P1.0~P1.7,1~8 引腳):P1口是一個8位雙向I/O口,內(nèi)部已經(jīng)自帶有一個幾十K的上拉電阻。對端口寫入“1”時,該引腳被懸空,由內(nèi)部的上拉電阻把引腳拉到高電平,這時候可以作為輸入口使用,此時,因為內(nèi)部自帶上拉電阻,所以被外部器件拉低電壓的引腳會輸出一個電流。P1的輸出緩沖器可驅(qū)動4個TTL邏輯門。 P2 口(P2.0~P2.7): P2和P1一樣,是一個8 位雙向I/O口,內(nèi)部自帶上拉電阻。。端口進行寫“1”時,該管腳被懸空,
42、由內(nèi)部自帶的上拉電阻將電平拉到高電平。當它被當作輸入口使用時,因為內(nèi)部自帶上拉電阻,該引腳在被外部元器件拉低電平的時侯會有電流輸出。在對程序存儲器(ROM)或16位的外部數(shù)據(jù)存儲器進行讀寫時,P2口會送出一個高8位地址數(shù)據(jù)。在進行訪問8 位地址的外部數(shù)據(jù)存儲器的時侯,P口線上的內(nèi)容(也即特殊功能寄存器(SFR)區(qū)中P2寄存器內(nèi)容),在整個訪問期間不改變。它的輸出緩沖級可以驅(qū)動4個TTL邏輯門 P3口(P3.0~P3.7): P3口,和P1、P2一樣,是一個8 位雙向I/0 口,內(nèi)部自帶弱上拉。對P3口進行寫入“l(fā)”時,被內(nèi)部的上拉電阻拉高且可以作為一個輸入端口。作輸入端口時,被外部元器件拉
43、低電平的P3口將通過上拉電阻提供電流。P3口除了作為一個一般的I/0口線外,它的第二功能有更重要的用途。P3口輸出緩沖級可用來驅(qū)動4個TTL邏輯門。 RST:復(fù)位輸入端。在震蕩期穩(wěn)定有效運行情況下,RST端維持兩個機器周期的高電平,便可復(fù)位器件。 ∕PSEN:外部程序存儲器的選通信號。低電平有效,在片外程序存儲器取指期間,當∕PSEN有效時,程序存儲器的內(nèi)容將會被送至P0口,在訪問外部RAM時,∕PSEN無效。 ∕EA∕VPP:當∕EA保持低電平時,則在此期間外部存儲器(0000H~FFFH),不論是否有內(nèi)部程序存儲器。 VCC:電源電壓。 XTALI:單芯片系統(tǒng)時鐘的反向放大器輸入
44、端。使用外部振蕩器時,連接外部石英晶體和微調(diào)電容。 XTAL2:系統(tǒng)時鐘的反向放大器輸出端。當使用片內(nèi)振蕩器時,外部接石英晶體和微調(diào)電容。 3.3.2 SHT10溫濕度傳感器 SHT10是瑞士Sensirion公司推出的超小型、自校型、高精度、多功能式的智能傳感器,采用SMD貼片封裝。SHT10溫濕度傳感器品質(zhì)卓越,具有很明顯的優(yōu)點,如抗干擾能力強、反應(yīng)快等。傳感器在一塊微型電路板上集成了信號處理電路和傳感元件,由于自帶ADC,所以輸出數(shù)字信號。傳感器采用瑞士Sensirion公司持有專利的CMOSens 技術(shù),因此有極高的穩(wěn)定性、準確性、靠性性。SHT10包含一個電容性聚合體濕敏器件、
45、一個基于能隙材料的溫度測量元件。 SHT10可以用來測量相對濕度、溫度和露點等參數(shù)。這類智能傳感器廣泛用于工農(nóng)業(yè)生產(chǎn)、環(huán)境監(jiān)測、通風及空調(diào)設(shè)備等領(lǐng)域。 SHT10的主要性能參數(shù)如下: (1)采用兩線制數(shù)字接口,類似于I2C總線的時序; (2) 測量溫濕度的范圍廣。濕度測量范圍為0~100%RH,溫度測量范圍為-40~123.8℃; (3) 測量精度較高,溫度的測量誤差為0.5℃,濕度的測量誤差為4.5%RH; (4) 濕度值分辨率為14位,溫度值輸出分辨率為12位,并可以變成12位和8位; (5)將溫濕度傳感器、信號放大器、A/D轉(zhuǎn)換、IC總線接口全部集成于一個芯片; (6)
46、小體積,可表面貼裝; (7)具有可靠的CRC數(shù)據(jù)傳輸校驗功能; (8)片內(nèi)裝載的校準系數(shù)可保證100%互換性; (9)電流消耗低,測量時550A,平均28A,休眠時3A; (10)可給出全校準相對濕度計溫度值輸出; (11)具有漏點值計算輸出功能; 電源引腳(VDD),SHT10的供電電壓為2.4~5.5V,這里選擇5V;在電源引腳(VDD,GND)之間須加一個100nF的電容,用于去耦濾波。(串行輸入(SCK),用于微處理器與SHT10之間的同步通信;串行數(shù)據(jù)(DATA),用于三態(tài)門的數(shù)據(jù)讀取,DATA在SCK時鐘下降沿后會發(fā)生狀態(tài)改變,并且在SCK時鐘為上升沿時有效。也就是微控
47、制器可在SCK為高電平段去讀取有效的數(shù)據(jù)。在微控制器向SHT10進行數(shù)據(jù)傳送的過程中,必須要保證數(shù)據(jù)線在時鐘線為高電平段時穩(wěn)定。為了避免發(fā)生信號沖突,微控制器僅僅把數(shù)據(jù)線拉低,在需輸出高電平時,微控制器會將引腳置成高阻態(tài),由外部上拉電阻把信號拉為高電平,這里選擇10KΩ。 SHT10在使用時,在數(shù)據(jù)線上用一組“啟動傳輸”的時序來表示初始化數(shù)據(jù)傳輸。包括:當SCK時鐘為高電平的時侯,DATA翻轉(zhuǎn)至低電平,緊接著SCK變成低電平,隨后在SCK時鐘為高電平的時侯DATA翻轉(zhuǎn)為高電平。后續(xù)的命令包含3個地址(目前支持“000”)和5個命令位,具體命令集見表4。SHT10會用下述來方式表示已經(jīng)正確接受
48、到了指令:在第8個SCK的時鐘下降沿后,將DATA下拉至低電平(ACK位);在第9個SCK的時鐘下降沿后,釋放DATA(恢復(fù)為高電平)。 表3-2 SHT10的命令集 命令 代碼 預(yù)留 0000x 溫度測量 00011 濕度測量 00101 讀狀態(tài)寄存器 00111 寫狀態(tài)寄存器 00110 預(yù)留 0101x~1110x 軟復(fù)位,復(fù)位接口、清空狀態(tài)寄存器為默認值,下一個命令前等待至少11ms 11110 根據(jù)上表的命令集,SHT10測量時,發(fā)布測量命令(‘00000101’表示的是相對濕度RH,‘00000011’ 表示的是溫度T)后,控制器等待
49、測量停止后。此過程大約需要11、55、210ms,分別會對應(yīng)8、12、14位的測量。確切時間與內(nèi)部的晶振速度有關(guān),最多會有15%的變化。SHT10通過下拉DATA變?yōu)榈碗娖剑硎緶y量已結(jié)束。控制器在觸發(fā)SCK時鐘前,必須要等待“數(shù)據(jù)備妥”的信號。接著會傳輸2個字節(jié)的測量數(shù)據(jù)以及1個字節(jié)的CRC奇偶校驗。uC需要用下拉DATA為低電平,來確認每個字節(jié)。全部數(shù)據(jù)會從MSB開始,右值有效(例如:對于12位數(shù)據(jù),從第5個SCK時鐘起算作MSB;而對于8位數(shù)據(jù),首字節(jié)則無意義)。 4 系統(tǒng)軟件設(shè)計 系統(tǒng)的工作流程是,操作人員在計算機上輸入需要設(shè)定的溫濕度限定值,當
50、設(shè)定的溫濕度值與檢測溫濕度值不同時,單片機控制系統(tǒng)則會采取相應(yīng)的調(diào)節(jié)動作。此程序流程包括五個部分,第一部分是主程序,其描述總體結(jié)構(gòu);第二部分是SHT10溫度采集程序,其功能是通過SHT10傳感器采集溫濕度值,并進行修正;第三部分是LCD1602顯示子程序,對LCD1602進行初始化,將溫濕度進行顯示;第四部分是輸出控制子程序,對設(shè)定值和實際值進行判斷以決定是否進行溫濕度的調(diào)節(jié);第五部分是按鍵輸入電路,用來修改溫濕度上下限值。 4.1 軟件設(shè)計的總體結(jié)構(gòu) 本次設(shè)計的大棚溫濕度自動控制系統(tǒng)由一個主程序調(diào)用多個子程序,它們包括SHT10溫濕度采集子程序、LCD1602液晶顯示子程序、輸出控制子程
51、序、鍵盤掃描子程序,如下圖所示: 主程序 SHT10溫濕度采集子程序 LCD1602 液晶屏顯示子程序 輸出控制子程序 鍵盤掃描子程序 圖4.1 程序總體結(jié)構(gòu) 主程序主要就是調(diào)用各個子程序的C語言文件中定義的函數(shù),實現(xiàn)SHT10、LCD1602初始化等操作,然后測量溫濕度,調(diào)用函數(shù)對數(shù)據(jù)進行處理,最后進行顯示并輸出控制信號。 在Keil工程中編寫程序的時候,為了讓整個工程看起來條理清晰,要按照各個模塊分別新建C文件寫子程序。某個C文件要調(diào)用其它C文件中的函數(shù)時,要在當前C語言文件
52、中先進行聲明,然后再調(diào)用,或者也可以把每個C文件中定義的函數(shù)都寫到相同名字下的.h頭文件中,其他C文件要調(diào)用該函數(shù)時要在前面加上#include <*.h>,將頭文件包括進來。對于變量也是如此,如果某個變量也在其他C文件中使用,那么要在一個C文件總將它定義為全局變量,即在函數(shù)外面定義。其他C文件要使用該變量時,要先使用extern將全局變量的作用域擴展到本C語言文件。 4.2 主要模塊的設(shè)計流程框圖 4.2.1 主程序流程圖 Yes 是否超限? 將溫濕度與設(shè)定值比較 啟動溫濕度調(diào)節(jié)設(shè)備 對溫濕度數(shù)據(jù)進行修正 No 在液晶屏上顯示溫濕度 測量溫濕度 是否有按鍵?
53、 初始化LCD1602 Yes 開始 進入鍵盤掃描子程序 SHT10復(fù)位 No 圖4.2 主程序流程圖 4.2.2 SHT10子程序流程圖 開始 發(fā)送啟動時序 發(fā)送控制字 接收數(shù)據(jù) 測量結(jié)束? 接收校驗位 結(jié)束 No Yes 圖4.3 SHT10子程序流程圖 溫濕度傳感器SHT10使用類似于I2C總線的時序與單片機通信,由于51單片機沒有I2C接口,所以需要
54、編寫程序,用單片機的某兩個I/O口管腳模擬I2C總線的時序,從而與SHT10通信。 SHT10有4種時序:啟動傳輸時序、寫字節(jié)時序、讀字節(jié)時序及復(fù)位時序。復(fù)位時序和啟動傳輸時序可通過依次拉低或拉高時鐘線和數(shù)據(jù)線,因而實現(xiàn)起來比較簡單;而寫時序和讀時序就比較復(fù)雜。寫時序用來發(fā)送控制字,即發(fā)送命令,測量結(jié)束后,發(fā)出讀時序讀回測量數(shù)據(jù)。向SHT10的8個數(shù)據(jù)位的寫入,于第9個時鐘周期之后,讀取應(yīng)答位,應(yīng)答位為0時,表示SHT10正確接收。SHT10讀寫數(shù)據(jù)的規(guī)則是:在時鐘線的下降沿之后數(shù)據(jù)線改變狀態(tài),并在時鐘線的上升沿有效。 4.2.3 LCD1602子程序流程圖 開始 LCD1602初始
55、化 設(shè)置首行數(shù)據(jù)指針 寫入首行字符 設(shè)置第二行數(shù)據(jù)指針 寫入第二行字符 結(jié)束 圖4.4 LCD1602子程序流程圖 4.2.4 輸出控制子程序流程圖 開始 返回主程序 溫度、濕度是否超出上下限? 啟動溫濕度調(diào)節(jié)設(shè)備 蜂鳴器報警 溫濕度是否回到限定值內(nèi)? 停止報警 停止溫濕度控制設(shè)備 溫濕度是否留有足夠的裕量? 結(jié)束 No Yes Yes Yes No No
56、 圖4.5 輸出控制子程序 4.2.5 鍵盤掃描子程序流程圖 開始 退出鍵盤子程序 延時10ms 退出鍵盤子程序 上限或下限加一或減一 P2.3或P2.4是否按下? No P2.3或P2.4是否仍被按下? Yes Yes No P2.5或P2.6是否按下? P2.5或P2.6是否按下? Yes No 圖4.6 Yes No 鍵盤掃描子程序 為了防止抖動,按鍵電路中都要消抖的措施,本設(shè)計中是采用的軟件消
57、抖,在單片機檢測到某個鍵按下后,延時10ms再監(jiān)測,如果仍然按下,才視為按下了該鍵。 S0、S1、S2、S3、S4分別對應(yīng)單片機的P2.3-P2.7引腳。按下S0,也就是使P2.3為低電平時,進入溫度上限的設(shè)置,再按一次進入溫度下線的設(shè)置;按下S1,進入濕度上限的設(shè)置,再按一下進入溫度下線的設(shè)置。在每個設(shè)置里面,按S2增加限值,按S3減小限值。設(shè)置好以后,按S4退出設(shè)置。 4.3 軟件設(shè)計所用工具 4.3.1 Keil uVision4 本次設(shè)計采用Keil uVision4來編寫C語言程序,通過它的編譯器進行編譯、連接,最后將生成的機器碼下載到單片機上。 Keil編譯器是目前
58、最流行的單片機開發(fā)的軟件,它是美國Keil Software公司開發(fā)的C語言開發(fā)系統(tǒng)。它提供了一個完整的開發(fā)方案,包括宏匯編、C編譯器、庫管理、連接器和一個功能強大的仿真調(diào)試器等,通過一個集成開發(fā)環(huán)境將這些部份組合在一起。 Keil C51整合了豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具。此外,Keil C51生成的目標代碼效率非常高,這一點從生成的匯編語言就可以看出,大多生成的匯編語句很緊湊,容易理解。 4.3.2 Proteus Proteus用來對電路進行仿真,它的功能強大,包括單片機在內(nèi)的眾多元器件都可以仿真。把Keil編譯、連接后生成的hex文件導(dǎo)入Proteus單片機中即可對單
59、片機進行仿真。 Proteus軟件是英國Labcenter electronics公司出版的EDA工具軟件,它不僅具有其它EDA軟件的仿真功能,還可以對單片機及其外圍器件進行仿真,是目前在這方面做得最好的EDA工具軟件。Proteus在國內(nèi)已受到眾多單片機開發(fā)者的喜愛。Proteus實現(xiàn)了從概念到產(chǎn)品的完整設(shè)計,可以實現(xiàn)從原理圖繪制和代碼調(diào)試到單片機與其外圍電路仿真,一鍵切換到印刷電路板的設(shè)計。目前世界上只有Proteus做到了將電路仿真、印刷電路板設(shè)計和虛擬模型仿真整合到一個設(shè)計平臺,其處理器模型支持8051、HC11、AVR、ARM、8086和MSP430、PIC10/12/16/18/
60、24/30/DsPIC33等,2010年又增加了Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。 5 系統(tǒng)調(diào)試 5.1 用Proteus搭建仿真總圖 打開Proteus ISIS,在 Proteus ISIS 編輯窗口中單擊元件列表之上的“P”按鈕 ,添加元件及放置元件。得到界面如圖5.1 圖5.1元器件的選擇 選好元器件后,要對元器件進行一個重新的布局,使之看起來很清晰,并且所占面積較小。若想移動某個元件或多個,單擊其元件,待其顏色變紅后,在按下鼠標左鍵不放,即可
61、拖動元件。 為了使仿真圖看起來更整潔,我們部分電路連線選擇連線標簽?zāi)J?,以單片機19引腳為例,將其用線引出,如然后再點擊左側(cè)任務(wù)欄中再單擊引線得到對話框如圖5.2所示,在窗口中輸入X1得到此效果 圖5.2連線標簽窗口 若要對某個元件或一部分電路做出說明,則單擊任務(wù)欄中的Text Script Mode得到如圖5.3效果,在界面中輸入文字即可。 圖5.3說明窗口 按照正確的方法將元器件進行合理的排布及連線后,得到圖5.4 圖5.4系統(tǒng)仿真電路圖 5
62、.2 用Keil對程序進行調(diào)試、編譯 先打開keil uvision4 這款軟件,新建工程,點擊菜單欄里的 new uvision project ,然后對工程進行保存。再新建文件,點擊菜單欄中File 下的 new 新建文件,進行保存。最后把新建的文件添加到工程文件里,右鍵點擊project視圖窗口里的Source Group1,選擇Add files to group “source group1”,如圖所示: 圖5.5 添加文件到工程 這樣,剛才新建的文件便添加到了Source Group1中?,F(xiàn)在開始在右邊的主界面編寫C語言程序,編寫完成后為了把程序燒錄到單片機上,還需
63、要把它轉(zhuǎn)換成機器碼,生成hex文件:右擊工程視圖窗口中的Target1,選擇Options for Target “target1” 把Output選項卡里面的Create HEX File 前面的勾打上,這樣編譯后會生成機器碼,如圖所示。 圖5.6 生成機器碼 6 結(jié)論 6.1 系統(tǒng)的功能 本系統(tǒng)能測量溫室大棚內(nèi)的溫濕度數(shù)據(jù),將其顯示在液晶屏上。如果溫濕度超出了設(shè)定的上下限,將進行報警,并啟動溫濕度調(diào)節(jié)設(shè)備。溫度回到限定值內(nèi)后,停止報警。當溫度不僅回到上下限以內(nèi),而且留有一定裕量
64、后,停止溫濕度調(diào)節(jié)設(shè)備。如果需要修改溫濕度上下限,可以通過按鍵進行修改。 6.2 系統(tǒng)的指標參數(shù) 系統(tǒng)的指標參數(shù)完成情況如下表所示: 表6.1 系統(tǒng)指標參數(shù)表 實現(xiàn)功能 結(jié)果 完成程度 測量溫度范圍 -40~123.8℃ 完成 測量溫度誤差 0.5% 完成 測量濕度范圍 0~100%RH 完成 測量適度誤差 4.5% 完成 液晶屏顯示 用LCD1602顯示 完成 超限報警 用蜂鳴器報警 完成 修改上下限 通過獨立式鍵盤修改 完成 輸出控制 通過光耦、繼電器控制 完成 6.3 系統(tǒng)功能分析 該大棚溫濕度自動控制系統(tǒng)能通過獨立式鍵盤設(shè)
65、置溫濕度上下限,通過LCD1602顯示溫濕度,并在超限的情況下報警、啟動調(diào)節(jié)設(shè)備。 其中輸出控制和通過鍵盤設(shè)置上下限都是通過調(diào)用子程序?qū)崿F(xiàn)的。鍵盤的工作方式分兩種,一種是查詢方式,一種是中斷方式。中斷方式比較節(jié)省系統(tǒng)資源,只有當有按鍵按下時才會進入鍵盤中斷子程序,進一步掃描是那些鍵被按下;而查詢方式則是在主程序中調(diào)用鍵盤掃描子程序,不管有沒有鍵按下,每次程序循環(huán)中都要一一判斷每個鍵是否按下,故這種方式占用的單片機的處理時間更多。但是由于本次設(shè)計用到的按鍵不多,只有五個,功能比較簡單,而且單片機工作比較空閑,因此使用的是查詢方式來處理鍵盤的輸入。 此外,還應(yīng)注意到的是,當溫濕度超限后,要報警
66、并啟動溫濕度調(diào)節(jié)設(shè)備。當溫濕度回到規(guī)定范圍內(nèi)時,只是停止報警,而溫濕度調(diào)節(jié)設(shè)備應(yīng)該繼續(xù)保持工作,直到溫濕度留有一定裕量時才停止。本設(shè)計中的輸出控制子程序中設(shè)置了溫度5℃和濕度5%RH的裕量,這樣當溫度上限是30度時,如果超出上限,那么溫度回到30度時停止報警,當溫度降到25度以下時才停止制冷設(shè)備的運行。這樣可以避免溫濕度調(diào)節(jié)設(shè)備反復(fù)不停地通斷,以致影響使用壽命。 7 總結(jié)與體會 這次畢業(yè)設(shè)計使我收獲良多,以前偏重于理論知識的學習,但是做了畢業(yè)設(shè)計才發(fā)現(xiàn)在動手實踐上的不足,無論是畫電路原理圖、做仿真、做實物都牽涉到很多自己以前沒有接觸過的內(nèi)容。通過這次畢業(yè)設(shè)計,我感覺我實際應(yīng)用知識的能力有了很大提高。 尤其讓我感受頗多的是使用萬能板焊接實物。這個看似簡單的事情花了我三天的時間,而且板子還有很多問題。以前焊過PCB板,于是想當然地以為焊萬能板也很容易,不就是用飛線連接嗎,還不用畫PCB圖,不用考慮怎么布線,于是就選擇了使用萬能板來焊接實物。用導(dǎo)線焊了很久,剛開始還好,到了后來線越來越多,要放置新的元器件都很困難。有些焊點焊多了錫都很難焊上去。由于飛線
- 溫馨提示:
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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 110中國人民警察節(jié)(筑牢忠誠警魂感受別樣警彩)
- 2025正字當頭廉字入心爭當公安隊伍鐵軍
- XX國企干部警示教育片觀后感筑牢信仰之基堅守廉潔底線
- 2025做擔當時代大任的中國青年P(guān)PT青年思想教育微黨課
- 2025新年工作部署會圍繞六個干字提要求
- XX地區(qū)中小學期末考試經(jīng)驗總結(jié)(認真復(fù)習輕松應(yīng)考)
- 支部書記上黨課筑牢清廉信念為高質(zhì)量發(fā)展營造風清氣正的環(huán)境
- 冬季消防安全知識培訓(xùn)冬季用電防火安全
- 2025加強政治引領(lǐng)(政治引領(lǐng)是現(xiàn)代政黨的重要功能)
- 主播直播培訓(xùn)直播技巧與方法
- 2025六廉六進持續(xù)涵養(yǎng)良好政治生態(tài)
- 員工職業(yè)生涯規(guī)劃方案制定個人職業(yè)生涯規(guī)劃
- 2024年XX地區(qū)黨建引領(lǐng)鄉(xiāng)村振興工作總結(jié)
- XX中小學期末考試經(jīng)驗總結(jié)(認真復(fù)習輕松應(yīng)考)
- 幼兒園期末家長會長長的路慢慢地走