摘要: 為解決教師在多媒體教學(xué)演示中要不斷地利用鼠標(biāo)進(jìn)行翻頁、跳轉(zhuǎn)等控制, 設(shè)計(jì)以低功耗MSP430F149 單片機(jī)為控制核心,接收紅外遙控發(fā)射的指令信息,并通過串口轉(zhuǎn)USB 接口和計(jì)算機(jī)通信,控制通過PowerPoint 演示軟件所制作的教學(xué)課件的運(yùn)行、翻頁、關(guān)閉等,此遙控教鞭與傳統(tǒng)的鼠標(biāo)控制相比使用更方便,功能更強(qiáng)大。
傳統(tǒng)教學(xué)中, 教師以黑板和粉筆為最主要的教學(xué)用具, 這種教學(xué)手段單一, 課堂效率低, 不能激起學(xué)生學(xué)習(xí)的興趣。多媒體輔助教學(xué)模式的興起, 彌補(bǔ)了傳統(tǒng)教學(xué)的不足, 在實(shí)際操作中教師在進(jìn)行多媒體演示時(shí), 要不時(shí)地進(jìn)行鼠標(biāo)操作, 使之不得不中斷與學(xué)生的互動。無線遙控教鞭是一個很好的解決方案。
1 系統(tǒng)框架
整個系統(tǒng)由發(fā)射電路、接收電路和計(jì)算機(jī)軟件三部分組成。發(fā)射部分, 即手持教鞭部分, 以日本NEC 的uPD6121G 為控制核心。首先, 當(dāng)按下按鍵后, 掃描鍵盤得到遙控碼, 不同的鍵值對應(yīng)不同的編碼信息, 此鍵值信息代表著向計(jì)算機(jī)中演示的軟件PowerPoint 發(fā)送的控制命令, 然后將此編碼信息經(jīng)調(diào)制后由紅外發(fā)光管向外發(fā)射。接收部分的控制核心為TI 公司推出的低功耗MSP430 單片機(jī), 主要完成發(fā)射端傳送來的紅外調(diào)制信息的接收和解碼操作, 將解析出的控制命令信息經(jīng)串口轉(zhuǎn)USB 接口傳送至計(jì)算機(jī), 此硬件模塊可直接插在計(jì)算機(jī)的USB 接口中, 直接由USB 接口供電; 計(jì)算機(jī)中的上位機(jī)軟件采用C# 編寫, 使用Microsoft Studio 2005 自帶的SerialPort 組件。SerialPort 對象接收到數(shù)據(jù)時(shí), 將在輔助線程上引發(fā)DataReceived 事件。處理此事件, 得到從串口發(fā)送來的控制命令數(shù)據(jù)信息, 實(shí)現(xiàn)控制多媒體演示軟件PowerPoint 的目的。系統(tǒng)框架如圖1 所示。
2 硬件系統(tǒng)
2.1 紅外遙控發(fā)射模塊
通用紅外遙控發(fā)射電路由編/解碼專用集成電路芯片uPD6121G 進(jìn)行控制操作,發(fā)射部分包括鍵盤矩陣、編碼調(diào)制、LED 紅外發(fā)送器等部分。電路原理圖如圖2 所示。
日本NEC 公司的uPD6121G 組成發(fā)射電路的編碼原理描述如下, 當(dāng)發(fā)射器按鍵按下后, 即有遙控碼發(fā)出, 所按的鍵不同遙控編碼也不同, 具有以下特征: 采用脈寬調(diào)制的串行碼, 以脈寬為0.565 ms 、間隔0.56 ms 、周期為1.125 ms 的組合表示二進(jìn)制的“0” ; 以脈寬為0.565 ms 、間隔1.685ms 、周期為2.25 ms 的組合表示二進(jìn)制的“1”, 其波形如圖3 所示。
上述“0” 和“1” 組成的32 bit 二進(jìn)制碼, 經(jīng)38 kHz 的載頻進(jìn)行二次調(diào)制以提高發(fā)射效率, 達(dá)到降低電源功耗的目的。然后再通過紅外發(fā)射二極管產(chǎn)生紅外線向空間發(fā)射, 如圖4 所示。
由圖可知, 遙控編碼是連續(xù)的32 bit 二進(jìn)制碼組, 其中前16 bit 為用戶地址和地址反碼, 防止不同機(jī)型互相干擾, 后16 bit 為用戶操作碼和操作反碼, 也可以稱為功能碼。本次設(shè)計(jì)就采用此種紅外遙控。
2.2 紅外遙控接收模塊
接收電路使用一體化紅外接收頭HS0038 , 接收紅外信號頻率為38 kHz , 接收距離可達(dá)35 m。它能將遙控信號的接收、放大、檢波、整形集于一身, 并且輸出可以讓單片機(jī)識別的TTL 信號, 這樣大大簡化了接收電路的復(fù)雜程度和電路的設(shè)計(jì)工作, 方便使用。其與單片機(jī)連接原理圖如圖5 所示, 由單片機(jī)采集紅外遙控命令并在內(nèi)部完成解碼工作。
2.3 基于PL2302 的串口轉(zhuǎn)USB 接口模塊
由于RS232 標(biāo)準(zhǔn)串行接口已逐漸在電腦主板中淘汰, 為了充分利用USB 接口即插即用的特點(diǎn), 本設(shè)計(jì)采用了PL2303 芯片實(shí)現(xiàn)了RS232 與USB 接口的轉(zhuǎn)換, 省去了RS232 電平以TTL 電平的裝換。用PL2303 實(shí)現(xiàn)的USB 轉(zhuǎn)串口的電路如圖6 所示。
3 軟件系統(tǒng)
3.1 單片機(jī)系統(tǒng)軟件
單片機(jī)采用TI 的低功耗MSP430F149 為控制核心,其主要功能是解碼紅外遙控器發(fā)送來的信號和驅(qū)動液晶顯示。其中解碼紅外遙控信號是實(shí)現(xiàn)本設(shè)計(jì)的關(guān)鍵,紅外接收電路的信號輸出接到單片機(jī)的外部中斷0 上,當(dāng)單片機(jī)接收到信號后進(jìn)入中斷函數(shù), 首先判斷是否為引導(dǎo)碼, 如果是則進(jìn)入解碼程序, 否則丟棄。解碼程序通過精確的延時(shí)函數(shù), 判斷每個發(fā)送過來的每一位為0 還是1, 并把數(shù)據(jù)保存到date 數(shù)組中, 其中date [0] 保存地址碼,date [1] 中保存地址反碼,date [2] 中保存數(shù)據(jù)碼,date[3] 保存數(shù)據(jù)反碼。解碼的流程圖如圖7 所示。
圖7 系統(tǒng)軟件流程圖
3.2 上位機(jī)軟件
上位機(jī)軟件采用C# 編寫, 使用Microsoft Studio 2005自帶的SerialPort 組件。SerialPort 對象接收到數(shù)據(jù)時(shí), 將在輔助線程上引發(fā)DataReceived 事件。處理此事件, 得到從串口發(fā)送來的數(shù)據(jù), 并給計(jì)算機(jī)發(fā)送相應(yīng)的命令。
本軟件界面人性化, 用戶在設(shè)置過程中有簡單的操作提示, 使得人機(jī)對話更為簡單, 當(dāng)設(shè)置完成后可以讓程序隱藏到后臺運(yùn)行。小軟件還有漂亮的皮膚界面, 上位機(jī)軟件截圖和軟件的工作流程如圖8 所示。
本設(shè)計(jì)以MSP430F149 單片機(jī)為控制核心, 所設(shè)計(jì)的遙控教鞭功耗低, 僅須兩節(jié)電池供電; 命令接收采用USB 接口, 其供電可直接通過計(jì)算機(jī)取電。工作時(shí), 只要打開控制軟件和PPT 演示軟件, 其操作就可通過手執(zhí)部分隨意控制, 可方便地應(yīng)用于教學(xué)、會議室等需演示的場合。