(精選)溫濕度傳感器的畢業設計_第1頁
(精選)溫濕度傳感器的畢業設計_第2頁
(精選)溫濕度傳感器的畢業設計_第3頁
(精選)溫濕度傳感器的畢業設計_第4頁
(精選)溫濕度傳感器的畢業設計_第5頁
已閱讀5頁,還剩45頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、1. 引言1.1 溫室控制系統設計背景中國農業的發展必須走現代化農業這條道路,隨著國民經濟的迅速增長,農業的研究和應用技術越來越受到重視,特別是溫室大棚已經成為高效農業的一個重要組成部分。現代化農業生產中的重要一環就是對農業生產環境的一些重要參數進行檢測和控制。例如:空氣的溫度、濕度、二氧化碳含量、土壤的含水量等。在農業種植問題中,溫室環境與生物的生長、發育、能量交換密切相關,進行環境測控是實現溫室生產管理自動化、科學化的基本保證,通過對監測數據的分析,結合作物生長發育規律,控制環境條件,使作物達到優質、高產、高效的栽培目的。以蔬菜大棚為代表的現代農業設施在現代化農業生產中發揮著巨大的作用。大

2、棚內的溫度和濕度參數,直接關系到蔬菜和水果的生長。國外的溫室設施己經發展到比較完備的程度,并形成了一定的標準,但是價格非常昂貴,缺乏與我國氣候特點相適應的測控軟件。而當今大多數對大棚溫度、濕度的檢測與控制都采用人工管理,這樣不可避免的有測控精度低、勞動強度大及由于測控不及時等弊端,容易造成不可彌補的損失,結果不但大大增加了成本,浪費了人力資源,而且很難達到預期的效果。因此,為了實現高效農業生產的科學化并提高農業研究的準確性,推動我國農業的發展,必須大力發展農業設施與相應的農業工程,科學合理地調節大棚內溫度、濕度,使大棚內形成有利于蔬菜,水果生長的環境,是大棚蔬菜和水果早熟、優質、高效益的重要環

3、節1。 影響作物生長發育的環境條件主要包括:溫度、濕度、光照、CO2濃度、土壤等。所有這些環境條件之間是相互作用、相互聯系、相互耦合的,某個控制變量發生改變,會影響其它控制變量的變化。作物的生長發育是所有這些環境條件綜合作用的結果。溫度和濕度一直是人類關注的對象,這兩種環境因素時刻影響著人們的生產和生活,下面主要就溫度和濕度對作物的影響進行簡略說明。 (1)溫度 溫室內氣溫、地溫對作物的光合作用、呼吸作用、根系的生長和水分、養分的吸收有著顯著的影響,因此影響作物生長發育的環境條件中,以溫度最為敏感,也最為重要,對溫室環境控制的研究也是最先從溫度控制開始的。不同種類的作物對溫度的要求是不同的,同

4、一作物在不同發育階段對溫度的要求亦有所不同,而且在同一發育期階段內對溫度的要求也會隨著晝夜變化而呈周期性地變化。一般說來在白天作物進行光合作用需要的溫度較高,晚上維持呼吸作用所需的溫度要低一些。 作物生長發育適宜的溫度,隨種類、品種、生育階段及生理活動的變化而變化。為了增加光合產物的生成,抑制不必要的呼吸消耗,在一天中,隨著光照強度的變化,實行變溫管理是一種很有效的管理方法1。 (2)濕度 溫室內作物對水分的要求體現為對溫室內空氣濕度和土壤濕度的要求。空氣濕度用相對濕度來表示,因為相對濕度更能反應事實。根據有關研究記載,除了陰雨天以外,溫室內午后過低的空氣濕度會導致作物發生光合作用的午休現象,

5、因此空氣相對濕度的大小直接影響到作物的光合作用,這時就需要增加溫室內的空氣濕度。當溫室內的空氣濕度較高時,可能會誘發一些病蟲害。溫室中空氣濕度的管理包括增濕和降濕。 土壤濕度對作物的影響也很大。如果土壤中水分過剩,濕度過高,導致土壤中的氧氣含量減少,作物根部呼吸困難,進而危害作物的生長發育。相反,當土壤中含水量減少時,作物根部吸收的水分就相應的減少,從而阻礙作物的生長,嚴重時作物出現萎蔫現象。不同的作物對濕度的要求不同,即使是同一種類在不同發育階段對濕度的要求也不盡相同。 土壤濕度的管理就是把包括滲灌、滴灌、微灌等灌溉技術應用到溫室中來。傳統的大水漫灌既浪費水資源,又容易使土壤發生板結,提高了

6、室內濕度。在溫室中應用滲灌技術具有灌水均勻,提高地溫,保持土壤疏松,降低室內濕度,減輕病害發生,生育期提前等優點。 從很久以前人類就想出各種方法控制溫度和濕度,以滿足人們生產生活的需要。從古代人們通過扇子、雨傘、毛巾等試圖去控制溫度和濕度到今天高科技發展迅速的社會所發明出的各種工具,如風扇、空調、加熱器等,表明人類一直努力去控制這兩種和人類密切相關的環境因素。現代科技的發展,使得溫度和濕度的控制更容易,更高效,特別是傳感器和單片機的應用,使得溫度和濕度控制系統性能有了根本性的提高,精度更高,而且實現了自動化2。 人們使用溫度計、濕度計來采集溫度和濕度,通過人工操作加熱、加濕、通風和降溫設備來控

