摘 要: 本文主要介紹利用SPMC65P2404A單片機(jī)做紅外接收,可作為用戶系統(tǒng)設(shè)計(jì)的參考。 關(guān)鍵詞:SPMC65P2404A、行列式鍵掃描 1 引言 本系統(tǒng)應(yīng)用凌陽科技8位工業(yè)級(jí)單片機(jī)SPMC65P2404A做紅外接收,SPMC65P2404A單片機(jī)的定時(shí)、計(jì)數(shù)器具有CCP(Capture、Compare、PWM)功能,利用其Capture功能可以很方便完成紅外接收。本例可作為用戶設(shè)計(jì)參考,所有程序源代碼及說明文件在凌陽單片機(jī)網(wǎng)站(www.sunplusmcu.com)上可以下載。 2 芯片特性簡(jiǎn)介 SPMC65系列單片機(jī)是凌陽科技公司設(shè)計(jì)開發(fā)的8位工業(yè)級(jí)通用型單片機(jī),具有超強(qiáng)的抗干擾能力,廣泛應(yīng)用于家用電器、工業(yè)控制、儀器儀表等控制領(lǐng)域。SPMC65P2404A單片機(jī)功能特點(diǎn)如下: ● SPMC65 CPU - 支持 182 條指令, 11 種尋址方式 - 系統(tǒng)時(shí)鐘頻率最高可達(dá) 8MHz - 支持位操作指令(置 1 、清零、取反、測(cè)試) ● 存儲(chǔ)空間 - 4K 字節(jié)的程序空間( OTP ),并且可設(shè)置保密功能。 - 192 字節(jié)的 RAM (含堆?臻g) ● I/O 端口 - 23/15 個(gè)具有復(fù)用功能的雙向 I/O 端口 - 可編程設(shè)置為帶上拉 / 下拉電阻輸入或者懸浮輸入 - I/O 具備 LED 驅(qū)動(dòng)能力 - 其中 2 個(gè) I/O 端口能提供 20mA 的吸入電流 ● 中斷管理 - 外部中斷選項(xiàng):非屏蔽中斷 NMI 或可屏蔽中斷 IRQ - 支持 4 個(gè)外部中斷,其中的一個(gè)可設(shè)置為非屏蔽中斷 NMI - 12 個(gè)內(nèi)部中斷 ● 復(fù)位管理 - 上電復(fù)位 (POR) - 低電壓復(fù)位 (LVR) - 看門狗復(fù)位 (WDR) - 外部復(fù)位 (ERST) - 非法地址復(fù)位 (IAR) ● 時(shí)鐘管理 - 3 種時(shí)鐘源:晶體 / 陶瓷振蕩器、 RC 振蕩器、外部時(shí)鐘輸入 - 在 RC 振蕩模式下,能夠輸出時(shí)鐘信號(hào) | ● 電源管理 - 2 種省電模式: STOP 模式、 HALT 模式 ● 2 個(gè)外圍模擬電路 - 8 通道 10 位精度的 A/D 轉(zhuǎn)換器( 100KHz ) - 低電壓復(fù)位( 2.5V/4V ) ● 2 通道 8 位定時(shí) / 計(jì)數(shù)器 (Timer0,Timer2) - 定時(shí)、計(jì)數(shù)功能 - 捕獲功能( 8 位脈寬測(cè)量) - 8 位比較輸出功能 ● 2 通道 16 位定時(shí) / 計(jì)數(shù)器 (Timer1,Timer3) - 定時(shí)、計(jì)數(shù)功能 - 捕獲功能( 8 位脈寬 / 周期測(cè)量,或 16 位脈寬測(cè)量) - 16 位比較輸出功能 - 12 位 PWM 輸出功能 ● 時(shí)基定時(shí)器 - 頻率選擇: 1KHz ~ 62.5KHz @8MHz - 7 級(jí)分頻選擇 ● 蜂鳴器輸出 - 頻率選擇: 1KHz ~ 2MHz @8MHz - 12 級(jí)分頻選擇 ● 可編程看門狗定時(shí)器 - 中斷頻率選擇: 1.5Hz ~ 195Hz ● 串行總線接口 - SPI 總線頻率:最高為 2MHz @8MHz |
3 系統(tǒng)總體方案介紹 本例以電視遙控器作為紅外發(fā)射源,簡(jiǎn)單介紹了如何進(jìn)行紅外遙控接收。主控芯片采用凌陽公司的SPMC65P2404A*28P。 系統(tǒng)框圖如圖3-1所示。 
圖 3-1系統(tǒng)框圖 3.1 紅外發(fā)送和接收簡(jiǎn)介 紅外通信由紅外發(fā)送和紅外接收兩部分組成。 3.1.1 紅外發(fā)送 圖 3-2 紅外發(fā)射框圖
編碼不能直接通過紅外發(fā)送器發(fā)送,因?yàn)榘l(fā)送信號(hào)容易受到外界的干擾。為了提高編碼的穩(wěn)定性,必須調(diào)制編碼,調(diào)制好的信號(hào)可通過紅外發(fā)射管發(fā)射紅外信號(hào)。圖3-3給出調(diào)制的過程,將編好的碼和一定頻率的信號(hào)相疊加形成輸出的波形。一定的頻率是指接收器件的接收頻率。 圖 3-4 紅外接收框圖
紅外接收的需先進(jìn)行解調(diào),解調(diào)的過程是通過紅外接收管進(jìn)行接收的。其基本工作過程為:當(dāng)接收到調(diào)制信號(hào)時(shí),輸出高電平,否則輸出為低電平,是調(diào)制的逆過程。 圖 3-5 解調(diào)
3.2 編碼格式 本例選用一電視遙控器作為發(fā)射源,下圖給出其編碼格式。 圖 3-6 紅外編碼格式
頭脈沖―――發(fā)送前的起始位(不占空間) 系統(tǒng)碼―――固定數(shù)字10H 資料碼―――1個(gè)字節(jié) 資料反碼――1個(gè)字節(jié) 3.3 原理圖 如圖3-7所示,紅外接收管將接收到的信號(hào)進(jìn)行解調(diào),然后由PB1輸入,CPU解碼,將解碼后的數(shù)據(jù)轉(zhuǎn)換為遙控器按鍵值,然后顯示出來。PA接一個(gè)數(shù)碼管作為顯示部分,顯示遙控器按鍵值。本例只接收遙控器上的按鍵0~9發(fā)出的信號(hào)。 數(shù)碼管初始狀態(tài)為0。 CPU利用捕獲功能進(jìn)行數(shù)據(jù)解碼。 圖 3-7 IR系統(tǒng)原理圖
4 系統(tǒng)軟件設(shè)計(jì) 4.1 主流程 程序主流程如圖4-1所示。程序的主循環(huán)時(shí)間選擇4ms。
圖4-1 鍵盤主流程圖 4.2 數(shù)據(jù)接收流程圖 數(shù)據(jù)接收流程圖如圖4-2所示。
圖4-2 數(shù)據(jù)接收子流程 4.3 數(shù)據(jù)校驗(yàn)流程圖 數(shù)據(jù)校驗(yàn)流程圖如圖4-3所示。
圖 4-3 數(shù)據(jù)校驗(yàn)子流程 4.4 數(shù)據(jù)轉(zhuǎn)換流程圖 數(shù)據(jù)轉(zhuǎn)換流程圖如圖4-4所示。
圖4-4 數(shù)據(jù)轉(zhuǎn)換子流程 |