SPCE061A在語音環(huán)境濕度測(cè)量?jī)x的應(yīng)用
摘 要:本文介紹了利用16位單片機(jī)SPCE061A作為控制中心,配合電容式濕度傳感器HS1101測(cè)量濕度的方案。該濕度測(cè)量?jī)x具有語音播放功能,利用按鍵控制濕度的測(cè)量和濕度值的播放。
該方案利用濕度傳感器和一個(gè)固定電阻串聯(lián),與SPCE061A的IOB2和IOB4連接,形成RC反饋電路,即SPCE061A的Feedback電路;利用SPCE061A的Feedback功能,實(shí)現(xiàn)了濕度傳感器從電容到頻率的轉(zhuǎn)換,SPCE061A讀取 Feedback電路的工作頻率后,又轉(zhuǎn)換成電容,根據(jù)電容值計(jì)算得到濕度值。
關(guān)鍵詞:SPCE061A 傳感器 濕度 HS1101 Feedback
該方案利用濕度傳感器和一個(gè)固定電阻串聯(lián),與SPCE061A的IOB2和IOB4連接,形成RC反饋電路,即SPCE061A的Feedback電路;利用SPCE061A的Feedback功能,實(shí)現(xiàn)了濕度傳感器從電容到頻率的轉(zhuǎn)換,SPCE061A讀取 Feedback電路的工作頻率后,又轉(zhuǎn)換成電容,根據(jù)電容值計(jì)算得到濕度值。
關(guān)鍵詞:SPCE061A 傳感器 濕度 HS1101 Feedback
1 引言
工農(nóng)業(yè)生產(chǎn)、氣象、環(huán)保、國防、科研、航天等部門,經(jīng)常需要對(duì)環(huán)境濕度進(jìn)行測(cè)量及控制。對(duì)環(huán)境溫、濕度的控制以及對(duì)工業(yè)材料水份值的監(jiān)測(cè)與分析都已成為比較普遍的技術(shù)條件之一,但在常規(guī)的環(huán)境參數(shù)中,濕度是最難準(zhǔn)確測(cè)量的一個(gè)參數(shù)。這是因?yàn)闇y(cè)量濕度要比測(cè)量溫度復(fù)雜得多,溫度是個(gè)獨(dú)立的被測(cè)量,而濕度卻受其他因素(大氣壓強(qiáng)、溫度)的影響。此外,濕度的校準(zhǔn)也是一個(gè)難題。目前,人們探測(cè)的濕度測(cè)量從原理上有二、三十種之多。隨著20世紀(jì)后半期電子業(yè)的發(fā)展,電子式濕度傳感器產(chǎn)品及濕度測(cè)量于90年代也隨之興起,并在后面這些時(shí)間內(nèi)取得了長足的發(fā)展。該方案就是利用電子式傳感器配合單片機(jī)實(shí)現(xiàn)具有語音功能人性化的測(cè)濕儀。
工農(nóng)業(yè)生產(chǎn)、氣象、環(huán)保、國防、科研、航天等部門,經(jīng)常需要對(duì)環(huán)境濕度進(jìn)行測(cè)量及控制。對(duì)環(huán)境溫、濕度的控制以及對(duì)工業(yè)材料水份值的監(jiān)測(cè)與分析都已成為比較普遍的技術(shù)條件之一,但在常規(guī)的環(huán)境參數(shù)中,濕度是最難準(zhǔn)確測(cè)量的一個(gè)參數(shù)。這是因?yàn)闇y(cè)量濕度要比測(cè)量溫度復(fù)雜得多,溫度是個(gè)獨(dú)立的被測(cè)量,而濕度卻受其他因素(大氣壓強(qiáng)、溫度)的影響。此外,濕度的校準(zhǔn)也是一個(gè)難題。目前,人們探測(cè)的濕度測(cè)量從原理上有二、三十種之多。隨著20世紀(jì)后半期電子業(yè)的發(fā)展,電子式濕度傳感器產(chǎn)品及濕度測(cè)量于90年代也隨之興起,并在后面這些時(shí)間內(nèi)取得了長足的發(fā)展。該方案就是利用電子式傳感器配合單片機(jī)實(shí)現(xiàn)具有語音功能人性化的測(cè)濕儀。
1.1 系統(tǒng)參數(shù)
本方案系統(tǒng)的主要參數(shù):
工作溫度:0~70℃;
工作濕度:0~100%RH;
測(cè)量范圍:1%~99%RH;
精度:±5RH%。
本方案系統(tǒng)的主要參數(shù):
工作溫度:0~70℃;
工作濕度:0~100%RH;
測(cè)量范圍:1%~99%RH;
精度:±5RH%。
1.2 功能簡(jiǎn)介
本方案可以實(shí)現(xiàn):
按鍵控制啟動(dòng)濕度測(cè)量;
語音播放測(cè)量濕度值;
濕度判斷,并有溫馨提示語,當(dāng)濕度太高時(shí),播放"潮濕,請(qǐng)打開除濕機(jī)",濕度太低時(shí),播放"太干,請(qǐng)打開加濕器"。
本方案可以實(shí)現(xiàn):
按鍵控制啟動(dòng)濕度測(cè)量;
語音播放測(cè)量濕度值;
濕度判斷,并有溫馨提示語,當(dāng)濕度太高時(shí),播放"潮濕,請(qǐng)打開除濕機(jī)",濕度太低時(shí),播放"太干,請(qǐng)打開加濕器"。
2 系統(tǒng)硬件設(shè)計(jì)
對(duì)于濕度測(cè)量?jī)x,除了具有一個(gè)控制器控制測(cè)量外,還需要測(cè)量器。本系統(tǒng)中采用SPCE061A作為控制器,電容式濕度傳感器HS1101作為測(cè)量器,利用一個(gè)按鍵來啟動(dòng)濕度測(cè)量和語音播放。由于電容不能直接和SPCE061A的I/O口連接進(jìn)行測(cè)量,所以需要一個(gè)電路模塊,與SPCE061A的Feedback接口IOB2、IOB4,IOB3、IOB5連接,實(shí)現(xiàn)從電容到頻率的轉(zhuǎn)換,系統(tǒng)的結(jié)構(gòu)框圖如圖 2.1。
對(duì)于濕度測(cè)量?jī)x,除了具有一個(gè)控制器控制測(cè)量外,還需要測(cè)量器。本系統(tǒng)中采用SPCE061A作為控制器,電容式濕度傳感器HS1101作為測(cè)量器,利用一個(gè)按鍵來啟動(dòng)濕度測(cè)量和語音播放。由于電容不能直接和SPCE061A的I/O口連接進(jìn)行測(cè)量,所以需要一個(gè)電路模塊,與SPCE061A的Feedback接口IOB2、IOB4,IOB3、IOB5連接,實(shí)現(xiàn)從電容到頻率的轉(zhuǎn)換,系統(tǒng)的結(jié)構(gòu)框圖如圖 2.1。

