【正文】
然后根據(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 /*判斷是否有鍵按下,有則執(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, P1JNB ,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ù)送出的子程序,,。圖37 鍵盤掃描子程序流程圖由于本設(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)實時檢測環(huán)境溫度。在P1M0、P1M1中對相應(yīng)的位進行設(shè)置。STC12C5410AD 系列帶A/D 轉(zhuǎn)換的單片機在P1 口,有8 路10 位高速A/D 轉(zhuǎn)換器, 速度可達100KHz。模擬/ 數(shù)字轉(zhuǎn)換結(jié)果計算公式如下:結(jié)果 ( ADC_DATA[7:0],ADC_LOW2[1:0] ) = 1024 x Vin / VccVin 為模擬輸入通道輸入電壓,Vcc 為單片機實際工作電壓,用單片機工作電壓作為模擬參考電壓。儀表的應(yīng)用軟件系統(tǒng)配置有專用的服務(wù)子程序完成此項工作,僅僅需按儀表的LED顯示器的提示完成有關(guān)操作。由于V0、KT準確與否直接影響溫度測量的精度,可通過以下方法進行校正:用其它高精度的測溫儀測量環(huán)境溫度T1,輸入本儀表,單片機同時記錄下相應(yīng)的A/D轉(zhuǎn)換的數(shù)字量V1。tVR從ADC口輸入到單片機中,進行A/D轉(zhuǎn)換,成為數(shù)字量VT。t為絕對溫度,單位為K。167。它的內(nèi)容包括主程序的起始地址,中斷服務(wù)程序的起始地址,有關(guān)內(nèi)存單元及相關(guān)部件的初始化和一些子程序調(diào)用等等。圖212 LED顯示電路圖由于設(shè)計中用到AD轉(zhuǎn)化器,AD轉(zhuǎn)化器的參考電壓的穩(wěn)定對于采集數(shù)據(jù)的準確性有著直接的關(guān)系,本設(shè)計采用了從USB接口取電和通過變壓器供電兩種方式,前者是為了在下程序和做一些基本測試的方便,但USB接口的電壓不是很穩(wěn)定,所以如果僅用這一種供電方式是不夠的,再加上溫度傳感器AD590的工作電壓必須要超過5V的要求,本設(shè)計還采用了后者通過變壓電源供電。從LED 顯示器的顯示原理可知,為了顯示字母數(shù)字,必須最終轉(zhuǎn)換成相應(yīng)段選碼。 P1。167。應(yīng)用電路如下圖所示:圖23 濕度檢測電路濕度檢測電路的工作過程為:環(huán)境相對濕度的變化導(dǎo)致濕度傳感器THS11的電容變化,從而引起RC振蕩回路的震蕩頻率的變化,由于THS11的容值的變化和環(huán)境中相對濕度的變化接近線性關(guān)系,那么在震蕩回路中R的阻值固定的情況下,振蕩頻率也就和相對濕度有一個近似的線性關(guān)系,震蕩回路的頻率通過NE555后形成一個穩(wěn)定的、頻率跟相對濕度由近似線性關(guān)系的波,單片機通過測量該頻率的變化,經(jīng)應(yīng)用軟件的溫度補償和線性化處理可獲得環(huán)境相對濕度值。濕度檢測電路通過濕度傳感器THS11采集環(huán)境中的相對濕度。溫度檢測電路如圖22所示: 圖22 溫度檢測電路工作過程:因為流過AD590的電流與熱力學(xué)溫度成正比,電流經(jīng)電阻R43轉(zhuǎn)換為電壓信號,所以電阻R43上的電壓也將隨環(huán)境中溫度的變化而變化。AD590是一種電流輸出型二端式集成溫度傳感器,其主要技術(shù)參數(shù):測溫范圍-55℃~+150℃;工作電壓+4V~+30V;精度177。167。隨著電容的充電,RST腳上的電壓才慢慢下降。 STC12C5410AD 單片機內(nèi)部共2 個16 位定時器/ 計數(shù)器,但可用PCA 模塊再產(chǎn)生4 個定時器;還具有PWM(4 路)/ P C A(可編程計數(shù)器陣列);10 / 8位精度ADC,共8 路。STC12C5410AD單片機的引腳排列如圖21。此系統(tǒng)采用了以含有A/D轉(zhuǎn)換器的STC12C5410AD單片機為核心控制器件,以高靈敏度傳感器為溫濕度的獲取元件,用LED作為顯示設(shè)備的方案。 溫濕度檢測儀應(yīng)用軟件系統(tǒng)的設(shè)計方案該儀表的系統(tǒng)程序設(shè)計采用模塊化的程序設(shè)計方法,其結(jié)構(gòu)見圖12:圖12 軟件設(shè)計模塊圖檢測儀的應(yīng)用軟件系統(tǒng)包括:主程序模塊、溫度檢測模塊、相對濕度檢測模塊、鍵盤和顯示模塊等。相對濕度測量電路由NE555構(gòu)成的振蕩電路組成,濕度傳感器THS11的電容隨環(huán)境相對濕度的變化而變化,從而導(dǎo)致振蕩器的振蕩頻率變化,STC12C5410AD單片機通過測量振蕩器輸出的振蕩頻率,經(jīng)過軟件處理后,獲得相對濕度值??赏ㄟ^鍵盤電路來選擇檢測濕度或者檢測溫度,也可以自動檢測溫度和濕度。5%,檢測范圍0~100%;2. 溫度測量精度: 177。該設(shè)計主要分為硬件設(shè)計和軟件部分的設(shè)計,下面先總體介紹設(shè)計的性能指標和軟硬件的總體設(shè)計方案。第1章 溫濕度檢測儀總體技術(shù)方案溫濕度作為環(huán)境中的兩項重要參數(shù),在很多方面都起著重要的作用。本文介紹的濕度檢測儀就是以STV12C5410AD單片機作為核心控制器設(shè)計的,它具有體積小、操作簡單、性能穩(wěn)定、測量精度高和抗干擾能力強等優(yōu)點,可廣泛應(yīng)用于需要對溫濕度進行測控的領(lǐng)域中。 鍵盤掃描 20167。 溫濕度檢測模塊程序設(shè)計 12167。 溫度檢測電路 7167。 溫濕度檢測儀的硬件設(shè)計總體結(jié)構(gòu)方案 3167。關(guān)鍵詞:STC12C5410AD單片機,傳感器,LED,溫濕度MEASURING INSTRUMENT FOR HUMIDITY BASEED ON STC12C5410AD MICROCONTROLLERABSTRACTWith 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 temperature and humidity in the field of the harsh demands in particular, in view of such a design that Can be precise, stable, realtime measurement of temperature and humidity environment to the practical temperature and humidity detector it is particularly important. The temperature and humidity detector is STC12C540AD SCM as the core chip, the microcontroller es with A/D converter, a very good antidisturbance capacity, fast response. Based on this MCU temperature and humidity detector can be realtime, accurate measurement of environmental temperature and relative humidity. The detector part of the design of the hardware used to with A/D converter STC12C5410AD microcontroller as the core of the control devices, with high sensitivity AD590 current output of the endintegrated temperature sensor data acquisition ponents for temperature and humidity sensor THS11 Acquisition relative humidity in the environment, access to analog input keyboard to achieve humanputer interface exchange function and used as an LED display hardware design. The software part is divided into several parts, and then each module design process, with assembly language to achieve, to bine the various parts of coordination, and eventually realize the environmental temperature and humidity in the realtime detection. The instrument can basically plete the temperature and humidity testing, but because of personal factors such as lack of experience, the design of some deficiencies, there are certain practical products from the gap, there are some aspects need to be improved.KEY WORDS:STC12C5410AD MCU, Sensor, LED, Temperature and humidityV目 錄前 言 1第1章 溫濕度檢測儀總體技術(shù)方案 2167?;诖藛纹瑱C的溫濕度檢測儀可以實時、準確的測量環(huán)境中的溫度和相對濕度。本溫濕度檢測儀是以STC12C540AD單片機的為