單片機的溫濕度檢測儀畢業(yè)設(shè)計_第1頁
已閱讀1頁,還剩37頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、<p>  基于STC12C5410AD單片機的溫濕度檢測儀</p><p><b>  摘 要</b></p><p>  隨著社會的發(fā)展,人們對環(huán)境中的溫度和濕度的要求也越來越高,尤其是在醫(yī)學(xué)、電子電力、航天航空、食品發(fā)酵等領(lǐng)域中對溫濕度的要求尤其嚴(yán)格,鑒于如此設(shè)計出一個能夠精確、穩(wěn)定、實時測量出環(huán)境中溫濕度的實用型溫濕度檢測儀顯得尤為重要。</p

2、><p>  本溫濕度檢測儀是以STC12C540AD單片機的為核心控制芯片,該單片機自帶A/D轉(zhuǎn)換器、有很好的抗干擾能力、響應(yīng)速度快?;诖藛纹瑱C的溫濕度檢測儀可以實時、準(zhǔn)確的測量環(huán)境中的溫度和相對濕度。</p><p>  本檢測儀的硬件部分的設(shè)計采用了以帶有A/D轉(zhuǎn)換器的STC12C5410AD單片機為核心控制器件,以高靈敏度AD590電流輸出型的二端式集成溫度傳感器為溫度數(shù)據(jù)獲取元件和

3、濕度傳感器THS11采集環(huán)境中的相對濕度,模擬輸入接口接入鍵盤實現(xiàn)人機交換功能,并用LED作為顯示設(shè)備的硬件設(shè)計方案。軟件部分則采用采用模塊化的方法將其分成幾個部分,然后逐模塊設(shè)計程序,用匯編語言來實現(xiàn),使各部分結(jié)合起來協(xié)調(diào)工作,最終實現(xiàn)對環(huán)境中溫濕度的實時檢測。</p><p>  該溫濕度檢測儀能夠基本完成的溫濕度檢測,但由于個人經(jīng)驗不足等因素,本設(shè)計還有一些不足之處,離產(chǎn)品實用還有一定的差距,還有一些方面需

4、要進一步完善。</p><p>  關(guān)鍵詞:STC12C5410AD單片機,傳感器,LED,溫濕度</p><p>  MEASURING INSTRUMENT FOR HUMIDITY BASEED ON STC12C5410AD MICROCONTROLLER</p><p><b>  ABSTRACT</b></p>&l

5、t;p>  With 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 tempera

6、ture 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 humi

7、dity detector it is particularly important. The temperature and</p><p>  The instrument can basically complete the temperature and humidity testing, but because of personal factors such as lack of expe

8、rience, the design of some deficiencies, there are certain practical products from the gap, there are some aspects need to be improved.</p><p>  KEY WORDS:STC12C5410AD MCU, Sensor, LED, Temperature and humid

9、ity</p><p><b>  目 錄</b></p><p><b>  前 言1</b></p><p>  第1章 溫濕度檢測儀總體技術(shù)方案2</p><p>  §1.1 溫濕度檢測儀的主要性能指標(biāo)及其工作原理2</p><p>  §1

10、.1.1 性能指標(biāo)2</p><p>  §1.1.2 溫濕度檢測儀的工作原理2</p><p>  §1.2 溫濕度檢測儀的硬件設(shè)計總體結(jié)構(gòu)方案3</p><p>  §1.3 溫濕度檢測儀應(yīng)用軟件系統(tǒng)的設(shè)計方案3</p><p>  §1.4 溫濕度檢測儀STC12C5410AD單片機電路的

11、設(shè)計5</p><p>  §1.5 溫濕度檢測儀的硬件電路設(shè)計7</p><p>  §1.5.1 溫度檢測電路7</p><p>  §1.5.2 濕度檢測電路7</p><p>  §1.5.3 其它模塊電路設(shè)計9</p><p>  第2章 溫濕度檢測儀的軟件設(shè)

12、計11</p><p>  §2.1 主程序模塊設(shè)計11</p><p>  §2.2 溫濕度檢測模塊程序設(shè)計12</p><p>  §2.2.1 溫度檢測模塊程序設(shè)計12</p><p>  §2.2.2 濕度檢測模塊程序設(shè)計15</p><p>  §2

13、.3 鍵盤掃描和LED顯示模塊程序設(shè)計20</p><p>  §2.3.1 鍵盤掃描20</p><p>  §2.3.2 LED顯示部分程序設(shè)計24</p><p><b>  結(jié) 論27</b></p><p><b>  參考文獻28</b></p>

14、<p><b>  致 謝31</b></p><p><b>  前 言</b></p><p>  在日常實際生產(chǎn)生活中,科研、農(nóng)業(yè)、暖通、紡織、機房、航空航天、電力等工業(yè)部門對產(chǎn)品質(zhì)量的要求越來越高,對環(huán)境溫、濕度的控制以及對工業(yè)材料的水分值的監(jiān)測與分析都已成為比較普遍的技術(shù)條件之一。隨著科技的進步,檢測儀表也向著智能化、小

15、型化、低功耗的方向發(fā)展。在這個發(fā)展過程中,以單片機為核心控制器的溫濕度檢測以體積小、操作簡單、性能穩(wěn)定、測量精度高等諸多有點正逐步進入生產(chǎn)生活的各個方面。本文介紹的濕度檢測儀就是以STV12C5410AD單片機作為核心控制器設(shè)計的,它具有體積小、操作簡單、性能穩(wěn)定、測量精度高和抗干擾能力強等優(yōu)點,可廣泛應(yīng)用于需要對溫濕度進行測控的領(lǐng)域中。</p><p>  先根據(jù)實際生產(chǎn)生活的需要提出溫濕度檢測儀的設(shè)計功能要求

16、,然后由這些具體要求和現(xiàn)有的設(shè)計條件設(shè)計出了適合的硬件原理圖,盡量采用模塊化的方法將其分成幾個部分,然后分模塊設(shè)計程序,最使各部分結(jié)合起來協(xié)調(diào)工作,實現(xiàn)功能要求。它是以單片機的在控制方面的突出優(yōu)勢,并綜合運用現(xiàn)代檢測技術(shù)、微控制技術(shù)、數(shù)據(jù)處理和通信技術(shù)以及LED顯示技術(shù)而設(shè)計的數(shù)字溫濕度檢測系統(tǒng),可以實時、準(zhǔn)確的測量環(huán)境中的溫度和相對濕度,對生產(chǎn)生活有較好的知道意義。</p><p>  論文的第一章介紹了溫濕度

17、檢測儀的主要性能指標(biāo)及其工作原理,主要介紹了溫濕度檢測儀的硬件設(shè)計總體方案和溫濕度檢測儀的應(yīng)用軟件系統(tǒng)的總體設(shè)計方案;第二章主要介紹了溫濕度檢測儀的硬件電路設(shè)計,重點介紹了溫度檢測電路、鍵盤LED顯示電路和濕度檢測電路;第三章主要介紹了基于STC12C5410AD單片機的濕度檢測儀的軟件設(shè)計,軟件設(shè)計部分采用模塊化設(shè)計,重點介紹了濕度檢測模塊程序設(shè)計中鍵盤掃描、LED顯示以及對濕度的頻率的線性化處理和溫度補償。</p>&