圖 2.1 系統(tǒng)結(jié)構(gòu)框圖
SPCE061A單片機(jī)作為主控芯片,根據(jù)讀到的鍵值判斷是否啟動(dòng)測(cè)量,測(cè)量時(shí)負(fù)責(zé)讀取Feedback電路的工作頻率,根據(jù)頻率計(jì)算HS1101的電容和它所在環(huán)境的濕度,并把濕度通過喇叭播放出來。同時(shí)如果濕度值太高或者太低,系統(tǒng)會(huì)播放溫馨提示。
2.1 SPCE061A芯片簡(jiǎn)介
SPCE061A是一款基于 'nSP內(nèi)核的16位單片機(jī),其芯片特性如下:
◆工作電壓:內(nèi)核工作電壓VDD為3.0~3.6V(CPU),I/O口工作電壓VDDH為VDD~5.5V(I/O);
◆CPU時(shí)鐘:0.32MHz~49.152MHz;
◆內(nèi)置2K字SRAM和32K閃存ROM;
◆系統(tǒng)處于備用狀態(tài)下(時(shí)鐘處于停止?fàn)顟B(tài)),耗電小于2μA@3.6V;
◆具備觸鍵喚醒的功能;
◆32位通用可編程輸入/輸出端口;
◆2個(gè)16位可編程定時(shí)器/計(jì)數(shù)器(可自動(dòng)預(yù)置初始計(jì)數(shù)值);
◆7通道10位電壓模-數(shù)轉(zhuǎn)換器(ADC)和單通道聲音模-數(shù)轉(zhuǎn)換器;
◆2個(gè)10位DAC(數(shù)-模轉(zhuǎn)換)輸出通道;
◆14個(gè)中斷源可來自定時(shí)器A / B,時(shí)基,2個(gè)外部時(shí)鐘源輸入,鍵喚醒;
◆具備串行設(shè)備接口;
◆低電壓復(fù)位(LVR)功和低電壓監(jiān)測(cè)(LVD)功能;
◆內(nèi)置在線仿真(ICE,In- Circuit Emulator)接口。
SPCE061A的內(nèi)部結(jié)構(gòu)框圖如圖 2.2所示。
SPCE061A是一款基于 'nSP內(nèi)核的16位單片機(jī),其芯片特性如下:
◆工作電壓:內(nèi)核工作電壓VDD為3.0~3.6V(CPU),I/O口工作電壓VDDH為VDD~5.5V(I/O);
◆CPU時(shí)鐘:0.32MHz~49.152MHz;
◆內(nèi)置2K字SRAM和32K閃存ROM;
◆系統(tǒng)處于備用狀態(tài)下(時(shí)鐘處于停止?fàn)顟B(tài)),耗電小于2μA@3.6V;
◆具備觸鍵喚醒的功能;
◆32位通用可編程輸入/輸出端口;
◆2個(gè)16位可編程定時(shí)器/計(jì)數(shù)器(可自動(dòng)預(yù)置初始計(jì)數(shù)值);
◆7通道10位電壓模-數(shù)轉(zhuǎn)換器(ADC)和單通道聲音模-數(shù)轉(zhuǎn)換器;
◆2個(gè)10位DAC(數(shù)-模轉(zhuǎn)換)輸出通道;
◆14個(gè)中斷源可來自定時(shí)器A / B,時(shí)基,2個(gè)外部時(shí)鐘源輸入,鍵喚醒;
◆具備串行設(shè)備接口;
◆低電壓復(fù)位(LVR)功和低電壓監(jiān)測(cè)(LVD)功能;
◆內(nèi)置在線仿真(ICE,In- Circuit Emulator)接口。
SPCE061A的內(nèi)部結(jié)構(gòu)框圖如圖 2.2所示。

