摘 要:本文介紹了利用兩套SPCE061A精簡開發(fā)板(簡稱61板)和兩套傳感器模組設計的遙控環(huán)境測量系統(tǒng)方案:其中利用一套61板作為主控制器,配合一套傳感器模組設計遙控器發(fā)射系統(tǒng);利用另一套61板作為主控制器,配合另一套傳感器模組設計環(huán)境測量系統(tǒng),該環(huán)境測量系統(tǒng)可以接收來自遙控器發(fā)射系統(tǒng)發(fā)射的信號,同時根據(jù)接收到的信號做相應的環(huán)境測量(包括溫度測量和光線監(jiān)測)操作。該環(huán)境測量系統(tǒng)具有語音功能。
關(guān)鍵詞:SPCE061A 環(huán)境測量 溫度 光線 紅外遙控
1 引言
隨著人們生活水平的提高,各電子產(chǎn)品進行著突飛猛進的發(fā)展,電子測量儀也逐漸豐富起來,原來的模擬產(chǎn)品逐步向數(shù)字化轉(zhuǎn)化,并且不斷走向人性化。
本文中設計的環(huán)境測量系統(tǒng)充分發(fā)揮了人性化的特質(zhì),利用SPCE061A的語音功能,配合傳感器模組,可以做一個簡單的在3m內(nèi)可以控制的模擬遙控器,遙控掛在墻上或者不在手邊的環(huán)境測量系統(tǒng)測量溫度或者光線,并且語音播放測量結(jié)果,該環(huán)境測量系統(tǒng)也由SPCE061A控制,配合傳感器模組設計而成。
1.1 系統(tǒng)參數(shù)
本方案系統(tǒng)由兩大模塊組成:模擬遙控器發(fā)射模塊和環(huán)境測量模塊。
其中,模擬遙控器發(fā)射模塊的參數(shù)有:
◆工作電壓:3V~5.5V;
◆遙控距離:>3m(工作在4.5V時)。
環(huán)境測量模塊:
◆工作電壓:3V~5.5V;
◆工作溫度:0~60℃;
◆測量溫度:0~60℃;
◆溫度測量最小單位:1℃;
◆測量光線:三個等級:光線柔和、光線太強和光線太弱。
1.2 功能簡介
本方案可以實現(xiàn):
◆模擬遙控器發(fā)射模塊三個按鍵可以控制和啟動環(huán)境測量模塊環(huán)境的測量;
◆環(huán)境測量模塊環(huán)境的測量包括溫度的測量和光線的檢測;
◆語音播放測量結(jié)果:
播放溫度值,當溫度太高時,播放溫馨提示語"溫度太高,請調(diào)大空調(diào)",溫度太低時,播放"溫度太低,請調(diào)小空調(diào)";
播放光線狀況,一般光線下,播放"光線柔和";如果光線太暗,播放"光線太弱,請注意保護眼睛";如果光線太刺眼,播放"光線太強,請注意保護眼睛"。
2 系統(tǒng)硬件設計
本系統(tǒng)包括遙控器發(fā)射和環(huán)境測試兩個部分。如圖2.1為遙控器發(fā)射部分系統(tǒng)框圖,發(fā)射部分采用SPCE061A作為主控制器,傳感器模組的紅外發(fā)射管發(fā)射電路作為發(fā)射裝置,通過SPCE061A精簡開發(fā)板(簡稱61板)上的按鍵控制發(fā)射。
如圖2.2為環(huán)境測量模塊的系統(tǒng)框圖,同樣采用SPCE061A作為主控制器,傳感器模組的溫度和光線測量模塊測量溫度或者光線,并通過61板配帶的揚聲器播放測量值。
圖2.1 遙控器發(fā)射部分系統(tǒng)結(jié)構(gòu)框圖及連接圖
圖2.2 環(huán)境測量部分系統(tǒng)結(jié)構(gòu)框圖及連接圖
遙控器發(fā)射部分事實上作為環(huán)境測量部分的模擬遙控器,當遙控器發(fā)射部分的KEY1、KEY2、KEY3三個按鍵按下的時候,控制環(huán)境測量部分進行相應的測量。本方案中,當KEY1按下時,啟動溫度測量,并播放環(huán)境溫度值;當KEY2鍵按下時,啟動光線檢測,播放檢測到的光線狀況;KEY3作為保留鍵。
2.1 SPCE061A芯片簡介
SPCE061A是一款基于 'nSP內(nèi)核的16位單片機,其芯片特性如下:
◆工作電壓:內(nèi)核工作電壓VDD為3.0~3.6V(CPU),I/O口工作電壓VDDH為VDD~5.5V(I/O);
◆CPU時鐘:0.32MHz~49.152MHz;
◆內(nèi)置2K字SRAM和32K閃存ROM;
◆系統(tǒng)處于備用狀態(tài)下(時鐘處于停止狀態(tài)),耗電小于2μA@3.6V;
◆具備觸鍵喚醒的功能;
◆32位通用可編程輸入/輸出端口;
◆2個16位可編程定時器/計數(shù)器(可自動預置初始計數(shù)值);
◆7通道10位電壓模-數(shù)轉(zhuǎn)換器(ADC)和單通道聲音模-數(shù)轉(zhuǎn)換器;
◆2個10位DAC(數(shù)-模轉(zhuǎn)換)輸出通道;
◆14個中斷源可來自定時器A / B,時基,2個外部時鐘源輸入,鍵喚醒;
◆具備串行設備接口;
◆低電壓復位(LVR)功和低電壓監(jiān)測(LVD)功能;
◆內(nèi)置在線仿真(ICE,In- Circuit Emulator)接口。
SPCE061A的內(nèi)部結(jié)構(gòu)框圖如圖2.3所示。
圖2.3 SPCE061A內(nèi)部結(jié)構(gòu)圖
2.2 傳感器模組
請注意下面兩點,以免燒壞紅外發(fā)射接收對管:
1、傳感器模組的Tx口在不使用時請置低電平;
2、不要直接給Tx口上接高電平測試紅外發(fā)射接收電路,而應發(fā)射38KHz的調(diào)制波測試。
2.2.1 功能簡介
◆可以測量溫度;
◆可以測量光線狀況;
◆可以檢測障礙物;
◆可以接收來自遙控器的信號;
◆可以模擬簡易遙控器。
2.2.2 結(jié)構(gòu)示意圖
圖2.4 傳感器模組結(jié)構(gòu)示意圖
只需要用兩條10Pin排線把圖中J1與SPCE061A 的IOB口高八位連接,J2與IOA口低八位連接即可。
2.3 硬件電路
2.3.1 SPCE061A最小系統(tǒng)
本方案使用61板作為單片機最小系統(tǒng)。61板包括SPCE061A芯片及其外圍的基本模塊,外圍模塊包括:晶振輸入模塊(OSC)、鎖相環(huán)外圍電路(PLL)、復位電路(RESET)、指示燈(LED)等,如圖2.5所示。
圖 2.5 SPCE061A最小系統(tǒng)
2.3.2 61板鍵盤電路
本系統(tǒng)直接使用61板上的鍵盤,電路如圖2.6。
圖 2.6 61板鍵盤電路
2.3.3 傳感器模組電路
本系統(tǒng)中無論是遙控器發(fā)射部分,還是環(huán)境測量模塊,都用到了傳感器模組。傳感器模組的電路原理圖如圖2.7,由電源模塊、紅外發(fā)射接收(發(fā)射接收對管)電路模塊、溫度及光線測量模塊、紅外接收頭模塊和接口模塊組成。
在遙控器發(fā)射部分的傳感器模組中,主要用到了紅外發(fā)射接收模塊的發(fā)射電路,模組上的Tx接61板的IOB8,"+"接"+","-"接"-"。
在環(huán)境測量模塊的傳感器模組中,用紅外接收頭模塊接收模擬遙控器(遙控器發(fā)射部分)發(fā)射的信號,用溫度/光線測量模塊測量溫度或者光線狀況;模組上的RS接61板的IOA7,LO接IOA1,TO接IOA0,"+"接"+","-"接"-"。
圖 2.7 傳感器模組電路
3 系統(tǒng)軟件設計
由于本方案中用到了兩套61板,所以也有兩套各自的軟件代碼:遙控器發(fā)射部分和環(huán)境測量部分。
3.1 遙控器發(fā)射部分
遙控器發(fā)射部分包括下面程序模塊:
主程序:掃描鍵盤,根據(jù)不同的鍵值發(fā)射不同的序列;
按鍵掃描:掃描鍵盤,判斷是否有鍵按下;
遙控器發(fā)射信號:遙控器發(fā)射程序,各個鍵發(fā)送不同的序列;
中斷服務:語音播放中斷服務程序和IRQ1中斷讀計數(shù)值程序,在isr.asm文件中定義。
3.1.1 主程序
主程序流程如圖3.1:調(diào)用鍵盤掃描程序讀取鍵值,如果是KEY1鍵按下則調(diào)用KEY1發(fā)射序列程序發(fā)射序列1000 0000B;如果是KEY2鍵按下則調(diào)用KEY2發(fā)射序列程序發(fā)射序列1000 0001B;如果是KEY3鍵按下則調(diào)用KEY3發(fā)射序列程序發(fā)射序列1000 0010B。
圖 3.1 主程序流程圖
3.1.2 按鍵掃描模塊
本系統(tǒng)中只用到61板上的KEY1、KEY2和KEY3鍵,這三個鍵已經(jīng)分別和IOA0、IOA1、IOA2連接。鍵盤掃描程序流程圖如圖3.2所示。利用延時去抖的方法,先取一次端口數(shù)據(jù),延時一段時間,一般延時幾十ms即可,再取一次端口數(shù)據(jù),如果二者相同,說明取到了正確的鍵值。
圖3.2 鍵盤掃描程序流程圖
3.1.3 遙控器發(fā)射信號模塊
系統(tǒng)中KEY1發(fā)射序列程序、KEY2發(fā)射序列程序、KEY3發(fā)射序列程序的流程都一樣,所不同的是發(fā)射的序列不同,發(fā)射信號程序流程如圖3.3,先發(fā)射起始位,接著發(fā)射8位數(shù)據(jù)序列,KEY1發(fā)射序列程序發(fā)射的8bit序列是1000 0000B,KEY2發(fā)射序列程序發(fā)射的8bit序列是1000 0001B,KEY3發(fā)射序列程序發(fā)射的8bit序列是1000 0010B。
圖 3.3 發(fā)射信號程序流程圖
3.2 環(huán)境測量部分
環(huán)境測量部分包括以下程序模塊:
主程序:根據(jù)解碼的碼值不同,執(zhí)行溫度測量或者光線檢測;
語音播放程序:播放任意三位整數(shù);
溫度測量程序:測量溫度,返回溫度值,詳細請參考傳感器模組的使用說明書;
光線檢測程序:測量光線狀況,返回光線狀況,詳細請參考傳感器模組的使用說明書;
遙控解碼程序:接收來自遙控器發(fā)射部分的信號,并解碼,詳細請參考傳感器模組的使用說明書。
3.2.1 主程序
主程序流程如圖3.4:接收信號,解碼;如果接收到的碼值是0x0080(1000 0000B),測量溫度值并語音播放;如果接收到的碼值是0x0081(1000 0001B),測量光線狀況并語音播放。
圖 3.4 環(huán)境測量主程序流程圖
3.2.2 語音播放任意整數(shù)程序
語音播放任意三位整數(shù)程序流程如圖3.5。
圖 3.5 語音播放任意三位數(shù)流程圖
4 結(jié)語
利用SPCE061A發(fā)送序列數(shù)據(jù),配合傳感器模組發(fā)射,可以模擬一個簡易遙控器。同樣,利用SPCE061A配合傳感器模組可以接收來自遙控器的信號。這樣就可以做一系列的遙控控制系統(tǒng)。本方案只是一個簡單的例子,稍加擴展,就可以做一些類似紅外遙控機器人、紅外遙控小車等方案。
5 參考文獻
[1] 羅亞非.凌陽十六位單片機應用基礎[M]. 北京:北京航天航空出版社,2001.
[2] 傳感器模組使用說明書. http://www.unsp.com.
源代碼下載:
temp_08061414314011.rar