基於微控制器的紅外遙控訊號自學習及還原新方法

2021-04-12 21:52:35 字數 2546 閱讀 3242

1概述

隨著遠端教育體系的不斷發展和日趨完善,多**教學手段在各級各類學校都得到了廣泛應用。近年來,我們在進行多**教學系統的開發和研製過程中,經常遇到多種用於教學中的紅外遙控裝置,如:數字投影機、***、vcd、錄影機、電視機等,由於各種裝置都自帶遙控器,而且不同的裝置所遵循的紅外遙控規程也不盡相同,操縱這些裝置得使用多種遙控器,給使用者帶來了諸多不便。我們採用集中控制各裝置的方式如圖(1)所示解決了該問題。集中控制各裝置的方法是首先對各裝置的紅外遙控訊號進行識別並儲存(自學習),然後在需要時進行還原。圖(1)中由pc或集中控制器傳送裝置號及控制命令號至紅外遙控訊號自學習及還原電路,再由自學習及還原電路恢復對應的紅外遙控訊號,並發射出去控制指定的紅外遙控裝置動作。

圖(1)集中控制多種紅外遙控裝置示意圖

2紅外遙控訊號的自學習及還原

2.1紅外遙控訊號編碼、發射原理

通常,紅外遙控器是將遙控訊號(二進位制脈衝碼)調製在38khz的載波上,經緩衝放大後送至紅外發光二極體,轉化為紅外訊號發射出去的。二進位制脈衝碼的形式有多種,其中最為常用的是pwm碼(脈衝寬度調製碼)和ppm碼(脈衝位置調製碼)。前者以寬脈衝表示1,窄脈衝表示0,如圖(2)所示。後者脈衝寬度一樣,但是碼位的寬度不一樣,碼位寬的代表1,碼位窄的代表0。如圖(3)所示。

圖(2)pwm碼

圖(3)ppm碼

遙控編碼脈衝訊號(以ppm碼為例)通常由引導碼、系統碼、系統反碼、功能碼、功能反碼等訊號組成,如圖(4)所示。引導碼也叫起始碼,由寬度為9ms的高電平和寬度為4.5ms的低電平組成(不同的遙控系統在高低電平的寬度上有一定區別),用來標誌遙控編碼脈衝訊號的開始。系統碼也叫識別碼,它用來指示遙控系統的種類,以區別其它遙控系統,防止各遙控系統的誤動作。功能碼也叫指令碼,它代表了相應的控制功能,接收機中的微控制器可根據功能碼的數值去完成各種功能操作。系統反碼與功能反碼分別是系統碼與功能碼的反碼,反碼的加入是為了能在接收端校對傳輸過程中是否產生差錯。為了提高抗干擾性能和降低電源消耗,將上述的遙控編碼脈衝對頻率為38khz(週期為26.3us)的載波訊號進行脈幅調製(pam),再經緩衝放大後送到紅外發光管,將遙控訊號發射出去。

圖(4) 遙控編碼脈衝訊號的組成

2.2紅外遙控訊號自學習及還原的硬體實現

根據遙控訊號編碼和發射過程,遙控訊號的識別——即解碼過程應是去除38khz載波訊號後識別出二進位制脈衝碼中的0和1。遙控訊號識別、儲存、還原的硬體電路如圖(5)所示。由mcs—51系列微控制器 at89c51、一體化紅外置收頭、儲存器、還原調製與紅外發光管驅動電路組成.。

一體化紅外置收頭採用siemens sfh 506-38,它負責紅外遙控訊號的解調。將調製在38khz上的紅外脈衝訊號解調並反向後再輸入到at89c51的int0(p3.2)引腳,由微控制器進行高電平與低電平寬度的測量。

圖中使用具有i2c匯流排介面的e2prom 晶元24c32作為儲存器,其容量為4kb,

圖(5) 紅外遙控訊號自學習及還原原理框圖