圖 2.2 SPCE061A內(nèi)部結(jié)構(gòu)圖
2.2 濕度傳感器HS1101
2.2.1 濕度測(cè)量簡(jiǎn)介
1、濕度定義
在計(jì)量法中規(guī)定,濕度定義為"物象狀態(tài)的量"。日常生活中所指的濕度為相對(duì)濕度,用RH%表示。總言之,即氣體中(通常為空氣中)所含水蒸氣量(水蒸氣壓)與其相同情況下飽和水蒸氣量(飽和水蒸氣壓)的百分比。
2、濕度測(cè)量方法
從測(cè)試的輸出參量上區(qū)分,濕度測(cè)量方法主要分為以下幾類:利用物質(zhì)幾何尺寸變化的測(cè)濕法(伸縮法),干濕球法,冷凝露點(diǎn)法,氯化鋰露點(diǎn)法,電濕度測(cè)量法(電阻法、電容法),電解法(庫侖濕度計(jì))以及其它測(cè)濕方法。這些測(cè)量方法讀者可以找相關(guān)資料進(jìn)行進(jìn)一步了解,限于篇幅,這里不再贅述。下面重點(diǎn)介紹本系統(tǒng)中用到的電濕度測(cè)量法的特點(diǎn)。
3、電子式濕度傳感器的特點(diǎn)
電子式濕度傳感器是近幾十年,特別是近20年才迅速發(fā)展起來的。濕度傳感器生產(chǎn)廠在產(chǎn)品出廠前都要采用標(biāo)準(zhǔn)濕度發(fā)生器來逐支標(biāo)定,電子式濕度傳感器的準(zhǔn)確度可以達(dá)到2%一3%RH。
在實(shí)際使用中,由于塵土、油污及有害氣體的影響,使用時(shí)間一長,會(huì)產(chǎn)生老化,精度下降,濕度傳感器年漂移量一般都在±2%左右,甚至更高。一般情況下,生產(chǎn)廠商會(huì)標(biāo)明1次標(biāo)定的有效使用時(shí)間為1年或2年,到期需重新標(biāo)定。
電子式濕度傳感器的精度水平要結(jié)合其長期穩(wěn)定性去判斷,一般說來,電子式濕度傳感器的長期穩(wěn)定性和使用壽命都不是很好。
濕度傳感器是采用半導(dǎo)體技術(shù),因此對(duì)使用的環(huán)境溫度有要求,超過其規(guī)定的使用溫度將對(duì)傳感器造成損壞。
所以電子式濕度傳感器測(cè)濕方法更適合于在潔凈及常溫的場(chǎng)合使用。
電子式濕度傳感器主要有電容式和電阻式兩種。
電容式濕敏元件的優(yōu)點(diǎn)在于響應(yīng)速度快、體積小、線性度好、較穩(wěn)定,國外有些產(chǎn)品還具備高溫工作性能。但是達(dá)到上述性能的產(chǎn)品多為國外名牌,價(jià)格都較昂貴。市場(chǎng)上出售的一些電容式濕敏元件低價(jià)產(chǎn)品,往往達(dá)不到上述水平,線性度、一致性和重復(fù)性都不甚理想,30%RH以下,80%RH以上感濕段變形嚴(yán)重。有些產(chǎn)品采用單片機(jī)補(bǔ)償修正,使?jié)穸瘸霈F(xiàn)"階躍"性的跳躍,使精度降低,出現(xiàn)一致性差、線性差的缺點(diǎn)。無論高檔次或低檔次的電容式濕敏元件,長期穩(wěn)定性都不理想,多數(shù)長期使用漂移嚴(yán)重,濕敏電容容值變化為pF級(jí),1%RH的變化不足0.5pF,容值的漂移改變往往引起幾十%RH的誤差,大多數(shù)電容式濕敏元件不具備40℃以上溫度下工作的性能,往往失效和損壞。
本系統(tǒng)中我們使用電容式濕度傳感器HS1101,這顆傳感器比較常見,適用于一些對(duì)精度要求不高的場(chǎng)合。
2.2.1 濕度測(cè)量簡(jiǎn)介
1、濕度定義
在計(jì)量法中規(guī)定,濕度定義為"物象狀態(tài)的量"。日常生活中所指的濕度為相對(duì)濕度,用RH%表示。總言之,即氣體中(通常為空氣中)所含水蒸氣量(水蒸氣壓)與其相同情況下飽和水蒸氣量(飽和水蒸氣壓)的百分比。
2、濕度測(cè)量方法
從測(cè)試的輸出參量上區(qū)分,濕度測(cè)量方法主要分為以下幾類:利用物質(zhì)幾何尺寸變化的測(cè)濕法(伸縮法),干濕球法,冷凝露點(diǎn)法,氯化鋰露點(diǎn)法,電濕度測(cè)量法(電阻法、電容法),電解法(庫侖濕度計(jì))以及其它測(cè)濕方法。這些測(cè)量方法讀者可以找相關(guān)資料進(jìn)行進(jìn)一步了解,限于篇幅,這里不再贅述。下面重點(diǎn)介紹本系統(tǒng)中用到的電濕度測(cè)量法的特點(diǎn)。
3、電子式濕度傳感器的特點(diǎn)
電子式濕度傳感器是近幾十年,特別是近20年才迅速發(fā)展起來的。濕度傳感器生產(chǎn)廠在產(chǎn)品出廠前都要采用標(biāo)準(zhǔn)濕度發(fā)生器來逐支標(biāo)定,電子式濕度傳感器的準(zhǔn)確度可以達(dá)到2%一3%RH。
在實(shí)際使用中,由于塵土、油污及有害氣體的影響,使用時(shí)間一長,會(huì)產(chǎn)生老化,精度下降,濕度傳感器年漂移量一般都在±2%左右,甚至更高。一般情況下,生產(chǎn)廠商會(huì)標(biāo)明1次標(biāo)定的有效使用時(shí)間為1年或2年,到期需重新標(biāo)定。
電子式濕度傳感器的精度水平要結(jié)合其長期穩(wěn)定性去判斷,一般說來,電子式濕度傳感器的長期穩(wěn)定性和使用壽命都不是很好。
濕度傳感器是采用半導(dǎo)體技術(shù),因此對(duì)使用的環(huán)境溫度有要求,超過其規(guī)定的使用溫度將對(duì)傳感器造成損壞。
所以電子式濕度傳感器測(cè)濕方法更適合于在潔凈及常溫的場(chǎng)合使用。
電子式濕度傳感器主要有電容式和電阻式兩種。
電容式濕敏元件的優(yōu)點(diǎn)在于響應(yīng)速度快、體積小、線性度好、較穩(wěn)定,國外有些產(chǎn)品還具備高溫工作性能。但是達(dá)到上述性能的產(chǎn)品多為國外名牌,價(jià)格都較昂貴。市場(chǎng)上出售的一些電容式濕敏元件低價(jià)產(chǎn)品,往往達(dá)不到上述水平,線性度、一致性和重復(fù)性都不甚理想,30%RH以下,80%RH以上感濕段變形嚴(yán)重。有些產(chǎn)品采用單片機(jī)補(bǔ)償修正,使?jié)穸瘸霈F(xiàn)"階躍"性的跳躍,使精度降低,出現(xiàn)一致性差、線性差的缺點(diǎn)。無論高檔次或低檔次的電容式濕敏元件,長期穩(wěn)定性都不理想,多數(shù)長期使用漂移嚴(yán)重,濕敏電容容值變化為pF級(jí),1%RH的變化不足0.5pF,容值的漂移改變往往引起幾十%RH的誤差,大多數(shù)電容式濕敏元件不具備40℃以上溫度下工作的性能,往往失效和損壞。
本系統(tǒng)中我們使用電容式濕度傳感器HS1101,這顆傳感器比較常見,適用于一些對(duì)精度要求不高的場(chǎng)合。
2.2.2 HS1101簡(jiǎn)介
1、基本參數(shù)
如圖 2.3。如果沒有特別標(biāo)注,默認(rèn)下圖的測(cè)量溫度Tα=25℃,測(cè)量時(shí)HS1101工作頻率為10KHz。
1、基本參數(shù)
如圖 2.3。如果沒有特別標(biāo)注,默認(rèn)下圖的測(cè)量溫度Tα=25℃,測(cè)量時(shí)HS1101工作頻率為10KHz。