18、lt;p>  溫濕度檢測儀總體技術(shù)方案</p><p>  溫濕度作為環(huán)境中的兩項重要參數(shù),在很多方面都起著重要的作用。本文中的基于STC12C5410AD單片機的濕度檢測儀就是針對這一需求而設(shè)計的。它綜合運用了現(xiàn)代檢測技術(shù)、數(shù)據(jù)處理和通信技術(shù)以及LED顯示技術(shù),可以實時、準(zhǔn)確、穩(wěn)定的測量環(huán)境中的溫度和相對濕度。在此設(shè)計過程中,本設(shè)計綜合分析了不同用戶在不同場合的不同需求,經(jīng)研究之后,采用了以含有A/D轉(zhuǎn)換

19、器的STC12C5410AD單片機為核心控制器件,以高靈敏度溫度傳感器和濕度傳感器為數(shù)據(jù)獲取元件的方案。該設(shè)計主要分為硬件設(shè)計和軟件部分的設(shè)計,下面先總體介紹設(shè)計的性能指標(biāo)和軟硬件的總體設(shè)計方案。</p><p>  溫濕度檢測儀的主要性能指標(biāo)及其工作原理</p><p><b>  性能指標(biāo)</b></p><p>  1. 相對濕度測量精度

20、和范圍: ±5%,檢測范圍0~100%;</p><p>  2. 溫度測量精度: ±1℃,檢測范圍0~50℃;</p><p>  3. 可有用戶自行校準(zhǔn)儀表的測量精度,無需硬件調(diào)整;</p><p>  4. LED實時顯示;</p><p>  5. 可手動記錄測量的相對濕度與溫度的結(jié)果;<

21、/p><p>  6. 電源:DC12V±10%;</p><p>  7. 工作環(huán)境溫度≤60℃ ,工作環(huán)境濕度≤90%;</p><p>  溫濕度檢測儀的工作原理</p><p>  加載有相應(yīng)程序的STC12C5410AD單片機定時采集溫度測量電路電壓信號和相對濕度測量電路輸出的頻率信號,并對濕度的頻率進行線性化處理和溫度補償,

22、從而獲得溫度和相對濕度數(shù)據(jù),分別將這些數(shù)據(jù)存儲于數(shù)據(jù)存儲器中, 然后送LED顯示屏顯示。可通過鍵盤電路來選擇檢測濕度或者檢測溫度,也可以自動檢測溫度和濕度。 </p><p>  溫濕度檢測儀的硬件設(shè)計總體結(jié)構(gòu)方案</p><p>  該檢測儀采用STC12C5410AD單片機為核心,整個硬件系統(tǒng)分為以下幾個部件,具體如圖1-1所示:</p><p>  圖1-1

23、 硬件電路框圖</p><p>  溫度檢測電路由半導(dǎo)體集成傳感器AD590和電阻構(gòu)成,AD590輸出電流通過電阻進入模擬地,產(chǎn)生相應(yīng)的電阻電壓。電阻的電壓輸入到STC12C5410AD單片機中,經(jīng)ADC轉(zhuǎn)換為數(shù)字量,有應(yīng)用軟件處理得到環(huán)境溫度。</p><p>  相對濕度測量電路由NE555構(gòu)成的振蕩電路組成,濕度傳感器THS11的電容隨環(huán)境相對濕度的變化而變化,從而導(dǎo)致振蕩器的振蕩頻

24、率變化,STC12C5410AD單片機通過測量振蕩器輸出的振蕩頻率,經(jīng)過軟件處理后,獲得相對濕度值。</p><p>  鍵盤輸入電路與LED顯示電路實現(xiàn)人機對話的功能。RS232接口電路與PC機的串行口聯(lián)接,實現(xiàn)下載程序等通訊功能。</p><p>  溫濕度檢測儀應(yīng)用軟件系統(tǒng)的設(shè)計方案</p><p>  該儀表的系統(tǒng)程序設(shè)計采用模塊化的程序設(shè)計方法,其結(jié)構(gòu)見圖

25、1-2:</p><p>  圖1-2 軟件設(shè)計模塊圖</p><p>  檢測儀的應(yīng)用軟件系統(tǒng)包括:主程序模塊、溫度檢測模塊、相對濕度檢測模塊、鍵盤和顯示模塊等。</p><p>  主程序的內(nèi)容包括:主程序的起始地址,中斷服務(wù)程序的起始地址,有關(guān)內(nèi)存單元及相關(guān)部件的初始化和一些子程序相互調(diào)用,主程序是整個程序的框架,決定了檢測儀的工作性能。</p>

26、<p>  溫度檢測模塊主要是完成測溫電路所得電壓與實際溫度的轉(zhuǎn)換,和對溫度數(shù)據(jù)的存儲、顯示;相對濕度檢測模塊除了要實現(xiàn)對濕度數(shù)據(jù)的存儲 、顯示外,還要對濕度信號進行溫度補償和線性化處理。</p><p>  鍵盤、顯示模塊完成檢測儀的檢測數(shù)據(jù)的顯示功能,反映出要檢測的的數(shù)據(jù)。</p><p>  此系統(tǒng)采用了以含有A/D轉(zhuǎn)換器的STC12C5410AD單片機為核心控制器件,

27、以高靈敏度傳感器為溫濕度的獲取元件,用LED作為顯示設(shè)備的方案。這個系統(tǒng)主要由STC12C5410AD單片機、溫度測量電路、相對濕度測量電路、鍵盤輸入電路與LED顯示電路。</p><p>  溫濕度檢測儀STC12C5410AD單片機電路的設(shè)計</p><p>  該檢測儀的設(shè)計是以STC12C5410AD單片機為核心部件,STC12C5410AD單片機是與MCS51單片機完全兼容的高速

28、單片機,它包含了高性能的8路10位或8位ADC、80C51MCU內(nèi)核、10KB EEPROM程序存儲器、512B EEPROM數(shù)據(jù)存儲器、等片內(nèi)資源,同時還具有PWM波形輸出的功能,它可以說是傳統(tǒng)51單片機的升級版,在與傳統(tǒng)51的兼容的前提下加入了更多的功能,這些硬件資源大大簡化了本設(shè)計的電路設(shè)計。STC12C5410AD單片機的引腳排列如圖2-1。</p><p>  利用STC12C5410AD單片機的輸入接

29、口P1.7定時采集溫度測量電路電壓信號和輸入/輸出接口P3.5采集相對濕度測量電路輸出的頻率信號,并對濕度的頻率進行線性化處理和補償,從而獲得溫度和相對濕度數(shù)據(jù),分別將這些數(shù)據(jù)存儲于數(shù)據(jù)存儲器中, 然后再通過P1.1和P1.2接口把芯片處理的數(shù)據(jù)送入顯示模塊電路,并可以用LED顯示屏顯示出來。</p><p>  STC12C5410AD 單片機采用增強型 8051 CPU,1T,單時鐘/ 機器周期,指令代碼完全

