單片機紅外遙控_第1頁
單片機紅外遙控_第2頁
單片機紅外遙控_第3頁
單片機紅外遙控_第4頁
單片機紅外遙控_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

VIP免費下載

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1 概述單片機控制系統(tǒng)廣泛應用在電氣設備和電子產品中, 而實現控制的外部操作多由鍵盤或計算機完成, 有一定的局限性, 比如, 對一些電子產品所顯示數據的修改來說, 當安裝位置較高時, 按鍵控制很不方便, 若采用PC, 則除了電路更復雜外, 造價也相應提高。為此, 我們研制了采用普通電視用的紅外遙控器做控制器的單片機控制系統(tǒng)。2 硬件設計采用MCS251 系列單片機, 選用眾合牌電視遙控器, 重新設置按鍵功能。將紅外線接收頭的輸出端與單片機的外部中斷( INT 0 或INT1) 連接, 操作遙控器時, 接收頭有信號輸出, 單片機產生中斷。2. 1 紅外遙控器簡介2. 1. 1 基本組成紅外遙控器

2、的核心是遙控發(fā)射集成電路, 眾合牌電視遙控器采用的集成芯片是M50462AP, 其內部由圖1 中虛線框內各部分電路組成。 圖1 遙控發(fā)射集成電路2. 1. 2 工作原理當遙控器有鍵被按下時, 振蕩電路立即接通并起振, 掃描信號發(fā)生器隨即發(fā)出8 路不同時序的掃描時序脈沖, 依次對鍵盤矩陣進行掃描, 鍵盤編碼器則由接收到的回送信號判斷出被按鍵位置, 并輸出相應的編碼至譯碼器, 經譯碼器進行碼元變換后的信號被重新編碼調制后輸出。2. 1. 3 指令代碼集成芯片M50462AP 的輸出信號是脈沖位置調制碼, 其載頻是中心頻率為40kHz, 占空比為3 的方波信號。一位脈沖位置調制碼如圖2 所

3、示。當脈沖寬度為1ms 時, 代表一個二進制數/ 00; 脈沖寬度為2ms時, 代表一個二進制數/ 10。 圖2 脈沖位置調制碼每一條傳送指令由16 位這樣的/ 00、/ 10代碼組成, 這16 位代碼的前8 位為用戶碼, 用戶碼的構成形成為1110xx10, 遙控器生產廠家可以將/ x0 設為/ 10或/ 00, 眾合牌遙控器的用戶碼為11100010, 即為E2H; 16 位代碼的后8 位為數據碼, 即按鍵功能操作碼, 編碼則如表1 所列。表1 按鍵功能操作碼編碼表 表1 中新鍵功能可以根據需要自行設定, 這里給出的是我們?yōu)殡娮隅娫O計的。遙控器發(fā)送一組指令的時間是44m

4、s, 故操作遙控器一次可發(fā)出多組指令代碼, 以備接收頭接收。我們設計的控制系統(tǒng)需要從中取出3 組數據。2. 2 接收頭的使用紅外接收頭通稱遙控預放器, 它將接收到的脈沖位置調制碼轉換成如圖3 所示的接收碼。接收頭使用簡單, 只需將它的三個引腳分別接地、+ 5V 電源和CPU 的INT 0 或INT 1 即可。 圖3 接收碼3 軟件設計本系統(tǒng)旨在識別指令代碼并依據指令信息實現新鍵功能, 我們的思路是在中斷服務程序中識別指令代碼并保存數據, 用主程序對數據進行比較和處理, 從而實現各種功能。3. 1 中斷服務程序3. 1. 1 代碼的判斷代碼的判斷是用計數和比較的方法來實現的,進入中斷的

5、同時立即打開定時器T 1, 開始計數, 代碼/ 00和/ 10的計數時間由其脈沖寬度決定, 分別為1ms 和2ms, 則理論計數值A0、A1 分別可由以下公式得出:A0= 1ms/ 一個機器周期A1= 2ms/ 一個機器周期當單片機采用不同頻率的晶振時, 理論計數值也將隨之不同??紤]到遙控器與單片機基準頻率的誤差, 實際計數值很難保證與理論計數值完全一致, 為此需給/ 00和/ 10的實際計數值開設一個窗口, 以免丟失數據; 同時, 為增強抗干擾性, 窗口寬度應適中, 經過實驗, 我們確定的窗口寬度為0. 224ms, 具體數值如表2 所列。表2 記數窗口數值 當實際計數值在A0L

6、A0H時, 我們認為接收的代碼是/ 00; 實際計數值在A1L A1H 時, 則將代碼記為/ 10。3. 1. 2 指令的識別將接收的指令代碼逐位存儲在單片機RAM 區(qū)的2AH 2FH 單元中, 則可以存儲48 位共3 組指令代碼, 存儲的有效方式如表3 所列。表3 存儲方式 在表3 中, jjH 表示的是表1 中的任意一個按鍵的功能操作碼, 只有當2A= 2C= E2H, 且2B= 2D=jjH 的時候, 此指令代碼才被認為是有效的, 將jjH代表的操作碼存入數據暫存單元1EH 中, 主程序即可以使用。3. 1. 3 中斷服務程序流程程序中, 先將接收的每一位代碼作/ 00、/ 10的判別后存儲下來, 存滿48 位后, 再進行數據是否有效的判別, 最后存儲有效的指令代碼。程序框圖如圖4 所示。圖4 中, 移位處理是指2AH 2FH 中的6 個字節(jié)整體向左移動, 目的是為了防止接收頭從某一組指令的中間開始接收數據而造成的數據丟失, 若移位16 次還不能出現有效的指令代碼, 則認為此組數據無效。 圖4 中斷服務程序框圖3. 2 主程序為配合中斷服務程序, 在主程序初始化中設定INT 0 或INT 1 為負跳變邊沿觸發(fā)方式, 同時將定時器T1 設定在工作方式2, 且不允許中斷。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論