【正文】
C. At the same time, the counter is then preset with a value determined by the slope accumulator circuitry. This circuitry is needed to pensate for the parabolic behavior of the oscillators over temperature. The counter is then clocked again until it reaches zero.If the gate period is still not finished, then this process repeats. The slope accumulator is used to pensate for the non–linear behavior of the oscillators over temperature, yielding a high resolution temperature measurement. This is done by changing the number of counts necessary for the counter to go through for each incremental degree in temperature. To obtain the desired resolution, therefore, both the value of the counter and the number of counts per degree C (the value of the slope accumulator) at a given temperature must be known.Internally, this calculation is done inside the DS1820 to provide 176。有多年單片機(jī)應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn)的孫剛老師給本設(shè)計(jì)進(jìn)行了深入而系統(tǒng)的指導(dǎo)。本設(shè)計(jì)沒(méi)有BCD碼譯碼器,必須通過(guò)軟件查表把要顯示的數(shù)據(jù)轉(zhuǎn)變成BCD碼,對(duì)于有小數(shù)點(diǎn)和無(wú)小數(shù)點(diǎn)的,本設(shè)計(jì)就得寫(xiě)兩個(gè)不同的表用來(lái)查詢(xún)。本設(shè)計(jì)的鍵盤(pán)就在此基礎(chǔ)上設(shè)計(jì)的,同時(shí)也為了節(jié)約單片機(jī)的硬件資源,具體流程如下:該檢測(cè)儀采用18矩陣式鍵盤(pán),關(guān)于它的具體硬件組成電路這里就不多做介紹,在檢測(cè)有無(wú)鍵按下方面主要用的是開(kāi)機(jī)自動(dòng)掃描方式,該方式是利用單片機(jī)運(yùn)行程序初始化后自動(dòng)掃描鍵盤(pán),如果沒(méi)有鍵按下則繼續(xù)掃描,若有鍵按下即可出對(duì)應(yīng)的鍵值,再由鍵值跳轉(zhuǎn)到相應(yīng)的子程序,從而實(shí)現(xiàn)鍵盤(pán)掃描,鍵盤(pán)掃描子程序流程圖如圖37所示。程序首先從存儲(chǔ)器中讀取溫度補(bǔ)償過(guò)的頻率f,把它賦給一個(gè)事先定義好的變量。同時(shí),相對(duì)濕度受環(huán)境溫度的影響比較大。 濕度檢測(cè)模塊程序設(shè)計(jì)1. 程序欲解決問(wèn)題分析濕度測(cè)量電路是由濕度傳感器THS11和NE555構(gòu)成的振蕩電路組成。由于本單片機(jī)可以提供8位和10位兩種AD轉(zhuǎn)化,但是在本設(shè)計(jì)中為求檢測(cè)結(jié)果的精確性本設(shè)計(jì)選用了10位AD轉(zhuǎn)換器,其轉(zhuǎn)化精度要比8位高出數(shù)倍,同時(shí)又采用穩(wěn)定的5V電源為單片機(jī)供電,進(jìn)一步確保了檢測(cè)的準(zhǔn)確性。t式中I為AD590輸出電流信號(hào),單位為1uA電流。用LED 顯示器顯示十六進(jìn)制數(shù)和空白及小數(shù)點(diǎn)的顯示段碼。 濕度檢測(cè)電路相對(duì)濕度測(cè)量電路如圖23所示,它由NE555構(gòu)成的振蕩器組成,濕度傳感器THS11的電容隨環(huán)境相對(duì)濕度的變化而變化,從而導(dǎo)致振蕩器的振蕩頻率變化。圖21 STC12C5410AD單片機(jī)的引腳排列和基本外圍電路圖STC12C5410AD單片機(jī)的復(fù)位電路采用的開(kāi)關(guān)復(fù)位電路,開(kāi)關(guān)S9未按下是上電復(fù)位電路,上電復(fù)位電路在上電的瞬間,由于電容上的電壓不能突變,電容處于充電(導(dǎo)通)狀態(tài),故RST腳的電壓與VCC相同。167。在此設(shè)計(jì)過(guò)程中,本設(shè)計(jì)綜合分析了不同用戶在不同場(chǎng)合的不同需求,經(jīng)研究之后,采用了以含有A/D轉(zhuǎn)換器的STC12C5410AD單片機(jī)為核心控制器件,以高靈敏度溫度傳感器和濕度傳感器為數(shù)據(jù)獲取元件的方案。 主程序模塊設(shè)計(jì) 11167。本溫濕度檢測(cè)儀是以STC12C540AD單片機(jī)的為核心控制芯片,該單片機(jī)自帶A/D轉(zhuǎn)換器、有很好的抗干擾能力、響應(yīng)速度快。 溫度檢測(cè)電路 7167。第1章 溫濕度檢測(cè)儀總體技術(shù)方案溫濕度作為環(huán)境中的兩項(xiàng)重要參數(shù),在很多方面都起著重要的作用。相對(duì)濕度測(cè)量電路由NE555構(gòu)成的振蕩電路組成,濕度傳感器THS11的電容隨環(huán)境相對(duì)濕度的變化而變化,從而導(dǎo)致振蕩器的振蕩頻率變化,STC12C5410AD單片機(jī)通過(guò)測(cè)量振蕩器輸出的振蕩頻率,經(jīng)過(guò)軟件處理后,獲得相對(duì)濕度值。 STC12C5410AD 單片機(jī)內(nèi)部共2 個(gè)16 位定時(shí)器/ 計(jì)數(shù)器,但可用PCA 模塊再產(chǎn)生4 個(gè)定時(shí)器;還具有PWM(4 路)/ P C A(可編程計(jì)數(shù)器陣列);10 / 8位精度ADC,共8 路。溫度檢測(cè)電路如圖22所示: 圖22 溫度檢測(cè)電路工作過(guò)程:因?yàn)榱鬟^(guò)AD590的電流與熱力學(xué)溫度成正比,電流經(jīng)電阻R43轉(zhuǎn)換為電壓信號(hào),所以電阻R43上的電壓也將隨環(huán)境中溫度的變化而變化。 P1。167。儀表的應(yīng)用軟件系統(tǒng)配置有專(zhuān)用的服務(wù)子程序完成此項(xiàng)工作,僅僅需按儀表的LED顯示器的提示完成有關(guān)操作。單片機(jī)中數(shù)據(jù)的處理全部是用二進(jìn)制數(shù)表示的,這種表示方法不適合我們平時(shí)的讀數(shù)習(xí)慣,還得先將十六進(jìn)制數(shù)轉(zhuǎn)變?yōu)閷?duì)應(yīng)的十進(jìn)制數(shù)來(lái)顯示,此時(shí)一次溫度檢測(cè)才算完成,程序返回進(jìn)行重復(fù)檢測(cè)來(lái)實(shí)現(xiàn)實(shí)時(shí)檢測(cè)環(huán)境溫度。但是由上面的關(guān)系,可以采用軟件的方法進(jìn)行溫度補(bǔ)償和線性化處理,來(lái)實(shí)現(xiàn)高精度地測(cè)量相對(duì)濕度。因?yàn)榫€性化處理的過(guò)程中需要將實(shí)測(cè)頻率與fn進(jìn)行多次比較。 167。 通過(guò)該芯片來(lái)輔助LED的顯示,就能夠節(jié)約I/O口資源,又能夠減少軟件的開(kāi)支,所以比較適合本設(shè)計(jì)的需要。參考文獻(xiàn)[1] ,1989[2] 華成英, 童詩(shī)白. 模擬電子技術(shù)基礎(chǔ)第三版. 北京: 高等教育出版社, . [3] 謝光忠、蔣亞?wèn)|等. 2000,19(4):2933[4] :機(jī)械工業(yè)出版社,1993[5] 、系統(tǒng)配置與接口技術(shù).[6] 陳寶江,翟涌,.[7] 喻評(píng),:化學(xué)工業(yè)出版社,2006[8] :北京航空航天大學(xué)出版社。 it will send back a “1” if it is powered from the VDD pin. If the master receives a “0”, it knows that it must supply the strong pull–up on the I/O line during temperature conversions. See “Memory Command Functions” section for more detail on this mand protocol.OPERATION – MEASURING TEMPERATUREThe DS1820 measures temperature through the use of an on–board proprietary temperature measurement technique. A block diagram of the temperature measurement circuitry is shown in Figure 4. The DS1820 measures temperature by counting the number of clock cycles that an oscillator with a low temperature coefficient goes through during a gate period determined by a high temperature coefficient oscillator. The counter is preset with a base count that corresponds to –55176。C in 176。在此我衷心的感謝孫老師對(duì)我這次畢業(yè)設(shè)計(jì)指導(dǎo)和幫助。 在進(jìn)行軟件設(shè)計(jì)時(shí),先寫(xiě)完各個(gè)模塊的程序,當(dāng)每個(gè)模塊的程序都調(diào)試通過(guò)后,在根據(jù)設(shè)計(jì)的要求,按照最先實(shí)際的總的程序流程圖來(lái)完成子程序之間的相互協(xié)調(diào)調(diào)用來(lái)實(shí)現(xiàn)整個(gè)程序的調(diào)試工作,通過(guò)多次反復(fù)的調(diào)試修改,當(dāng)總程序能夠?qū)崿F(xiàn)設(shè)計(jì)要求時(shí),程序的設(shè)計(jì)才大體完成。由于74HC164是工作在上升沿,所以本設(shè)計(jì)可以在其數(shù)據(jù)端輸入一個(gè)等待送出的數(shù)字,然后通過(guò)在其時(shí)鐘輸入端送入一個(gè)上升沿,就可以實(shí)現(xiàn)把等待送出的數(shù)字發(fā)送出去。如果差值大于0,則說(shuō)明測(cè)得頻率超出檢測(cè)儀的測(cè)量范圍,轉(zhuǎn)入報(bào)告出錯(cuò)子程序,告訴用戶出錯(cuò)。對(duì)于頻率的測(cè)量,單片機(jī)由多種測(cè)量方法,大體由中斷測(cè)量和定時(shí)計(jì)數(shù)兩大方式。當(dāng)環(huán)境中的相對(duì)濕度不同時(shí),相同溫度條件下的振蕩頻率差異比較大,且這種差異是非線性的。如果舍棄ADC_LOW2 的低2 位,只用ADC_DATA 寄存器的8 位,則A/D 轉(zhuǎn)換結(jié)果為8 位精度。AD590輸出電流信號(hào)經(jīng)電阻R轉(zhuǎn)換為電壓信號(hào),其電壓為:VR = Kt其中的共陽(yáng)極接法在設(shè)計(jì)中得以應(yīng)用,單片機(jī)信號(hào)通過(guò)移位寄存器74HC164輸出,經(jīng)過(guò)八個(gè)電阻在LED數(shù)碼管上顯示出來(lái)。%RH);具有極好的線性輸出等特性。開(kāi)關(guān)按下時(shí)是按鍵手動(dòng)復(fù)位電路,RST端通過(guò)電阻與VCC電源接通,通過(guò)電阻的分壓就可以實(shí)現(xiàn)單片機(jī)的復(fù)位。溫度檢測(cè)模塊主要是完成測(cè)溫電路所得電壓與實(shí)際溫度的轉(zhuǎn)換,和對(duì)溫度數(shù)據(jù)的存儲(chǔ)、顯示;相對(duì)濕度檢測(cè)模塊除了要實(shí)現(xiàn)對(duì)濕度數(shù)據(jù)的存儲(chǔ) 、顯示外,還要對(duì)濕度信號(hào)進(jìn)行溫度補(bǔ)償和線性化處理。 溫濕度檢測(cè)儀的主要性能指標(biāo)及其工作原理167。 濕度檢測(cè)模塊程序設(shè)計(jì) 15167。軟件部分則采用采用模塊化的方法將其分成幾個(gè)部分,然后逐模塊設(shè)計(jì)程序,用匯編語(yǔ)言來(lái)實(shí)現(xiàn),使各部分結(jié)合起來(lái)協(xié)調(diào)工作,最終實(shí)現(xiàn)對(duì)環(huán)境中溫濕度的實(shí)時(shí)檢測(cè)。 溫濕度檢測(cè)儀應(yīng)用軟件系統(tǒng)的設(shè)計(jì)方案 3167。先根據(jù)實(shí)際生產(chǎn)生活的需要提出溫濕度檢測(cè)儀的設(shè)計(jì)功能要求,然后由這些具體要求和現(xiàn)有的設(shè)計(jì)條件設(shè)計(jì)出了適合的硬件原理圖,盡量采用模塊化的方法將其分成幾個(gè)部分,然后分模塊設(shè)計(jì)程序,最使各部分結(jié)合起來(lái)協(xié)調(diào)工作,實(shí)現(xiàn)功能要求。 167。,并對(duì)濕度的頻率進(jìn)行線性化處理和補(bǔ)償,從而獲得溫度和相對(duì)濕度數(shù)據(jù),分別將這些數(shù)據(jù)存儲(chǔ)于數(shù)據(jù)存儲(chǔ)器中, ,并可以用LED顯示屏顯示出來(lái)。℃;靈敏度1μA/℃,溫度每變化1℃,其輸出電流變化1μA;輸出零點(diǎn)為熱力學(xué)溫標(biāo)零點(diǎn)。 其它模塊電路設(shè)計(jì)鍵盤(pán)模塊采用動(dòng)態(tài)掃描的方式,鍵盤(pán)掃描電路輸出端和LED顯示器段碼控制端口共用74HC164的輸出Q0~Q7。主程序設(shè)計(jì)框圖如上圖31。當(dāng)環(huán)境溫度從T1變化到T2時(shí),重復(fù)以上過(guò)程,單片機(jī)同時(shí)記錄下相應(yīng)的A/D轉(zhuǎn)換的數(shù)字量V2。由于單片機(jī)對(duì)數(shù)據(jù)的采集只能是電壓或者頻率,AD590對(duì)溫度的檢測(cè)是電路的大小來(lái)反映的,要將這個(gè)電流值讀到單片機(jī)里面來(lái)就必須先把這個(gè)電流轉(zhuǎn)變成電壓,本設(shè)計(jì)中是通過(guò)一個(gè)電阻將這個(gè)值變成電壓的,而單片機(jī)的AD采樣范圍必須是它的工作電壓范圍內(nèi),即0~5 V,所以通過(guò)計(jì)算就可以確定電阻的值,這個(gè)過(guò)程是經(jīng)過(guò)反復(fù)的實(shí)驗(yàn)確定的,如果阻值過(guò)小就使得采樣值不精確,如果阻值過(guò)大則完全不能進(jìn)行采樣過(guò)程后面的數(shù)據(jù)處理就更沒(méi)法進(jìn)行。表31 在25℃環(huán)境溫度時(shí)相對(duì)濕度(RH)與振蕩頻率(f)的關(guān)系顯然,振蕩頻率受環(huán)境濕度的影響比較大。(fRH/ f RH0)線性化處理: 首先根據(jù)實(shí)驗(yàn)得出的相對(duì)濕度與振蕩頻率關(guān)系曲線,將測(cè)量范圍內(nèi)的濕度RH劃分為N等份,每份為△RH,每個(gè)濕度分隔點(diǎn)對(duì)應(yīng)的頻率值設(shè)為fn。當(dāng)f落在f1之前時(shí),檢測(cè)儀會(huì)由于沒(méi)有合適比較對(duì)象而出錯(cuò)。 LED顯示部分程序設(shè)計(jì)1. LED顯示器應(yīng)用程序設(shè)計(jì)總體方案(1).LED的動(dòng)態(tài)顯示LED的動(dòng)態(tài)顯示是利用人眼的視力暫留效果來(lái)設(shè)計(jì)的,就是在LED上面連續(xù)送出要顯示的內(nèi)容,當(dāng)每秒掃描顯示的次數(shù)達(dá)到一定的次數(shù)后,人眼就可以認(rèn)為是連續(xù)顯示的,此種設(shè)計(jì)的優(yōu)點(diǎn)就是節(jié)約I/O口,電路連接簡(jiǎn)單,但相應(yīng)的也造成了軟件開(kāi)支過(guò)大,因?yàn)樾枰粩嗟倪M(jìn)行定時(shí)掃描或中斷掃描等。軟件設(shè)計(jì)中面臨的主要問(wèn)題是環(huán)境溫濕度數(shù)據(jù)的采集方法,相對(duì)濕度的溫度補(bǔ)償和線性化處理。F in 176。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 CON