【正文】
然后根據(jù)鍵值跳轉(zhuǎn)到相應(yīng)的子程序來進(jìn)行檢測(cè),這時(shí)才將檢測(cè)結(jié)果在LED上顯示出來。 通過該芯片來輔助LED的顯示,就能夠節(jié)約I/O口資源,又能夠減少軟件的開支,所以比較適合本設(shè)計(jì)的需要。鍵盤掃描去抖動(dòng)和鍵值掃描的核心程序如下: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 /*判斷是否有鍵按下,有則執(zhí)行,無則返回 LCALL DELAY10ms /*調(diào)用延時(shí)程序消除鍵盤抖動(dòng),一般10 ms足夠 MOV A,P1 JB ,NoKey MOV ArrangeNum,00H /*列設(shè)定初始值 MOV A,07FH /*列掃描的初始值GetKey1: /*列掃描子程序 SETB KeyRow MOV R5, A /*列掃描的初始值,暫時(shí)存在R5中 MOV Data_OutputBuf, A LCALL Data_Output MOV A, P1JNB ,GetKeyValue MOV A,R5 RR A /*列掃描值右移,實(shí)現(xiàn)鍵盤列掃描 INC ArrangeNum /*列號(hào)加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本段程序就是將一個(gè)單元8位二進(jìn)制數(shù)送出的子程序,,。圖37 鍵盤掃描子程序流程圖由于本設(shè)計(jì)為了節(jié)約I/O口,只用一根數(shù)據(jù)線來實(shí)現(xiàn)鍵盤的列掃描,是通過8位并行輸出串行移位寄存器74HC164來實(shí)現(xiàn)的。 167。但是后來分析發(fā)現(xiàn)如果不進(jìn)行這一比較會(huì)影響到儀表的正常工作。如果(ff1)的值大于0,說明實(shí)測(cè)頻率在濕度頻率曲線的第一段內(nèi),這時(shí)的環(huán)境濕度值:RH=△RH (f f0)/( f1 f0)。同時(shí)取出△RH,定義計(jì)數(shù)量n,分別存入不同變量。因?yàn)榫€性化處理的過程中需要將實(shí)測(cè)頻率與fn進(jìn)行多次比較?!鱢 RH0 中斷計(jì)數(shù)是將波源輸入到單片機(jī)的中斷入口中去,通過檢測(cè)一段時(shí)間內(nèi)中都的次數(shù)也能夠檢測(cè)出波形的頻率,具體工作原理入下,先用一個(gè)定時(shí)器來實(shí)現(xiàn)計(jì)時(shí)功能,然后開中斷,讓中斷工作在邊沿觸發(fā)狀態(tài),這樣中斷就可以對(duì)高低變換的頻率波形進(jìn)行計(jì)數(shù),本設(shè)計(jì)中是來檢測(cè)波形頻率的所以最好的計(jì)一秒鐘采樣一次,同樣的問題,單片機(jī)必須的計(jì)若干次數(shù)才采集一個(gè)中斷次數(shù),這樣才可以實(shí)現(xiàn)一秒采集數(shù)據(jù)。不同溫度條件下,在同一測(cè)量場(chǎng)合測(cè)得的濕度差異很大,所以還需要對(duì)測(cè)量頻率作溫度補(bǔ)償。但是由上面的關(guān)系,可以采用軟件的方法進(jìn)行溫度補(bǔ)償和線性化處理,來實(shí)現(xiàn)高精度地測(cè)量相對(duì)濕度。從圖3可以看出,相對(duì)濕度在20%RH—80%RH范圍內(nèi)線性度較好,兩端的線性較差。從圖33可以看出,對(duì)于不同的環(huán)境濕度,振蕩頻率的溫度補(bǔ)償系數(shù)也是不同的。濕度傳感器THS11的電容值隨溫度的變化導(dǎo)致振蕩器的振蕩頻率發(fā)生變化,所以可以通過測(cè)量振蕩器輸出頻率,獲得相對(duì)濕度值。單片機(jī)中數(shù)據(jù)的處理全部是用二進(jìn)制數(shù)表示的,這種表示方法不適合我們平時(shí)的讀數(shù)習(xí)慣,還得先將十六進(jìn)制數(shù)轉(zhuǎn)變?yōu)閷?duì)應(yīng)的十進(jìn)制數(shù)來顯示,此時(shí)一次溫度檢測(cè)才算完成,程序返回進(jìn)行重復(fù)檢測(cè)來實(shí)現(xiàn)實(shí)時(shí)檢測(cè)環(huán)境溫度。在P1M0、P1M1中對(duì)相應(yīng)的位進(jìn)行設(shè)置。STC12C5410AD 系列帶A/D 轉(zhuǎn)換的單片機(jī)在P1 口,有8 路10 位高速A/D 轉(zhuǎn)換器, 速度可達(dá)100KHz。模擬/ 數(shù)字轉(zhuǎn)換結(jié)果計(jì)算公式如下:結(jié)果 ( ADC_DATA[7:0],ADC_LOW2[1:0] ) = 1024 x Vin / VccVin 為模擬輸入通道輸入電壓,Vcc 為單片機(jī)實(shí)際工作電壓,用單片機(jī)工作電壓作為模擬參考電壓。儀表的應(yīng)用軟件系統(tǒng)配置有專用的服務(wù)子程序完成此項(xiàng)工作,僅僅需按儀表的LED顯示器的提示完成有關(guān)操作。由于V0、KT準(zhǔn)確與否直接影響溫度測(cè)量的精度,可通過以下方法進(jìn)行校正:用其它高精度的測(cè)溫儀測(cè)量環(huán)境溫度T1,輸入本儀表,單片機(jī)同時(shí)記錄下相應(yīng)的A/D轉(zhuǎn)換的數(shù)字量V1。tVR從ADC口輸入到單片機(jī)中,進(jìn)行A/D轉(zhuǎn)換,成為數(shù)字量VT。t為絕對(duì)溫度,單位為K。167。它的內(nèi)容包括主程序的起始地址,中斷服務(wù)程序的起始地址,有關(guān)內(nèi)存單元及相關(guān)部件的初始化和一些子程序調(diào)用等等。圖212 LED顯示電路圖由于設(shè)計(jì)中用到AD轉(zhuǎn)化器,AD轉(zhuǎn)化器的參考電壓的穩(wěn)定對(duì)于采集數(shù)據(jù)的準(zhǔn)確性有著直接的關(guān)系,本設(shè)計(jì)采用了從USB接口取電和通過變壓器供電兩種方式,前者是為了在下程序和做一些基本測(cè)試的方便,但USB接口的電壓不是很穩(wěn)定,所以如果僅用這一種供電方式是不夠的,再加上溫度傳感器AD590的工作電壓必須要超過5V的要求,本設(shè)計(jì)還采用了后者通過變壓電源供電。從LED 顯示器的顯示原理可知,為了顯示字母數(shù)字,必須最終轉(zhuǎn)換成相應(yīng)段選碼。 P1。167。應(yīng)用電路如下圖所示:圖23 濕度檢測(cè)電路濕度檢測(cè)電路的工作過程為:環(huán)境相對(duì)濕度的變化導(dǎo)致濕度傳感器THS11的電容變化,從而引起RC振蕩回路的震蕩頻率的變化,由于THS11的容值的變化和環(huán)境中相對(duì)濕度的變化接近線性關(guān)系,那么在震蕩回路中R的阻值固定的情況下,振蕩頻率也就和相對(duì)濕度有一個(gè)近似的線性關(guān)系,震蕩回路的頻率通過NE555后形成一個(gè)穩(wěn)定的、頻率跟相對(duì)濕度由近似線性關(guān)系的波,單片機(jī)通過測(cè)量該頻率的變化,經(jīng)應(yīng)用軟件的溫度補(bǔ)償和線性化處理可獲得環(huán)境相對(duì)濕度值。濕度檢測(cè)電路通過濕度傳感器THS11采集環(huán)境中的相對(duì)濕度。溫度檢測(cè)電路如圖22所示: 圖22 溫度檢測(cè)電路工作過程:因?yàn)榱鬟^AD590的電流與熱力學(xué)溫度成正比,電流經(jīng)電阻R43轉(zhuǎn)換為電壓信號(hào),所以電阻R43上的電壓也將隨環(huán)境中溫度的變化而變化。AD590是一種電流輸出型二端式集成溫度傳感器,其主要技術(shù)參數(shù):測(cè)溫范圍-55℃~+150℃;工作電壓+4V~+30V;精度177。167。隨著電容的充電,RST腳上的電壓才慢慢下降。 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 路。STC12C5410AD單片機(jī)的引腳排列如圖21。此系統(tǒng)采用了以含有A/D轉(zhuǎn)換器的STC12C5410AD單片機(jī)為核心控制器件,以高靈敏度傳感器為溫濕度的獲取元件,用LED作為顯示設(shè)備的方案。 溫濕度檢測(cè)儀應(yīng)用軟件系統(tǒng)的設(shè)計(jì)方案該儀表的系統(tǒng)程序設(shè)計(jì)采用模塊化的程序設(shè)計(jì)方法,其結(jié)構(gòu)見圖12:圖12 軟件設(shè)計(jì)模塊圖檢測(cè)儀的應(yīng)用軟件系統(tǒng)包括:主程序模塊、溫度檢測(cè)模塊、相對(duì)濕度檢測(cè)模塊、鍵盤和顯示模塊等。相對(duì)濕度測(cè)量電路由NE555構(gòu)成的振蕩電路組成,濕度傳感器THS11的電容隨環(huán)境相對(duì)濕度的變化而變化,從而導(dǎo)致振蕩器的振蕩頻率變化,STC12C5410AD單片機(jī)通過測(cè)量振蕩器輸出的振蕩頻率,經(jīng)過軟件處理后,獲得相對(duì)濕度值??赏ㄟ^鍵盤電路來選擇檢測(cè)濕度或者檢測(cè)溫度,也可以自動(dòng)檢測(cè)溫度和濕度。5%,檢測(cè)范圍0~100%;2. 溫度測(cè)量精度: 177。該設(shè)計(jì)主要分為硬件設(shè)計(jì)和軟件部分的設(shè)計(jì),下面先總體介紹設(shè)計(jì)的性能指標(biāo)和軟硬件的總體設(shè)計(jì)方案。第1章 溫濕度檢測(cè)儀總體技術(shù)方案溫濕度作為環(huán)境中的兩項(xiàng)重要參數(shù),在很多方面都起著重要的作用。本文介紹的濕度檢測(cè)儀就是以STV12C5410AD單片機(jī)作為核心控制器設(shè)計(jì)的,它具有體積小、操作簡(jiǎn)單、性能穩(wěn)定、測(cè)量精度高和抗干擾能力強(qiáng)等優(yōu)點(diǎn),可廣泛應(yīng)用于需要對(duì)溫濕度進(jìn)行測(cè)控的領(lǐng)域中。 鍵盤掃描 20167。 溫濕度檢測(cè)模塊程序設(shè)計(jì) 12167。 溫度檢測(cè)電路 7167。 溫濕度檢測(cè)儀的硬件設(shè)計(jì)總體結(jié)構(gòu)方案 3167。關(guān)鍵詞:STC12C5410AD單片機(jī),傳感器,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章 溫濕度檢測(cè)儀總體技術(shù)方案 2167?;诖藛纹瑱C(jī)的溫濕度檢測(cè)儀可以實(shí)時(shí)、準(zhǔn)確的測(cè)量環(huán)境中的溫度和相對(duì)濕度。本溫濕度檢測(cè)儀是以STC12C540AD單片機(jī)的為