圖 2.3 HS1101參數(shù)圖
2、特性曲線
如圖 2.4。測(cè)量溫度Tα=25℃,測(cè)量時(shí)HS1101工作頻率為10KHz。
如圖 2.4。測(cè)量溫度Tα=25℃,測(cè)量時(shí)HS1101工作頻率為10KHz。

圖 2.4 HS1101特性曲線
2.3 硬件電路
2.3.1 SPCE061A最小系統(tǒng)
本方案使用SPCE061A精簡(jiǎn)開發(fā)板(61板)作為單片機(jī)最小系統(tǒng)。61板包括SPCE061A芯片及其外圍的基本模塊,外圍模塊包括:晶振輸入模塊(OSC)、鎖相環(huán)外圍電路(PLL)、復(fù)位電路(RESET)、指示燈(LED)等,如下圖所示。
2.3.1 SPCE061A最小系統(tǒng)
本方案使用SPCE061A精簡(jiǎn)開發(fā)板(61板)作為單片機(jī)最小系統(tǒng)。61板包括SPCE061A芯片及其外圍的基本模塊,外圍模塊包括:晶振輸入模塊(OSC)、鎖相環(huán)外圍電路(PLL)、復(fù)位電路(RESET)、指示燈(LED)等,如下圖所示。

圖 2.5 SPCE061A最小系統(tǒng)
2.3.2 電容式濕度傳感器HS1101電路模塊
由于濕度傳感器HS1101是電容式的,所以要想辦法測(cè)量得到它的電容,利用單片機(jī)沒有辦法直接讀到,但是利用SPCE061A的Feedback功能可以測(cè)得HS1101所在RC電路的工作頻率,這樣就可以計(jì)算得到它的電容。
為了減小誤差,利用一個(gè)固定電容和一個(gè)電阻構(gòu)成另一個(gè)Feedback電路,作為濕度傳感器HS1101的基準(zhǔn)。
如圖 2.6:根據(jù)圖 2.3中的參數(shù),為了使?jié)穸葌鞲衅鱄S1101的工作頻率盡量接近10KHz,選擇一個(gè)620KΩ的電阻和HS1101形成Feedback1;390pF的電容作為基準(zhǔn),和另外一個(gè)620KΩ電阻形成Feedback2。
由于濕度傳感器HS1101是電容式的,所以要想辦法測(cè)量得到它的電容,利用單片機(jī)沒有辦法直接讀到,但是利用SPCE061A的Feedback功能可以測(cè)得HS1101所在RC電路的工作頻率,這樣就可以計(jì)算得到它的電容。
為了減小誤差,利用一個(gè)固定電容和一個(gè)電阻構(gòu)成另一個(gè)Feedback電路,作為濕度傳感器HS1101的基準(zhǔn)。
如圖 2.6:根據(jù)圖 2.3中的參數(shù),為了使?jié)穸葌鞲衅鱄S1101的工作頻率盡量接近10KHz,選擇一個(gè)620KΩ的電阻和HS1101形成Feedback1;390pF的電容作為基準(zhǔn),和另外一個(gè)620KΩ電阻形成Feedback2。