30、兼容傳統(tǒng)8051的高速單片機。工作電壓:5.5V – 3.8V(5V 單片機)、具有通用I/O 口(27/23 個),復(fù)位后為: 準(zhǔn)雙向口/ 弱上拉(普通8051 傳統(tǒng)I/O 口) 分別可設(shè)置成四種模式:準(zhǔn)雙向口/ 弱上拉,推挽/ 強上拉,僅為輸入/ 高阻,開漏,同時每個I/O 口驅(qū)動能力均可達到20mA,但整個芯片最大不得超過55mA;STC12C5410AD 單片機I S P (在系統(tǒng)可編程)/ I A P (在應(yīng)用可編程),無需專

31、用編程器,無需專用仿真器,可通過串口(P3.0/P3.1)直接下載用戶程序,數(shù)秒即可完成一片;時鐘源:外部高精度晶體/ 時鐘,內(nèi)部R/C 振蕩器,用戶在下載用戶程序時,可選擇是使用內(nèi)部R/C 振蕩器還是外部晶體/ 時鐘,常溫下內(nèi)部R/C 振蕩器頻率為:5.2MHz ~ 6.8MHz,精度要求不高時,可選擇使用內(nèi)部時鐘,但因為有制造誤差和溫漂,應(yīng)認(rèn)為是4MHz ~ 8MHz。</p><p>  STC12C541

32、0AD 單片機內(nèi)部共2 個16 位定時器/ 計數(shù)器,但可用PCA 模塊再產(chǎn)生4 個定時器;還具有PWM(4 路)/ P C A(可編程計數(shù)器陣列);10 / 8位精度ADC,共8 路。</p><p>  STC12C5410AD單片機的時鐘電路采用的是內(nèi)部的時鐘電路,利用單片機內(nèi)部的振蕩電路,并在XLAT1和XLAT2兩引腳間外接石英晶體和電容構(gòu)成的并聯(lián)諧振電路,使內(nèi)部振蕩器產(chǎn)生自激振蕩。石英晶體XT1頻率是1

33、1.0592M,C1和C2是30pf。</p><p>  圖2-1 STC12C5410AD單片機的引腳排列和基本外圍電路圖</p><p>  STC12C5410AD單片機的復(fù)位電路采用的開關(guān)復(fù)位電路,開關(guān)S9未按下是上電復(fù)位電路,上電復(fù)位電路在上電的瞬間,由于電容上的電壓不能突變,電容處于充電(導(dǎo)通)狀態(tài),故RST腳的電壓與VCC相同。隨著電容的充電,RST腳上的電壓才慢慢下降。選

34、擇合理的充電常數(shù),就能保證在開關(guān)按下時是RST端有兩個機器周期以上的高電平從而使STC12C5410AD內(nèi)部復(fù)位。開關(guān)按下時是按鍵手動復(fù)位電路,RST端通過電阻與VCC電源接通,通過電阻的分壓就可以實現(xiàn)單片機的復(fù)位。</p><p>  基于STC12C5410AD單片機的溫濕度檢測儀的原理圖見附錄。</p><p>  溫濕度檢測儀的硬件電路設(shè)計</p><p>

35、  該溫濕度檢測儀的硬件系統(tǒng)由以下部分組成:電源部分、相對濕度測量電路、溫度測量電路、鍵盤掃描電路、LED顯示電路、與PC機通信的RS232轉(zhuǎn)換電路,各部分設(shè)計如下。</p><p><b>  溫度檢測電路</b></p><p>  溫度檢測電路主要由AD590傳感器、電阻和放大器組成,具體電路圖如圖1-2所示。AD590是一種電流輸出型二端式集成溫度傳感器,其主

36、要技術(shù)參數(shù):測溫范圍-55℃~+150℃;工作電壓+4V~+30V;精度±0.5℃;靈敏度1μA/℃,溫度每變化1℃,其輸出電流變化1μA;輸出零點為熱力學(xué)溫標(biāo)零點。即-273℃時AD590的輸出電流為0μA,0℃時輸出約為273μA。通過AD590的參數(shù)可以看出,它完全適合本設(shè)計的需要,同時AD590性能穩(wěn)定,即便經(jīng)過很長一段時間它的漂移量也很小,而且工作電路簡單直觀。</p><p>  溫度檢測電

37、路如圖2-2所示:</p><p>  圖2-2 溫度檢測電路</p><p>  工作過程:因為流過AD590的電流與熱力學(xué)溫度成正比,電流經(jīng)電阻R43轉(zhuǎn)換為電壓信號,所以電阻R43上的電壓也將隨環(huán)境中溫度的變化而變化。電阻上的電壓信號經(jīng)放大器放大后輸入到STC12C5410AD單片機帶有A/D轉(zhuǎn)換器的端口P1.4,單片機通過采集這個端腳的電壓,然后根據(jù)電壓值,通過軟件處理修訂后就可以得

38、出實際的溫度值。</p><p><b>  濕度檢測電路</b></p><p>  相對濕度測量電路如圖2-3所示,它由NE555構(gòu)成的振蕩器組成,濕度傳感器THS11的電容隨環(huán)境相對濕度的變化而變化,從而導(dǎo)致振蕩器的振蕩頻率變化。濕度檢測電路通過濕度傳感器THS11采集環(huán)境中的相對濕度。THS11是一種電容式濕度傳感器,它的電容值隨環(huán)境濕度的變化而變化,它具有:

39、</p><p>  測量范圍廣(0~100%)RH;</p><p>  適用性好,可在(-40℃~100℃)溫度下工作;</p><p><b>  精度高(2%);</b></p><p>  響應(yīng)速度快(5s),恢復(fù)時間短(10s);</p><p>  長期穩(wěn)定好(年漂移量僅為±

40、;1.5%RH);</p><p>  具有極好的線性輸出等特性。</p><p>  綜合以上優(yōu)點本設(shè)計采用次傳感器作為濕度檢測的傳感器。應(yīng)用電路如下圖所示:</p><p>  圖2-3 濕度檢測電路</p><p>  濕度檢測電路的工作過程為:環(huán)境相對濕度的變化導(dǎo)致濕度傳感器THS11的電容變化,從而引起RC振蕩回路的震蕩頻率的變化,

41、由于THS11的容值的變化和環(huán)境中相對濕度的變化接近線性關(guān)系,那么在震蕩回路中R的阻值固定的情況下,振蕩頻率也就和相對濕度有一個近似的線性關(guān)系,震蕩回路的頻率通過NE555后形成一個穩(wěn)定的、頻率跟相對濕度由近似線性關(guān)系的波,單片機通過測量該頻率的變化,經(jīng)應(yīng)用軟件的溫度補償和線性化處理可獲得環(huán)境相對濕度值。該測量電路的測量精度為 ±3℅RH,分辨力 0.1℅RH,使得相對濕度傳感器THS11的測量范圍大,長期穩(wěn)定性好,響應(yīng)時間短

42、,溫度系數(shù)低,線性度較好,體積小。不足之處是相對濕度傳感器THS11及其它元件的離散性導(dǎo)致了調(diào)試?yán)щy,需進一步研究解決。</p><p><b>  其它模塊電路設(shè)計</b></p><p>  鍵盤模塊采用動態(tài)掃描的方式,鍵盤掃描電路輸出端和LED顯示器段碼控制端口共用74HC164的輸出Q0~Q7。</p><p>  本設(shè)計中采用五個數(shù)碼

