|
摘 要:本文介紹了利用兩套SPCE061A精簡開發(fā)板(簡稱61板)和兩套傳感器模組設(shè)計(jì)的遙控環(huán)境測量系統(tǒng)方案:其中利用一套61板作為主控制器,配合一套傳感器模組設(shè)計(jì)遙控器發(fā)射系統(tǒng);利用另一套61板作為主控制器,配合另一套傳感器模組設(shè)計(jì)環(huán)境測量系統(tǒng),該環(huán)境測量系統(tǒng)可以接收來自遙控器發(fā)射系統(tǒng)發(fā)射的信號,同時(shí)根據(jù)接收到的信號做相應(yīng)的環(huán)境測量(包括溫度測量和光線監(jiān)測)操作。該環(huán)境測量系統(tǒng)具有語音功能。 關(guān)鍵詞:SPCE061A 環(huán)境測量 溫度 光線 紅外遙控 1 引言 隨著人們生活水平的提高,各電子產(chǎn)品進(jìn)行著突飛猛進(jìn)的發(fā)展,電子測量儀也逐漸豐富起來,原來的模擬產(chǎn)品逐步向數(shù)字化轉(zhuǎn)化,并且不斷走向人性化。 本文中設(shè)計(jì)的環(huán)境測量系統(tǒng)充分發(fā)揮了人性化的特質(zhì),利用SPCE061A的語音功能,配合傳感器模組,可以做一個(gè)簡單的在3m內(nèi)可以控制的模擬遙控器,遙控掛在墻上或者不在手邊的環(huán)境測量系統(tǒng)測量溫度或者光線,并且語音播放測量結(jié)果,該環(huán)境測量系統(tǒng)也由SPCE061A控制,配合傳感器模組設(shè)計(jì)而成。 1.1 系統(tǒng)參數(shù) 本方案系統(tǒng)由兩大模塊組成:模擬遙控器發(fā)射模塊和環(huán)境測量模塊。 其中,模擬遙控器發(fā)射模塊的參數(shù)有: ◆工作電壓:3V~5.5V; ◆遙控距離:>3m(工作在4.5V時(shí))。 環(huán)境測量模塊: ◆工作電壓:3V~5.5V; ◆工作溫度:0~60℃; ◆測量溫度:0~60℃; ◆溫度測量最小單位:1℃; ◆測量光線:三個(gè)等級:光線柔和、光線太強(qiáng)和光線太弱。 1.2 功能簡介 本方案可以實(shí)現(xiàn): ◆模擬遙控器發(fā)射模塊三個(gè)按鍵可以控制和啟動環(huán)境測量模塊環(huán)境的測量; ◆環(huán)境測量模塊環(huán)境的測量包括溫度的測量和光線的檢測; ◆語音播放測量結(jié)果: 播放溫度值,當(dāng)溫度太高時(shí),播放溫馨提示語"溫度太高,請調(diào)大空調(diào)",溫度太低時(shí),播放"溫度太低,請調(diào)小空調(diào)"; 播放光線狀況,一般光線下,播放"光線柔和";如果光線太暗,播放"光線太弱,請注意保護(hù)眼睛";如果光線太刺眼,播放"光線太強(qiáng),請注意保護(hù)眼睛"。 2 系統(tǒng)硬件設(shè)計(jì) 本系統(tǒng)包括遙控器發(fā)射和環(huán)境測試兩個(gè)部分。如圖2.1為遙控器發(fā)射部分系統(tǒng)框圖,發(fā)射部分采用SPCE061A作為主控制器,傳感器模組的紅外發(fā)射管發(fā)射電路作為發(fā)射裝置,通過SPCE061A精簡開發(fā)板(簡稱61板)上的按鍵控制發(fā)射。 如圖2.2為環(huán)境測量模塊的系統(tǒng)框圖,同樣采用SPCE061A作為主控制器,傳感器模組的溫度和光線測量模塊測量溫度或者光線,并通過61板配帶的揚(yáng)聲器播放測量值。  圖2.1 遙控器發(fā)射部分系統(tǒng)結(jié)構(gòu)框圖及連接圖  圖2.2 環(huán)境測量部分系統(tǒng)結(jié)構(gòu)框圖及連接圖
遙控器發(fā)射部分事實(shí)上作為環(huán)境測量部分的模擬遙控器,當(dāng)遙控器發(fā)射部分的KEY1、KEY2、KEY3三個(gè)按鍵按下的時(shí)候,控制環(huán)境測量部分進(jìn)行相應(yīng)的測量。本方案中,當(dāng)KEY1按下時(shí),啟動溫度測量,并播放環(huán)境溫度值;當(dāng)KEY2鍵按下時(shí),啟動光線檢測,播放檢測到的光線狀況;KEY3作為保留鍵。 2.1 SPCE061A芯片簡介 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ù)器(可自動預(yù)置初始計(jì)數(shù)值); ◆7通道10位電壓模-數(shù)轉(zhuǎn)換器(ADC)和單通道聲音模-數(shù)轉(zhuǎn)換器; ◆2個(gè)10位DAC(數(shù)-模轉(zhuǎn)換)輸出通道; ◆14個(gè)中斷源可來自定時(shí)器A / B,時(shí)基,2個(gè)外部時(shí)鐘源輸入,鍵喚醒; ◆具備串行設(shè)備接口; ◆低電壓復(fù)位(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 傳感器模組 請注意下面兩點(diǎn),以免燒壞紅外發(fā)射接收對管: 1、傳感器模組的Tx口在不使用時(shí)請置低電平; 2、不要直接給Tx口上接高電平測試紅外發(fā)射接收電路,而應(yīng)發(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板作為單片機(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)中無論是遙控器發(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)軟件設(shè)計(jì) 由于本方案中用到了兩套61板,所以也有兩套各自的軟件代碼:遙控器發(fā)射部分和環(huán)境測量部分。 3.1 遙控器發(fā)射部分 遙控器發(fā)射部分包括下面程序模塊: 主程序:掃描鍵盤,根據(jù)不同的鍵值發(fā)射不同的序列; 按鍵掃描:掃描鍵盤,判斷是否有鍵按下; 遙控器發(fā)射信號:遙控器發(fā)射程序,各個(gè)鍵發(fā)送不同的序列; 中斷服務(wù):語音播放中斷服務(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ù),如果二者相同,說明取到了正確的鍵值。  圖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ù); 溫度測量程序:測量溫度,返回溫度值,詳細(xì)請參考傳感器模組的使用說明書; 光線檢測程序:測量光線狀況,返回光線狀況,詳細(xì)請參考傳感器模組的使用說明書; 遙控解碼程序:接收來自遙控器發(fā)射部分的信號,并解碼,詳細(xì)請參考傳感器模組的使用說明書。 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ā)射,可以模擬一個(gè)簡易遙控器。同樣,利用SPCE061A配合傳感器模組可以接收來自遙控器的信號。這樣就可以做一系列的遙控控制系統(tǒng)。本方案只是一個(gè)簡單的例子,稍加擴(kuò)展,就可以做一些類似紅外遙控機(jī)器人、紅外遙控小車等方案。 5 參考文獻(xiàn) [1] 羅亞非.凌陽十六位單片機(jī)應(yīng)用基礎(chǔ)[M]. 北京:北京航天航空出版社,2001. [2] 傳感器模組使用說明書. http://www.unsp.com. |