圖 2.6 電容式濕度傳感器電路模塊電路
2.3.3 按鍵電路
本系統(tǒng)直接使用SPCE061A精簡(jiǎn)開發(fā)板上的按鍵,61板上按鍵電路如圖 2.7。
本系統(tǒng)直接使用SPCE061A精簡(jiǎn)開發(fā)板上的按鍵,61板上按鍵電路如圖 2.7。

圖 2.7 61板按鍵電路
3 系統(tǒng)軟件設(shè)計(jì)
本方案的軟件系統(tǒng)包括下面模塊:
按鍵掃描:掃描按鍵,判斷是否有鍵按下,在Key.c文件中實(shí)現(xiàn);
濕度測(cè)量:端口初始化,測(cè)量濕度并返回濕度值,在Hum_Measure.c文件中實(shí)現(xiàn);
語音播放任意數(shù)字:播放任意的整數(shù),本系統(tǒng)中用來播放濕度值,在PlayVoice.c文件中實(shí)現(xiàn);
中斷服務(wù):語音播放中斷服務(wù)程序和IRQ2中斷讀計(jì)數(shù)值程序,在isr.asm文件中定義。
本方案的軟件系統(tǒng)包括下面模塊:
按鍵掃描:掃描按鍵,判斷是否有鍵按下,在Key.c文件中實(shí)現(xiàn);
濕度測(cè)量:端口初始化,測(cè)量濕度并返回濕度值,在Hum_Measure.c文件中實(shí)現(xiàn);
語音播放任意數(shù)字:播放任意的整數(shù),本系統(tǒng)中用來播放濕度值,在PlayVoice.c文件中實(shí)現(xiàn);
中斷服務(wù):語音播放中斷服務(wù)程序和IRQ2中斷讀計(jì)數(shù)值程序,在isr.asm文件中定義。
3.1 各模塊程序說明
3.1.1 主程序
主程序流程如圖 3.1:調(diào)用按鍵掃描程序讀取鍵值,如果是KEY1鍵按下則啟動(dòng)測(cè)量,調(diào)用濕度測(cè)量函數(shù)測(cè)量濕度,并根據(jù)測(cè)量結(jié)果進(jìn)行相應(yīng)播放;如果不是KEY1鍵按下,返回繼續(xù)掃描按鍵。
注意:在每次測(cè)量前都會(huì)關(guān)斷快速中斷FIQ,這是因?yàn)樵跍y(cè)量過程中用到了定時(shí)/計(jì)數(shù)器TimerA,而在語音播放時(shí)打開了FIQ中斷,所以在測(cè)量前需先關(guān)閉,以免在測(cè)量過程中CPU一直相應(yīng)FIQ中斷,造成不必要的麻煩。
3.1.1 主程序
主程序流程如圖 3.1:調(diào)用按鍵掃描程序讀取鍵值,如果是KEY1鍵按下則啟動(dòng)測(cè)量,調(diào)用濕度測(cè)量函數(shù)測(cè)量濕度,并根據(jù)測(cè)量結(jié)果進(jìn)行相應(yīng)播放;如果不是KEY1鍵按下,返回繼續(xù)掃描按鍵。
注意:在每次測(cè)量前都會(huì)關(guān)斷快速中斷FIQ,這是因?yàn)樵跍y(cè)量過程中用到了定時(shí)/計(jì)數(shù)器TimerA,而在語音播放時(shí)打開了FIQ中斷,所以在測(cè)量前需先關(guān)閉,以免在測(cè)量過程中CPU一直相應(yīng)FIQ中斷,造成不必要的麻煩。