用來儲存識別出來的遙控訊號的高電平與低電平寬度資料。通常遙控訊號的二進位制脈衝碼長為32位,每位由乙個高電平與乙個低電平組成,應儲存的訊號寬度資料為 64個,再加上引導碼2個資料,共計66個資料,每個資料用乙個位元組來表示,乙個遙控訊號命令就需要66個位元組來儲存。考慮到不同的遙控系統有一定的區別,有些遙控訊號命令長度較長,所以儲存空間應適當留有餘量。在實際應用中,可根據紅外遙控裝置的數量及每個裝置的遙控命令數量等具體情況來決定 e2prom 晶元的容量和型號。

遙控訊號的還原和發射是通過p0口(如圖中為p0.1)輸出二進位制脈衝碼(高電平與低電平的維持時間為識別時儲存的一組寬度資料)與38khz調製脈衝相與,即p0口輸出高電平允許38khz調製脈衝通過,p0口輸出低電平關斷38khz調製脈衝。調製後的訊號經驅動後通過紅外發光管,發射紅外遙控訊號去控制紅外遙控裝置。圖中led發光管用來指示紅外遙控訊號,同時用來指示自學習中的各狀態。

p2口鏈結一組按鈕,按鈕的數量與需要集中控制的紅外遙控裝置數量相同,用來控制微控制器進入或退出自學習狀態,按鈕號即為裝置號。

微控制器同時通過序列口連線上位機pc或集中控制器接收控制命令,上位機或集中控制器通過rs—485匯流排與微控制器通訊,從而實現了紅外遙控裝置的遠端控制。

2.3 軟體設計

微控制器上電復位後,首先對其內部定時器、序列口進行初始化,並允許序列口中斷。然後監測p2口,當進入自學習狀態(p2口有一引腳輸入為低電平並維持1s以上)時,採用定時器定時、軟體計數的方法,測量int0引腳上輸入脈衝的高、低電平的寬度。int0引腳平時為高電平,當接收到紅外遙控訊號時,由於一體化紅外置收頭的反向作用,int0引腳下跳至低電平,此為引導碼。將測得的高低電平的寬度儲存在儲存器中,並將每次測得的低電平的寬度與引導碼低電平寬度比較,若相等則表示一遙控命令碼識別、儲存(自學習)結束。再次監測p2口該引腳,若為低電平並維持1s以上,則退出自學習狀態。否則,進一步自學習下一紅外遙控命令碼。

序列口中斷服務程式主要是根據接收到的裝置號及命令號查表得到一組事先儲存的高、低電平寬度資料,然後在p0口還原出紅外遙控訊號去控制紅外遙控裝置按指定的命令動作,即紅外遙控訊號的還原。

3結束語

我們用上述紅外遙控訊號的自學習及還原方法,成功地實現了新科vcd、***、金正***、松下系列錄影機以及多種型號數字投影機、彩色電視機遙控訊號的自學習和還原,從而在多**遠端教學系統中實現了可紅外遙控裝置的遠端控制。

基於51微控制器 的紅外遙控解碼設計

紅外線遙控在生活中有著廣泛的應用,比如空調,電視,音響,機頂盒等。紅外線遙控實際上就是一種通訊方法,利用led發射紅外線,接收器接收到資料,進行處理後就可以得到傳送端的訊號。利用乙個簡單的紅外線發光二極體,我們可以製作萬能遙控器。眾所周知,電視機的遙控不能控制空調,甚至不同的電視機遙控只能控制自己的...

微控制器小白學習之路(三十五) 紅外遙控理解

目標 紅外遙控原理的理解 1.紅外遙控簡介 2.紅外遙控原理 紅外遙控通訊系統一般由紅外發射裝置和紅外置收裝置兩大部分組成。如何區分三個引腳各個作用呢?接受裝置有一條豎直的凸出槓,那條槓對應的腳是電源負 gnd 左邊是資料輸出 vout 右邊是電源正 vdd 發射端發出高電平,接受端是顯示低電平。當...

微控制器彩燈移動實驗 基於微控制器的廣告移動彩燈

基於微控制器的廣告移動彩燈 摘要隨著電子技術的迅速發展,微控制器得到了越來越多的應用。本設計用微控制器89s51結合led 發光二極體 製作了乙個廣告移動彩燈,它由一塊89s51組成,通過逐次掃瞄其中一塊的p2.0 p2.7口,從而依次實現彩燈輪流點亮 逐點點亮 間隔點亮。如果控制交流彩燈,可在p1...