43、管進行靜態(tài)顯示,所以要用五個74HC164分別控制五個數(shù)碼管的顯示和選通,前一個74HC164的QH與后一個74HC164的輸入端相連,74HC164的輸出端QA~QH通過電阻連到數(shù)碼管上,控制數(shù)碼管選通的信號為P1。2口通過電阻、三極管與數(shù)碼管的共陽極連接; P1。1口控制CLOCK脈沖信號。74HC164的CLEAR端都始終接高電平,74HC164的A、B兩輸入端共同連接到P1.0口上。</p><p>  

44、用LED 顯示器顯示十六進制數(shù)和空白及小數(shù)點的顯示段碼。從LED 顯示器的顯示原理可知,為了顯示字母數(shù)字,必須最終轉(zhuǎn)換成相應(yīng)段選碼。這種轉(zhuǎn)換可以通過硬件譯碼器或軟件進行譯碼。其中的共陽極接法在設(shè)計中得以應(yīng)用,單片機信號通過移位寄存器74HC164輸出,經(jīng)過八個電阻在LED數(shù)碼管上顯示出來。LED顯示電路圖如圖2-12所示。</p><p>  圖2-12 LED顯示電路圖</p><p>

45、;  由于設(shè)計中用到AD轉(zhuǎn)化器,AD轉(zhuǎn)化器的參考電壓的穩(wěn)定對于采集數(shù)據(jù)的準(zhǔn)確性有著直接的關(guān)系,本設(shè)計采用了從USB接口取電和通過變壓器供電兩種方式,前者是為了在下程序和做一些基本測試的方便,但USB接口的電壓不是很穩(wěn)定,所以如果僅用這一種供電方式是不夠的,再加上溫度傳感器AD590的工作電壓必須要超過5V的要求,本設(shè)計還采用了后者通過變壓電源供電。 </p><p>  通過簡單變壓器輸出的電壓首先經(jīng)過C1、C2

46、的濾波后,再經(jīng)過集成穩(wěn)壓塊7805的電壓變換后又濾波一下,形成穩(wěn)定的5V電源,可以共單片機使用,經(jīng)過7805之前的部分可以接到AD590的正端就可以使AD590正常的工作,從而實現(xiàn)了本設(shè)計的用電需求。</p><p>  溫濕度檢測儀的軟件設(shè)計</p><p><b>  主程序模塊設(shè)計</b></p><p>  主程序是控制和管理的核心,主

47、要完成在系統(tǒng)上電后進行定時和中斷</p><p>  圖3-1 主程序流程圖</p><p>  處理操作的初始化。它的內(nèi)容包括主程序的起始地址,中斷服務(wù)程序的起始地址,有關(guān)內(nèi)存單元及相關(guān)部件的初始化和一些子程序調(diào)用等等。主程序設(shè)計框圖如上圖3-1。</p><p>  主程序初始化的具體內(nèi)容包括:時間中斷的初始化、外部中斷源的初始化、單片機I/O口初始化、RAM初

48、始化、LED初始化、對各個子程序的調(diào)用,然后對溫度和濕度進行檢測并將結(jié)果顯示在LED上。</p><p>  初始化對單片機的工作非常重要,因為單片機經(jīng)過復(fù)位以后一些狀態(tài)字,寄存器的初值可能是隨機分配的值也可能是全置0或置1,程序在運行過程中,程序狀態(tài)字起著重要的作用,為了不影響程序的正常運行初始化是十分必要的。</p><p>  溫濕度檢測模塊程序設(shè)計</p><p

49、>  溫度檢測模塊程序設(shè)計</p><p>  該檢測儀的溫度檢測部分使用的AD590是一種由所在環(huán)境溫度決定的恒流輸出器件,其輸出特性為:</p><p><b>  I=Kt·t</b></p><p>  式中I為AD590輸出電流信號,單位為1uA電流。t為絕對溫度,單位為K。Kt為轉(zhuǎn)換系數(shù),單位為1uA/K。</

50、p><p>  AD590輸出電流信號經(jīng)電阻R轉(zhuǎn)換為電壓信號,其電壓為:</p><p>  VR = Kt·R·t</p><p>  VR從ADC口輸入到單片機中,進行A/D轉(zhuǎn)換,成為數(shù)字量VT。</p><p>  溫度檢測模塊程序如圖3-2,首先讀取測量電路的溫度電壓VT,并將這一電壓信號作為溫度轉(zhuǎn)換參數(shù)進行電壓→溫度

51、轉(zhuǎn)換,具體轉(zhuǎn)換方法為:把經(jīng)過A/D的所得的數(shù)字電壓值VT作如下計算</p><p>  T = KT(VT-V0)</p><p>  式中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·R15)。它們均作為常量存儲在單片機的片內(nèi)數(shù)據(jù)EEPROM中。由于V0、KT準(zhǔn)確

52、與否直接影響溫度測量的精度,可通過以下方法進行校正:</p><p>  用其它高精度的測溫儀測量環(huán)境溫度T1,輸入本儀表,單片機同時記錄下相應(yīng)的A/D轉(zhuǎn)換的數(shù)字量V1。當(dāng)環(huán)境溫度從T1變化到T2時,重復(fù)以上過程,單片機同時記錄下相應(yīng)的A/D轉(zhuǎn)換的數(shù)字量V2。為保證校準(zhǔn)精度,環(huán)境溫度應(yīng)在25℃左右變化,并且變化的范圍盡可能大一些。儀表的應(yīng)用軟件根據(jù)KT=(T1-T2)/(V1-V2)和V0=VT1-T1/KT計算

53、出KT和V0 的值,并存儲在單片機的EEPROM數(shù)據(jù)存儲器中,既完成該儀表的溫度測量精度的校正。儀表的應(yīng)用軟件系統(tǒng)配置有專用的服務(wù)子程序完成此項工作,僅僅需按儀表的LED顯示器的提示完成有關(guān)操作。</p><p>  本設(shè)計中所用的單片機自帶AD轉(zhuǎn)換器,無需再另加轉(zhuǎn)換器。只需按照手冊中所說明的ADC的用法即可完成AD轉(zhuǎn)換功能。由于本單片機可以提供8位和10位兩種AD轉(zhuǎn)化,但是在本設(shè)計中為求檢測結(jié)果的精確性本設(shè)計選

54、用了10位AD轉(zhuǎn)換器,其轉(zhuǎn)化精度要比8位高出數(shù)倍,同時又采用穩(wěn)定的5V電源為單片機供電,進一步確保了檢測的準(zhǔn)確性。</p><p>  模擬/ 數(shù)字轉(zhuǎn)換結(jié)果計算公式如下:</p><p>  結(jié)果 ( ADC_DATA[7:0],ADC_LOW2[1:0] ) = 1024 x Vin / Vcc</p><p>  Vin 為模擬輸入通道輸入電壓,Vcc 為單片機

55、實際工作電壓,用單片機工作電壓作為模擬參考電壓。取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 位精度。</p><p>  結(jié)果 ADC_DATA[7:0] = 256 x Vin / Vcc。</p><p>