7、制溫濕度,這樣不但控制精度低、實時性差,而且操作人員的勞動強度大。即使有些用戶采用半導體二極管作溫度傳感器,但由于其互換性差,效果也不理想。在某些行業中對溫濕度的要求較高,特別是在大型的電力系統中,由于溫度過高或過低引起的元器件失效或由于環境濕度過高而引起的漏電事故時有發生。對電力系統的可靠運行造成影響,甚至危及到電力系統局部及操作人員的安全。為了避免這些故障,需要在電力設備柜體內安裝控溫、除濕設備。1.2 本設計的內容及意義1.2.1 本設計的主要內容 本設計以STC89C51單片機的溫度、濕度測量和控制系統為核心來對溫濕度進行實時巡檢。單片機能獨立完成各自功能,同時能根據主控機的指令對溫度

8、進行定時采集。測量結果不僅能在本地顯示,而且可以利用單片機的串行口和 RS-232總線通信協議能把溫室中的溫度、濕度等參數及時上傳至上位機,并與設定值進行比較,與設定值不符時采取相應的處理措施,以實現恒溫恒濕環境。 在設計的過程中充分考慮到性價比和精度,在選用低價格、通用元件的的基礎上,盡量滿足設計要求,并使系統具有高的精度。本控制系統以單片機的控制為核心,實時監測環境的溫度和濕度,并設定了這兩個參數的上下限定值,并具有相應的報警系統,當超過設定的限定值時,單片機控制報警系統進行報警,而且同時驅動繼電器打開相應的開關使相應的執行機構運行。當參數值恢復到設定值范圍內時,單片機控制執行機構停止運行

9、。從而使環境的溫濕度在一定的范圍內得到控制。本設計主要內容包括以下幾個方面:(1)掌握STC89C51單片機的主要功能和特性,以其為核心設計控制系統。(2)設計簡單的人機對話接口系統,如鍵盤、顯示、報警等。(3)利用RS232實現單片機與上位機的通信。(4)實現系統的可靠性和抗干擾性。(5)選擇適合的傳感器,設計相應的信號采集和處理電路。1.2.2本設計的意義 傳統的方法,人們主要采用溫度計、濕度計來采集溫度值和濕度值,通過人工操作加熱、加濕、通風和降溫設備來控制溫濕度。但是由于溫度計、濕度計精度比較低,以及人工讀數的人為因素等原因,溫濕度檢測不僅速度慢,精度低,實時性差,而且操作人員的勞動強

10、度大。隨著科技的發展,采用各種傳感器、模數轉換器、報警器等組成的溫濕度監測系統的出現,可對環境內的各個測點進行巡回檢測,檢測速度、精度有了一定的提高,降低了勞動強度,但由于所采用的傳感器靈敏度比較低、穩定性比較差,致使檢測精度、系統可靠性還不夠理想,同時在農業生產和農業科研過程中的很多場合需要對上面提到的物理量進行精確的檢測和控制。由于現在基本沿用人工的測控方法,這就不可避免的存在著勞動強度大、繁瑣、測量精度低,并且由于檢測報警不及時,給生產和科研工作造成了一定的損失2。 近年來,隨著單片機功能的日益強大和計算機的廣泛應用,人們對參數監測的準確性、穩定性要求也越來越高。本設計就是針對此問題,設

11、計相對精度高、性能穩定的、的溫度濕度控制裝置。該儀器可廣泛應用于大棚、倉庫、體育場等領域。2. 溫室控制系統總體設計2.1 測控系統的設計要求 (1) 能夠實時采集與顯示室內環境溫度、濕度等參數。主要參數的監測范圍和檢測精度如表2.1所示:表2.1 主要環境參數參數名檢測范圍檢測精度溫度-30+50±0.5相對濕度10%100%RH±3.0%RH (2) 能夠根據每天各個階段以及季節等的外部環境變化通過鍵盤輸入改變對參數的設置,以滿足不同的要求達到最佳效益; (3) 聲音報警功能; (4) 根據檢測到的信號,實時控制執行機構的開啟與關斷。 (5) 自帶+5 V和+12 V直

12、流穩壓電源。2.2 設計目標本設計是基于STC89C51單片機的溫濕度智能控制采集系統,主要完成一下主要任務: (1)選擇STC89C51單片機,了解其基本特性和功能,使用STC89C51實現對溫濕度的智能控制。 (2)使用溫度傳感器測量環境的溫度,進行數據的采集并傳送到單片機進行數據處理,實現范圍為-30+50溫度采集和控制。 (3)使用濕度傳感器對現場環境濕度數據采集,由單片機進行數據處理和控制,實現范圍為10%100%RH的濕度控制。 (4)采用串行總線RS-232實現單片機和上位機通訊。 (5)設計人機對話接口,鍵盤、顯示和報警系統。 (6)設計執行機構電路,使單片機能自動控制執行機構

