【正文】
ignificant bit block diagram (Figure 1) shows the parasite powered circuitry. This circuitry “steals” power whenever the I/O or VDD pins are high. I/O will provide sufficient power as long as the specified timing and voltage requirements are met (see the section titled “1–Wire Bus System”). The advantages of parasite power are two–fold:1) by parasiting off this pin, no local power source is needed for remote sensing of temperature, 2) the ROM may be read in absence of normal power. In order for the DS1820 to be able to perform accurate temperature conversions, sufficient power must be provided over the I/O line when a temperature conversion is taking place. Since the operating current of the DS1820 is up to 1 mA, the I/O line will not have sufficient drive due to the 5K pull–up resistor. This problem is particularly acute if several DS1820’s are on the same I/O and attempting to convert simultaneously.There are two ways to assure that the DS1820 has sufficient supply current during its active conversion cycle. The first is to provide a strong pull–up on the I/O linewhenever temperature conversions or copies to the E2 memory are taking place. This may be acplished by using a MOSFET to pull the I/O line directly to the power supply as shown in Figure 2. The I/O line must be switched over to the strong pull–up within 10 ms maximum after issuing any protocol that involves copying to the E2 memory or initiates temperature conversions. When using the parasite power mode, the VDD pin must be tied to ground. Another method of supplying current to the DS1820 is through the use of an external power supply tied to the VDD pin, as shown in Figure 3. The advantage to this is that the strong pull–up is not required on the I/O line, and the bus master need not be tied up holding that line high during temperature conversions. This allows other data traffic on the 1–Wire bus during the conversion time. In addition, any number of DS1820’s may be placed on the 1–Wire bus, and if they all use external power, they may all simultaneously perform temperature conversions by issuing the Skip ROM mand and then issuing the Convert T mand. Note that as long as the external power supply is active, the GND pin may not be floating. The use of parasite power is not remended above 100176。F to+257176。C in176。:北京航空航天出版社,2002[13] :高等教育出版社,2002[14] 劉書明、[M] .西安:西安電子科技大學出版社,2000.[15] 涂玲英.肖俊武.張宇.智能型溫濕度測控儀研究與實踐.湖北工學院學報.2002.[16] 蔡美琴.MCS一51系列單片機系統(tǒng)及其應用.高等教育出社.1992.附 錄 溫度、相對濕度檢測儀的電路原理圖外文資料原文DS1820FEATURES? Unique 1–WireTM interface requires only one port pinfor munication? Multidrop capability simplifies distributed temperaturesensing applications? Requires no external ponents? Can be powered from data line? Zero standby power required? Measures temperatures from –55176。參考文獻[1] ,1989[2] [J] . 上海: 自動化儀表第 2003,24(3):2427 [3] 謝光忠、蔣亞東等. 2000,19(4):2933[4] :機械工業(yè)出版社,1993[5] 、系統(tǒng)配置與接口技術.[6] 陳寶江,翟涌,.[7] 喻評,:化學工業(yè)出版社,2006[8] :北京航空航天大學出版社。此檢測儀還可以與溫度濕度發(fā)生裝置連接來實現(xiàn)對溫度濕度的調(diào)整功能,加上報警裝置后就可以對環(huán)境溫度超過上下限時發(fā)出警報,本設計中通過進一步改進軟件程序能夠?qū)崿F(xiàn)溫濕度的同時檢測功能。軟件設計中面臨的主要問題是環(huán)境溫濕度數(shù)據(jù)的采集方法,相對濕度的溫度補償和線性化處理。在這次設計中本設計也遇到不少問題,也正是對這些問題的逐步解決該檢測儀順利設計完成。該檢測儀在濕度的線性化上用的時間可能會稍長一些。結 論該檢測儀適用于需要對溫濕度實時檢測的多種場合。DISPLAY: LJMP JIANZHISAOMIAO: /*將要待顯示的數(shù)送到74HC164中并通過數(shù)碼管顯示 MOV A,R1 MOV R2,08HXS: JB ,XS1 CLR AJMP CLKXS1: SETB CLK: CLR NOP SETB 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)用來完成的。本設計沒有BCD碼譯碼器,必須通過軟件查表把要顯示的數(shù)據(jù)轉(zhuǎn)變成BCD碼,對于有小數(shù)點和無小數(shù)點的,本設計就得寫兩個不同的表用來查詢。此外,本設計采用5位LED的顯示,分別各用一個74HC164連接一個LED數(shù)碼管顯示器,并且從低位到高位把每個74HC164接連起來,利用它的移位功能來實現(xiàn)LED的一幀數(shù)據(jù)的顯示。通過以上兩種方法的比較,本設計選用靜態(tài)顯示的方式,同時選用8位串進并出移位寄存器74HC164來輔助顯示,其功能用法在鍵盤掃描過程中也詳細介紹過了,這里就不在重述。 LED顯示部分程序設計1. LED顯示器應用程序設計總體方案(1).LED的動態(tài)顯示LED的動態(tài)顯示是利用人眼的視力暫留效果來設計的,就是在LED上面連續(xù)送出要顯示的內(nèi)容,當每秒掃描顯示的次數(shù)達到一定的次數(shù)后,人眼就可以認為是連續(xù)顯示的,此種設計的優(yōu)點就是節(jié)約I/O口,電路連接簡單,但相應的也造成了軟件開支過大,因為需要不斷的進行定時掃描或中斷掃描等。當然鍵盤掃描時還要通過延時消去鍵盤抖動,延時定時器的延遲時間等于初值乘上時間判斷間隔時間,通過確定延時定時器的延遲時間達到去除鍵盤抖動的對正常的影響,一般延時時間在30ms~50ms之間,在實驗中確定具體的延遲時間。本設計用的鍵盤是18矩陣式鍵盤,在鍵盤掃描之前,先在鍵盤的行線上輸出一個1,再在74HC164是輸出8個0,然后再讀入行線到單片機,如果行線是1,則表示沒有鍵按下,就返回到鍵盤掃描狀態(tài)重新掃描,反之如果行線為0,則有鍵按下。又因為該芯片是8位并行輸出串行移位寄存器,所以這個送數(shù)過程要連續(xù)重復8次才能夠?qū)崿F(xiàn)一個單元的數(shù)據(jù)完全送出。具體是用單片機的一個I/O口連接到該芯片的時鐘輸入端,作為該芯片的工作時鐘,用另一根數(shù)據(jù)接到74HC164的數(shù)據(jù)端口A、B兩端。本設計的鍵盤就在此基礎上設計的,同時也為了節(jié)約單片機的硬件資源,具體流程如下:圖37 鍵盤掃描子程序流程圖該檢測儀采用18矩陣式鍵盤,關于它的具體硬件組成電路這里就不多做介紹,在檢測有無鍵按下方面主要用的是開機自動掃描方式,該方式是利用單片機運行程序初始化后自動掃描鍵盤,如果沒有鍵按下則繼續(xù)掃描,若有鍵按下即可出對應的鍵值,再由鍵值跳轉(zhuǎn)到相應的子程序,從而實現(xiàn)鍵盤掃描,鍵盤掃描子程序流程圖如圖37所示。 鍵盤掃描和LED顯示模塊程序設計167??衫孟率接嬎愠霏h(huán)境的相對濕度:RH=RHn1+△RH然后把結果存到單片機的存儲單元中,以供數(shù)據(jù)顯示程序處理。當f落在f1之前時,檢測儀會由于沒有合適比較對象而出錯。在設計之初,本設計想跳過與f0的比較,這樣程序也簡單一點。圖36線性化處理程序流程圖這里需要說明的是,f與f0的比較是非常必要的。如果兩者差值小于0,則將n 值加1,繼續(xù)拿f與fn作比較。接下來就要對比較次數(shù)n賦初值(n=0),根據(jù)變量n去STC12C5410AD的ROM中的頻率表中取出頻率值f0,然后將溫度補償過振蕩頻率f與從表中取得的表頻率f0作減法運算,并檢查相減結果是否大于0。程序首先從存儲器中讀取溫度補償過的頻率f,把它賦給一個事先定義好的變量。生成頻率表之后就可以進行線性化處理了。圖35 濕度檢測模塊程序流程圖在線性化處理之前,需要在單片機的數(shù)據(jù)存儲器里存儲一個頻率表,即由fn組成的數(shù)據(jù)表格。(fRH/ f RH0)線性化處理: 首先根據(jù)實驗得出的相對濕度與振蕩頻率關系曲線,將測量范圍內(nèi)的濕度RH劃分為N等份,每份為△RH,每個濕度分隔點對應的頻率值設為fn。然后讀取溫濕度檢測儀測得的環(huán)境溫度值T,根據(jù)溫度補償系數(shù)計算出應該補償?shù)念l率,補償后的頻率值為f =fo+(25T)綜合上述兩種方法,本設計中選用第二鐘方法,因為定時器還得用到鍵盤掃描中去,為了避免沖突選用第二中方法。對于定時計數(shù)是將單片機的定時器一個設為定時狀態(tài)來確定要計數(shù)的時間,把另外一個定時器設為計數(shù)狀態(tài),在它的輸入口接待檢測的波形頻率的輸出端,而工作在邊沿觸發(fā)狀態(tài),這樣就可以個對這個端口輸入的波形頻率進行技術,定時器可以通過設定時間來確定度波形個數(shù)的時長,本設計中要用波形的頻率,所以最好是讀一秒中波形的個數(shù),但單片機的計數(shù)器最多是十六位的,達不到計數(shù)一秒的要求,這時就得把若干個定時疊加起來,就是每定時中斷若干次采讀一個波形頻率,試驗證明能夠?qū)嵭斜驹O計的要求,單片機計數(shù)的波形的周期必須大于單片機工作的機械周期,通過查閱資料知道,設計中用的傳感器的波形周期遠大于單片機的機械周期,故能這樣來檢測頻率。具體方案如圖35。同時,相對濕度受環(huán)境溫度的影響比較大。2. 程序設計方案經(jīng)過以上分析可知,濕度檢測模塊程序需要完成將來自傳感電路