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