13、工作。 使系統完成特定功能的同時,要保證系統的可靠性和穩定性,使系統能夠長期穩定的工作。還要盡量實現系統的低成本、低功耗和高精度。2.3 測控系統的組成及控制原理本設計是以STC89C51單片機為核心的自動控制系統,硬件系統由鍵盤輸入電路、LCD顯示電路、傳感器和A/D轉換電路、和執行電路、報警電路等組成。硬件系統原理框圖如圖2.1所示:鍵盤輸入溫度傳感器濕度傳感器A/D轉換MCUSTCT89C51LCD顯示報警電路圖2.1 測控系統硬件組成原理框圖 傳感器一般輸出的為模擬量,需要通過A/D轉換,轉換為單片機能夠接收的數字信號,若模擬信號太弱,還需經過運算放大器放大信號。鍵盤輸入的是系統參數的

14、上、下限極限值,若檢測到的信號值出現不在此極限區間的情況,單片機就會驅動蜂鳴器產生報警,此時就需要執行機構控制室內環境相應的改變,使得環境參數重新回到設定的理想區間。3. 硬件設計 硬件元器件的選擇,必須考慮到功能的實現、器件的適時性、價格和通用性等幾個方面。在電路的設計中,在實現所要求功能的基礎上,盡量使電路簡單。3.1 單片機的選擇及其特性 計算機的產生加快了人類改造世界的步伐,但是它畢竟體積龐大。單片機(微控制器)就是在這種情況下誕生的。微控制器,亦稱單片機或者單片微型計算機。它是把中央處理器(CPU)、隨機存取存儲器(RAM)、只讀存儲器(ROM)、輸入/輸出端口(1/0) 等主要計算

15、機功能部件都集成在一塊集成電路芯片上的微型計算機。它的結構與指令功能都是按照工業控制的要求設計的,在智能控制系統中,微控制器得到了廣泛的應用。 單片機目前己被廣泛地應用于家電、醫療、儀器儀表、工業自動化、航空航天等領域。市場上比較流行的單片機種類主要有Intel公司、Atmel公司和Philip公司的8951系列單片機,Motorola公司的M6800系列單片機,Intel公司的MCS96系列單片機,Microchip公司的PIC系列單片機等。各個系列的單片機各有所長,在處理速度、穩定性、I/O能力、功耗、功能、價格等方面各有優劣。這些種類繁多的單片機家族,給我們單片機的選擇也提供了很大的余地

16、。本設計選用STC89C51單片機,它是一種低功耗、低價格,高性能8位微處理器3。3.2 STC89C51系列單片機介紹 STC89C51 是美國ATMEL 公司生產的低電壓,高性能CMOS 8 位單片機,片內含4k bytes 的可反復擦寫的Flash 只讀程序存儲器和256 bytes 的隨機存取數據存儲器(RAM),器件采用ATMEL 公司的高密度、非易失性存儲技術生產,與標準MCS-51 指令系統及8051產品引腳兼容,片內置通用8 位中央處理器(CPU)和Flash 存儲單元,功能強大的STC89C51 單片機適合于許多較為復雜控制應用場合。3.2.1 STC89C51基本特性STC

17、89C51系列單片機主要性能參數如下:·與MCS-51產品指令和引腳完全兼容·4k字節可重擦寫Flash閃速存儲器·1000次擦寫周期·全靜態操作:0Hz-24MHz·三級加密程序存儲器·256字節內部RAM·32個可編程I/O口線·3個16位定時/計數器·8個中斷源·可編程串行UART通道·低功耗空閑和掉電模式。STC89C51 提供以下標準功能:4k字節Flash 閃速存儲器,256字節內部RAM,32 個I/O 口線,3 個16 位定時/計數器,一個6 向量兩級中斷結構,一個全雙

18、工串行通信口,片內振蕩器及時鐘電路。同時,STC89C52 可降至0Hz的靜態邏輯操作,并支持兩種軟件可選的節電工作模式。空閑方式停止CPU 的工作,但允許RAM,定時/計數器,串行通信口及中斷系統繼續工作。掉電方式保存RAM 中的內容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復位。 3.2.2 STC89C51單片機的內部組成結構STC89C51單片機的內部結構如圖3.1所示:圖3.1 STC89C51單片機的內部結構3.2.3 STC89C51的引腳功能引腳功能說明如圖3.2:·Vcc:電源電壓·GND:地·P0口:P0口是一組8位漏極開路型雙向I

19、/O口,也即地址/數據總線復用口。作為輸出口用時,每位能吸收電流的方式驅動8個TTL邏輯門電路,對端口P0寫“1”時,可作為高阻抗輸入端用。在訪問外部數據存儲器或程序存儲器時,這組口線分時轉換地址(低8 位)和數據總線復用,在訪問期間激活內部上拉電阻。在Flash 編程時,P0口接收指令字節,而在程序校驗時,輸出指令字節,校驗時,要求外接上拉電阻。圖3.2 STC89C52單片機封裝圖·P1口:P1口是一個帶內部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅動(吸收或輸出電流)4個TTL 邏輯門電路。對端口寫“1”,通過內部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時

