




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、河南科技大學本科畢業(yè)設計(論文)基于aduc812單片機的溫濕度檢測儀摘 要環(huán)境中的溫濕度指標是兩個重要的物理參數,在許多領域對溫濕度測量要求高的場合,都需要精確測量溫濕度。針對這一情況,設計一種可靠、實用的檢測儀器顯得非常重要?;赼duc812單片機的濕度檢測儀可以實時、準確的測量環(huán)境中的溫度和相對濕度,并能通過鍵盤輸入設置濕度上下限的值以及進行語音報警,其附有的通信接口可方便地實現與計算機的實時通信。 在整個設計過程中,我們綜合參考了國內外同類產品的設計方法,結合用戶的實際需求,經研究之后,硬件部分的設計采用了以帶有a/d轉換器的aduc812單片機為核心控制器件,以高靈敏度ad590電
2、流輸出型二端式集成溫度傳感器為溫度數據獲取元件和濕度傳感器ths11采集環(huán)境中的相對濕度,模擬輸入接口接入鍵盤實現人機交換功能,并用lcd作為顯示設備的硬件設計方案。此外,在通信方面使用rs-232串行數據接口與計算機進行數據傳輸。軟件部分則采用采用模塊化的方法將其分成幾個部分,然后逐模塊設計程序,用匯編語言來實現,最終使各部分結合起來協調工作。該溫濕度檢測儀的設計,能夠完成的溫濕度檢測,實現主要的溫濕度檢測功能。關鍵詞:aduc812單片機,傳感器,lcd,溫濕度measuring instrument for humidity baseed on aduc812 microcontroll
3、erabstractthe temperature and relative humidity of environmental condition are two important physical parameters, in industry department as well as the laboratory and so on the petrification, metallurgy, electric power, drugs manufacture, cement requests the high situation to the temperature and rel
4、ative humidity survey, it appears very important to develop a reliable and practical instrument that can examine the relative humidity of environment.based on the aduc812 microcontroller humidity instrument be able to accurate examine environment temperature and the relative humidity on real-time, a
5、nd user can set the humidity examinants range, so it will give a when the real humidity beyond the limiting. it attaches the correspondence connection may conveniently the realization and the computer real-time communication. in the whole design process, we have synthesized referred to the domestic
6、and foreign similar products design method, the union users demand, as well as high xingjian compared to and so on target, after research, used take included a/d the switch the aduc812 microcontroller as the core control component, take the high sensitivity warm sensor ad590 as the data gain part an
7、d take the humidity sensor ths11 as the data gain part, and took the graphic display device with lcd the hardware design proposal. in addition, has used the rs-232 serial data connection in the serial communication aspect. but software partial uses modular the design method, causes various segments
8、the function even more to be clear about, the readability is stronger.the temperature and humidity detector circuit design , to complete a captial temperature and humidity testing , achieving basic functions of temperature and humidity testing . key words:aduc812 microcontroller , sensor, lcd, tempe
9、rature and humidity4目錄前言1第1章 溫濕度檢測儀總體技術方案21.1 溫濕度檢測儀的主要性能指標及其工作原理21.1.1 性能指標21.1.2 溫濕度檢測儀的工作原理21.2 溫濕度檢測儀的硬件設計總體結構方案31.3 溫濕度檢測儀應用軟件系統的設計方案4第2章 溫濕度檢測儀的硬件電路設計62.1 溫濕度檢測儀aduc812單片機電路的設計62.2 溫濕度檢測儀的硬件電路設計72.2.1 溫度檢測電路82.2.2 濕度檢測電路82.2.3 其它模塊電路設計9第3章 溫濕度檢測儀的軟件設計133.1 主程序模塊設計133.2 溫濕度檢測模塊程序設計143.2.1 溫度檢測模
10、塊程序設計143.2.2 濕度檢測模塊程序設計153.3 鍵盤掃描和lcd顯示模塊程序設計203.3.1 鍵盤掃描203.3.2 lcd顯示部分程序設計23結論28參考文獻29致謝31附錄32 前言日常生活中,檔案館、圖書館、精密儀器室、超凈車間對等對環(huán)境溫濕度都有嚴格的要求所以溫濕度集散控制技術是最常見的應用技術。隨著科技的進步,檢測儀表也向著智能化、小型化、低功耗的方向發(fā)展。在這個發(fā)展過程中,單片機發(fā)揮了重要的作用,本文介紹的濕度檢測儀就是以單片機作為核心控制器設計的。它具有體積小、操作簡單、性能穩(wěn)定、測量精度高和抗干擾能力強等優(yōu)點,可廣泛應用于需要對溫濕度進行測控的領域中。本設計首先根據
11、實際生產生活的需要提出溫濕度檢測儀的功能要求,然后由這些要求具體設計出了硬件原理圖,再采用模塊化的方法將其分成幾個部分,然后逐模塊設計程序,最使各部分結合起來協調工作。它是利用單片機的在控制方面的突出優(yōu)點,并綜合運用現代檢測技術、微控制技術、數據處理和通信技術以及l(fā)cd顯示技術而設計的??梢詫崟r、準確的測量環(huán)境中的溫度和相對濕度,通過鍵盤輸入設置相對濕度上下限及進行報警,并且可以和pc機進行通信,作為溫濕度記錄儀使用。論文的第一章介紹了溫濕度檢測儀的主要性能指標及其工作原理,主要介紹了溫濕度檢測儀的硬件設計總體方案和溫濕度檢測儀的應用軟件系統的設計方案;第二章主要介紹了溫濕度檢測儀的硬件電路設
12、計,重點介紹了溫度檢測電路和濕度檢測電路;第三章主要介紹了基于aduc812單片機的濕度檢測儀的軟件設計,軟件設計部分采用模塊化設計,重點介紹了濕度檢測模塊程序設計中對濕度的頻率的線性化處理和溫度補償。第1章 溫濕度檢測儀總體技術方案溫濕度作為兩項項環(huán)境參數,在很多方面都起著重要的作用。本文中的基于aduc812單片機的濕度檢測儀就是針對這一需求而設計的。它綜合運用了現代檢測技術、數據處理和通信技術以及l(fā)cd顯示技術,可以實時、準確的測量環(huán)境中的溫度和相對濕度和設置相對濕度上下限及進行報警,并且可以和pc機進行通信,作為溫濕度記錄儀使用。在此設計過程中,我們綜合分析了不同用戶在不同場合的不同需
13、求,并且借鑒了國內外同類儀表設計的經驗,經研究之后,采用了以含有a/d轉換器的aduc812單片機為核心控制器件,以高靈敏度溫度傳感器和濕度傳感器為數據獲取元件的方案。它的設計過程主要包含硬件設計和軟件設計兩大過程.以下是該溫濕度檢測儀設計的大概過程。1.1 溫濕度檢測儀的主要性能指標及其工作原理1.1.1 性能指標1. 相對濕度測量精度: 3rh,分辨力 0.1rh;2. 溫度測量精度: 1,分辨力 0.1;3. 可有用戶自行校準儀表的測量精度,無需硬件調整;4. 可直接與微機串行口連接,作環(huán)境相對濕度與溫度的高精度記錄儀使用;5. lcd顯示;6. 用戶可編程設定相對溫度與濕度上、下限報警
14、值,并可進行語音報警;7. 用戶可編程設定手動或定時自動打印相對濕度與溫度的測量結果;8. 可手動或自動記錄測量的相對濕度與溫度的結果;9. 電源:dc9v10%;10.工作環(huán)境溫度60 ,工作環(huán)境濕度90%;1.1.2 溫濕度檢測儀的工作原理加載有相應程序的aduc812單片機定時采集溫度測量電路電壓信號和相對濕度測量電路輸出的頻率信號,并對濕度的頻率進行線性化處理和溫度補償,從而獲得溫度和相對濕度數據,分別將這些數據存儲于數據存儲器中, 然后送lcd顯示屏顯示??赏ㄟ^鍵盤電路來設置相對濕度的上下限,當檢測到的環(huán)境濕度超過限制設定值時,單片機控制報警電路發(fā)出語音警報。當儀表收到pc機發(fā)送的傳
15、送指令時,就把當前一段時間的測量數據打包傳送給pc機。1.2 溫濕度檢測儀的硬件設計總體結構方案硬件部分是檢測儀的重要部分,設計的好壞直接影響到整機的性能。該檢測儀采用aduc812單片機為核心,整個硬件系統分為以下幾個部件,具體如圖1-1所示:圖1-1 硬件電路框圖溫度檢測電路由半導體集成傳感器ad590和電阻構成,ad590輸出電流通過電阻進入模擬地,產生相應的電阻電壓。電阻的電壓輸入到aduc812單片機中,經adc轉換為數字量,有應用軟件處理得到環(huán)境溫度。相對濕度測量電路由ne555構成的振蕩電路組成,濕度傳感器ths11的電容隨環(huán)境相對濕度的變化而變化,從而導致振蕩器的振蕩頻率變化,
16、aduc812單片機通過測量振蕩器輸出的振蕩頻率,經過軟件處理后,獲得相對濕度值。鍵盤輸入電路與lcd顯示電路實現人機對話的功能。rs232接口電路與pc機的串行口聯接,實現通信功能。1.3 溫濕度檢測儀應用軟件系統的設計方案該儀表的系統程序設計采用模塊化的程序設計方法,其結構見圖1-2:圖1-2 軟件設計模塊圖檢測儀的應用軟件系統包括:主程序模塊、溫度檢測模塊、相對濕度檢測模塊、鍵盤和顯示模塊以及串行通信模塊。主程序的內容包括:主程序的起始地址,中斷服務程序的起始地址,有關內存單元及相關部件的初始化和一些子程序。溫度檢測模塊主要是完成測溫電路所得電壓與實際溫度的轉換,和對溫度數據的存儲、顯示
17、;相對濕度檢測模塊除了要實現對濕度數據的存儲 、顯示外,還要對濕度信號進行溫度補償和線性化處理。鍵盤、顯示模塊完成檢測儀控制和數據顯示功能;通信模塊包括初始化、發(fā)送及接收部分,可實現檢測儀與pc機通信的功能。第2章 溫濕度檢測儀的硬件電路設計此系統采用了以含有a/d轉換器的aduc812單片機為核心控制器件,以高靈敏度傳感器為獲取元件,用lcd作為顯示設備,并含有語音報警電路的方案。這個系統主要由aduc812單片機、溫度測量電路、相對濕度測量電路、語音報警電路、鍵盤輸入電路與lcd顯示電路。2.1 溫濕度檢測儀aduc812單片機電路的設計該檢測儀的設計是以aduc812單片機為核心部件,a
18、duc812單片機是美國ad公司推出的與mcs51單片機兼容的aduc812單片機,它包含了高性能的8路12位adc、2路12位dac、80c52mcu內核、8kb eeprom程序存儲器、640b eeprom數據存儲器和溫度傳感器等片內資源。aduc812單片機的引腳排列如圖2-1。利用aduc812單片機的輸入接口p1.7定時采集溫度測量電路電壓信號和輸入/輸出接口p3.5采集相對濕度測量電路輸出的頻率信號,并對濕度的頻率進行線性化處理和補償,從而獲得溫度和相對濕度數據,分別將這些數據存儲于數據存儲器中, 然后再通過p3.6和p3.7接口把芯片處理的數據送入顯示模塊電路,并可以用lcd顯
19、示屏顯示出來。當溫濕度檢測儀檢測到的相對濕度超過用戶設定的上下限時,單片機通過p1.0口輸出語音信號到報警電路。單片機通過模擬輸入口adc0adc7連接鍵盤,用戶可以通過鍵盤輸入實現人機交換。aduc812單片機的p3.0、p3.1端口與pc機相連實現串行通信,采用rs-232c串行接口。aduc812單片機的時鐘電路采用的是內部的時鐘電路,利用單片機內部的振蕩電路,并在xlat1和xlat2兩引腳間外接石英晶體和電容構成的并聯諧振電路,使內部振蕩器產生自激振蕩。石英晶體xt1頻率是11.059m,c1和c2是33pf。圖2-1 aduc812單片機的引腳排列圖aduc812單片機的復位電路采
20、用的開關復位電路,開關sw1未按下是上電復位電路,上電復位電路在上電的瞬間,由于電容上的電壓不能突變,電容處于充電(導通)狀態(tài),故rst腳的電壓與vcc相同。隨著電容的充電,rst腳上的電壓才慢慢下降。選擇合理的充電常數,就能保證在開關按下時是rst端有兩個機器周期以上的高電平從而使aduc812內部復位。sw1按下時是按鍵手動復位電路,rst端通過r1與vcc電源接通,提供足夠的時間的復位電平,使單片機復位?;赼duc812單片機的溫濕度檢測儀的原理圖見附錄。2.2 溫濕度檢測儀的硬件電路設計該溫濕度檢測儀的硬件系統由以下部分組成:電源部分、相對濕度測量電路、溫度測量電路、鍵盤掃描電路、l
21、cd顯示電路、語音報警電路、與pc機通信的rs232轉換電路和存儲器擴展部分,各部分設計如下。2.2.1 溫度檢測電路溫度檢測電路主要由ad590傳感器、電阻和放大器組成,具體電路圖如圖1-2所示。ad590是一種電流輸出型二端式集成溫度傳感器,其主要技術參數:測溫范圍55+150;工作電壓+4v+30v;精度0.5;靈敏度1a/,溫度每變化1,其輸出電流變化1a;輸出零點為熱力學溫標零點。即273時ad590的輸出電流為0a,0時輸出約為273a。溫度檢測電路如圖2-2所示:圖2-2 溫度檢測電路工作過程:因為流過ad590的電流與熱力學溫度成正比,電流經電阻r15轉換為電壓信號,所以電阻r
22、15上的電壓也將隨環(huán)境中溫度的變化而變化。電阻上的電壓信號經放大器放大后輸入到aduc812單片機帶有a/d轉換器的端口p1.7,由單片機應用軟件處理為環(huán)境中的實際溫度數據。2.2.2 濕度檢測電路相對濕度測量電路如圖2-3所示,它由ne555構成的振蕩器組成,濕度傳感器ths11的電容隨環(huán)境相對濕度的變化而變化,從而導致振蕩器的振蕩頻率變化。濕度檢測電路通過濕度傳感器ths11采集環(huán)境中的相對濕度。ths11是一種電容式濕度傳感器,它的電容值隨環(huán)境濕度的變化而變化,它具有測量范圍廣(0100%)rh;適用性好,可在(40100)溫度下工作;精度高(2%);響應速度快(5s),恢復時間短(10
23、s);長期穩(wěn)定好(年漂移量僅為1.5%rh)并且具有極好的線性輸出等特性。圖2-3 濕度檢測電路濕度檢測電路的工作過程為:環(huán)境相對濕度的變化導致濕度傳感器ths11的電容變化,從而引起振蕩器的輸出頻率的變化。單片機通過測量該頻率的變化,經應用軟件的溫度補償和線性化處理可獲得環(huán)境相對濕度值。該測量電路的測量精度為 3rh,分辨力 0.1rh,使得相對濕度傳感器ths11的測量范圍大,長期穩(wěn)定性好,響應時間短,溫度系數低,線性度較好,體積小。不足之處是相對濕度傳感器ths11及其它元件的離散性導致了調試困難,需進一步研究解決。2.2.3 其它模塊電路設計鍵盤輸入電路與lcd顯示電路實現人機對話的功
24、能。rs232c接口電路與pc機的串行口聯接,實現通信功能。打印輸出接口電路與打印機連接,實現打印功能。 以下重點簡單介紹lcd顯示電路、語音報警電路、串行通信模塊1. lcd顯示電路lcd顯示電路用于實現中文窗口菜單和測量結果顯示功能,可通過鍵盤掃描電路完成參數輸入、菜單選擇等操作。因此,鍵盤掃描電路和lcd顯示電路可視為人機對話接口。顯示模塊電路如圖2-4所示。圖2-4 顯示模塊電路電路中的hs12864是一種圖形點陣液晶顯示器,它主要由行驅動器/列驅動器及12864全點陣液晶顯示器組成??赏瓿蓤D形顯示,也可以顯示84個(16 16點陣)漢字。主要技術參數和性能:(1).電源:vdd:+5
25、v; 模塊內自帶-10v負壓,用于lcd的驅動電壓。(2).顯示內容:128(列)64(行)點(3).全屏幕點陣(4).七種指令(5).與cpu接口采用8位數據總線并行輸入輸出和8條控制線(6).占空比1/64(7).工作溫度:-10+50,存儲溫度:-20+70在顯示電路中,單片機的rd、wr、p1.2端口通過由“與非門”構成的輔助電路與hs12864的e端口相連,來控制顯示模塊對單片機送來數據的操作;而p0.1口控制顯示器顯示內容,即數據或指令;來自p0.2,p0.3的指令選擇顯示器左右半屏的信號。2. 語音報警電路圖 2-5 語音報警電路報警電路主要由電源、放大器、濾波電路和揚聲器組成。
26、當溫濕度檢測儀檢測到的相對濕度超過用戶設定的上下限時,單片機通過p1.0口輸出語音信號使報警電路發(fā)出警報。語音報警電路如圖2-5。3. 串行通信模塊圖 2-6 與pc通信電路與pc通信電路如圖2-6,檢測儀與pc機通信采用rs-232串行接口。rs-232是pc機與通信工業(yè)中應用最廣泛的一種串行接口,它被定義為一種在低速率串行通訊中增加通訊距離的單端標準。rs-232采取不平衡傳輸方式,即所謂單端通訊。由于其發(fā)送電平與接收電平的差僅為2v至3v左右,所以其共模抑制能力差,再加上雙絞線上的分布電容,其傳送距離最大為約15米,最高速率為20kb/s。rs-232是為點對點(即只用一對收、發(fā)設備)通
27、訊而設計的,其驅動器負載為37k,所以rs-232適合本地設備之間的通信。rs-232是用正負電壓來表示邏輯狀態(tài)的,而ttl是用高低電平來表示邏輯狀態(tài)的,因此,為了能夠同pc機接口或終端的ttl器件連接,必須在rs-232與ttl電平之間進行電平轉換.這里利用max232完成電平轉換工作。 max232芯片是maxim公司生產、包行兩路接收器和驅動器的ic芯片,適用于各種eia-232c和v.28/v.24的通信接口。max232芯片內部有一個電壓變換器,可以把輸入的+5v電源電壓變換成為rs-232所輸出電平所需的電壓。所以,采用此芯片的串行通信系統只需單一的+5v電源就可以了。11河南科技
28、大學本科畢業(yè)設計(論文)第3章 溫濕度檢測儀的軟件設計3.1 主程序模塊設計主程序是控制和管理的核心,主要完成在系統上電后進行定時和中斷圖3-1 主程序流程圖處理操作的初始化。它的內容包括主程序的起始地址,中斷服務程序的起始地址,有關內存單元及相關部件的初始化和一些子程序調用等等。主程序設計框圖如上圖3-1。主程序初始化的具體內容包括:時間中斷的初始化、外部中斷源的初始化、單片機i/o口初始化、串行通信中斷的初始化、ram初始化,lcd初始化。然后對溫度和濕度進行檢測并將結果顯示在lcd上。3.2 溫濕度檢測模塊程序設計3.2.1 溫度檢測模塊程序設計該檢測儀的溫度檢測部分使用的ad590是一
29、種由所在環(huán)境溫度決定的恒流輸出器件,其輸出特性為:i=ktt式中i為ad590輸出電流信號,單位為1ua電流。t為絕對溫度,單位為k。kt為轉換系數,單位為1ua/k。ad590輸出電流信號經電阻r轉換為電壓信號,其電壓為:vr = ktrtvr從adc口輸入到單片機中,進行a/d轉換,成為數字量vt。溫度檢測模塊程序如圖3-2,首先讀取測量電路的溫度電壓vt,并將這一電壓信號作為溫度轉換參數進行電壓溫度轉換,具體轉換方法為:把經過a/d的所得的數字電壓值vt作如下計算t = kt(vt-v0)式中t為需要測量的環(huán)境實際溫度值,參數 v0為環(huán)境溫度為0時a/d轉換的數字量電壓值,參數kt為環(huán)境
30、溫度與a/d轉換的數字量電壓的轉換系數:kt = 1/( ktr15)。它們均作為常量存儲在單片機的片內數據eeprom中。由于v0、kt準確與否直接影響溫度測量的精度,可通過以下方法進行校正:用其它高精度的測溫儀測量環(huán)境溫度t1,輸入本儀表,單片機同時記錄下相應的a/d轉換的數字量v1。當環(huán)境溫度從t1變化到t2時,重復以上過程,單片機同時記錄下相應的a/d轉換的數字量v2。為保證校準精度,環(huán)境溫度應在25左右變化,并且變化的范圍盡可能大一些。儀表的應用軟件根據kt=(t1-t2)/(v1-v2)和v0=vt1-t1/kt計算出kt和v0 的值,并存儲在單片機的eeprom數據存儲器中,既完
31、成該儀表的溫度測量精度的校正。儀表的應用軟件系統配置有專用的服務子程序完成此項工作,僅僅需按儀表的lcd顯示器的提示完成有關操作。圖3-2溫度檢測模塊程序流程圖溫度檢測模塊程序流程如圖3-2,該模塊程序最后將計算得到的溫度值送入數據存儲器,并調用lcd顯示程序將環(huán)境溫度顯示出來,然后返回主程序繼續(xù)下面的操作。3.2.2 濕度檢測模塊程序設計1. 程序欲解決問題分析濕度測量電路是由濕度傳感器ths11和ne555構成的振蕩電路組成。濕度傳感器ths11的電容值隨溫度的變化導致振蕩器的振蕩頻率發(fā)生變化,所以可以通過測量振蕩器輸出頻率,獲得相對濕度值。實驗得出振蕩電路的輸出頻率(f)與環(huán)境溫度(t)
32、的關系曲線,如圖3-3所示:圖3-3 振蕩頻率f與溫度t的關系曲線由上圖可知,在環(huán)境相對濕度不變的條件下,溫度和振蕩頻率呈近似的線性關系,所以忽略非線性誤差不影響測量的精度。當環(huán)境中的相對濕度不同時,相同溫度條件下的振蕩頻率差異比較大,且這種差異是非線性的。要準確地測量濕度,必須對振蕩頻率作溫度補償。從圖3-3可以看出,對于不同的環(huán)境濕度,振蕩頻率的溫度補償系數也是不同的。研究表明,相對濕度為x%rh時振蕩頻率的溫度補償系數(frhx)與相對濕度為0%rh時振蕩頻率的溫度補償系數(f rh0)具有如下關系:frhx=f rh0(frh/frh0)式中f rh0的值為297/65(hz/);fr
33、h0是溫度為0時相對濕度為0%rh的振蕩頻率,其值為7588(hz);frhx是溫度為0時相對濕度為x%rh的振蕩頻率。 實驗得出相對濕度(rh)與濕度傳感電路輸出的振蕩頻率(f)在環(huán)境溫度為25時的關系曲線,如圖3-4所示:圖3-4 在25時相對濕度rh與振蕩率f的關系曲線表3-1給出了該關系曲線上的10個點的數據。從圖3可以看出,相對濕度在20%rh80%rh范圍內線性度較好,兩端的線性較差。表3-1 在25環(huán)境溫度時相對濕度(rh)與振蕩頻率(f)的關系顯然,振蕩頻率受環(huán)境濕度的影響比較大。當相對濕度值升高時,振蕩器輸出頻率會隨之降低,而且它們之間的這種變化是非線性的。如果我們將檢測到頻
34、率直接送給顯示器顯示的話,得到的結果將與環(huán)境中的實際濕度值存在很大差別,無法達到性能指標中所要求的測量精度和分辨力。但是由上面的關系,可以采用軟件的方法進行溫度補償和線性化處理,來實現高精度地測量相對濕度。2. 程序設計方案經過以上分析可知,濕度檢測模塊程序需要完成將來自傳感電路的濕度頻率f轉換為相對濕度的工作。由于振蕩頻率隨環(huán)境相對濕度變化是非線性的,這給濕度轉換帶來了困難,因此需要對其進行線性化處理。同時,相對濕度受環(huán)境溫度的影響比較大。不同溫度條件下,在同一測量場合測得的濕度差異很大,所以還需要對測量頻率作溫度補償。具體方案如圖3-5。在濕度檢測模塊程序的開始,首先讀取經過a/d轉換的相
35、對濕度的振蕩頻率fo,并把得到的相對濕度頻率值存儲于aduc812的一個變量單元中。然后讀取溫濕度檢測儀測得的環(huán)境溫度值t,根據溫度補償系數計算出應該補償的頻率,補償后的頻率值為f =fo+(25-t)f rh0(frh/ f rh0)線性化處理: 首先根據實驗得出的相對濕度與振蕩頻率關系曲線,將測量范圍內的濕度rh劃分為n等份,每份為rh,每個濕度分隔點對應的頻率值設為fn。然后把頻率曲線上相鄰的兩點依次用直線相連,就得到一條新的濕度-頻率曲線,它與實際曲線幾乎重合在一起,所以可以使用該曲線產生進行線性化處理。圖3-5 濕度檢測模塊程序流程圖在線性化處理之前,需要在單片機的數據存儲器里存儲一
36、個頻率表,即由fn組成的數據表格。因為線性化處理的過程中需要將實測頻率與fn進行多次比較。生成頻率表之后就可以進行線性化處理了。線性化處理程序子程序流程圖如3-6所示。程序首先從存儲器中讀取溫度補償過的頻率f,把它賦給一個事先定義好的變量。同時取出rh,定義計數量n,分別存入不同變量。接下來就要對比較次數n賦初值(n=0),根據變量n去aduc812的rom中的頻率表中取出頻率值f0,然后將溫度補償過振蕩頻率f與從表中取得的表頻率f0作減法運算,并檢查相減結果是否大于0。如果差值大于0,則說明測得頻率超出檢測儀的測量范圍,轉入報告出錯子程序,告訴用戶出錯。如果兩者差值小于0,則將n 值加1,繼
37、續(xù)拿f與fn作比較。如果(f-f1)的值大于0,說明實測頻率在濕度-頻率曲線的第一段內,這時的環(huán)境濕度值:rh=rh (f- f0)/( f1- f0)。圖3-6線性化處理程序流程圖這里需要說明的是,f與f0的比較是非常必要的。因為這一比較涉及到,檢測儀報錯功能,更重要的是接下來的頻率比較必須以第一次比較為參考。在設計之初,我們想跳過與f0的比較,這樣程序也簡單一點。但是后來分析發(fā)現如果不進行這一比較會影響到儀表的正常工作。當f落在f1之前時,檢測儀會由于沒有合適比較對象而出錯。如果前面比較的結果值還是小于零,說明該振蕩頻率f不在該段,就把比較次數f加1后,從表中再次取值,繼續(xù)進行的比較,直至
38、比較結果大于零??衫孟率接嬎愠霏h(huán)境的相對濕度:rh=rhn-1+rh然后把結果存到單片機的存儲單元中,以供數據顯示程序處理。 3.3 鍵盤掃描和lcd顯示模塊程序設計3.3.1 鍵盤掃描圖3-7 鍵盤掃描子程序流程圖該檢測儀采用28矩陣式鍵盤,關于它的具體硬件組成電路這里就不多做介紹,在檢測有無鍵按下方面主要用的是定時掃描方式,該方式是利用單片機內部定時器產生定時中斷,即在初始化程序中對定時器/計數器進行編程,鍵盤掃描子程序流程圖如圖3-7所示。該子程序在時間中斷服程序中被調用,定時掃描鍵盤,該程序首先判斷有無鍵盤閉合,沒有鍵盤閉合時置延時定時器位初值然后返回,有鍵盤閉合時延時定時器時間減少
39、1,如果延時時間沒到時返回,如果到了就逐行逐列的掃描鍵盤判斷閉合鍵的鍵號,然后保存并給出對應鍵號的鍵值,之后置延時定時器位初值。延時定時器的延遲時間等于初值乘上時間判斷間隔時間,通過確定延時定時器的延遲時間達到去除鍵盤抖動的對正常的影響,一般延時時間在30ms50ms之間,在實驗中確定具體的延遲時間。鍵盤掃描去抖動的具體工作程序如下:scan key:;延時50ms去抖動 mov p0, #00h setb p2.4 ; outportcol1 setb p2.5 ; outportcol2 mov a, p2 anl a, #00110000b ;與 xrl a, #00110000b ;異
40、或 jz no key ;等于0 沒有鍵按下;findkeynum=0 inc findkeynum mov a, #delayvalue1; delayvalue1=9, t (5ms) x10 clr c subb a, findkeynum jnc scankeyend ;不等于0 程序結束沒有鍵按 mov a, #delayvalue1+1 clr c subb a, findkeynum jc no key ; startscankey get key: mov localvalue2, #00h mov a, #07fhgetkey1: setb p2.4 ; outportcol
41、1 setb p2.5 ; outportcol2 mov localvalue1, a mov p0, a; mov a, p2 anl a, #00110000b ;與 xrl a, #00110000b ;異或 jnz getkey2 mov a, localvalue1 rr a inc localvalue2 jb acc.7, getkey1 ljmp no keygetkey2:mov a, p2 anl a, #00110000b ;與 xrl a, #00110000b ;異或 jb acc.2, getkey3 mov a, #08h add a, localvalue2
42、mov localvalue2, agetkey3: mov keycolrowbuf, localvalue2getkeyvalue: mov dptr, #keyvalue mov a, keycolrowbufgetkeyvalue1: movc a, a+dptr mov keyvaluebuf1, a ;用于控制鍵 mov keyvaluebuf2, a ;用于顯示 ljmp scankeyendno key: mov findkeynum, #00hscankeyend: ret3.3.2 lcd顯示部分程序設計1. lcd顯示器應用程序設計總體方案(1).漢字點陣數據提取lcd顯
43、示器應用程序設計的基本目標是實現中文顯示界面。我們選用hs12864-1型圖形點陣液晶顯示模塊:該lcd模塊為不自帶字庫的12864點陣液晶顯示器。可通過已由的常用子程序來添加漢字、字符的點陣數據表,供lcd在中文界面下顯示漢字或字符。(2).lcd底層應用程序設計。添加點陣數據表之后,就可以開始設計lcd應用程序。在lcd顯示器應用程序設計中,需要解決的一個重要問題就是消除顯示屏的閃爍感。hs12864-1 型lcd顯示模塊只提供了一塊顯示數據寄存器ddram,并且與顯示屏點陣是一一對應的。如果直接在ddram處理顯示數據的,會因為同時進行處理和顯示,而導致顯示屏閃爍。通過lcd模塊提供的顯
44、示開關指令display on/off 在數據處理之前關掉顯示,待數據處理完后開顯示,可以使顯示屏閃爍得到一定控制。但是如果數據處理時間過長,超過人眼可辨別的最短時間20ms,顯示屏就會因為反復開關顯示而產生閃爍感。因此我們在片外數據存儲器中開辟一個或多個與ddram大小一樣的緩沖區(qū),用于存放正在處理的顯示數據,待數據處理完后,再將數據傳送至lcd顯示數據ram。 通過以上分析,我們采用如下的lcd顯示器應用程序設計總體方案:首先,添加漢字、字符點陣數據表。然后,編寫lcd顯示驅動程序。將指定buf區(qū)中處理好的顯示數據送lcd指定區(qū)顯示。根據具體要求編寫相應顯示數據處理子程序。整個顯示過程為:
45、先將顯示數據在片外數據存儲器開辟的緩沖區(qū)中進行處理,待處理完后調用lcd驅動顯示。最后,在lcd底層程序完成的基礎上,設計人機交互界面,實現用戶在菜單方式下進行交互。2. lcd適用字模信息提取程序的設計經研究,我們采用在單片機產品中經常用到的1616點陣的漢字庫作為提取字模的母字庫。 lcd在文本顯示狀態(tài)下,一屏最多顯示4行8個漢字。在1616點陣漢字字庫中,采用的是以行為主的存放結構,即一行上連續(xù)的8個點陣信息放在一個字節(jié)內,且左邊的點對應字節(jié)的高位。每個漢字的字模信息占32個字節(jié)。漢字母庫編碼采用:計算機漢字字符代碼中最常用一個是漢字編碼字符集的基本集-gb2312。gb2312包括了漢
46、字字符基本集,共收錄漢字、圖形符號等共7445個,依據其位置,分為94個區(qū),每區(qū)共94位。其中第16區(qū)55區(qū)安排3755個常用漢字,依漢語拼音順序排列。通過漢字的內碼我們可以計算出與其點陣信息在字庫中的偏移量。在生成點陣數據表的相應漢字中,采用自定義的編碼。因為溫濕度記錄儀中只用到了少量漢字,所以我們決定采用ascii代碼中的 80hoffh特殊字符代碼區(qū),用做生成點陣表的漢字編碼,共可表示128個漢字。前20h7fh為常用字符的ascii代碼。由圖形顯示數據寄存器ddram地址和顯示位置的對應關系可知:直接將提取的點陣數據送顯,漢字不能正確顯示。因此我們必須將提取的字模數據進行相應的轉換,才
47、能在lcd上正確顯示。轉換后的點陣信息格式如表3-2所示。表3-2 16點陣字模轉換后排列格式d0d7第0字節(jié)12 341415d0d716171819203031 將轉換后的點陣數據,按匯編語言中,定義存儲單元偽指令“db”的格式寫入創(chuàng)建的文本文件中,就得到我們所需要生成的漢字點陣信息表。3. lcd顯示驅動程序的設計所謂lcd驅動,即是通過連續(xù)的寫顯示數據(write display date)命令操作,將片外顯示數據處理緩沖區(qū)內的數據,順序寫入相應的ddram單元。圖3-8 lcd顯示驅動源程序及流程圖hs12864-1 型lcd顯示模塊,在硬件上通過左右半屏的片選信號引腳cs1/cs2
48、,將lcd的顯示數據ddram分為了左右兩個半屏。在顯示數據的處理和送顯上,需要不斷設置引腳cs1/cs2的信號,達到對指定ddram單元的控制和處理。這樣對lcd模塊控制極為不便。我們欲通過軟件處理,使得lcd寫顯示數據操作結構化,整體化。將lcd顯存ddram化分為8頁,每頁8行128列,128個數據存儲單元。由軟件驅動lcd顯示屏上07頁的任意頁顯示:順序讀出指定buf區(qū)內圖形或漢字的點陣數據,依次將顯示數據寫入指定頁的128個數據存儲單元。溫濕度記錄儀使用aduc812單片機作為cpu,對其底層編寫程序,我們選用了匯編語言作為編程語言,選用8051仿真器作為編程環(huán)境,以便程序的跟蹤調試
49、。軟件將lcd顯存ddram化分為8頁,每頁128個數據存儲單元。通過r2控制寫入左半屏或右半屏。先寫顯示數據到左半屏的64個單元;后通過r2自減1,控制寫顯示數據到右半屏的64個單元。一頁寫滿后,如果沒到寫頁次數,lcdpagex自加1,繼續(xù)寫下一頁。其流程圖如圖3-8所示。4. lcd人機交互界面相關程序人機交互程序設計的重點在于窗口界面的顯示、滾屏、光標的管理及參數的顯示、修改和保存?,F在我們只設計了窗口界面的顯示部分,和菜單、對話框的簡單控制切換。人機交互界面的顯示主要包括菜單的顯示、對話框的顯示和提示信息顯示。1. 提 示 信 息2. 對 話 框3. 菜 單 選 項圖3-9窗口版面對
50、應的通過前面對程序設計原理的分析,我們把窗口中具體條目(提示信息、菜單、對話框、參數等)顯示涉及到的子程序進行封裝處理,從而使得整個應用軟件系統的設計簡單明了。以菜單顯示為例:我們把菜單編碼對應漢字點陣數據的處理程序和顯示驅動程序封裝,調用時只需給出要送lcd顯示的菜單序列號,則所菜單內容即可完成在指定位置(菜單區(qū))的顯示。對話框中參數的輸入顯示原理與菜單、對話框控制相同,都是通過讀鍵,判斷鍵值,功能處理來實現。27結論該檢測儀適用于需要對溫濕度實時檢測的多種場合。由于采用了測量范圍廣、精度高、響應速度快的電容式濕度傳感器來進行濕度采樣,使用溫度補償、線性化處理的方法提高檢測精度,因此該檢測儀
51、基本上達到技術指標中對相對濕度測量精度和分辨力的要求。該檢測儀在濕度的線性化上用的時間可能會稍長一些。但是aduc812單片機工作頻率較高,并且只有環(huán)境濕度較高時才會出現處理時間延長現象,因此并不影響檢測儀的實時檢測指標。在這次設計中我們也遇到不少問題,也正是對這些問題的逐步解決該檢測儀順利設計完成。我們的設計主要面臨著硬件設計和軟件設計的兩大問題,以及硬件和軟件的結合。軟件設計中面臨的主要問題是環(huán)境溫濕度數據的采集方法,相對濕度的溫度補償和線性化處理。在指導老師的悉心輔導下和查閱大量資料之后,然后采用了aduc812數據采集芯片并配合其它一些元器件的硬件設計方案,使以上問題得到了很好解決 。
52、由于這次設計的時間較短,該檢測儀的主要功能已經實現,要達到實用,還需繼續(xù)進一步進行研究設計。參考文獻1 趙新民.智能儀器原理及設計.哈爾濱工業(yè)大學出版社,19892 戴義保.高精密溫度測量的研究與實現j . 上海: 自動化儀表第2003,24(3):24-27 3 謝光忠、蔣亞東等. 溫濕度智能數據采集控制系統的研制.傳感器技術 2000,19(4):29-334 戴梅萼,史嘉.微型計算機技術及應用.北京:清華大學出版社,19955 丁元杰.單片微機原理及應用.北京:機械工業(yè)出版社,19936 何立民.mcs-51系列單片機應用設計、系統配置與接口技術.7 彭喜源,譚曉均,張毅剛.mcs-51
53、單片機應用設計.8 陳寶江,翟涌,張幽彤.mcs單片機應用系統實用指南.9 胡健.單片機原理及接口技術實踐教程.北京:機械工業(yè)出版社,200410 喻評,郭文川.單片機原理與接口技術.北京:化學工業(yè)出版社,200611 李剛.51系列單片機系統設計與應用技巧.北京:北京航空航天大學出版社。200412 楊景常.精密計量環(huán)境溫度、相對濕度監(jiān)測記錄儀的研制j.沈陽:儀表技術與傳感器。200313 何立民.單片機中級教程原理與應用.北京:北京航空航天大學出版社,199014 沙占友.單片機外圍電路設計.北京:電子工業(yè)出版社,200315 劉君華.現代檢測技術與測試系統設計m.西安:西安交通大學出版社
54、,200016 余永權。mcs-51系列單片機應用技術.北京:北京航空航天出版社,200217 閻石.數字電子技術基礎.北京:高等教育出版社,200218 劉書明、馮小平.數據采集系統芯片aduc812原理與應用m .西安:西安電子科技大學出版社,2000.19 涂玲英肖俊武張宇智能型溫濕度測控儀研究與實踐湖北工學院學報200220 蔡美琴mcs一51系列單片機系統及其應用高等教育出版社199221 馬忠梅單片機的c語言應用程序設計北京航空航天大學出版社,199717致謝本設計的題目是由韓剛導師根據實際工作和生產中的具體需要擬定的,花費了許多時間和精力查詢資料,最終定出設計方案 。有多年單片機應用開發(fā)經驗的韓剛老師給我們進行了深入而系統的指導。老師認真負責的工作態(tài)度,嚴謹的治學精神和扎實的、深厚的理論水平都使我受益匪淺。正是在韓剛老師的耐心引導和幫助下,解決了設計中的種種問題,最終使畢業(yè)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度企業(yè)安全法全套知識競賽試題庫及答案(共200題)
- 組織行為學的試題及答案
- 匯豐ai面試真題及答案
- 黃委會面試真題及答案
- 成人教育終身學習體系構建與平臺運營中的在線教育平臺運營風險管理報告
- 施工安全專業(yè)知識考題及答案
- 郵輪旅游市場旅游紀念品市場報告:2025年消費趨勢與市場潛力
- 工業(yè)互聯網時代2025年異構數據庫融合技術在工業(yè)互聯網安全防護中的創(chuàng)新應用報告
- 無領導面試試題及答案
- 在線職業(yè)教育行業(yè)2025年市場規(guī)模與課程創(chuàng)新案例分析報告
- 2024-2025學年統編版小學道德與法治三年級下冊期中考試測試卷附答案
- 智能垃圾桶設計方案資料
- 2025陜西漢中漢源電力(集團)限公司招聘56人易考易錯模擬試題(共500題)試卷后附參考答案
- 2025年北京市西城區(qū)中考一模道德與法治試卷(含答案)
- 新聞報道的寫作及范例課件
- 【9數一?!?025年安徽省合肥市第四十五中學九年級中考數學一模試卷
- 年產30萬噸生物航煤項目可行性研究報告(僅供參考)
- 南京師范大學自主招生個人陳述范文與撰寫要點
- 浙江省A9協作體2024-2025學年高二下學期4月期中聯考語文試卷(含答案 )
- 2025年初中學業(yè)水平考試地理模擬卷及答案:圖表解讀與地理學科創(chuàng)新試題
- (四調)武漢市2025屆高中畢業(yè)生四月調研考試 語文試卷(含答案詳解)
評論
0/150
提交評論