圖 3.1 主程序流程圖
3.1.2 按鍵掃描模塊
本系統(tǒng)中只用到了一個(gè)按鍵--61板上的KEY1鍵,這個(gè)鍵和IOA0連接。按鍵掃描程序流程如圖 3.2所示。利用延時(shí)去抖的方法,先取一次端口數(shù)據(jù),延時(shí)一段時(shí)間,一般延時(shí)幾十ms即可,再取一次端口數(shù)據(jù),如果二者相同,說明取到了正確的鍵值。
本系統(tǒng)中只用到了一個(gè)按鍵--61板上的KEY1鍵,這個(gè)鍵和IOA0連接。按鍵掃描程序流程如圖 3.2所示。利用延時(shí)去抖的方法,先取一次端口數(shù)據(jù),延時(shí)一段時(shí)間,一般延時(shí)幾十ms即可,再取一次端口數(shù)據(jù),如果二者相同,說明取到了正確的鍵值。

圖 3.2 按鍵掃描程序流程圖
3.1.3 濕度測(cè)量程序流程圖
濕度測(cè)量程序流程如圖 3.3,為了減少誤差,確保測(cè)量的正確性,測(cè)量四次,去掉一個(gè)最高值和一個(gè)最低值,如果中間兩個(gè)數(shù)相差不大于10,則中間兩個(gè)數(shù)的平均值就是測(cè)量的最終數(shù)據(jù),程序中這個(gè)數(shù)據(jù)為TimerA的計(jì)數(shù)值。
由于用Feedback功能測(cè)量傳感器的電容,如圖 2.6。事實(shí)上利用Feedback功能直接能測(cè)到傳感器工作的頻率,根據(jù)這個(gè)頻率來才能計(jì)算傳感器的電容值。
測(cè)量傳感器工作頻率的方法:利用TimeB作為定時(shí)器,TimeA作為計(jì)數(shù)器;根據(jù)TimeB定時(shí)時(shí)間內(nèi)TimeA計(jì)數(shù)的個(gè)數(shù)來測(cè)得傳感器的工作頻率。
濕度測(cè)量程序流程如圖 3.3,為了減少誤差,確保測(cè)量的正確性,測(cè)量四次,去掉一個(gè)最高值和一個(gè)最低值,如果中間兩個(gè)數(shù)相差不大于10,則中間兩個(gè)數(shù)的平均值就是測(cè)量的最終數(shù)據(jù),程序中這個(gè)數(shù)據(jù)為TimerA的計(jì)數(shù)值。
由于用Feedback功能測(cè)量傳感器的電容,如圖 2.6。事實(shí)上利用Feedback功能直接能測(cè)到傳感器工作的頻率,根據(jù)這個(gè)頻率來才能計(jì)算傳感器的電容值。
測(cè)量傳感器工作頻率的方法:利用TimeB作為定時(shí)器,TimeA作為計(jì)數(shù)器;根據(jù)TimeB定時(shí)時(shí)間內(nèi)TimeA計(jì)數(shù)的個(gè)數(shù)來測(cè)得傳感器的工作頻率。