56、;  STC12C5410AD 系列帶A/D 轉(zhuǎn)換的單片機在P1 口,有8 路10 位高速A/D 轉(zhuǎn)換器, 速度可達100KHz。P1.7 - P1.0 共8 路電壓輸入型A/D,可做溫度檢測、電池電壓檢測、按鍵掃描、頻譜檢測等。上電復(fù)位后P1 口為弱上拉型I/O 口,用戶可以通過軟件設(shè)置將8 路中的任何一路設(shè)置為A/D 轉(zhuǎn)換,不需作為A/D 使用的口可繼續(xù)作為I/O 口使用。需作為A/D 使用的口需先將其設(shè)置為高阻輸入或開漏模式。在P

57、1M0、P1M1中對相應(yīng)的位進行設(shè)置。</p><p>  由于單片機對數(shù)據(jù)的采集只能是電壓或者頻率,AD590對溫度的檢測是電路的大小來反映的,要將這個電流值讀到單片機里面來就必須先把這個電流轉(zhuǎn)變成電壓,本設(shè)計中是通過一個電阻將這個值變成電壓的,而單片機的AD采樣范圍必須是它的工作電壓范圍內(nèi),即0~5V,所以通過計算就可以確定電阻的值,這個過程是經(jīng)過反復(fù)的實驗確定的,如果阻值過小就使得采樣值不精確,如果阻值過

58、大則完全不能進行采樣過程后面的數(shù)據(jù)處理就更沒法進行。</p><p>  本設(shè)計中為了使編程盡量簡潔所選取的阻值非常特殊:AD590變化的電流通過這個特定阻值的電阻時,轉(zhuǎn)變?yōu)橐粋€變化的電壓,這個電壓變化一個毫安對應(yīng)溫度變化一度,這樣大大化簡了程序中對的溫度的算法。</p><p>  當(dāng)AD轉(zhuǎn)換器將采樣的電壓值轉(zhuǎn)變?yōu)閿?shù)字值后,單片機將這個數(shù)字值進行簡單的處理就可以得到要檢測的溫度值,本設(shè)計

59、將溫度對電壓的變化大體堪為近似的線性關(guān)系,把采集到的數(shù)字量是將5V的電壓分成1024個等分,則每變化一個溫度就可以對應(yīng)一個數(shù)字電壓量的變化,就可以通過這個數(shù)字量直接對應(yīng)出環(huán)境溫度。</p><p>  單片機中數(shù)據(jù)的處理全部是用二進制數(shù)表示的,這種表示方法不適合我們平時的讀數(shù)習(xí)慣,還得先將十六進制數(shù)轉(zhuǎn)變?yōu)閷?yīng)的十進制數(shù)來顯示,此時一次溫度檢測才算完成,程序返回進行重復(fù)檢測來實現(xiàn)實時檢測環(huán)境溫度。</p>

60、;<p>  圖3-2溫度檢測模塊程序流程圖</p><p>  溫度檢測模塊程序流程如圖3-2,該模塊程序最后將計算得到的溫度值送入數(shù)據(jù)存儲器,并調(diào)用LED顯示程序?qū)h(huán)境溫度顯示出來,然后返回主程序繼續(xù)下面的操作。</p><p>  濕度檢測模塊程序設(shè)計</p><p>  1. 程序欲解決問題分析</p><p>  濕度

61、測量電路是由濕度傳感器THS11和NE555構(gòu)成的振蕩電路組成。濕度傳感器THS11的電容值隨溫度的變化導(dǎo)致振蕩器的振蕩頻率發(fā)生變化,所以可以通過測量振蕩器輸出頻率,獲得相對濕度值。</p><p>  實驗得出振蕩電路的輸出頻率(f)與環(huán)境溫度(T)的關(guān)系曲線,如圖3-3所示:</p><p>  圖3-3 振蕩頻率f與溫度T的關(guān)系曲線</p><p>  由上圖

62、可知,在環(huán)境相對濕度不變的條件下,溫度和振蕩頻率呈近似的線性關(guān)系,所以忽略非線性誤差不影響測量的精度。</p><p>  當(dāng)環(huán)境中的相對濕度不同時,相同溫度條件下的振蕩頻率差異比較大,且這種差異是非線性的。要準(zhǔn)確地測量濕度,必須對振蕩頻率作溫度補償。</p><p>  從圖3-3可以看出,對于不同的環(huán)境濕度,振蕩頻率的溫度補償系數(shù)也是不同的。研究表明,相對濕度為X%RH時振蕩頻率的溫度

63、補償系數(shù)(ΔfRHX)與相對濕度為0%RH時振蕩頻率的溫度補償系數(shù)(Δf RH0)具有如下關(guān)系:</p><p>  ΔfRHX=Δf RH0·(fRH/fRH0)</p><p>  式中Δf RH0的值為297/65(Hz/℃);fRH0是溫度為0℃時相對濕度為0%RH的振蕩頻率,其值為7588(Hz);fRHX是溫度為0℃時相對濕度為X%RH的振蕩頻率。

64、</p><p>  實驗得出相對濕度(RH)與濕度傳感電路輸出的振蕩頻率(f)在環(huán)境溫度為25℃時的關(guān)系曲線,如圖3-4所示:</p><p>  圖3-4 在25℃時相對濕度RH與振蕩率f的關(guān)系曲線</p><p>  表3-1給出了該關(guān)系曲線上的10個點的數(shù)據(jù)。從圖3可以看出,相對濕度在20%RH—80%RH范圍內(nèi)線性度較好,兩端的線性較差。</p>

65、;<p>  表3-1 在25℃環(huán)境溫度時相對濕度(RH)與振蕩頻率(f)的關(guān)系</p><p>  顯然,振蕩頻率受環(huán)境濕度的影響比較大。當(dāng)相對濕度值升高時,振蕩器輸出頻率會隨之降低,而且它們之間的這種變化是非線性的。如果本設(shè)計將檢測到頻率直接送給顯示器顯示的話,得到的結(jié)果將與環(huán)境中的實際濕度值存在很大差別,無法達到性能指標(biāo)中所要求的測量精度和分辨力。但是由上面的關(guān)系,可以采用軟件的方法進行溫度補

66、償和線性化處理,來實現(xiàn)高精度地測量相對濕度。</p><p><b>  2. 程序設(shè)計方案</b></p><p>  經(jīng)過以上分析可知,濕度檢測模塊程序需要完成將來自傳感電路的濕度頻率f轉(zhuǎn)換為相對濕度的工作。由于振蕩頻率隨環(huán)境相對濕度變化是非線性的,這給濕度轉(zhuǎn)換帶來了困難,因此需要對其進行線性化處理。同時,相對濕度受環(huán)境溫度的影響比較大。不同溫度條件下,在同一測量

67、場合測得的濕度差異很大,所以還需要對測量頻率作溫度補償。具體方案如圖3-5。</p><p>  對于頻率的測量,單片機由多種測量方法,大體由中斷測量和定時計數(shù)兩大方式。</p><p>  對于定時計數(shù)是將單片機的定時器一個設(shè)為定時狀態(tài)來確定要計數(shù)的時間,把另外一個定時器設(shè)為計數(shù)狀態(tài),在它的輸入口接待檢測的波形頻率的輸出端,而工作在邊沿觸發(fā)狀態(tài),這樣就可以個對這個端口輸入的波形頻率進行技

