基于SPCE061A控制的紅外泵液器的改進設(shè)計
圖2中,SPCE06lA的IOB2口用于檢測接收信號(該信號的兩種狀態(tài)高低電平表明伸手縮手動作),IOB8口用于控制紅外發(fā)射,IOA4控制微電機,IOA5是工作指示燈,IOA0—2可控制1*3鍵盤,IOA9口是低壓檢測,DACl口接語音播報。引腳12、13是振蕩器的輸出和輸入,引腳16、17、18分別接在線調(diào)試器的使能端、時鐘腳和數(shù)據(jù)腳。
根據(jù)設(shè)計的功能以及硬件電路,本系統(tǒng)的軟件部分共需要如下幾部分控制程序:
第一是發(fā)射紅外信號。由紅外發(fā)射二極管GR40101可知,SPCE06lA單片機的IOB8應(yīng)輸出固定頻率的脈沖,以激勵器件發(fā)射紅外線,因此程序首先需要完成此項功能。實際的程序應(yīng)通過SPCE061A單片機內(nèi)部的計時中斷產(chǎn)生8 kHz的脈沖。具體的操作是通過SPCE061A單片機工作的晶振頻率來計算經(jīng)過多少分頻才能將頻率降低至8 kHz,由此得到計數(shù)值并將計數(shù)值填入計數(shù)器,同時對相應(yīng)中斷寄存器進行設(shè)置。然后在計時中斷的中斷服務(wù)子程序中通過語句IOB8=!IOB8來控制該IO口以輸出8 kHz的方波。
其次是紅外信號的接收處理。在硬件部分已經(jīng)說明,本裝置在伸手時,IOB2將出現(xiàn)高電平,其它情況該引腳輸出為低電平,由此可通過IOB2的中斷功能實現(xiàn)對高電平的檢測,當(dāng)IOB2出現(xiàn)上升沿時,表明此時伸手,系統(tǒng)進入IOB2的中斷服務(wù)程序,該中斷服務(wù)程序可完成控制水泵和指示燈的功能。
再就是鍵盤掃描程序??刹捎貌樵兎椒ㄑh(huán)檢測是否有鍵按下,當(dāng)檢測到按鍵端口有低電平時,便進入相應(yīng)的處理程序,其中管理自動手動模式的按鍵是通過這樣的方法實現(xiàn)的,即每次有鍵按下,標(biāo)志位變化,原來為0就置位,為1就清零,從而控制手動和自動的選擇。其它的按鍵進入按鍵處理程序后作相應(yīng)的處理,同時啟動語音輸出等。
圖3所示是本系統(tǒng)的軟件流程圖。首先是系統(tǒng)的初始化,然后是各個IO端口的初始化,最后執(zhí)行系統(tǒng)任務(wù)。主任務(wù)的流程是IOA0-2口都處于高電平,當(dāng)按下哪個鍵時,哪個端口變?yōu)榈碗娖?,然后檢測IOA0—2端口的電平值,如果發(fā)現(xiàn)有端口變?yōu)榈碗娖?,則把信息送到主任務(wù)那邊的等待鍵盤信息,當(dāng)人使用完后結(jié)束,系統(tǒng)返回上面一層,繼續(xù)等待鍵盤信息;如果發(fā)現(xiàn)鍵盤的各端口都是高電平,沒有變?yōu)榈碗娖降亩丝冢瑒t返回,然后繼續(xù)鍵盤掃描任務(wù)。
3 結(jié)束語
本文給出了一種由凌陽公司生產(chǎn)的單片機芯片SPCE061A控制的紅外泵液器的改進設(shè)計方法。經(jīng)改進后的泵液器增加了手動和自動模式轉(zhuǎn)換、低電壓檢測報警以及使用完畢后語音提示等三項功能。實測證明:該裝置還具有抗干擾能力強,無誤操作且省電節(jié)能等特點。
評論