SPCE061A在語(yǔ)音環(huán)境濕度測量?jì)x的應用
本系統直接使用SPCE061A精簡(jiǎn)開(kāi)發(fā)板上的按鍵,61板上按鍵電路如圖 2.7。
圖 2.7 61板按鍵電路3 系統軟件設計
本方案的軟件系統包括下面模塊:
按鍵掃描:掃描按鍵,判斷是否有鍵按下,在Key.c文件中實(shí)現;
濕度測量:端口初始化,測量濕度并返回濕度值,在Hum_Measure.c文件中實(shí)現;
語(yǔ)音播放任意數字:播放任意的整數,本系統中用來(lái)播放濕度值,在PlayVoice.c文件中實(shí)現;
中斷服務(wù):語(yǔ)音播放中斷服務(wù)程序和IRQ2中斷讀計數值程序,在isr.asm文件中定義。
3.1 各模塊程序說(shuō)明
3.1.1 主程序
主程序流程如圖 3.1:調用按鍵掃描程序讀取鍵值,如果是KEY1鍵按下則啟動(dòng)測量,調用濕度測量函數測量濕度,并根據測量結果進(jìn)行相應播放;如果不是KEY1鍵按下,返回繼續掃描按鍵。
注意:在每次測量前都會(huì )關(guān)斷快速中斷FIQ,這是因為在測量過(guò)程中用到了定時(shí)/計數器TimerA,而在語(yǔ)音播放時(shí)打開(kāi)了FIQ中斷,所以在測量前需先關(guān)閉,以免在測量過(guò)程中CPU一直相應FIQ中斷,造成不必要的麻煩。
圖 3.1 主程序流程圖3.1.2 按鍵掃描模塊
本系統中只用到了一個(gè)按鍵--61板上的KEY1鍵,這個(gè)鍵和IOA0連接。按鍵掃描程序流程如圖 3.2所示。利用延時(shí)去抖的方法,先取一次端口數據,延時(shí)一段時(shí)間,一般延時(shí)幾十ms即可,再取一次端口數據,如果二者相同,說(shuō)明取到了正確的鍵值。
圖 3.2 按鍵掃描程序流程圖
評論