基于SPCE061A控制的紅外泵液器的改進設計

圖2中,SPCE06lA的IOB2口用于檢測接收信號(該信號的兩種狀態高低電平表明伸手縮手動作),IOB8口用于控制紅外發射,IOA4控制微電機,IOA5是工作指示燈,IOA0—2可控制1*3鍵盤,IOA9口是低壓檢測,DACl口接語音播報。引腳12、13是振蕩器的輸出和輸入,引腳16、17、18分別接在線調試器的使能端、時鐘腳和數據腳。
根據設計的功能以及硬件電路,本系統的軟件部分共需要如下幾部分控制程序:
第一是發射紅外信號。由紅外發射二極管GR40101可知,SPCE06lA單片機的IOB8應輸出固定頻率的脈沖,以激勵器件發射紅外線,因此程序首先需要完成此項功能。實際的程序應通過SPCE061A單片機內部的計時中斷產生8 kHz的脈沖。具體的操作是通過SPCE061A單片機工作的晶振頻率來計算經過多少分頻才能將頻率降低至8 kHz,由此得到計數值并將計數值填入計數器,同時對相應中斷寄存器進行設置。然后在計時中斷的中斷服務子程序中通過語句IOB8=!IOB8來控制該IO口以輸出8 kHz的方波。
其次是紅外信號的接收處理。在硬件部分已經說明,本裝置在伸手時,IOB2將出現高電平,其它情況該引腳輸出為低電平,由此可通過IOB2的中斷功能實現對高電平的檢測,當IOB2出現上升沿時,表明此時伸手,系統進入IOB2的中斷服務程序,該中斷服務程序可完成控制水泵和指示燈的功能。
再就是鍵盤掃描程序。可采用查詢方法循環檢測是否有鍵按下,當檢測到按鍵端口有低電平時,便進入相應的處理程序,其中管理自動手動模式的按鍵是通過這樣的方法實現的,即每次有鍵按下,標志位變化,原來為0就置位,為1就清零,從而控制手動和自動的選擇。其它的按鍵進入按鍵處理程序后作相應的處理,同時啟動語音輸出等。
圖3所示是本系統的軟件流程圖。首先是系統的初始化,然后是各個IO端口的初始化,最后執行系統任務。主任務的流程是IOA0-2口都處于高電平,當按下哪個鍵時,哪個端口變為低電平,然后檢測IOA0—2端口的電平值,如果發現有端口變為低電平,則把信息送到主任務那邊的等待鍵盤信息,當人使用完后結束,系統返回上面一層,繼續等待鍵盤信息;如果發現鍵盤的各端口都是高電平,沒有變為低電平的端口,則返回,然后繼續鍵盤掃描任務。

3 結束語
本文給出了一種由凌陽公司生產的單片機芯片SPCE061A控制的紅外泵液器的改進設計方法。經改進后的泵液器增加了手動和自動模式轉換、低電壓檢測報警以及使用完畢后語音提示等三項功能。實測證明:該裝置還具有抗干擾能力強,無誤操作且省電節能等特點。
評論