SPCE061A在語音環(huán)境濕度測量儀的應(yīng)用
本系統(tǒng)直接使用SPCE061A精簡開發(fā)板上的按鍵,61板上按鍵電路如圖 2.7。
圖 2.7 61板按鍵電路3 系統(tǒng)軟件設(shè)計(jì)
本方案的軟件系統(tǒng)包括下面模塊:
按鍵掃描:掃描按鍵,判斷是否有鍵按下,在Key.c文件中實(shí)現(xiàn);
濕度測量:端口初始化,測量濕度并返回濕度值,在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鍵按下則啟動測量,調(diào)用濕度測量函數(shù)測量濕度,并根據(jù)測量結(jié)果進(jìn)行相應(yīng)播放;如果不是KEY1鍵按下,返回繼續(xù)掃描按鍵。
注意:在每次測量前都會關(guān)斷快速中斷FIQ,這是因?yàn)樵跍y量過程中用到了定時(shí)/計(jì)數(shù)器TimerA,而在語音播放時(shí)打開了FIQ中斷,所以在測量前需先關(guān)閉,以免在測量過程中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ù),如果二者相同,說明取到了正確的鍵值。
圖 3.2 按鍵掃描程序流程圖
評論