圖 3.3 濕度測(cè)量程序流程圖
3.1.4 語音播放任意整數(shù)數(shù)據(jù)程序
語音播放任意三位整數(shù)程序流程如圖 3.4。這個(gè)程序可以定義形式參數(shù)來傳遞任意三位數(shù)。先計(jì)算這個(gè)數(shù)據(jù)的百、十、個(gè)位,再分別進(jìn)行播放,播放的流程如下:
語音播放任意三位整數(shù)程序流程如圖 3.4。這個(gè)程序可以定義形式參數(shù)來傳遞任意三位數(shù)。先計(jì)算這個(gè)數(shù)據(jù)的百、十、個(gè)位,再分別進(jìn)行播放,播放的流程如下:

圖 3.4 語音播放任意三位數(shù)流程圖
3.1.5 中斷服務(wù)程序流程圖
FIQ的中斷服務(wù)程序如圖 3.5。FIQ中斷服務(wù)程序主要功能是調(diào)用F_FIQ_Service_SACM_S480函數(shù)解碼并輸出。
IRQ2中斷服務(wù)程序如圖 3.6。IRQ2中斷服務(wù)程序有兩個(gè)功能:一是保存TimerA的計(jì)數(shù)值;二是為了配合濕度測(cè)量函數(shù),設(shè)置定時(shí)時(shí)間溢出標(biāo)志,如果進(jìn)入這個(gè)中斷服務(wù)程序,說明定時(shí)溢出。
FIQ的中斷服務(wù)程序如圖 3.5。FIQ中斷服務(wù)程序主要功能是調(diào)用F_FIQ_Service_SACM_S480函數(shù)解碼并輸出。
IRQ2中斷服務(wù)程序如圖 3.6。IRQ2中斷服務(wù)程序有兩個(gè)功能:一是保存TimerA的計(jì)數(shù)值;二是為了配合濕度測(cè)量函數(shù),設(shè)置定時(shí)時(shí)間溢出標(biāo)志,如果進(jìn)入這個(gè)中斷服務(wù)程序,說明定時(shí)溢出。

