【正文】
的8 位為ADC 轉(zhuǎn)換的高8 位,取ADC_LOW2 的低2 位為ADC 轉(zhuǎn)換的低2 位,則為10 位精度。由于單片機(jī)對數(shù)據(jù)的采集只能是電壓或者頻率,AD590對溫度的檢測是電路的大小來反映的,要將這個電流值讀到單片機(jī)里面來就必須先把這個電流轉(zhuǎn)變成電壓,本設(shè)計中是通過一個電阻將這個值變成電壓的,而單片機(jī)的AD采樣范圍必須是它的工作電壓范圍內(nèi),即0~5 V,所以通過計算就可以確定電阻的值,這個過程是經(jīng)過反復(fù)的實驗確定的,如果阻值過小就使得采樣值不精確,如果阻值過大則完全不能進(jìn)行采樣過程后面的數(shù)據(jù)處理就更沒法進(jìn)行。濕度傳感器THS11的電容值隨溫度的變化導(dǎo)致振蕩器的振蕩頻率發(fā)生變化,所以可以通過測量振蕩器輸出頻率,獲得相對濕度值。從圖3可以看出,相對濕度在20%RH—80%RH范圍內(nèi)線性度較好,兩端的線性較差。不同溫度條件下,在同一測量場合測得的濕度差異很大,所以還需要對測量頻率作溫度補償?!鱢 RH0同時取出△RH,定義計數(shù)量n,分別存入不同變量。但是后來分析發(fā)現(xiàn)如果不進(jìn)行這一比較會影響到儀表的正常工作。由于本設(shè)計為了節(jié)約I/O口,只用一根數(shù)據(jù)線來實現(xiàn)鍵盤的列掃描,是通過8位并行輸出串行移位寄存器74HC164來實現(xiàn)的。鍵盤掃描去抖動和鍵值掃描的核心程序如下:ScanKey: SETB KeyRow /*鍵盤的行置1 MOV Data_OutputBuf, 00H /*鍵盤的列置0,掃描的初始狀態(tài) LCALL Data_Output /*調(diào)用顯示子程序,將掃描初始值送出 MOV A, P1 /*將P1口狀態(tài)讀入到單片機(jī) 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。在本設(shè)計中實現(xiàn)鍵盤掃描的74HC164跟LED顯示的第一位顯示的數(shù)據(jù)是同一個,所以在鍵盤掃描時本設(shè)計可通過軟件將顯示器關(guān)閉,以免按鍵和顯示相互影響,同樣在程序運行過程中,本設(shè)計也避免顯示和鍵盤掃描同時進(jìn)行,例如,本設(shè)計程序開始執(zhí)行時,總是先掃描鍵盤直到有鍵盤按下來確定用戶需要檢測濕度還是溫度,然后根據(jù)鍵值跳轉(zhuǎn)到相應(yīng)的子程序來進(jìn)行檢測,這時才將檢測結(jié)果在LED上顯示出來。本設(shè)計的設(shè)計主要面臨著硬件設(shè)計和軟件設(shè)計的兩大問題,以及硬件和軟件的結(jié)合。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。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。F in 176。由于這次設(shè)計的時間較短,該檢測儀的主要功能已經(jīng)實現(xiàn),要達(dá)到實用,還需繼續(xù)進(jìn)一步進(jìn)行研究設(shè)計。由于采用了測量范圍廣、精度高、響應(yīng)速度快的電容式濕度傳感器來進(jìn)行濕度采樣,使用溫度補償、線性化處理的方法提高檢測精度,因此該檢測儀基本上達(dá)到技術(shù)指標(biāo)中對相對濕度測量精度和分辨力的要求。 , 通過該芯片來輔助LED的顯示,就能夠節(jié)約I/O口資源,又能夠減少軟件的開支,所以比較適合本設(shè)計的需要。SAOMIAO: MOV A,R1 MOV R2,08HXS: JB ,XS1 CLR AJMP CLKXS1: SETB CLK: CLR NOP SETB RR A DJNZ R2,XSRET本段程序就是將一個單元8位二進(jìn)制數(shù)送出的子程序,,。 167。如果(ff1)的值大于0,說明實測頻率在濕度頻率曲線的第一段內(nèi),這時的環(huán)境濕度值:RH=△RH (f f0)/( f1 f0)。因為線性化處理的過程中需要將實測頻率與fn進(jìn)行多次比較。 中斷計數(shù)是將波源輸入到單片機(jī)的中斷入口中去,通過檢測一段時間內(nèi)中都的次數(shù)也能夠檢測出波形的頻率,具體工作原理入下,先用一個定時器來實現(xiàn)計時功能,然后開中斷,讓中斷工作在邊沿觸發(fā)狀態(tài),這樣中斷就可以對高低變換的頻率波形進(jìn)行計數(shù),本設(shè)計中是來檢測波形頻率的所以最好的計一秒鐘采樣一次,同樣的問題,單片機(jī)必須的計若干次數(shù)才采集一個中斷次數(shù),這樣才可以實現(xiàn)一秒采集數(shù)據(jù)。但是由上面的關(guān)系,可以采用軟件的方法進(jìn)行溫度補償和線性化處理,來實現(xiàn)高精度地測量相對濕度。從圖33可以看出,對于不同的環(huán)境濕度,振蕩頻率的溫度補償系數(shù)也是不同的。由于單片機(jī)中數(shù)據(jù)的處理全部是用二進(jìn)制數(shù)表示的,這種表示方法不適合我們平時的讀數(shù)習(xí)慣,還得先將十六進(jìn)制數(shù)轉(zhuǎn)變?yōu)閷?yīng)的十進(jìn)制數(shù)來顯示,到此時一次溫度檢測才算完成,程序可以返回進(jìn)行重復(fù)檢測來實現(xiàn)實時反應(yīng)環(huán)境溫度的功能。 共8 路電壓輸入型A/D,可做溫度檢測、電池電壓檢測、按鍵掃描、頻譜檢測等。 本設(shè)計中所用的單片機(jī)自帶AD轉(zhuǎn)換器,無需再另加轉(zhuǎn)換器。溫度檢測模塊程序如圖32,首先讀取測量電路的溫度電壓VT,并將這一電壓信號作為溫度轉(zhuǎn)換參數(shù)進(jìn)行電壓→溫度轉(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/( Kt 溫濕度檢測模塊程序設(shè)計167。 通過簡單變壓器輸出的電壓首先經(jīng)過CC2的濾波后,再經(jīng)過集成穩(wěn)壓塊7805的電壓變換后又濾波一下,形成穩(wěn)定的5V電源,可以共單片機(jī)使用,經(jīng)過7805之前的部分可以接到AD590的正端就可以使AD590正常的工作,從而實現(xiàn)了本設(shè)計的用電需求。1口控制CLOCK脈沖信號。該測量電路的測量精度為 177。電阻上的電壓信號經(jīng)放大器放大后輸入到STC12C5410AD單片機(jī)帶有A/,單片機(jī)通過采集這個端腳的電壓,然后根據(jù)電壓值,通過軟件處理修訂后就可以得出實際的溫度值。 溫濕度檢測儀的硬件電路設(shè)計該溫濕度檢測儀的硬件系統(tǒng)由以下部分組成:電源部分、相對濕度測量電路、溫度測量電路、鍵盤掃描電路、LED顯示電路、與PC機(jī)通信的RS232轉(zhuǎn)換電路,各部分設(shè)計如下。STC12C5410AD單片機(jī)的時鐘電路采用的是內(nèi)部的時鐘電路,利用單片機(jī)內(nèi)部的振蕩電路,并在XLAT1和XLAT2兩引腳間外接石英晶體和電容構(gòu)成的并聯(lián)諧振電路,使內(nèi)部振蕩器產(chǎn)生自激振蕩。這個系統(tǒng)主要由STC12C5410AD單片機(jī)、溫度測量電路、相對濕度測量電路、鍵盤輸入電路與LED顯示電路。鍵盤輸入電路與LED顯示電路實現(xiàn)人機(jī)對話的功能。1℃,檢測范圍0~50℃;3. 可有用戶自行校準(zhǔn)儀表的測量精度,無需硬件調(diào)整;4. LED實時顯示;5. 可手動記錄測量的相對濕度與溫度的結(jié)果;6. 電源:DC12V177。本文中的基于STC12C5410AD單片機(jī)的濕度檢測儀就是針對這一需求而設(shè)計的。 LED顯示部分程序設(shè)計 23結(jié) 論 27參考文獻(xiàn) 28致 謝 29附 錄 30 前 言在日常實際生產(chǎn)生活中,科研、農(nóng)業(yè)、暖通、紡織、機(jī)房、航空航天、電力等工業(yè)部門對產(chǎn)品質(zhì)量的要求越來越高,對環(huán)境溫、濕度的控制以及對工業(yè)材料的水分值的監(jiān)測與分析都已成為比較普遍的技術(shù)條件之一。 濕度檢測電路 8167。 溫濕度檢測儀的主要性能指標(biāo)及其工作原理 2167?;赟TC12C5410AD單片機(jī)的溫濕度檢測儀摘 要隨著社會的發(fā)展,人們對環(huán)境中的溫度和濕度的要求也越來越高,尤其是在醫(yī)學(xué)、電子電力、航天航空、食品發(fā)酵等領(lǐng)域中對溫濕度的要求尤其嚴(yán)格,鑒于如此設(shè)計出一個能夠精確、穩(wěn)定、實時測量出環(huán)境中溫濕度的實用型溫濕度檢測儀顯得尤為重要。 性能指標(biāo) 2167。 其它模塊電路設(shè)計 9第2章 溫濕度檢測儀的軟件設(shè)計 11167。隨著科技的進(jìn)步,檢測儀表也向著智能化、小型化、低功耗的方向發(fā)展。它綜合運用了現(xiàn)代檢測技術(shù)、數(shù)據(jù)處理和通信技術(shù)以及LED顯示技術(shù),可以實時、準(zhǔn)確、穩(wěn)定的測量環(huán)境中的溫度和相對濕度。10%;7. 工作環(huán)境溫度≤60℃ ,工作環(huán)境濕度≤90%;167。RS232接口電路與PC機(jī)的串行口聯(lián)接,實現(xiàn)下載程序等通訊功能。167。C1和C2是30pf。167。 167。3℅RH,分辨力 ℅RH,使得相對濕度傳感器THS11的測量范圍大,長期穩(wěn)定性好,響應(yīng)時間短,溫度系數(shù)低,線性度較好,體積小。74HC164的CLEAR端都始終接高電平,74HC164的A、。第2章 溫濕度檢測儀的軟件設(shè)計167。 溫度檢測模塊程序設(shè)計該檢測儀的溫度檢測部分使用的AD590是一種由所在環(huán)境溫度決定的恒流輸出器件,其輸出特性為:I=KtR15)。只需按照手冊中所說明的ADC的用法即可完成AD轉(zhuǎn)換功能。上電復(fù)位后P1 口為弱上拉型I/O 口,用戶可以通過軟件設(shè)置將8 路中的任何一路設(shè)置為A/D 轉(zhuǎn)換,不需作為A/D 使用的口可繼續(xù)作為I/O 口使用。圖32溫度檢測模塊程序流程圖溫度檢測模塊程序流程如圖32,該模塊程序最后將計算得到的溫度值送入數(shù)據(jù)存儲器,并調(diào)用LED顯示程序?qū)h(huán)境溫度顯示出來,然后返回主程序繼續(xù)下面的操作。研究表明,相對濕度為X%RH時振蕩頻率的溫度補償系數(shù)(ΔfRHX)與相對濕度為0%RH時振蕩頻率的溫度補償系數(shù)(Δf RH0)具有如下關(guān)系:ΔfRHX=Δf RH02. 程序設(shè)計方案經(jīng)過以上分析可知,濕度檢測模塊程序需要完成將來自傳感電路的濕度頻率f轉(zhuǎn)換為相對濕度的工作。綜合上述兩種方法,本設(shè)計中選用第二鐘方法,因為定時器還得用到鍵盤掃描中去,為了避免沖突選用第二中方法。生成頻率表之后就可以進(jìn)行線性化處理了。圖36線性化處理程序流程圖這里需要說明的是,f與f0的比較是非常必要的。 鍵盤掃描和LED顯示模塊程序設(shè)計167。本設(shè)計用的鍵盤是18矩陣式鍵盤,在鍵盤掃描之前,先在鍵盤的行線上輸出一個1,再在74HC164是輸出8個0,然后再讀入行線到單片機(jī),如果行線是1,則表示沒有鍵按下,就返回到鍵盤掃描狀態(tài)重新掃描,反之如果行線為0,則有鍵按下。此外,本設(shè)計采用5位LED的顯示,分別各用一個74HC164連接一個LED數(shù)碼管顯示器,并且從低位到高位把每個74HC164接連起來,利用它的移位功能來實現(xiàn)LED的一幀數(shù)據(jù)的顯示。該檢測儀在濕度的線性化上用的時間可能會稍長一些。參考文獻(xiàn)[1] ,198