68、術(shù),定時器可以通過設(shè)定時間來確定度波形個數(shù)的時長,本設(shè)計中要用波形的頻率,所以最好是讀一秒中波形的個數(shù),但單片機的計數(shù)器最多是十六位的,達不到計數(shù)一秒的要求,這時就得把若干個定時疊加起來,就是每定時中斷若干次采讀一個波形頻率,試驗證明能夠?qū)嵭斜驹O(shè)計的要求,單片機計數(shù)的波形的周期必須大于單片機工作的機械周期,通過查閱資料知道,設(shè)計中用的傳感器的波形周期遠(yuǎn)大于單片機的機械周期,故能這樣來檢測頻率。</p><p> 

69、 中斷計數(shù)是將波源輸入到單片機的中斷入口中去,通過檢測一段時間內(nèi)中都的次數(shù)也能夠檢測出波形的頻率,具體工作原理入下,先用一個定時器來實現(xiàn)計時功能,然后開中斷,讓中斷工作在邊沿觸發(fā)狀態(tài),這樣中斷就可以對高低變換的頻率波形進行計數(shù),本設(shè)計中是來檢測波形頻率的所以最好的計一秒鐘采樣一次,同樣的問題,單片機必須的計若干次數(shù)才采集一個中斷次數(shù),這樣才可以實現(xiàn)一秒采集數(shù)據(jù)。</p><p>  綜合上述兩種方法,本設(shè)計中選用

70、第二鐘方法,因為定時器還得用到鍵盤掃描中去,為了避免沖突選用第二中方法。</p><p>  在濕度檢測模塊程序的開始,首先讀取經(jīng)過A/D轉(zhuǎn)換的相對濕度的振蕩頻率fo,并把得到的相對濕度頻率值存儲于STC12C5410AD的一個變量單元中。</p><p>  然后讀取溫濕度檢測儀測得的環(huán)境溫度值T,根據(jù)溫度補償系數(shù)計算出應(yīng)該補償?shù)念l率,補償后的頻率值為</p><p&

71、gt;  f =fo+(25-T)·△f RH0·(fRH/ f RH0)</p><p><b>  線性化處理: </b></p><p>  首先根據(jù)實驗得出的相對濕度與振蕩頻率關(guān)系曲線,將測量范圍內(nèi)的濕度RH劃分為N等份,每份為△RH,每個濕度分隔點對應(yīng)的頻率值設(shè)為fn。然后把頻率曲線上相鄰的兩點依次用直線相連,就得到一條新的濕度-頻率曲線

72、,它與實際曲線幾乎重合在一起,所以可以使用該曲線產(chǎn)生進行線性化處理。</p><p>  圖3-5 濕度檢測模塊程序流程圖</p><p>  在線性化處理之前,需要在單片機的數(shù)據(jù)存儲器里存儲一個頻率表,即由fn組成的數(shù)據(jù)表格。因為線性化處理的過程中需要將實測頻率與fn進行多次比較。</p><p>  生成頻率表之后就可以進行線性化處理了。線性化處理程序子程序流程

73、圖如3-6所示。</p><p>  程序首先從存儲器中讀取溫度補償過的頻率f,把它賦給一個事先定義好的變量。同時取出△RH,定義計數(shù)量n,分別存入不同變量。</p><p>  接下來就要對比較次數(shù)n賦初值(n=0),根據(jù)變量n去STC12C5410AD的ROM中的頻率表中取出頻率值f0,然后將溫度補償過振蕩頻率f與從表中取得的表頻率f0作減法運算,并檢查相減結(jié)果是否大于0。如果差值大于

74、0,則說明測得頻率超出檢測儀的測量范圍,轉(zhuǎn)入報告出錯子程序,告訴用戶出錯。如果兩者差值小于0,則將n 值加1,繼續(xù)拿f與fn作比較。如果(f-f1)的值大于0,說明實測頻率在濕度-頻率曲線的第一段內(nèi),這時的環(huán)境濕度值:RH=△RH (f- f0)/( f1- f0)。</p><p>  圖3-6線性化處理程序流程圖</p><p>  這里需要說明的是,f與f0的比較是非常必要的。因為這

75、一比較涉及到,檢測儀報錯功能,更重要的是接下來的頻率比較必須以第一次比較為參考。在設(shè)計之初,本設(shè)計想跳過與f0的比較,這樣程序也簡單一點。但是后來分析發(fā)現(xiàn)如果不進行這一比較會影響到儀表的正常工作。當(dāng)f落在f1之前時,檢測儀會由于沒有合適比較對象而出錯。</p><p>  如果前面比較的結(jié)果值還是小于零,說明該振蕩頻率f不在該段,就把比較次數(shù)f加1后,從表中再次取值,繼續(xù)進行的比較,直至比較結(jié)果大于零??衫孟率?/p>

76、計算出環(huán)境的相對濕度:</p><p>  RH=RHn-1+△RH</p><p>  然后把結(jié)果存到單片機的存儲單元中,以供數(shù)據(jù)顯示程序處理。 </p><p>  鍵盤掃描和LED顯示模塊程序設(shè)計</p><p><b>  鍵盤掃描</b></p><p>  鍵盤是人機交換的橋梁,一個好

77、的鍵盤能夠讓用戶方便的使用儀表。本設(shè)計的鍵盤就在此基礎(chǔ)上設(shè)計的,同時也為了節(jié)約單片機的硬件資源,具體流程如下:</p><p>  該檢測儀采用1×8矩陣式鍵盤,關(guān)于它的具體硬件組成電路這里就不多做介紹,在檢測有無鍵按下方面主要用的是開機自動掃描方式,該方式是利用單片機運行程序初始化后自動掃描鍵盤,如果沒有鍵按下則繼續(xù)掃描,若有鍵按下即可出對應(yīng)的鍵值,再由鍵值跳轉(zhuǎn)到相應(yīng)的子程序,從而實現(xiàn)鍵盤掃描,鍵盤掃

78、描子程序流程圖如圖3-7所示。</p><p>  圖3-7 鍵盤掃描子程序流程圖</p><p>  由于本設(shè)計為了節(jié)約I/O口,只用一根數(shù)據(jù)線來實現(xiàn)鍵盤的列掃描,是通過8位并行輸出串行移位寄存器74HC164來實現(xiàn)的。具體是用單片機的一個I/O口連接到該芯片的時鐘輸入端,作為該芯片的工作時鐘,用另一根數(shù)據(jù)接到74HC164的數(shù)據(jù)端口A、B兩端。由于74HC164是工作在上升沿,所以本設(shè)

79、計可以在其數(shù)據(jù)端輸入一個等待送出的數(shù)字,然后通過在其時鐘輸入端送入一個上升沿,就可以實現(xiàn)把等待送出的數(shù)字發(fā)送出去。又因為該芯片是8位并行輸出串行移位寄存器,所以這個送數(shù)過程要連續(xù)重復(fù)8次才能夠?qū)崿F(xiàn)一個單元的數(shù)據(jù)完全送出。</p><p><b>  SAOMIAO:</b></p><p><b>  MOV A,R1</b></p>