圖 3.5 FIQ中斷服務(wù)程序流程圖

圖 3.6 IRQ2中斷服務(wù)程序流程圖

圖 3.6 IRQ2中斷服務(wù)程序流程圖
4 結(jié)語
濕度測(cè)量本身比溫度測(cè)量復(fù)雜的多,主要是由于濕度受溫度、大氣壓的影響。對(duì)于電容式濕度傳感器來說,更是難上加難,因?yàn)闇y(cè)量電容本身也是一個(gè)非常復(fù)雜的過程。SPCE061A的Feedback功能給這種測(cè)量提供了很大的方便,利用固定電阻和電容式濕度傳感器形成RC振蕩電路,接在Feedback的輸入和輸出端,這樣通過測(cè)量頻率,很容易就能得到電容式濕度傳感器的電容,根據(jù)標(biāo)定值就可以得到測(cè)量濕度。
濕度測(cè)量本身比溫度測(cè)量復(fù)雜的多,主要是由于濕度受溫度、大氣壓的影響。對(duì)于電容式濕度傳感器來說,更是難上加難,因?yàn)闇y(cè)量電容本身也是一個(gè)非常復(fù)雜的過程。SPCE061A的Feedback功能給這種測(cè)量提供了很大的方便,利用固定電阻和電容式濕度傳感器形成RC振蕩電路,接在Feedback的輸入和輸出端,這樣通過測(cè)量頻率,很容易就能得到電容式濕度傳感器的電容,根據(jù)標(biāo)定值就可以得到測(cè)量濕度。
文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。