20、,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。與STC89C51 不同之處是,P1.0 和P1.1 還可分別作為定時/計數器2 的外部計數輸入(P1.0/T2)和輸入(P1.1/T2EX),參見表3.1。表3.1 引腳P1.0和P1.1的第二功能引腳號功能特性P1.0T2(定時計數器2外部計數脈沖輸入),時鐘輸出P1.1T2EX(定時計數器2捕獲重裝載觸發和方向控制Flash 編程和程序校驗期間,P1 接收低8位地址。·P2口:P2是一個帶有內部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。對端口P2寫“1”,通

21、過內部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。 在訪問外部程序存儲器或16 位地址的外部數據存儲器(例如執行MOVX DPTR 指令)時,P2口送出高8 位地址數據。在訪問8 位地址的外部數據存儲器(如執行MOVX RI 指令)時,P2口輸出P2 鎖存器的內容。Flash 編程或校驗時,P2亦接收高位地址和一些控制信號。 ·P3口:P3口是一組帶有內部上拉電阻的8位雙向I/O口。P3口輸出緩沖級可驅動(吸收或輸出電流)4個TTL 邏輯門電路。對P3口寫入“1”時,它們被內部上拉電阻拉高并可作為

22、輸入端口。此時,被外部拉低的P3口將用上拉電阻輸出電流(IIL)。 P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能,如表3.2所示:表3.2 引腳P3口的第二功能端口引腳號第二功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2/INTO(外中斷0)P3.3/INT1(外中斷1)P3.4T0(定時/計數器0)P3.5T1(定時/計數器1)P3.6/WR(外部數據存儲器寫選通)P3.7/RD(外部數據存儲器讀選通)此外,P3 口還接收一些用于Flash閃速存儲器編程和程序校驗的控制信號。·RST:復位輸入。當振蕩器工作時,RST引腳出現兩個機器周期以上高電

23、平將使單片機復位。·ALE/PROG: 當訪問外部程序存儲器或數據存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節。一般情況下,ALE仍以時鐘振蕩頻率的1/6 輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數據存儲器時將跳過一個ALE脈沖。對Flash 存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。 如有必要,可通過對特殊功能寄存器(SFR)區中的8EH 單元的D0 位置位,可禁止ALE 操作。該位置位后,只有一條MOVX 和MOVC指令才能將ALE 激活。此外,該引腳會被微弱拉高,單片機執行外部程序時,應設置ALE 禁止位無

24、效。·PSEN:程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當AT89C52 由外部程序存儲器取指令(或數據)時,每個機器周期兩次PSEN有效,即輸出兩個脈沖。此期間,當訪問外部數據存儲器,將跳過兩次PSEN信號。·EA/VPP:外部訪問允許。欲使CPU 僅訪問外部程序存儲器(地址為0000HFFFFH),EA 端必須保持低電平(接地)。需注意的是:如果加密位LB1 被編程,復位時內部會鎖存EA端狀態。如EA端為高電平(接Vcc端),CPU 則執行內部程序存儲器中的指令。Flash 存儲器編程時,該引腳加上+12V 的編程允許電源Vpp,當然這必須是該器件是使

25、用12V 編程電壓Vpp。·XTAL1:振蕩器反相放大器的及內部時鐘發生器的輸入端。·XTAL2:振蕩器反相放大器的輸出端4。3.2.4 STC89C51的存儲器 ·中斷寄存器: STC89C51有6個中斷源,2個中斷優先級,IE寄存器控制各中斷位,IP寄存器中6個中斷源的每一個可定為2個優先級。 ·數據存儲器: STC89C51有256個字節的內部RAM,80H-FFH高128個字節與特殊功能寄存器(SFR)地址是重疊的,也就是高128字節的RAM和特殊功能寄存器的地址是相同的,但物理上它們是分開的。當一條指令訪問7FH 以上的內部地址單元時,指令中使

26、用的尋址方式是不同的,也即尋址方式決定是訪問高128 字節RAM還是訪問特殊功能寄存器。如果指令是直接尋址方式則為訪問特殊功能寄存器。例如,下面的直接尋址指令訪問特殊功能寄存器0A0H(即P2 口)地址單元。MOV 0A0H,#data間接尋址指令訪問高128 字節RAM,例如,下面的間接尋址指令中,R0 的內容為0A0H,則訪問數據字節地址為0A0H,而不是P2口(0A0H)。MOV R0,#data堆棧操作也是間接尋址方式,所以,高128 位數據RAM 亦可作為堆棧區使用。·定時器0和定時器1:STC89C51的定時器0和定時器1的工作方式與STC89C51的相同。·定

27、時器2: 定時器2 是一個16 位定時/計數器。它既可當定時器使用,也可作為外部事件計數器使用,其工作方式由特殊功能寄存器T2CON的C/T2 位選擇。定時器2 有三種工作方式:捕獲方式,自動重裝載(向上或向下計數)方式和波特率發生器方式,工作方式由T2CON 的控制位來選擇。·波特率發生器:當T2CON中的TCLK 和RCLK 置位時,定時/計數器2 作為波特率發生器使用。如果定時/計數器2 作為發送器或接收器,其發送和接收的波特率可以是不同的,定時器1 用于其它功能。若RCLK 和TCLK 置位,則定時器2工作于波特率發生器方式。 波特率發生器的方式與自動重裝載方式相仿,在此方式

28、下,TH2 翻轉使定時器2 的寄存器用RCAP2H 和RCAP2L 中的16位數值重新裝載,該數值由軟件設置。·中斷:STC89C51 共有6 個中斷向量:兩個外中斷(INT0 和INT1),3 個定時器中斷(定時器0、1、2)和串行口中斷。這些中斷源可通過分別設置專用寄存器IE 的置位或清0 來控制每一個中斷的允許或禁止。IE 也有一個總禁止位EA,它能控制所有中斷的允許或禁止。定時器2 的中斷是由T2CON 中的TF2 和EXF2 邏輯或產生的,當轉向中斷服務程序時,這些標志位不能被硬件清除,事實上,服務程序需確定是TF2 或EXF2 產生中斷,而由軟件清除中斷標志位。定時器0

29、和定時器1 的標志位TF0 和TF1 在定時器溢出那個機器周期的S5P2 狀態置位,而會在下一個機器周期才查詢到該中斷標志。然而,定時器2 的標志位TF2 在定時器溢出的那個機器周期的S2P2 狀態置位,并在同一個機器周期內查詢到該標志5。·STC89C51的直流參數有一定的溫度適用范圍,見表3.3: 表3.3 T=-40+85 和 Vcc=5.0V±20%下的直流參數符號參數條件最小值最大值單位輸入低電壓(Except EA)-0.50.2VCC-0.1V輸入低電壓-0.50.2VCC-0.3V輸入高電壓(Except XTAL1,RST)0.2VCC+0.9VCC+0.

30、5V輸入高電壓(XTAL,RST)0.7VCCVCC+0.5V輸出低電壓(P1,2,3)I=1.6mA0.45V輸出低電壓(P0,ALE/PSEN)I=32mA0.45V輸出高電壓I=-25uA0.75VCCV輸出高電壓I=-300uA0.75VCCV邏輯0輸入電流(P1,2,3)V=0.45V-50uA邏輯1到0轉換電流(P1,2,3)V=2V-650uARST復位下拉電阻50300K引腳電容1MHz,pF消耗電流Active Mode,12MHz25mA·Flash存儲器的編程:STC89C51單片機內部有4k字節的Flash PEROM,這個Flash存儲陣列出廠時已處于擦除狀

31、態(即所有存儲單元的內容均為FFH),用戶隨時可對其進行編程。編程接口可接收高電壓(+12V)或低電壓(Vcc)的允許編程信號。低電壓編程模式適合于用戶在線編程系統,而高電壓編程模式可與通用EPROM編程器兼容。STC89C51單片機中,有些屬于低電壓編程方式,而有些則是高電壓編程方式,用戶可從芯片上的型號和讀取芯片內的簽名字節獲得該信息,見表3.4。表3.4 頂面標記及簽名字節Vpp=12VVpp=5V頂面標記AT89C52XxxxyywwAT89C52xxxx-5yyww簽名字節(030H)=1EH(031H)=52H(030H)=1EH(031H)=52H(032H)=FFH(032H)

32、=05H STC89C51的程序存儲器陣列是采用字節寫入方式編程的,每次寫入一個字節,要對整個芯片內的PEROM程序存儲器寫入一個非空字節,必須使用片擦除的方式將整個存儲器的內容清除。圖3.5 STC89C51編程電路·程程序序校驗:如果加密位LB1、LB2沒有進行編程,則代碼數據可通過地址和數據線讀回原編寫的數據,采用如圖3.5的電路。加密位不可直接校驗,加密位的校驗可通過對存儲器的校驗和寫入狀態來驗證。·編程方法:(1)在地址線上加上要編程單元的地址信號。(2)在數據線上加上要寫入的數據字節。(3)激活相應的控制信號。(4)在高電壓編程方式時,將EA/Vpp端加上+12

33、V編程電壓。(5)每對Flash存儲陣列寫入一個字節或每寫入一個程序加密位,加上一個ALE/PROG編程脈沖。每個字節寫入周期是自身定時的,通常約為1.5ms。重復15步驟,改變編程單元的地址和寫入的數據,直到全部文件編程結束。·Ready/Busy:字節編程的進度可通過“RDY/BSY輸出信號監測,編程期間,ALE變為高電平“H”后,P3.4(RDY/BSY)端電平被拉低,表示正在編程狀態(忙狀態)。編程完成后,P3.4變為高電平表示準備就緒狀態。·芯片擦除:利用控制信號的正確組合并保持ALE/PROG引腳10mS的低電平脈沖寬度即可將PEROM陣列(4k字節)和三個加密

34、位整片擦除,代碼陣列在片擦除操作中將任何非空單元寫入“1”,這步驟需再編程之前進行11。3.3 傳感器的選型及其性能特征 用于測溫的傳感器種類繁多,但大多是模擬傳感器,在以往組建溫度采集系統時,由于經傳感器輸出的是模擬信號,系統必須接入A/D轉換器,由此增加了構件系統的復雜性且成本較高。 溫度的檢測方法,一般采用熱電偶、熱敏電阻以及集成溫度傳感器等測溫元件。熱電偶的工作原理: 兩種不同成份的導體兩端經焊接,形成回路,直接測溫端叫工作端 ,接線端叫冷端,也稱參比端。當工作端和參比端之間存在溫差時,就會在回路中產生熱電動勢,接上顯示儀表,儀表上就會指示出熱電偶所產生的熱電動勢的對應溫度值。熱敏電阻

35、的工作原理:熱敏電阻的阻值隨溫度的升高而成非線性急劇變化,一般具有負的溫度系數,其阻值隨溫度升高而急劇減小,只有少數具有正的溫度系數。集成溫度傳感器的工作原理:集成溫度傳感器實質上是一種半導體集成電路,它是利用晶體管的b一e結壓降的不飽和值Vbe與熱力學溫度T和通過發射極電流I的關系實現對溫度的檢測12。 熱電偶和熱敏電阻的測量精度都比較高,成本比較低,而且測量的范圍也比較寬,但是它容易受到測量場所以及環境的限制,高溫或長期使用時由于環境的影響會使其性能下降,需要定期檢查與更換,給實際應用帶來了很大不便。經過論證及多次實驗,本設計決定采用SHT11傳感器6。3.3.1溫度傳感器SHT11SHT

36、11的內部結構和工作原理:溫濕度傳感器SHT11將溫度感測、濕度感測、信號變換、AD轉換和加熱器等功能集成到一個芯片上,其內部結構如圖七所示。該芯片包括一個電容性聚合體濕度敏感元件和一個用能隙材料制成的溫度敏感元件。這兩個敏感元件分別將濕度和溫度轉換成電信號,該電信號首先進入微弱信號放大器進行放大;然后進入一個14位的AD轉換器;最后經過二線串行數字接口輸出數字信號。SHT11在出廠前,都會在恒濕或恒溫環境巾進行校準,校準系數存儲在校準寄存器中;在測量過程中,校準系數會自動校準來自傳感器的信號。此外,SHT11內部還集成一個加熱元件,加熱元件接通后能將SHT11的溫度升高5左右,同時功耗也會有

37、所增加。此功能主要為了比較加熱前后的溫度和濕度值,能綜合驗證兩個傳感器元件的性能。在高濕(>95RH)環境中,加熱傳感器可預防傳感器結露,同時縮短響應時間,提高精度。加熱后SHT11溫度升高、相對濕度降低,較加熱前,測量值會略有差異7。圖3.6 SHT11內部結構 微處理器是通過二線串行數字接口和SHT11進行通信的。通信協議和通用的I2C總線協議是不兼容的,因此需要用通用微處理器IO口模擬該通信時序。微處理器對SHT11的控制是通過5個5位命令代碼來實現的,命令代碼的含義如表3.7所列。 表3.7 SHT11控制命令代碼SHT11應用設計: 微處理器采用二線串行數字接口和溫濕度傳感器芯

38、片SHT11進行通信,所以硬件接門設計非常簡單;然而,通信協議是芯片廠家自己定義的,所以在軟件設計中,需要用微處理器通用IO口模擬通道。SHT11通過二線數字串行接口來訪問,所以硬件接口電路非常簡單。需要注意的地方是:DATA數據線需要外接上拉電阻,時鐘線SCK用于微處理器和SHT11之間通信同步,由于接口包含了完全靜態邏輯,所以對SCK最低頻率沒有需求;當工作電壓高于4.5V時,SCK頻率最高為10 MHz,而當工作電壓低于4.5 V時,SCK最高頻率則為1 MHz11。硬件連接如圖3.8所示。圖3.8 SHT11硬件連接應用信息:(1)工作與貯存條件 超出建議的工作范圍可能導致高達3%RH

39、的臨時性漂移信號。返回正常工作條后,傳感器會緩慢地向校準狀態恢復。要加速恢復進程/可參閱7.3小節的“恢復處理”。在非正常工作條件下長時間使用會加速產品的老化過程。(2)暴露在化學物質中電阻式濕度傳感器的感應層會受到化學蒸汽的干擾,化學物質在感應層中的擴散可能導致測量值漂移和靈敏度下降。在一個純凈的環境中,污染物質會緩慢地釋放出去。下文所述的恢復處理將加速實現這一過程。高濃度的化學污染會導致傳感器感應層的徹底損壞。(3)恢復處理置于極限工作條件下或化學蒸汽中的傳感器,通過如下處理程序,可使其恢復到校準時的狀態。在50-60和< 10%RH的濕度條件下保持2 小時(烘干);隨后在20-30

40、和>70%RH的濕度條件下保持 5小時以上。(4)溫度影響 氣體的相對濕度,在很大程度上依賴于溫度。因此在測量濕度時,應盡可能保證濕度傳感器在同一溫度下工作。如果與釋放熱量的電子元件共用一個印刷線路板,在安裝時應盡可能將DHT11遠離電子元件,并安裝在熱源下方,同時保持外殼的良好通風。為降低熱傳導,DHT11與印刷電路板其它部分的銅鍍層應盡可能最小,并在兩者之間留出一道縫隙。(5)光線 長時間暴露在太陽光下或強烈的紫外線輻射中,會使性能降低。(6)配線注意事項 DATA信號線材質量會影響通訊距離和通訊質量,推薦使用高質量屏蔽線。焊接信息手動焊接,在最高260的溫度條件下接觸時間須少于10

41、秒。注意事項:避免結露情況下使用,長期保存條件:溫度1040,濕度60%以下10。3.4 單片機外圍控制電路設計 在本系統中單片機的外圍電路較多,可分為以下幾部分:看門狗電路、系統電源、溫濕度信號采集電路、執行機構電路LED顯示電路、鍵盤輸入及報警電路、與上位機通信的接口電路圖等。3.4.2電源電路在本設計中主要用到+5V,+12V,15V。為得到所需電壓,系統采用了電壓轉換芯片LM7815、LM7805和LM7812,三個芯片的輸入分別取+19V、+23V和+12V,經轉換后輸出端輸出分別為系統所需的+15V、+5V和+12V電壓,電源電路圖見圖3.9圖3.9電源電路3.4.3 LCD顯示電

42、路(1)簡介 工業字符型液晶,能夠同時顯示16x02即32個字符。(16列2行) 注:為了表示的方便 ,后文皆以1表示高電平,0表示第電平。(2)管腳功能 1602采用標準的16腳接口,其中: 第1腳:VSS為電源地 第2腳:VDD接5V電源正極 第3腳:V0為液晶顯示器對比度調整端,接正電源時對比度最弱,接地電源時對比度最高(對比度過高時會產生“鬼影”,使用時可以通過一個10K的電位器調整對比度)。 第4腳:RS為寄存器選擇,高電平1時選擇數據寄存器、低電平0時選擇指令寄存器。 第5腳:RW為讀寫信號線,高電平(1)時進行讀操作,低電平(0)時進行寫操作。 第6腳:E(或EN)端為使能(en

43、able)端。 第714腳:D0D7為8位雙向數據端。 第1516腳:空腳或背燈電源。15腳背光正極,16腳背光負極。3.4.4執行機構電路 常用的溫室環境調控設備主要有以下幾種:加熱系統降溫系統加濕系統降濕系統其電路圖相似,現僅示加熱系統的電路,電路圖分別如圖3.10:圖3.10 加熱電路圖3.10中,當反向驅動器7404左邊輸入為高電平時,經7404變為低電平,使發光二極管發光,從而使光敏三極管導通,同時是三極管9013導通,因而使繼電器J的線圈通電,繼電器的觸點閉合,使交流220V電源接通。反之當反向驅動器7404左邊輸入為低電平時,使繼電器觸點斷開。圖中電阻為限流電阻,二極管D的作用是

44、保護晶體管T。當繼電器J吸合時,二極管D截止,不影響電路工作。繼電器釋放時,由于繼電器線圈存在電感,這時晶體管T已經截止,所以會在線圈的兩端產生較高的感應電壓。此電壓的極性為上正下負,正端接在晶體管的集電極。當感應電壓與與12V之和大于晶體管T的集電結反向電壓時,晶體管T有可能損壞。加入二極管D后,繼電線圈產生的感應電流由二極管D流過,因此,不會產生很高的感應電壓,因而使晶體管T得到保護7。3.4.5鍵盤輸入與報警電路 單片機的按鍵輸入一般可分為簡單的獨立式按鍵輸入及行列式鍵盤輸入兩種。獨立式鍵盤輸入適合于按鍵輸入不多的情況,具有占用口線較少、軟件編寫簡單容易等特點。通常所用的按鍵為輕觸機械開

45、關,正常情況下按鍵的接點是斷開的,當我們按壓按鈕時,由于機械觸點的彈性作用,一個按鍵開關在閉合時不會馬上穩定地接通,在斷開時也不會一下子斷開。因而機械觸點在閉合及斷開的瞬間均伴隨有一連串的抖動,抖動時間的長短由按鍵的機械特性及操作人員按鍵動作決定,一般為5ms20ms;按鍵穩定閉合時間的長短是由操作人員的按鍵按壓時間長短決定的,一般為零點幾秒至數秒不等。由于該款溫濕度計應用于對空氣中的溫濕度進行測量,當濕度達到某一數值時需要啟動加濕功能,因此需要設定一個濕度值。為此,本設計增加了4個按鍵,其中K1光標移位鍵,K2鍵為確定,K3為循環加1鍵,K4為循環減1鍵,分別與單片機的P1.0、P1.1、P

46、1.2、P1.3口相連。按鍵未被按下時,4個I/O口均為高電平;一旦按鍵按下,對應的I/O口被拉為低電平。以此來實現軟件程序設計中的按鍵掃描。報警采用單片機外接一個三極管驅動蜂鳴器來實現。圖3.11 鍵盤輸入電路圖3.12報警電路4. 溫室控制系統軟件設計4.1 中斷服務程序: 開始P2.0=?溫度轉顯示濕度轉顯示結束圖4.1中斷服務程序4.2 主程序圖4.2主程序 軟件設計的主程序,開始后先經過初始化再根據要求來選擇對應的通道,然后結束。圖五為中斷服務程序,開始后看P2.0等于多少,對應的選擇溫度轉換還是濕度轉換,對應著顯示,然后結束。 微處理器和溫濕度傳感器通信采用串行二線接口SCK和DA

47、TA,其中SCK為時鐘線,DATA為數據線。該二線串行通信協議和I2C協議是不兼容的。在程式開始,微處理器需要用一組"啟動傳輸"時序表示數據傳輸的啟動,如圖3所示。當SCK時鐘為高電平時,DATA翻轉為低電平;緊接著SCK變為低電平,隨后又變為高電平;在SCK時鐘為高電平時,DATA再次翻轉為高電平8。圖4.3 數據傳輸啟動程序 4.3 顯示原理圖單片機初始化化化接收數據取溫濕度給定值采樣溫濕度值液晶顯示上傳數據開始NY地址校驗圖4.4 LCD顯示原理圖圖4.4為軟件方面的顯示原理圖,開始后,單片機經過初始化后接收數據,然后進行地址校驗,校驗不合格繼續接受數據,校驗合格的話

48、取濕度給定值進而采樣溫濕度值,然后數碼顯示后上傳數據,繼續循環。溫度和濕度值的計算: (1)SHT11可通過DATA數據總線直接輸出數字量濕度值。該濕度值稱為“相對濕度”,需要進行線性補償和溫度補償后才能得到較為準確的濕度值。由于相對濕度數字輸出特性呈一定的非線性,因此為了補償濕度傳感器的非線性,可按下式修正濕度值: 式中:RHlinear為經過線性補償后的濕度值,SORH為相對濕度測量值,C1、C2、C3為線性補償系數,取值如表4.5所列。 由于溫度對濕度的影響十分明顯,而實際溫度和測試參考溫度25有所不同,所以對線性補償后的濕度值進行溫度補償非常有必要。補償公式如下: 式中:RHtrue為

49、經過線性補償和溫度補償后的濕度值,T為測試濕度值時的溫度(),t1和t2為溫度補償系數,取值如表4.6所列。 表4.5濕度線性補償系數 表4.6濕度值溫度補償系數(2)溫度值輸出 由于SHT11是采用PTAT能隙材料制成的溫度敏感元件,因而具有非常好的線性輸出。實際溫度值可由下式算得:Temperature=d1+d2×SOT 式中:d1和d2為特定系數,d1的取值和SHT11工作電壓有關,d2的取值則和SHT11內部AD轉換器采用的分辨率有關,其對應關系分別如表4.7和表4.8所列9。表4.7d1與工作電壓關系 表4.8d2與分辨率的關系4.4 C語言和控制程序設計 軟件對整個系統

50、來說是至關重要的,是整個系統的靈魂,整個系統的執行操作都是在軟件的協調指揮下進行的。用于計算機程序設計的語言分為機器語言、匯編語言和高級語言。本測控系統的軟件的編寫主要采用C語言編寫。 本系統軟件設計采用模塊化的設計思路,即整個系統的程序軟件由許多獨立的子程序模塊組成,它們之間通過軟件接口進行連接。連接的原則是:模塊內數據關系緊湊,模塊間數據關系松散,按功能劃分模塊。 整個軟件系統的程序可分為四個大模塊,即主程序模塊、參數設置程序模塊、現場數據采集顯示模塊和執行處理程序模塊。每個模塊都具有一定的功能,每個模塊又可分為許多子模塊,既相互獨立又相互聯系,低級模塊可以被高級模塊調用。主程序是整個測控

51、系統中最重要的程序,各個子程序都在主程序的協調指揮下運行,是一個順序執行的無限循環程序,可以被任何優先級的中斷請求所打斷。各個環境參數的測試和控制指令的判斷都在各個測控子程序中進行,主程序的主要功能是實現系統的初始化、實現系統自檢、響應中斷請求進而調用數據處理子程序。 主程序如下:/* 文件名稱:main.c版 本:Keil uVision4控 制 器: STC89C52RC晶振頻率: 12MHz 說 明:基于單片機的溫濕度測試儀程序*/*includes-*/ #include <reg52.h>#include <SHT1X.h>#include <intri

52、ns.h>#include <LCD1602.h> #include <Button.h>#include <BuzzePhone.h>#include <Simulate_IIC.h>/*defines-*/#define Time0_TH0 0xc6 /定義計數器0計數寄存器裝載的高8位值,可自行修改#define Time0_TL0 0x0d /定義計數器0計數寄存器裝載的低8位值,可自行修改#define State_Idle 0x00 /定義空閑狀態#define State_AdjustHumidity 0x01 /定義濕度調整狀態#define State_AdjustT

溫馨提示

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

評論

0/150

提交評論