【正文】
C bit (the LSB) from the read value. This value is TEMP_READ. The value left in the counter may then be read. This value is the count remaining (COUNT_REMAIN) after the gate period has ceased. The last value needed is the number of counts per degree C (COUNT_PER_C) at that temperature. The actual temperature may be then be calculated by the user using the following:1–WIRE BUS SYSTEMThe 1–Wire bus is a system which has a single bus master and one or more slaves. The DS1820 behaves as a slave. The discussion of this bus system is broken down into three topics: hardware configuration, transaction sequence, and 1–Wire signaling (signal types and timing).HARDWARE CONFIGURATION The 1–Wire bus has only a single line by definition。C to +125176。C. If the counter reaches zero before the gate period is over, the temperature register, which is also preset to the –55176。F in 176。C to +125176。由于這次設(shè)計的時間較短,該檢測儀的主要功能已經(jīng)實現(xiàn),要達到實用,還需繼續(xù)進一步進行研究設(shè)計。本設(shè)計的設(shè)計主要面臨著硬件設(shè)計和軟件設(shè)計的兩大問題,以及硬件和軟件的結(jié)合。由于采用了測量范圍廣、精度高、響應(yīng)速度快的電容式濕度傳感器來進行濕度采樣,使用溫度補償、線性化處理的方法提高檢測精度,因此該檢測儀基本上達到技術(shù)指標(biāo)中對相對濕度測量精度和分辨力的要求。在本設(shè)計中實現(xiàn)鍵盤掃描的74HC164跟LED顯示的第一位顯示的數(shù)據(jù)是同一個,所以在鍵盤掃描時本設(shè)計可通過軟件將顯示器關(guān)閉,以免按鍵和顯示相互影響,同樣在程序運行過程中,本設(shè)計也避免顯示和鍵盤掃描同時進行,例如,本設(shè)計程序開始執(zhí)行時,總是先掃描鍵盤直到有鍵盤按下來確定用戶需要檢測濕度還是溫度,然后根據(jù)鍵值跳轉(zhuǎn)到相應(yīng)的子程序來進行檢測,這時才將檢測結(jié)果在LED上顯示出來。 , 通過該芯片來輔助LED的顯示,就能夠節(jié)約I/O口資源,又能夠減少軟件的開支,所以比較適合本設(shè)計的需要。鍵盤掃描去抖動和鍵值掃描的核心程序如下:ScanKey: SETB KeyRow /*鍵盤的行置1 MOV Data_OutputBuf, 00H /*鍵盤的列置0,掃描的初始狀態(tài) LCALL Data_Output /*調(diào)用顯示子程序,將掃描初始值送出 MOV A, P1 /*將P1口狀態(tài)讀入到單片機 JB ,NoKey /*判斷是否有鍵按下,有則繼續(xù)執(zhí)行,沒有則返回 LCALL DELAY10ms /*調(diào)用延時程序消除鍵盤抖動,一般10 ms足夠 MOV A,P1 JB ,NoKey MOV ArrangeNum,00H /*列設(shè)定初始值 MOV A,07FH /*列掃描的初始值GetKey1: /*列掃描子程序 SETB KeyRow MOV R5, A /*列掃描的初始值,暫時存在R5中 MOV Data_OutputBuf, A LCALL Data_Output MOV A, P1 JNB ,GetKeyValue MOV A,R5 RR A /*列掃描值右移,從而實現(xiàn)鍵盤的列掃描 INC ArrangeNum /*列號加1 JB ,GetKey1 LJMP NoKey 167。SAOMIAO: MOV A,R1 MOV R2,08HXS: JB ,XS1 CLR AJMP CLKXS1: SETB CLK: CLR NOP SETB RR A DJNZ R2,XSRET本段程序就是將一個單元8位二進制數(shù)送出的子程序,,。由于本設(shè)計為了節(jié)約I/O口,只用一根數(shù)據(jù)線來實現(xiàn)鍵盤的列掃描,是通過8位并行輸出串行移位寄存器74HC164來實現(xiàn)的。 167。但是后來分析發(fā)現(xiàn)如果不進行這一比較會影響到儀表的正常工作。如果(ff1)的值大于0,說明實測頻率在濕度頻率曲線的第一段內(nèi),這時的環(huán)境濕度值:RH=△RH (f f0)/( f1 f0)。同時取出△RH,定義計數(shù)量n,分別存入不同變量。因為線性化處理的過程中需要將實測頻率與fn進行多次比較?!鱢 RH0 中斷計數(shù)是將波源輸入到單片機的中斷入口中去,通過檢測一段時間內(nèi)中都的次數(shù)也能夠檢測出波形的頻率,具體工作原理入下,先用一個定時器來實現(xiàn)計時功能,然后開中斷,讓中斷工作在邊沿觸發(fā)狀態(tài),這樣中斷就可以對高低變換的頻率波形進行計數(shù),本設(shè)計中是來檢測波形頻率的所以最好的計一秒鐘采樣一次,同樣的問題,單片機必須的計若干次數(shù)才采集一個中斷次數(shù),這樣才可以實現(xiàn)一秒采集數(shù)據(jù)。不同溫度條件下,在同一測量場合測得的濕度差異很大,所以還需要對測量頻率作溫度補償。但是由上面的關(guān)系,可以采用軟件的方法進行溫度補償和線性化處理,來實現(xiàn)高精度地測量相對濕度。從圖3可以看出,相對濕度在20%RH—80%RH范圍內(nèi)線性度較好,兩端的線性較差。從圖33可以看出,對于不同的環(huán)境濕度,振蕩頻率的溫度補償系數(shù)也是不同的。濕度傳感器THS11的電容值隨溫度的變化導(dǎo)致振蕩器的振蕩頻率發(fā)生變化,所以可以通過測量振蕩器輸出頻率,獲得相對濕度值。由于單片機中數(shù)據(jù)的處理全部是用二進制數(shù)表示的,這種表示方法不適合我們平時的讀數(shù)習(xí)慣,還得先將十六進制數(shù)轉(zhuǎn)變?yōu)閷?yīng)的十進制數(shù)來顯示,到此時一次溫度檢測才算完成,程序可以返回進行重復(fù)檢測來實現(xiàn)實時反應(yīng)環(huán)境溫度的功能。由于單片機對數(shù)據(jù)的采集只能是電壓或者頻率,AD590對溫度的檢測是電路的大小來反映的,要將這個電流值讀到單片機里面來就必須先把這個電流轉(zhuǎn)變成電壓,本設(shè)計中是通過一個電阻將這個值變成電壓的,而單片機的AD采樣范圍必須是它的工作電壓范圍內(nèi),即0~5 V,所以通過計算就可以確定電阻的值,這個過程是經(jīng)過反復(fù)的實驗確定的,如果阻值過小就使得采樣值不精確,如果阻值過大則完全不能進行采樣過程后面的數(shù)據(jù)處理就更沒法進行。 共8 路電壓輸入型A/D,可做溫度檢測、電池電壓檢測、按鍵掃描、頻譜檢測等。取ADC_DATA 的8 位為ADC 轉(zhuǎn)換的高8 位,取ADC_LOW2 的低2 位為ADC 轉(zhuǎn)換的低2 位,則為10 位精度。 本設(shè)計中所用的單片機自帶AD轉(zhuǎn)換器,無需再另加轉(zhuǎn)換器。當(dāng)環(huán)境溫度從T1變化到T2時,重復(fù)以上過程,單片機同時記錄下相應(yīng)的A/D轉(zhuǎn)換的數(shù)字量V2。溫度檢測模塊程序如圖32,首先讀取測量電路的溫度電壓VT,并將這一電壓信號作為溫度轉(zhuǎn)換參數(shù)進行電壓→溫度轉(zhuǎn)換,具體轉(zhuǎn)換方法為:把經(jīng)過A/D的所得的數(shù)字電壓值VT作如下計算T = KT(VTV0)式中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/( KtKt為轉(zhuǎn)換系數(shù),單位為1uA/K。 溫濕度檢測模塊程序設(shè)計167。主程序設(shè)計框圖如上圖31。 通過簡單變壓器輸出的電壓首先經(jīng)過CC2的濾波后,再經(jīng)過集成穩(wěn)壓塊7805的電壓變換后又濾波一下,形成穩(wěn)定的5V電源,可以共單片機使用,經(jīng)過7805之前的部分可以接到AD590的正端就可以使AD590正常的工作,從而實現(xiàn)了本設(shè)計的用電需求。這種轉(zhuǎn)換可以通過硬件譯碼器或軟件進行譯碼。1口控制CLOCK脈沖信號。 其它模塊電路設(shè)計鍵盤模塊采用動態(tài)掃描的方式,鍵盤掃描電路輸出端和LED顯示器段碼控制端口共用74HC164的輸出Q0~Q7。該測量電路的測量精度為 177。THS11是一種電容式濕度傳感器,它的電容值隨環(huán)境濕度的變化而變化,它具有:測量范圍廣(0~100%)RH;適用性好,可在(-40℃~100℃)溫度下工作;精度高(2%);響應(yīng)速度快(5s),恢復(fù)時間短(10s);長期穩(wěn)定好(年漂移量僅為177。電阻上的電壓信號經(jīng)放大器放大后輸入到STC12C5410AD單片機帶有A/,單片機通過采集這個端腳的電壓,然后根據(jù)電壓值,通過軟件處理修訂后就可以得出實際的溫度值?!妫混`敏度1μA/℃,溫度每變化1℃,其輸出電流變化1μA;輸出零點為熱力學(xué)溫標(biāo)零點。 溫濕度檢測儀的硬件電路設(shè)計該溫濕度檢測儀的硬件系統(tǒng)由以下部分組成:電源部分、相對濕度測量電路、溫度測量電路、鍵盤掃描電路、LED顯示電路、與PC機通信的RS232轉(zhuǎn)換電路,各部分設(shè)計如下。選擇合理的充電常數(shù),就能保證在開關(guān)按下時是RST端有兩個機器周期以上的高電平從而使STC12C5410AD內(nèi)部復(fù)位。STC12C5410AD單片機的時鐘電路采用的是內(nèi)部的時鐘電路,利用單片機內(nèi)部的振蕩電路,并在XLAT1和XLAT2兩引腳間外接石英晶體和電容構(gòu)成的并聯(lián)諧振電路,使內(nèi)部振蕩器產(chǎn)生自激振蕩。,并對濕度的頻率進行線性化處理和補償,從而獲得溫度和相對濕度數(shù)據(jù),分別將這些數(shù)據(jù)存儲于數(shù)據(jù)存儲器中, ,并可以用LED顯示屏顯示出來。這個系統(tǒng)主要由STC12C5410AD單片機、溫度測量電路、相對濕度測量電路、鍵盤輸入電路與LED顯示電路。主程序的內(nèi)容包括:主程序的起始地址,中斷服務(wù)程序的起始地址,有關(guān)內(nèi)存單元及相關(guān)部件的初始化和一些子程序相互調(diào)用,主程序是整個程序的框架,決定了檢測儀的工作性能。鍵盤輸入電路與LED顯示電路實現(xiàn)人機對話的功能。 167。1℃,檢測范圍0~50℃;3. 可有用戶自行校準儀表的測量精度,無需硬件調(diào)整;4. LED實時顯示;5. 可手動記錄測量的相對濕度與溫度的結(jié)果;6. 電源:DC12V177。167。本文中的基于STC12C5410AD單片機的濕度檢測儀就是針對這一需求而設(shè)計的。先根據(jù)實際生產(chǎn)生活的需要提出溫濕度檢測儀的設(shè)計功能要求,然后由這些具體要求和現(xiàn)有的設(shè)計條件設(shè)計出了適合的硬件原理圖,盡量采用模塊化的方法將其分成幾個部分,然后分模塊設(shè)計程序,最使各部分結(jié)合起來協(xié)調(diào)工作,實現(xiàn)功能要求。 LED顯示部分程序設(shè)計 23結(jié) 論 27參考文獻 28致 謝 29附 錄 30 前 言在日常實際生產(chǎn)生活中,科研、農(nóng)業(yè)、暖通、紡織、機房、航空航天、電力等工業(yè)部門對產(chǎn)品質(zhì)量的要求越來越高,對環(huán)境溫、濕度的控制以及對工業(yè)材料的水分值的監(jiān)測與分析都已成為比較普遍的技術(shù)條件之一。 溫度檢測模塊程序設(shè)計 12167。 濕度檢測電路 8167。 溫濕度檢測儀應(yīng)用軟件系統(tǒng)的設(shè)計方案 3167。 溫濕度檢測儀的主要性能指標(biāo)及其工作原理 2167。本檢測儀的硬件部分的設(shè)計采用了以帶有A/D轉(zhuǎn)換器的STC12C5410AD單片機為核心控制器件,以高靈敏度AD590電流輸出型的二端式集成溫度傳感器為溫度數(shù)據(jù)獲取元件和濕度傳感器THS11采集環(huán)境中的相對濕度,模擬輸入接口接入鍵盤實現(xiàn)人機交換功能,并用LED作為顯示設(shè)備的硬件設(shè)計方案?;赟TC12C5410AD單片機的溫濕度檢測儀摘 要隨著社會的發(fā)展,人們對環(huán)境中的溫度和濕度的要求也越來越高,尤其是在醫(yī)學(xué)、電子電力、航天航空、食品發(fā)酵等領(lǐng)域中對溫濕度的要求尤其嚴格,鑒于如此設(shè)計出一個能夠精確、穩(wěn)定、實時測量出環(huán)境中溫濕度的實用型溫濕度檢測儀顯得尤為重要。軟件部分則采用采用模塊化的方法將其分成幾個部分,然后逐模塊設(shè)計程序,用匯編語言來實現(xiàn),使各部分結(jié)合起來協(xié)調(diào)工作,最終實現(xiàn)對環(huán)境中溫濕度的實時檢測。 性能指標(biāo) 2167。 溫濕度檢測儀STC12C5410AD單片機電路的設(shè)計 5167。 其它模塊電路設(shè)計 9第2章 溫濕度檢測儀的軟件設(shè)計 11167。 濕度檢測模塊程序設(shè)計 14167。隨著科技的進步,檢測儀表也向著智能化、小型化、低功耗的方向發(fā)展。它是以單片機的在控制方面的突出優(yōu)勢,并綜合運用現(xiàn)代檢測技術(shù)、微控制技術(shù)、數(shù)據(jù)處理和通信技術(shù)以及LED顯示技術(shù)而設(shè)計的數(shù)字溫濕度檢測系統(tǒng),可以實時、準確的測量環(huán)境中的溫度和相對濕度,對生產(chǎn)生活有較好的知道意義。它綜合運用了現(xiàn)代檢測技術(shù)、數(shù)據(jù)處理和通信技術(shù)