




已閱讀5頁,還剩50頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
基于stc12c5410ad單片機的溫濕度檢測儀摘 要隨著社會的發(fā)展,人們對環(huán)境中的溫度和濕度的要求也越來越高,尤其是在醫(yī)學、電子電力、航天航空、食品發(fā)酵等領(lǐng)域中對溫濕度的要求尤其嚴格,鑒于如此設計出一個能夠精確、穩(wěn)定、實時測量出環(huán)境中溫濕度的實用型溫濕度檢測儀顯得尤為重要。本溫濕度檢測儀是以stc12c540ad單片機的為核心控制芯片,該單片機自帶a/d轉(zhuǎn)換器、有很好的抗干擾能力、響應速度快?;诖藛纹瑱C的溫濕度檢測儀可以實時、準確的測量環(huán)境中的溫度和相對濕度。本檢測儀的硬件部分的設計采用了以帶有a/d轉(zhuǎn)換器的stc12c5410ad單片機為核心控制器件,以高靈敏度ad590電流輸出型的二端式集成溫度傳感器為溫度數(shù)據(jù)獲取元件和濕度傳感器ths11采集環(huán)境中的相對濕度,模擬輸入接口接入鍵盤實現(xiàn)人機交換功能,并用led作為顯示設備的硬件設計方案。軟件部分則采用采用模塊化的方法將其分成幾個部分,然后逐模塊設計程序,用匯編語言來實現(xiàn),使各部分結(jié)合起來協(xié)調(diào)工作,最終實現(xiàn)對環(huán)境中溫濕度的實時檢測。該溫濕度檢測儀能夠基本完成的溫濕度檢測,但由于個人經(jīng)驗不足等因素,本設計還有一些不足之處,離產(chǎn)品實用還有一定的差距,還有一些方面需要進一步完善。關(guān)鍵詞:stc12c5410ad單片機,傳感器,led,溫濕度measuring instrument for humidity baseed on stc12c5410ad microcontrollerabstractwith the development of society, people on the environment of temperature and humidity requirements are also increasing, especially in the medical, electronic power, aerospace, food fermentation, such as temperature and humidity in the field of the harsh demands in particular, in view of such a design that can be precise, stable, real-time measurement of temperature and humidity environment to the practical temperature and humidity detector it is particularly important. the temperature and humidity detector is stc12c540ad scm as the core chip, the microcontroller comes with a/d converter, a very good anti-disturbance capacity, fast response. based on this mcu temperature and humidity detector can be real-time, accurate measurement of environmental temperature and relative humidity. the detector part of the design of the hardware used to with a/d converter stc12c5410ad microcontroller as the core of the control devices, with high sensitivity ad590 current output of the end-integrated temperature sensor data acquisition components for temperature and humidity sensor ths11 acquisition relative humidity in the environment, access to analog input keyboard to achieve human-computer interface exchange function and used as an led display hardware design. the software part is divided into several parts, and then each module design process, with assembly language to achieve, to combine the various parts of coordination, and eventually realize the environmental temperature and humidity in the real-time detection. the instrument can basically complete the temperature and humidity testing, but because of personal factors such as lack of experience, the design of some deficiencies, there are certain practical products from the gap, there are some aspects need to be improved.key words:stc12c5410ad mcu, sensor, led, temperature and humidityv目錄前言1第1章 溫濕度檢測儀總體技術(shù)方案21.1 溫濕度檢測儀的主要性能指標及其工作原理21.1.1 性能指標21.1.2 溫濕度檢測儀的工作原理21.2 溫濕度檢測儀的硬件設計總體結(jié)構(gòu)方案31.3 溫濕度檢測儀應用軟件系統(tǒng)的設計方案31.4 溫濕度檢測儀stc12c5410ad單片機電路的設計51.5 溫濕度檢測儀的硬件電路設計71.5.1 溫度檢測電路71.5.2 濕度檢測電路71.5.3 其它模塊電路設計9第2章 溫濕度檢測儀的軟件設計112.1 主程序模塊設計112.2 溫濕度檢測模塊程序設計122.2.1 溫度檢測模塊程序設計122.2.2 濕度檢測模塊程序設計152.3 鍵盤掃描和led顯示模塊程序設計202.3.1 鍵盤掃描202.3.2 led顯示部分程序設計24結(jié)論27參考文獻28致謝31附錄32 河南科技大學本科畢業(yè)設計(論文)pcb下載站 前言在日常實際生產(chǎn)生活中,科研、農(nóng)業(yè)、暖通、紡織、機房、航空航天、電力等工業(yè)部門對產(chǎn)品質(zhì)量的要求越來越高,對環(huán)境溫、濕度的控制以及對工業(yè)材料的水分值的監(jiān)測與分析都已成為比較普遍的技術(shù)條件之一。隨著科技的進步,檢測儀表也向著智能化、小型化、低功耗的方向發(fā)展。在這個發(fā)展過程中,以單片機為核心控制器的溫濕度檢測以體積小、操作簡單、性能穩(wěn)定、測量精度高等諸多有點正逐步進入生產(chǎn)生活的各個方面。本文介紹的濕度檢測儀就是以stv12c5410ad單片機作為核心控制器設計的,它具有體積小、操作簡單、性能穩(wěn)定、測量精度高和抗干擾能力強等優(yōu)點,可廣泛應用于需要對溫濕度進行測控的領(lǐng)域中。先根據(jù)實際生產(chǎn)生活的需要提出溫濕度檢測儀的設計功能要求,然后由這些具體要求和現(xiàn)有的設計條件設計出了適合的硬件原理圖,盡量采用模塊化的方法將其分成幾個部分,然后分模塊設計程序,最使各部分結(jié)合起來協(xié)調(diào)工作,實現(xiàn)功能要求。它是以單片機的在控制方面的突出優(yōu)勢,并綜合運用現(xiàn)代檢測技術(shù)、微控制技術(shù)、數(shù)據(jù)處理和通信技術(shù)以及l(fā)ed顯示技術(shù)而設計的數(shù)字溫濕度檢測系統(tǒng),可以實時、準確的測量環(huán)境中的溫度和相對濕度,對生產(chǎn)生活有較好的知道意義。論文的第一章介紹了溫濕度檢測儀的主要性能指標及其工作原理,主要介紹了溫濕度檢測儀的硬件設計總體方案和溫濕度檢測儀的應用軟件系統(tǒng)的總體設計方案;第二章主要介紹了溫濕度檢測儀的硬件電路設計,重點介紹了溫度檢測電路、鍵盤led顯示電路和濕度檢測電路;第三章主要介紹了基于stc12c5410ad單片機的濕度檢測儀的軟件設計,軟件設計部分采用模塊化設計,重點介紹了濕度檢測模塊程序設計中鍵盤掃描、led顯示以及對濕度的頻率的線性化處理和溫度補償。第1章 溫濕度檢測儀總體技術(shù)方案溫濕度作為環(huán)境中的兩項重要參數(shù),在很多方面都起著重要的作用。本文中的基于stc12c5410ad單片機的濕度檢測儀就是針對這一需求而設計的。它綜合運用了現(xiàn)代檢測技術(shù)、數(shù)據(jù)處理和通信技術(shù)以及l(fā)ed顯示技術(shù),可以實時、準確、穩(wěn)定的測量環(huán)境中的溫度和相對濕度。在此設計過程中,本設計綜合分析了不同用戶在不同場合的不同需求,經(jīng)研究之后,采用了以含有a/d轉(zhuǎn)換器的stc12c5410ad單片機為核心控制器件,以高靈敏度溫度傳感器和濕度傳感器為數(shù)據(jù)獲取元件的方案。該設計主要分為硬件設計和軟件部分的設計,下面先總體介紹設計的性能指標和軟硬件的總體設計方案。1.1 溫濕度檢測儀的主要性能指標及其工作原理1.1.1 性能指標1. 相對濕度測量精度和范圍: 5%,檢測范圍0100%;2. 溫度測量精度: 1,檢測范圍050;3. 可有用戶自行校準儀表的測量精度,無需硬件調(diào)整;4. led實時顯示;5. 可手動記錄測量的相對濕度與溫度的結(jié)果;6. 電源:dc12v10%;7. 工作環(huán)境溫度60 ,工作環(huán)境濕度90%;1.1.2 溫濕度檢測儀的工作原理加載有相應程序的stc12c5410ad單片機定時采集溫度測量電路電壓信號和相對濕度測量電路輸出的頻率信號,并對濕度的頻率進行線性化處理和溫度補償,從而獲得溫度和相對濕度數(shù)據(jù),分別將這些數(shù)據(jù)存儲于數(shù)據(jù)存儲器中, 然后送led顯示屏顯示??赏ㄟ^鍵盤電路來選擇檢測濕度或者檢測溫度,也可以自動檢測溫度和濕度。 1.2 溫濕度檢測儀的硬件設計總體結(jié)構(gòu)方案該檢測儀采用stc12c5410ad單片機為核心,整個硬件系統(tǒng)分為以下幾個部件,具體如圖1-1所示:圖1-1 硬件電路框圖溫度檢測電路由半導體集成傳感器ad590和電阻構(gòu)成,ad590輸出電流通過電阻進入模擬地,產(chǎn)生相應的電阻電壓。電阻的電壓輸入到stc12c5410ad單片機中,經(jīng)adc轉(zhuǎn)換為數(shù)字量,有應用軟件處理得到環(huán)境溫度。相對濕度測量電路由ne555構(gòu)成的振蕩電路組成,濕度傳感器ths11的電容隨環(huán)境相對濕度的變化而變化,從而導致振蕩器的振蕩頻率變化,stc12c5410ad單片機通過測量振蕩器輸出的振蕩頻率,經(jīng)過軟件處理后,獲得相對濕度值。鍵盤輸入電路與led顯示電路實現(xiàn)人機對話的功能。rs232接口電路與pc機的串行口聯(lián)接,實現(xiàn)下載程序等通訊功能。1.3 溫濕度檢測儀應用軟件系統(tǒng)的設計方案該儀表的系統(tǒng)程序設計采用模塊化的程序設計方法,其結(jié)構(gòu)見圖1-2:圖1-2 軟件設計模塊圖檢測儀的應用軟件系統(tǒng)包括:主程序模塊、溫度檢測模塊、相對濕度檢測模塊、鍵盤和顯示模塊等。主程序的內(nèi)容包括:主程序的起始地址,中斷服務程序的起始地址,有關(guān)內(nèi)存單元及相關(guān)部件的初始化和一些子程序相互調(diào)用,主程序是整個程序的框架,決定了檢測儀的工作性能。溫度檢測模塊主要是完成測溫電路所得電壓與實際溫度的轉(zhuǎn)換,和對溫度數(shù)據(jù)的存儲、顯示;相對濕度檢測模塊除了要實現(xiàn)對濕度數(shù)據(jù)的存儲 、顯示外,還要對濕度信號進行溫度補償和線性化處理。鍵盤、顯示模塊完成檢測儀的檢測數(shù)據(jù)的顯示功能,反映出要檢測的的數(shù)據(jù)。此系統(tǒng)采用了以含有a/d轉(zhuǎn)換器的stc12c5410ad單片機為核心控制器件,以高靈敏度傳感器為溫濕度的獲取元件,用led作為顯示設備的方案。這個系統(tǒng)主要由stc12c5410ad單片機、溫度測量電路、相對濕度測量電路、鍵盤輸入電路與led顯示電路。1.4 溫濕度檢測儀stc12c5410ad單片機電路的設計該檢測儀的設計是以stc12c5410ad單片機為核心部件,stc12c5410ad單片機是與mcs51單片機完全兼容的高速單片機,它包含了高性能的8路10位或8位adc、80c51mcu內(nèi)核、10kb eeprom程序存儲器、512b eeprom數(shù)據(jù)存儲器、等片內(nèi)資源,同時還具有pwm波形輸出的功能,它可以說是傳統(tǒng)51單片機的升級版,在與傳統(tǒng)51的兼容的前提下加入了更多的功能,這些硬件資源大大簡化了本設計的電路設計。stc12c5410ad單片機的引腳排列如圖2-1。利用stc12c5410ad單片機的輸入接口p1.7定時采集溫度測量電路電壓信號和輸入/輸出接口p3.5采集相對濕度測量電路輸出的頻率信號,并對濕度的頻率進行線性化處理和補償,從而獲得溫度和相對濕度數(shù)據(jù),分別將這些數(shù)據(jù)存儲于數(shù)據(jù)存儲器中, 然后再通過p1.1和p1.2接口把芯片處理的數(shù)據(jù)送入顯示模塊電路,并可以用led顯示屏顯示出來。stc12c5410ad 單片機采用增強型 8051 cpu,1t,單時鐘/ 機器周期,指令代碼完全兼容傳統(tǒng)8051的高速單片機。工作電壓:5.5v 3.8v(5v 單片機)、具有通用i/o 口(27/23 個),復位后為: 準雙向口/ 弱上拉(普通8051 傳統(tǒng)i/o 口) 分別可設置成四種模式:準雙向口/ 弱上拉,推挽/ 強上拉,僅為輸入/ 高阻,開漏,同時每個i/o 口驅(qū)動能力均可達到20ma,但整個芯片最大不得超過55ma;stc12c5410ad 單片機i s p (在系統(tǒng)可編程)/ i a p (在應用可編程),無需專用編程器,無需專用仿真器,可通過串口(p3.0/p3.1)直接下載用戶程序,數(shù)秒即可完成一片;時鐘源:外部高精度晶體/ 時鐘,內(nèi)部r/c 振蕩器,用戶在下載用戶程序時,可選擇是使用內(nèi)部r/c 振蕩器還是外部晶體/ 時鐘,常溫下內(nèi)部r/c 振蕩器頻率為:5.2mhz 6.8mhz,精度要求不高時,可選擇使用內(nèi)部時鐘,但因為有制造誤差和溫漂,應認為是4mhz 8mhz。 stc12c5410ad 單片機內(nèi)部共2 個16 位定時器/ 計數(shù)器,但可用pca 模塊再產(chǎn)生4 個定時器;還具有pwm(4 路)/ p c a(可編程計數(shù)器陣列);10 / 8位精度adc,共8 路。stc12c5410ad單片機的時鐘電路采用的是內(nèi)部的時鐘電路,利用單片機內(nèi)部的振蕩電路,并在xlat1和xlat2兩引腳間外接石英晶體和電容構(gòu)成的并聯(lián)諧振電路,使內(nèi)部振蕩器產(chǎn)生自激振蕩。石英晶體xt1頻率是11.0592m,c1和c2是30pf。圖2-1 stc12c5410ad單片機的引腳排列和基本外圍電路圖stc12c5410ad單片機的復位電路采用的開關(guān)復位電路,開關(guān)s9未按下是上電復位電路,上電復位電路在上電的瞬間,由于電容上的電壓不能突變,電容處于充電(導通)狀態(tài),故rst腳的電壓與vcc相同。隨著電容的充電,rst腳上的電壓才慢慢下降。選擇合理的充電常數(shù),就能保證在開關(guān)按下時是rst端有兩個機器周期以上的高電平從而使stc12c5410ad內(nèi)部復位。開關(guān)按下時是按鍵手動復位電路,rst端通過電阻與vcc電源接通,通過電阻的分壓就可以實現(xiàn)單片機的復位?;趕tc12c5410ad單片機的溫濕度檢測儀的原理圖見附錄。1.5 溫濕度檢測儀的硬件電路設計該溫濕度檢測儀的硬件系統(tǒng)由以下部分組成:電源部分、相對濕度測量電路、溫度測量電路、鍵盤掃描電路、led顯示電路、與pc機通信的rs232轉(zhuǎn)換電路,各部分設計如下。1.5.1 溫度檢測電路溫度檢測電路主要由ad590傳感器、電阻和放大器組成,具體電路圖如圖1-2所示。ad590是一種電流輸出型二端式集成溫度傳感器,其主要技術(shù)參數(shù):測溫范圍55+150;工作電壓+4v+30v;精度0.5;靈敏度1a/,溫度每變化1,其輸出電流變化1a;輸出零點為熱力學溫標零點。即273時ad590的輸出電流為0a,0時輸出約為273a。通過ad590的參數(shù)可以看出,它完全適合本設計的需要,同時ad590性能穩(wěn)定,即便經(jīng)過很長一段時間它的漂移量也很小,而且工作電路簡單直觀。溫度檢測電路如圖2-2所示:圖2-2 溫度檢測電路工作過程:因為流過ad590的電流與熱力學溫度成正比,電流經(jīng)電阻r43轉(zhuǎn)換為電壓信號,所以電阻r43上的電壓也將隨環(huán)境中溫度的變化而變化。電阻上的電壓信號經(jīng)放大器放大后輸入到stc12c5410ad單片機帶有a/d轉(zhuǎn)換器的端口p1.4,單片機通過采集這個端腳的電壓,然后根據(jù)電壓值,通過軟件處理修訂后就可以得出實際的溫度值。1.5.2 濕度檢測電路相對濕度測量電路如圖2-3所示,它由ne555構(gòu)成的振蕩器組成,濕度傳感器ths11的電容隨環(huán)境相對濕度的變化而變化,從而導致振蕩器的振蕩頻率變化。濕度檢測電路通過濕度傳感器ths11采集環(huán)境中的相對濕度。ths11是一種電容式濕度傳感器,它的電容值隨環(huán)境濕度的變化而變化,它具有:測量范圍廣(0100%)rh;適用性好,可在(40100)溫度下工作;精度高(2%);響應速度快(5s),恢復時間短(10s);長期穩(wěn)定好(年漂移量僅為1.5%rh);具有極好的線性輸出等特性。綜合以上優(yōu)點本設計采用次傳感器作為濕度檢測的傳感器。應用電路如下圖所示:圖2-3 濕度檢測電路濕度檢測電路的工作過程為:環(huán)境相對濕度的變化導致濕度傳感器ths11的電容變化,從而引起rc振蕩回路的震蕩頻率的變化,由于ths11的容值的變化和環(huán)境中相對濕度的變化接近線性關(guān)系,那么在震蕩回路中r的阻值固定的情況下,振蕩頻率也就和相對濕度有一個近似的線性關(guān)系,震蕩回路的頻率通過ne555后形成一個穩(wěn)定的、頻率跟相對濕度由近似線性關(guān)系的波,單片機通過測量該頻率的變化,經(jīng)應用軟件的溫度補償和線性化處理可獲得環(huán)境相對濕度值。該測量電路的測量精度為 3rh,分辨力 0.1rh,使得相對濕度傳感器ths11的測量范圍大,長期穩(wěn)定性好,響應時間短,溫度系數(shù)低,線性度較好,體積小。不足之處是相對濕度傳感器ths11及其它元件的離散性導致了調(diào)試困難,需進一步研究解決。1.5.3 其它模塊電路設計鍵盤模塊采用動態(tài)掃描的方式,鍵盤掃描電路輸出端和led顯示器段碼控制端口共用74hc164的輸出q0q7。本設計中采用五個數(shù)碼管進行靜態(tài)顯示,所以要用五個74hc164分別控制五個數(shù)碼管的顯示和選通,前一個74hc164的qh與后一個74hc164的輸入端相連,74hc164的輸出端qaqh通過電阻連到數(shù)碼管上,控制數(shù)碼管選通的信號為p1。2口通過電阻、三極管與數(shù)碼管的共陽極連接; p1。1口控制clock脈沖信號。74hc164的clear端都始終接高電平,74hc164的a、b兩輸入端共同連接到p1.0口上。用led 顯示器顯示十六進制數(shù)和空白及小數(shù)點的顯示段碼。從led 顯示器的顯示原理可知,為了顯示字母數(shù)字,必須最終轉(zhuǎn)換成相應段選碼。這種轉(zhuǎn)換可以通過硬件譯碼器或軟件進行譯碼。其中的共陽極接法在設計中得以應用,單片機信號通過移位寄存器74hc164輸出,經(jīng)過八個電阻在led數(shù)碼管上顯示出來。led顯示電路圖如圖2-12所示。圖2-12 led顯示電路圖由于設計中用到ad轉(zhuǎn)化器,ad轉(zhuǎn)化器的參考電壓的穩(wěn)定對于采集數(shù)據(jù)的準確性有著直接的關(guān)系,本設計采用了從usb接口取電和通過變壓器供電兩種方式,前者是為了在下程序和做一些基本測試的方便,但usb接口的電壓不是很穩(wěn)定,所以如果僅用這一種供電方式是不夠的,再加上溫度傳感器ad590的工作電壓必須要超過5v的要求,本設計還采用了后者通過變壓電源供電。 通過簡單變壓器輸出的電壓首先經(jīng)過c1、c2的濾波后,再經(jīng)過集成穩(wěn)壓塊7805的電壓變換后又濾波一下,形成穩(wěn)定的5v電源,可以共單片機使用,經(jīng)過7805之前的部分可以接到ad590的正端就可以使ad590正常的工作,從而實現(xiàn)了本設計的用電需求。26第2章 溫濕度檢測儀的軟件設計2.1 主程序模塊設計主程序是控制和管理的核心,主要完成在系統(tǒng)上電后進行定時和中斷圖3-1 主程序流程圖處理操作的初始化。它的內(nèi)容包括主程序的起始地址,中斷服務程序的起始地址,有關(guān)內(nèi)存單元及相關(guān)部件的初始化和一些子程序調(diào)用等等。主程序設計框圖如上圖3-1。主程序初始化的具體內(nèi)容包括:時間中斷的初始化、外部中斷源的初始化、單片機i/o口初始化、ram初始化、led初始化、對各個子程序的調(diào)用,然后對溫度和濕度進行檢測并將結(jié)果顯示在led上。初始化對單片機的工作非常重要,因為單片機經(jīng)過復位以后一些狀態(tài)字,寄存器的初值可能是隨機分配的值也可能是全置0或置1,程序在運行過程中,程序狀態(tài)字起著重要的作用,為了不影響程序的正常運行初始化是十分必要的。2.2 溫濕度檢測模塊程序設計2.2.1 溫度檢測模塊程序設計該檢測儀的溫度檢測部分使用的ad590是一種由所在環(huán)境溫度決定的恒流輸出器件,其輸出特性為:i=ktt式中i為ad590輸出電流信號,單位為1ua電流。t為絕對溫度,單位為k。kt為轉(zhuǎn)換系數(shù),單位為1ua/k。ad590輸出電流信號經(jīng)電阻r轉(zhuǎn)換為電壓信號,其電壓為:vr = ktrtvr從adc口輸入到單片機中,進行a/d轉(zhuǎn)換,成為數(shù)字量vt。溫度檢測模塊程序如圖3-2,首先讀取測量電路的溫度電壓vt,并將這一電壓信號作為溫度轉(zhuǎn)換參數(shù)進行電壓溫度轉(zhuǎn)換,具體轉(zhuǎn)換方法為:把經(jīng)過a/d的所得的數(shù)字電壓值vt作如下計算t = kt(vt-v0)式中t為需要測量的環(huán)境實際溫度值,參數(shù) v0為環(huán)境溫度為0時a/d轉(zhuǎn)換的數(shù)字量電壓值,參數(shù)kt為環(huán)境溫度與a/d轉(zhuǎn)換的數(shù)字量電壓的轉(zhuǎn)換系數(shù):kt = 1/( ktr15)。它們均作為常量存儲在單片機的片內(nèi)數(shù)據(jù)eeprom中。由于v0、kt準確與否直接影響溫度測量的精度,可通過以下方法進行校正:用其它高精度的測溫儀測量環(huán)境溫度t1,輸入本儀表,單片機同時記錄下相應的a/d轉(zhuǎn)換的數(shù)字量v1。當環(huán)境溫度從t1變化到t2時,重復以上過程,單片機同時記錄下相應的a/d轉(zhuǎn)換的數(shù)字量v2。為保證校準精度,環(huán)境溫度應在25左右變化,并且變化的范圍盡可能大一些。儀表的應用軟件根據(jù)kt=(t1-t2)/(v1-v2)和v0=vt1-t1/kt計算出kt和v0 的值,并存儲在單片機的eeprom數(shù)據(jù)存儲器中,既完成該儀表的溫度測量精度的校正。儀表的應用軟件系統(tǒng)配置有專用的服務子程序完成此項工作,僅僅需按儀表的led顯示器的提示完成有關(guān)操作。 本設計中所用的單片機自帶ad轉(zhuǎn)換器,無需再另加轉(zhuǎn)換器。只需按照手冊中所說明的adc的用法即可完成ad轉(zhuǎn)換功能。由于本單片機可以提供8位和10位兩種ad轉(zhuǎn)化,但是在本設計中為求檢測結(jié)果的精確性本設計選用了10位ad轉(zhuǎn)換器,其轉(zhuǎn)化精度要比8位高出數(shù)倍,同時又采用穩(wěn)定的5v電源為單片機供電,進一步確保了檢測的準確性。模擬/ 數(shù)字轉(zhuǎn)換結(jié)果計算公式如下:結(jié)果 ( adc_data7:0,adc_low21:0 ) = 1024 x vin / vccvin 為模擬輸入通道輸入電壓,vcc 為單片機實際工作電壓,用單片機工作電壓作為模擬參考電壓。取adc_data 的8 位為adc 轉(zhuǎn)換的高8 位,取adc_low2 的低2 位為adc 轉(zhuǎn)換的低2 位,則為10 位精度。如果舍棄adc_low2 的低2 位,只用adc_data 寄存器的8 位,則a/d 轉(zhuǎn)換結(jié)果為8 位精度。結(jié)果 adc_data7:0 = 256 x vin / vcc。stc12c5410ad 系列帶a/d 轉(zhuǎn)換的單片機在p1 口,有8 路10 位高速a/d 轉(zhuǎn)換器, 速度可達100khz。p1.7 - p1.0 共8 路電壓輸入型a/d,可做溫度檢測、電池電壓檢測、按鍵掃描、頻譜檢測等。上電復位后p1 口為弱上拉型i/o 口,用戶可以通過軟件設置將8 路中的任何一路設置為a/d 轉(zhuǎn)換,不需作為a/d 使用的口可繼續(xù)作為i/o 口使用。需作為a/d 使用的口需先將其設置為高阻輸入或開漏模式。在p1m0、p1m1中對相應的位進行設置。由于單片機對數(shù)據(jù)的采集只能是電壓或者頻率,ad590對溫度的檢測是電路的大小來反映的,要將這個電流值讀到單片機里面來就必須先把這個電流轉(zhuǎn)變成電壓,本設計中是通過一個電阻將這個值變成電壓的,而單片機的ad采樣范圍必須是它的工作電壓范圍內(nèi),即05v,所以通過計算就可以確定電阻的值,這個過程是經(jīng)過反復的實驗確定的,如果阻值過小就使得采樣值不精確,如果阻值過大則完全不能進行采樣過程后面的數(shù)據(jù)處理就更沒法進行。 本設計中為了使編程盡量簡潔所選取的阻值非常特殊:ad590變化的電流通過這個特定阻值的電阻時,轉(zhuǎn)變?yōu)橐粋€變化的電壓,這個電壓變化一個毫安對應溫度變化一度,這樣大大化簡了程序中對的溫度的算法。當ad轉(zhuǎn)換器將采樣的電壓值轉(zhuǎn)變?yōu)閿?shù)字值后,單片機將這個數(shù)字值進行簡單的處理就可以得到要檢測的溫度值,本設計將溫度對電壓的變化大體堪為近似的線性關(guān)系,把采集到的數(shù)字量是將5v的電壓分成1024個等分,則每變化一個溫度就可以對應一個數(shù)字電壓量的變化,就可以通過這個數(shù)字量直接對應出環(huán)境溫度。單片機中數(shù)據(jù)的處理全部是用二進制數(shù)表示的,這種表示方法不適合我們平時的讀數(shù)習慣,還得先將十六進制數(shù)轉(zhuǎn)變?yōu)閷氖M制數(shù)來顯示,此時一次溫度檢測才算完成,程序返回進行重復檢測來實現(xiàn)實時檢測環(huán)境溫度。圖3-2溫度檢測模塊程序流程圖溫度檢測模塊程序流程如圖3-2,該模塊程序最后將計算得到的溫度值送入數(shù)據(jù)存儲器,并調(diào)用led顯示程序?qū)h(huán)境溫度顯示出來,然后返回主程序繼續(xù)下面的操作。2.2.2 濕度檢測模塊程序設計1. 程序欲解決問題分析濕度測量電路是由濕度傳感器ths11和ne555構(gòu)成的振蕩電路組成。濕度傳感器ths11的電容值隨溫度的變化導致振蕩器的振蕩頻率發(fā)生變化,所以可以通過測量振蕩器輸出頻率,獲得相對濕度值。實驗得出振蕩電路的輸出頻率(f)與環(huán)境溫度(t)的關(guān)系曲線,如圖3-3所示:圖3-3 振蕩頻率f與溫度t的關(guān)系曲線由上圖可知,在環(huán)境相對濕度不變的條件下,溫度和振蕩頻率呈近似的線性關(guān)系,所以忽略非線性誤差不影響測量的精度。當環(huán)境中的相對濕度不同時,相同溫度條件下的振蕩頻率差異比較大,且這種差異是非線性的。要準確地測量濕度,必須對振蕩頻率作溫度補償。從圖3-3可以看出,對于不同的環(huán)境濕度,振蕩頻率的溫度補償系數(shù)也是不同的。研究表明,相對濕度為x%rh時振蕩頻率的溫度補償系數(shù)(frhx)與相對濕度為0%rh時振蕩頻率的溫度補償系數(shù)(f rh0)具有如下關(guān)系:frhx=f rh0(frh/frh0)式中f rh0的值為297/65(hz/);frh0是溫度為0時相對濕度為0%rh的振蕩頻率,其值為7588(hz);frhx是溫度為0時相對濕度為x%rh的振蕩頻率。 實驗得出相對濕度(rh)與濕度傳感電路輸出的振蕩頻率(f)在環(huán)境溫度為25時的關(guān)系曲線,如圖3-4所示:圖3-4 在25時相對濕度rh與振蕩率f的關(guān)系曲線表3-1給出了該關(guān)系曲線上的10個點的數(shù)據(jù)。從圖3可以看出,相對濕度在20%rh80%rh范圍內(nèi)線性度較好,兩端的線性較差。表3-1 在25環(huán)境溫度時相對濕度(rh)與振蕩頻率(f)的關(guān)系顯然,振蕩頻率受環(huán)境濕度的影響比較大。當相對濕度值升高時,振蕩器輸出頻率會隨之降低,而且它們之間的這種變化是非線性的。如果本設計將檢測到頻率直接送給顯示器顯示的話,得到的結(jié)果將與環(huán)境中的實際濕度值存在很大差別,無法達到性能指標中所要求的測量精度和分辨力。但是由上面的關(guān)系,可以采用軟件的方法進行溫度補償和線性化處理,來實現(xiàn)高精度地測量相對濕度。2. 程序設計方案經(jīng)過以上分析可知,濕度檢測模塊程序需要完成將來自傳感電路的濕度頻率f轉(zhuǎn)換為相對濕度的工作。由于振蕩頻率隨環(huán)境相對濕度變化是非線性的,這給濕度轉(zhuǎn)換帶來了困難,因此需要對其進行線性化處理。同時,相對濕度受環(huán)境溫度的影響比較大。不同溫度條件下,在同一測量場合測得的濕度差異很大,所以還需要對測量頻率作溫度補償。具體方案如圖3-5。對于頻率的測量,單片機由多種測量方法,大體由中斷測量和定時計數(shù)兩大方式。對于定時計數(shù)是將單片機的定時器一個設為定時狀態(tài)來確定要計數(shù)的時間,把另外一個定時器設為計數(shù)狀態(tài),在它的輸入口接待檢測的波形頻率的輸出端,而工作在邊沿觸發(fā)狀態(tài),這樣就可以個對這個端口輸入的波形頻率進行技術(shù),定時器可以通過設定時間來確定度波形個數(shù)的時長,本設計中要用波形的頻率,所以最好是讀一秒中波形的個數(shù),但單片機的計數(shù)器最多是十六位的,達不到計數(shù)一秒的要求,這時就得把若干個定時疊加起來,就是每定時中斷若干次采讀一個波形頻率,試驗證明能夠?qū)嵭斜驹O計的要求,單片機計數(shù)的波形的周期必須大于單片機工作的機械周期,通過查閱資料知道,設計中用的傳感器的波形周期遠大于單片機的機械周期,故能這樣來檢測頻率。 中斷計數(shù)是將波源輸入到單片機的中斷入口中去,通過檢測一段時間內(nèi)中都的次數(shù)也能夠檢測出波形的頻率,具體工作原理入下,先用一個定時器來實現(xiàn)計時功能,然后開中斷,讓中斷工作在邊沿觸發(fā)狀態(tài),這樣中斷就可以對高低變換的頻率波形進行計數(shù),本設計中是來檢測波形頻率的所以最好的計一秒鐘采樣一次,同樣的問題,單片機必須的計若干次數(shù)才采集一個中斷次數(shù),這樣才可以實現(xiàn)一秒采集數(shù)據(jù)。綜合上述兩種方法,本設計中選用第二鐘方法,因為定時器還得用到鍵盤掃描中去,為了避免沖突選用第二中方法。在濕度檢測模塊程序的開始,首先讀取經(jīng)過a/d轉(zhuǎn)換的相對濕度的振蕩頻率fo,并把得到的相對濕度頻率值存儲于stc12c5410ad的一個變量單元中。然后讀取溫濕度檢測儀測得的環(huán)境溫度值t,根據(jù)溫度補償系數(shù)計算出應該補償?shù)念l率,補償后的頻率值為f =fo+(25-t)f rh0(frh/ f rh0)線性化處理: 首先根據(jù)實驗得出的相對濕度與振蕩頻率關(guān)系曲線,將測量范圍內(nèi)的濕度rh劃分為n等份,每份為rh,每個濕度分隔點對應的頻率值設為fn。然后把頻率曲線上相鄰的兩點依次用直線相連,就得到一條新的濕度-頻率曲線,它與實際曲線幾乎重合在一起,所以可以使用該曲線產(chǎn)生進行線性化處理。圖3-5 濕度檢測模塊程序流程圖在線性化處理之前,需要在單片機的數(shù)據(jù)存儲器里存儲一個頻率表,即由fn組成的數(shù)據(jù)表格。因為線性化處理的過程中需要將實測頻率與fn進行多次比較。生成頻率表之后就可以進行線性化處理了。線性化處理程序子程序流程圖如3-6所示。程序首先從存儲器中讀取溫度補償過的頻率f,把它賦給一個事先定義好的變量。同時取出rh,定義計數(shù)量n,分別存入不同變量。接下來就要對比較次數(shù)n賦初值(n=0),根據(jù)變量n去stc12c5410ad的rom中的頻率表中取出頻率值f0,然后將溫度補償過振蕩頻率f與從表中取得的表頻率f0作減法運算,并檢查相減結(jié)果是否大于0。如果差值大于0,則說明測得頻率超出檢測儀的測量范圍,轉(zhuǎn)入報告出錯子程序,告訴用戶出錯。如果兩者差值小于0,則將n 值加1,繼續(xù)拿f與fn作比較。如果(f-f1)的值大于0,說明實測頻率在濕度-頻率曲線的第一段內(nèi),這時的環(huán)境濕度值:rh=rh (f- f0)/( f1- f0)。圖3-6線性化處理程序流程圖這里需要說明的是,f與f0的比較是非常必要的。因為這一比較涉及到,檢測儀報錯功能,更重要的是接下來的頻率比較必須以第一次比較為參考。在設計之初,本設計想跳過與f0的比較,這樣程序也簡單一點。但是后來分析發(fā)現(xiàn)如果不進行這一比較會影響到儀表的正常工作。當f落在f1之前時,檢測儀會由于沒有合適比較對象而出錯。如果前面比較的結(jié)果值還是小于零,說明該振蕩頻率f不在該段,就把比較次數(shù)f加1后,從表中再次取值,繼續(xù)進行的比較,直至比較結(jié)果大于零。可利用下式計算出環(huán)境的相對濕度:rh=rhn-1+rh然后把結(jié)果存到單片機的存儲單元中,以供數(shù)據(jù)顯示程序處理。 2.3 鍵盤掃描和led顯示模塊程序設計2.3.1 鍵盤掃描鍵盤是人機交換的橋梁,一個好的鍵盤能夠讓用戶方便的使用儀表。本設計的鍵盤就在此基礎上設計的,同時也為了節(jié)約單片機的硬件資源,具體流程如下:該檢測儀采用18矩陣式鍵盤,關(guān)于它的具體硬件組成電路這里就不多做介紹,在檢測有無鍵按下方面主要用的是開機自動掃描方式,該方式是利用單片機運行程序初始化后自動掃描鍵盤,如果沒有鍵按下則繼續(xù)掃描,若有鍵按下即可出對應的鍵值,再由鍵值跳轉(zhuǎn)到相應的子程序,從而實現(xiàn)鍵盤掃描,鍵盤掃描子程序流程圖如圖3-7所示。圖3-7 鍵盤掃描子程序流程圖由于本設計為了節(jié)約i/o口,只用一根數(shù)據(jù)線來實現(xiàn)鍵盤的列掃描,是通過8位并行輸出串行移位寄存器74hc164來實現(xiàn)的。具體是用單片機的一個i/o口連接到該芯片的時鐘輸入端,作為該芯片的工作時鐘,用另一根數(shù)據(jù)接到74hc164的數(shù)據(jù)端口a、b兩端。由于74hc164是工作在上升沿,所以本設計可以在其數(shù)據(jù)端輸入一個等待送出的數(shù)字,然后通過在其時鐘輸入端送入一個上升沿,就可以實現(xiàn)把等待送出的數(shù)字發(fā)送出去。又因為該芯片是8位并行輸出串行移位寄存器,所以這個送數(shù)過程要連續(xù)重復8次才能夠?qū)崿F(xiàn)一個單元的數(shù)據(jù)完全送出。saomiao: mov a,r1 mov r2,#08hxs: jb acc.0,xs1 clr p1.0 ajmp clkxs1: setb p1.0clk: clr p1.1 nop setb p1.1 rr a djnz r2,xsret本段程序就是將一個單元8位二進制數(shù)送出的子程序,p1.0端接到74hc164的數(shù)據(jù)端,p1.1端接到74hc164的時鐘端,通過p1.1口的先置0再置1來形成一個上升沿脈沖。本設計用的鍵盤是18矩陣式鍵盤,在鍵盤掃描之前,先在鍵盤的行線上輸出一個1,再在74hc164是輸出8個0,然后再讀入行線到單片機,如果行線是1,則表示沒有鍵按下,就返回到鍵盤掃描狀態(tài)重新掃描,反之如果行線為0,則有鍵按下。然后本設計再一列一列的掃描鍵值,具體過程如下:首先通過164輸出一個11111110b后,讀入鍵盤的行,如果為0,則表示是第一個鍵按下,如果不為0,則表示不是第一個鍵按下,然后再在164端輸出一個11111101b再進行上述掃描過程直至行線為0即掃描到鍵值,即完成了鍵盤的掃描過程。當然鍵盤掃描時還要通過延時消去鍵盤抖動,延時定時器的延遲時間等于初值乘上時間判斷間隔時間,通過確定延時定時器的延遲時間達到去除鍵盤抖動的對正常的影響,一般延時時間在30ms50ms之間,在實驗中確定具體的延遲時間。鍵盤掃描去抖動和鍵值掃描的核心程序如下:scankey: setb keyrow /*鍵盤的行置1 mov data_outputbuf, #00h /*鍵盤的列置0,掃描的初始狀態(tài) lcall data_output /*調(diào)用顯示子程序,將掃描初始值送出 mov a, p1 /*將p1口狀態(tài)讀入到單片機 jb acc.3,nokey /*判斷是否有鍵按下,有則執(zhí)行,無則返回 lcall delay10ms /*調(diào)用延時程序消除鍵盤抖動,一般10 ms足夠 mov a,p1 jb acc.3,nokey mov arrangenum,#00h /*列設定初始值 mov a,#07fh /*列掃描的初始值getkey1: /*列掃描子程序 setb keyrow mov r5, a /*列掃描的初始值,暫時存在r5中 mov data_outputbuf, a lcall data_output mov a, p1jnb acc.3,getkeyvalue mov a,r5 rr a /*列掃描值右移,實現(xiàn)鍵盤列掃描 inc arrangenum /*列號加1 jb acc.7,getkey1 ljmp nokey 2.3.2 led顯示部分程序設計1. led顯示器應用程序設計總體方案(1).led的動態(tài)顯示led的動態(tài)顯示是利用人眼的視力暫留效果來設計的,就是在led上面連續(xù)送出要顯示的內(nèi)容,當每秒掃描顯示的次數(shù)達到一定的次數(shù)后,人眼就可以認為是連續(xù)顯示的,此種設計的優(yōu)點就是節(jié)約i/o口,電路連接簡單,但相應的也造成了軟件開支過大,因為需要不斷的進行定時掃描或中斷掃描等。(2).led的靜態(tài)顯示led的靜態(tài)顯示就是在led上送入待顯示的內(nèi)容后,led的管腳的狀態(tài)一直保持不變,即在led上穩(wěn)定靜止的顯示出待顯示的內(nèi)容,該種設計軟件編寫簡單,單片機軟件資源占用少,但相應的在沒加輔助顯示芯片,使電路復雜,i/o口占用過多。通過以上兩種方法的比較,本設計選用靜態(tài)顯示的方式,同時選用8位串進并出移位寄存器74hc164來輔助顯示,其功能用法在鍵盤掃描過程中也詳細介紹過了,這里就不在重述。 通過該芯片來輔助led的顯示,就能夠節(jié)約i/o口資源,又能夠減少軟件的開支,所以比較適合本設計的需要。此外,本設計采用5位led的顯示,分別各用一個74hc164連接一個led數(shù)碼管顯示器,并且從低位到高位把每個74hc164接連起來,利用它的移位功能來實現(xiàn)led的一幀數(shù)據(jù)的顯示。本設計采用靜態(tài)顯示一次必須送完一幀5位數(shù)據(jù),這樣對單個數(shù)據(jù)的修改就比較麻煩,尤其是在碰到有小數(shù)點顯示的時候,不能夠只改變一位來實現(xiàn),必須得5位數(shù)據(jù)全部重新送數(shù)。本設計沒有bcd碼譯碼器,必須通過軟件查表把要顯示的數(shù)據(jù)轉(zhuǎn)變成bcd碼,對于有小數(shù)點和無小數(shù)點的,本設計就得寫兩個不同的表用來查詢。在本設計中實現(xiàn)鍵盤掃描的74hc164跟led顯示的第一位顯示的數(shù)據(jù)是同一個,所以在鍵盤掃描時本設計可通過軟件將顯示器關(guān)閉,以免按鍵和顯示相互影響,同樣在程序運行過程中,本設計也避免顯示和鍵盤掃描同時進行,例如,本設計程序開始執(zhí)行時,總是先掃描鍵盤直到有鍵盤按下來確定用戶需要檢測濕度還是溫度,然后根據(jù)鍵值跳轉(zhuǎn)到相應的子程序來進行檢測,這時才將檢測結(jié)果在led上顯示出來。display: ljmp jianzhisaomiao: /*將要待顯示的數(shù)送到74hc164中并通過數(shù)碼管顯示 mov a,r1 mov r2,#08hxs: jb acc.0,xs1 clr p1.0 ajmp clkxs1: setb p1.0clk: clr p1.1 nop setb p1.1 rr a djnz r2,xsretjianzhi: mov r1,#0eeh /*0的bcd碼 lcall saomiao mov r1,#028h /*1的bcd碼 lcall saomiao mov r1,#0cdh /*2的bcd碼 lcall saomiao mov r1,#06dh /*3的bcd碼 lcall saomiao mov r1,#02bh /*4的bcd碼 lcall saomiao 以上是顯示部分的子程序,通過給r1送入不同的數(shù)值就可以在led上把送入的數(shù)字顯示出來,這種模塊化的程序設計思想十分重要,任何一個大的程序都是由各個小程序相互調(diào)用來完成的。 在進行軟件設計時,先寫完各個模塊的程序,當每個模塊的程序都調(diào)試通過后,在根據(jù)設計的要求,按照最先實際的總的程序流程圖來完成子程序之間的相互協(xié)調(diào)調(diào)用來實現(xiàn)整個程序的調(diào)試工作,通過多次反復的調(diào)試修改,當總程序能夠?qū)崿F(xiàn)設計要求時,程序的設計才大體完成。結(jié)論該檢測儀適用于需要對溫濕度實時檢測的多種場合。由于采用了測量范圍廣、精度高、響應速度快的電容式濕度傳感器來進行濕度采樣,使用溫度補償、線性化處理的方法提高檢測精度,因此該檢測儀基本上
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電氣底板外包合同協(xié)議
- 2025至2030年中國紅色塑柄什錦銼數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國窄斷面軸用防塵圖數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國礦泉水防盜蓋數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國現(xiàn)代舞服裝數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國根雕拐杖數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國推臺圓鋸機數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國拉稀泰數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國平移式中斷鋸數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國雙層紙質(zhì)包裝袋數(shù)據(jù)監(jiān)測研究報告
- 2024年上海奉賢區(qū)招錄儲備人才筆試真題
- 《新能源材料與器件專業(yè)生產(chǎn)實習》課程教學大綱
- 《copd疾病知識》課件
- 北京市東城區(qū)2024-2025學年高三(上)期末思想政治試卷(含答案)
- 2025河南中煙許昌卷煙廠招聘10人易考易錯模擬試題(共500題)試卷后附參考答案
- 2024年河南輕工職業(yè)學院高職單招語文歷年參考題庫含答案解析
- 即時通訊系統(tǒng)建設方案
- 動車乘務實務知到智慧樹章節(jié)測試課后答案2024年秋陜西交通職業(yè)技術(shù)學院
- 胎盤植入課件講義版
- 2025年江蘇鹽城東方集團招聘筆試參考題庫含答案解析
- 2021版中醫(yī)疾病醫(yī)保對應中醫(yī)疾病醫(yī)保2
評論
0/150
提交評論