80、<p>  MOV R2,#08H</p><p><b>  XS:</b></p><p>  JB ACC.0,XS1</p><p><b>  CLR P1.0</b></p><p><b>  AJMP CLK</b></p><

81、;p><b>  XS1:</b></p><p><b>  SETB P1.0</b></p><p><b>  CLK:</b></p><p><b>  CLR P1.1</b></p><p><b>  NOP</b

82、></p><p><b>  SETB P1.1</b></p><p><b>  RR A</b></p><p>  DJNZ R2,XS</p><p><b>  RET</b></p><p>  本段程序就是將一個單元8位二進制數(shù)送

83、出的子程序,P1.0端接到74HC164的數(shù)據(jù)端,P1.1端接到74HC164的時鐘端,通過P1.1口的先置0再置1來形成一個上升沿脈沖。</p><p>  本設(shè)計用的鍵盤是1×8矩陣式鍵盤,在鍵盤掃描之前,先在鍵盤的行線上輸出一個1,再在74HC164是輸出8個0,然后再讀入行線到單片機,如果行線是1,則表示沒有鍵按下,就返回到鍵盤掃描狀態(tài)重新掃描,反之如果行線為0,則有鍵按下。然后本設(shè)計再一列一列

84、的掃描鍵值,具體過程如下:首先通過164輸出一個11111110B后,讀入鍵盤的行,如果為0,則表示是第一個鍵按下,如果不為0,則表示不是第一個鍵按下,然后再在164端輸出一個11111101B再進行上述掃描過程直至行線為0即掃描到鍵值,即完成了鍵盤的掃描過程。</p><p>  當(dāng)然鍵盤掃描時還要通過延時消去鍵盤抖動,延時定時器的延遲時間等于初值乘上時間判斷間隔時間,通過確定延時定時器的延遲時間達到去除鍵盤抖

85、動的對正常的影響,一般延時時間在30ms~50ms之間,在實驗中確定具體的延遲時間。</p><p>  鍵盤掃描去抖動和鍵值掃描的核心程序如下:</p><p><b>  ScanKey:</b></p><p>  SETB KeyRow /*鍵盤的行置1</p><p>  MO

86、V Data_OutputBuf, #00H /*鍵盤的列置0,掃描的初始狀態(tài)</p><p>  LCALL Data_Output /*調(diào)用顯示子程序,將掃描初始值送出</p><p>  MOV A, P1 /*將P1口狀態(tài)讀入到單片機</p><p>  JB ACC.3,NoKey /*判斷是否有鍵

87、按下,有則執(zhí)行,無則返回</p><p>  LCALL DELAY10ms /*調(diào)用延時程序消除鍵盤抖動,一般10 ms足夠</p><p>  MOV A,P1</p><p>  JB ACC.3,NoKey </p><p>  MOV ArrangeNum,#00H /*列設(shè)定初始值<

88、/p><p>  MOV A,#07FH /*列掃描的初始值</p><p>  GetKey1: /*列掃描子程序</p><p>  SETB KeyRow </p><p>  MOV R5, A /*列掃

89、描的初始值,暫時存在R5中</p><p>  MOV Data_OutputBuf, A</p><p>  LCALL Data_Output </p><p>  MOV A, P1</p><p>  JNB ACC.3,GetKeyValue</p><p>  MOV

90、 A,R5</p><p>  RR A /*列掃描值右移,實現(xiàn)鍵盤列掃描</p><p>  INC ArrangeNum /*列號加1</p><p>  JB ACC.7,GetKey1 </p><p>  LJMP NoKey </p

91、><p>  LED顯示部分程序設(shè)計</p><p>  1. LED顯示器應(yīng)用程序設(shè)計總體方案</p><p>  (1).LED的動態(tài)顯示</p><p>  LED的動態(tài)顯示是利用人眼的視力暫留效果來設(shè)計的,就是在LED上面連續(xù)送出要顯示的內(nèi)容,當(dāng)每秒掃描顯示的次數(shù)達到一定的次數(shù)后,人眼就可以認(rèn)為是連續(xù)顯示的,此種設(shè)計的優(yōu)點就是節(jié)約I/O口

92、,電路連接簡單,但相應(yīng)的也造成了軟件開支過大,因為需要不斷的進行定時掃描或中斷掃描等。</p><p>  (2).LED的靜態(tài)顯示</p><p>  LED的靜態(tài)顯示就是在LED上送入待顯示的內(nèi)容后,LED的管腳的狀態(tài)一直保持不變,即在LED上穩(wěn)定靜止的顯示出待顯示的內(nèi)容,該種設(shè)計軟件編寫簡單,單片機軟件資源占用少,但相應(yīng)的在沒加輔助顯示芯片,使電路復(fù)雜,I/O口占用過多。</

93、p><p>  通過以上兩種方法的比較,本設(shè)計選用靜態(tài)顯示的方式,同時選用8位串進并出移位寄存器74HC164來輔助顯示,其功能用法在鍵盤掃描過程中也詳細(xì)介紹過了,這里就不在重述。 </p><p>  通過該芯片來輔助LED的顯示,就能夠節(jié)約I/O口資源,又能夠減少軟件的開支,所以比較適合本設(shè)計的需要。</p><p>  此外,本設(shè)計采用5位LED的顯示,分別各用

94、一個74HC164連接一個LED數(shù)碼管顯示器,并且從低位到高位把每個74HC164接連起來,利用它的移位功能來實現(xiàn)LED的一幀數(shù)據(jù)的顯示。本設(shè)計采用靜態(tài)顯示一次必須送完一幀5位數(shù)據(jù),這樣對單個數(shù)據(jù)的修改就比較麻煩,尤其是在碰到有小數(shù)點顯示的時候,不能夠只改變一位來實現(xiàn),必須得5位數(shù)據(jù)全部重新送數(shù)。本設(shè)計沒有BCD碼譯碼器,必須通過軟件查表把要顯示的數(shù)據(jù)轉(zhuǎn)變成BCD碼,對于有小數(shù)點和無小數(shù)點的,本設(shè)計就得寫兩個不同的表用來查詢。</

95、p><p>  在本設(shè)計中實現(xiàn)鍵盤掃描的74HC164跟LED顯示的第一位顯示的數(shù)據(jù)是同一個,所以在鍵盤掃描時本設(shè)計可通過軟件將顯示器關(guān)閉,以免按鍵和顯示相互影響,同樣在程序運行過程中,本設(shè)計也避免顯示和鍵盤掃描同時進行,例如,本設(shè)計程序開始執(zhí)行時,總是先掃描鍵盤直到有鍵盤按下來確定用戶需要檢測濕度還是溫度,然后根據(jù)鍵值跳轉(zhuǎn)到相應(yīng)的子程序來進行檢測,這時才將檢測結(jié)果在LED上顯示出來。</p><

96、p><b>  DISPLAY:</b></p><p>  LJMP JIANZHI</p><p>  SAOMIAO: /*將要待顯示的數(shù)送到74HC164中并通過數(shù)碼管顯示</p><p><b>  MOV A,R1</b></p><p>

97、  MOV R2,#08H</p><p><b>  XS:</b></p><p>  JB ACC.0,XS1</p><p><b>  CLR P1.0</b></p><p><b>  AJMP CLK</b></p><p><b

98、>  XS1:</b></p><p><b>  SETB P1.0</b></p><p><b>  CLK:</b></p><p><b>  CLR P1.1</b></p><p><b>  NOP</b></p&

99、gt;<p><b>  SETB P1.1</b></p><p><b>  RR A</b></p><p>  DJNZ R2,XS</p><p><b>  RET</b></p><p><b>  JIANZHI:</b>&l

100、t;/p><p>  MOV R1,#0EEH /*0的BCD碼</p><p>  LCALL SAOMIAO </p><p>  MOV R1,#028H /*1的BCD碼</p><p>  LCALL SAOMIAO</p><p>  MOV R

101、1,#0CDH /*2的BCD碼</p><p>  LCALL SAOMIAO</p><p>  MOV R1,#06DH /*3的BCD碼</p><p>  LCALL SAOMIAO</p><p>  MOV R1,#02BH /*4的BCD碼</p>

102、<p>  LCALL SAOMIAO</p><p>  以上是顯示部分的子程序,通過給R1送入不同的數(shù)值就可以在LED上把送入的數(shù)字顯示出來,這種模塊化的程序設(shè)計思想十分重要,任何一個大的程序都是由各個小程序相互調(diào)用來完成的。</p><p>  在進行軟件設(shè)計時,先寫完各個模塊的程序,當(dāng)每個模塊的程序都調(diào)試通過后,在根據(jù)設(shè)計的要求,按照最先實際的總的程序流程圖來完成子

103、程序之間的相互協(xié)調(diào)調(diào)用來實現(xiàn)整個程序的調(diào)試工作,通過多次反復(fù)的調(diào)試修改,當(dāng)總程序能夠?qū)崿F(xiàn)設(shè)計要求時,程序的設(shè)計才大體完成。</p><p><b>  結(jié) 論</b></p><p>  該檢測儀適用于需要對溫濕度實時檢測的多種場合。由于采用了測量范圍廣、精度高、響應(yīng)速度快的電容式濕度傳感器來進行濕度采樣,使用溫度補償、線性化處理的方法提高檢測精度,因此該檢測儀基本上

104、達到技術(shù)指標(biāo)中對相對濕度測量精度和分辨力的要求。</p><p>  該檢測儀在濕度的線性化上用的時間可能會稍長一些。但是STC12C5410AD單片機工作頻率較高,并且只有環(huán)境濕度較高時才會出現(xiàn)處理時間延長現(xiàn)象,因此并不影響檢測儀的實時檢測指標(biāo)。</p><p>  在這次設(shè)計中本設(shè)計也遇到不少問題,也正是對這些問題的逐步解決該檢測儀順利設(shè)計完成。本設(shè)計的設(shè)計主要面臨著硬件設(shè)計和軟件設(shè)計

105、的兩大問題,以及硬件和軟件的結(jié)合。軟件設(shè)計中面臨的主要問題是環(huán)境溫濕度數(shù)據(jù)的采集方法,相對濕度的溫度補償和線性化處理。在指導(dǎo)老師的悉心輔導(dǎo)下和查閱大量資料之后,然后采用了STC12C5410AD數(shù)據(jù)采集芯片并配合其它一些元器件的硬件設(shè)計方案,使以上問題得到了很好解決 。</p><p>  由于這次設(shè)計的時間較短,該檢測儀的主要功能已經(jīng)實現(xiàn),要達到實用,還需繼續(xù)進一步進行研究設(shè)計。</p><

106、p><b>  參考文獻</b></p><p>  [1] 趙新民.智能儀器原理及設(shè)計.哈爾濱工業(yè)大學(xué)出版社,1989</p><p>  [2] 華成英, 童詩白. 模擬電子技術(shù)基礎(chǔ)第三版. 北京: 高等教育出版社, 2004.4. </p><p>  [3] 謝光忠、蔣亞東等. 溫濕度智能數(shù)據(jù)采集控制系統(tǒng)的研制.傳感器技術(shù) 200

107、0,19(4):29-33</p><p>  [4] 丁元杰.單片微機原理及應(yīng)用.北京:機械工業(yè)出版社,1993</p><p>  [5] 何立民.MCS-51系列單片機應(yīng)用設(shè)計、系統(tǒng)配置與接口技術(shù).</p><p>  [6] 陳寶江,翟涌,張幽彤.MCS單片機應(yīng)用系統(tǒng)實用指南.</p><p>  [7] 喻評,郭文川.單片機原理與接

108、口技術(shù).北京:化學(xué)工業(yè)出版社,2006</p><p>  [8] 李剛.51系列單片機系統(tǒng)設(shè)計與應(yīng)用技巧.北京:北京航空航天大學(xué)出版社。2004</p><p>  [9] 何立民.單片機中級教程原理與應(yīng)用.北京:北京航空航天大學(xué)出版社,1990</p><p>  [10] 沙占友.單片機外圍電路設(shè)計.北京:電子工業(yè)出版社,2003</p><

109、;p>  [11] 劉君華.現(xiàn)代檢測技術(shù)與測試系統(tǒng)設(shè)計[M].西安:西安交通大學(xué)出版社,2000</p><p>  [12] 余永權(quán)。MCS-51系列單片機應(yīng)用技術(shù).北京:北京航空航天出版社,2002</p><p>  [13] 閻石.數(shù)字電子技術(shù)基礎(chǔ).北京:高等教育出版社,2002</p><p>  [14] 劉書明、馮小平.數(shù)據(jù)采集系統(tǒng)芯片STC12

110、C5410AD原理與應(yīng)用[M] .西安:西安電子科技大學(xué)出版社,2000.</p><p>  [15] 涂玲英.肖俊武.張宇.智能型溫濕度測控儀研究與實踐.湖北工學(xué)院學(xué)報.2002.</p><p>  [16] 蔡美琴.MCS一51系列單片機系統(tǒng)及其應(yīng)用.高等教育出版社.1992.</p><p>  [17] 閻石. 數(shù)字電子技術(shù)基礎(chǔ). 北京: 高等教育出版社

111、, 2002</p><p>  [18] 劉同法, 陳忠平. 單片機基礎(chǔ)與最小系統(tǒng)實踐. 西安: 西安電子科技大學(xué)出版社, 2007.</p><p>  [19] 涂玲英, 肖俊武, 張宇. 智能型溫濕度測控儀研究與實踐. 湖北工學(xué)院學(xué)報, 2002</p><p>  [20] 潘永雄. 新編單片機原理與應(yīng)用. 西安西安電子科技大學(xué)出版社, 2003</

112、p><p><b>  致 謝</b></p><p>  本設(shè)計的題目是由xx導(dǎo)師根據(jù)實際工作和生產(chǎn)中的具體需要擬定的,花費了許多時間和精力查詢資料,最終定出設(shè)計方案 。有多年單片機應(yīng)用開發(fā)經(jīng)驗的xx老師給本設(shè)計進行了深入而系統(tǒng)的指導(dǎo)。老師認(rèn)真負(fù)責(zé)的工作態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神和扎實的、深厚的理論水平都使我受益匪淺。正是在xx老師的耐心引導(dǎo)和幫助下,解決了設(shè)計中的種種問題,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論