<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 多媒體投影機(jī)遙控器的STC12C5410單片機(jī)仿真

          多媒體投影機(jī)遙控器的STC12C5410單片機(jī)仿真

          作者: 時(shí)間:2012-01-07 來源:網(wǎng)絡(luò) 收藏

          當(dāng)前,已是高校多媒體教室的常規(guī)設(shè)備,但是由于使用頻繁,人員又雜,器損壞及遺失的情況時(shí)有發(fā)生。因?yàn)閷W(xué)校用的均為進(jìn)口產(chǎn)品,器很難配到,并且能買到的話價(jià)格也是異常昂貴。利用器的功能,制作成本很低的投影機(jī)遙控器具有實(shí)用推廣價(jià)值。

          制作投影機(jī)遙控器的關(guān)鍵是先要讀出原投影機(jī)遙控器(同型號(hào))的所有按鍵的控制碼數(shù)據(jù),然后做成按鍵控制碼表格,當(dāng)時(shí)在按鍵操作下將不同的控制碼數(shù)據(jù)發(fā)射出去,達(dá)到遙控投影機(jī)的目的。

          1 讀遙控器按鍵碼方法

          1.1讀遙控器按鍵碼硬件電路


          如圖1為讀投影機(jī)遙控鍵碼的控制電路。單片機(jī)使用宏晶公司的STC12C5410,P1.6口燈用作讀碼狀態(tài)的指示,燈亮代表讀碼狀態(tài)。P1.7口燈用于指示遙控發(fā)射操作,閃爍時(shí)代表遙控碼發(fā)射中,在讀碼狀態(tài)下,當(dāng)P1.6口燈滅而P1.7口燈亮?xí)r代表碼已讀入。第(1)腳為單片機(jī)的復(fù)位腳,采用簡單的RC上電復(fù)位電路,(6)腳為外中斷輸入口,用于讀碼功能的轉(zhuǎn)換控制,當(dāng)按一下(6)腳口的開關(guān)時(shí),系統(tǒng)進(jìn)入中斷讀碼狀態(tài)。(8)腳用于紅外線接收頭的輸出信號(hào)讀入。(11)腳作為遙控器的紅外線信號(hào)輸出口,用于輸出40KHz載波編碼。(12)腳接遙控測(cè)試開關(guān)。(4)、(5)腳外接12M晶振。

          圖1 單片機(jī)讀遙控鍵碼電路原理圖

          當(dāng)按一下“學(xué)習(xí)”開關(guān)時(shí),P1.6口的讀碼燈亮,表示進(jìn)入讀碼狀態(tài),此時(shí)將需要的遙控器某按鍵對(duì)著紅外接收頭按一下,當(dāng)P1.6口的燈滅而 P1.7口的指示燈亮?xí)r,讀碼成功。從計(jì)算機(jī)超級(jí)終端串口中可獲得鍵碼的數(shù)據(jù)。為了測(cè)試讀得的碼是否正確,可按一下發(fā)射測(cè)試開關(guān),看是否能正確實(shí)現(xiàn)投影機(jī)的功能操作。按以上方法將原投影機(jī)遙控器的所有按鍵碼讀入計(jì)算機(jī)備用。圖2和圖3分別是紅外線接收頭輸出端口及發(fā)射遙控碼時(shí)的單片機(jī)輸出口波形圖。

          圖2 紅外線接收頭輸出口波形圖

          圖3 遙控發(fā)射測(cè)試時(shí)P3.7輸出口波形圖

          1.2 讀遙控器按鍵碼軟件設(shè)計(jì)

          圖4是讀遙控器按鍵碼控制軟件的主程序流程。圖5是中斷讀入鍵碼數(shù)據(jù)的程序流程圖。

          圖4主程序流程圖

          圖5中斷讀鍵碼程序流程圖


          中斷讀鍵碼程序在編程設(shè)計(jì)中非常重要。它要完成遙控碼起始位的識(shí)別及脈寬計(jì)數(shù)、遙控碼編碼位的寬度計(jì)數(shù)、結(jié)束位的認(rèn)別等功能。通過大量的不同種類的遙控碼波形實(shí)驗(yàn)分析,遙控碼的幀間歇位寬度均在10 ms以上,起始位碼寬度在100μs—20ms之間,編碼位在100μs—5ms之間,為確保對(duì)所有遙控器讀碼的成功,采用以下設(shè)計(jì)方法:

          (1)尋提起始位方法:用16位DPTR計(jì)數(shù)器對(duì)高電平進(jìn)行寬度計(jì)數(shù),計(jì)數(shù)采樣周期為21μs,當(dāng)高電平結(jié)束時(shí),如高8位計(jì)數(shù)器為非零,則說明高電平寬度超過5.35ms(255×21μs),緊接來的低電平碼就是起始位,否則重新開始。

          (2)讀起始位方法:采用16位DPTR對(duì)低電平進(jìn)行寬度計(jì)數(shù)(最大可讀寬度為1.376s),當(dāng)高電平跳變時(shí)結(jié)束計(jì)數(shù),并將DPTR的高8位、低8分別存入R4,R5寄存器。

          (3)讀遙控編碼的方法:采用DPTR低8位計(jì)數(shù)器對(duì)碼(高電平或低電平)進(jìn)行寬度計(jì)數(shù),電平跳變時(shí)結(jié)束計(jì)數(shù),并將值存入規(guī)定的地址,在高電平碼計(jì)數(shù)時(shí),如DPTR高8位計(jì)數(shù)器為非零(寬度大于5.35ms),則判定為結(jié)束幀間隔位,在相應(yīng)存儲(chǔ)單元寫入OOH作為結(jié)束標(biāo)志。

          2 投影機(jī)仿真遙控器的設(shè)計(jì)

          2.1仿真遙控器硬件電路的設(shè)計(jì)


          圖6是投影機(jī)仿真遙控器的電路原理圖。采用4*8的行列式按鍵開關(guān),可有32個(gè)操作按鍵。遙控器從P3.7口輸出40K的紅外線調(diào)制信號(hào)。


          圖6 投影機(jī)仿真遙控器電路原理圖

          2.2 仿真遙控器軟件的設(shè)計(jì)

          仿真遙控器中通過主程序的循環(huán)查鍵執(zhí)行相應(yīng)的鍵碼發(fā)射功能,鍵碼表是寫在ROM中的,因此完成編程后是不能再改的。程序包括以下主要模塊:

          (1)初始化程序。P1及P3端口置位,設(shè)置計(jì)數(shù)器計(jì)數(shù)模式、控制字等。

          (2)鍵盤掃描程序。完成32個(gè)按鍵的掃鍵工作,并翻譯成相應(yīng)的32個(gè)鍵號(hào),使能執(zhí)行相應(yīng)的鍵功能。

          (3)按鍵功能程序。利用定時(shí)器定時(shí)中斷功能,實(shí)現(xiàn)40KHz載波的產(chǎn)生;利用ROM表上各按鍵相應(yīng)的起始位控制數(shù)據(jù)、高電平控制數(shù)據(jù)、低電平控制數(shù)據(jù)控制載波的發(fā)送時(shí)間及間隔時(shí)間。遙控碼調(diào)制發(fā)射的算法如下:

          ①[發(fā)起始位調(diào)制波]

          取ROM表中起始位數(shù)據(jù);

          開40KHZ方波定時(shí)器;

          起始位數(shù)據(jù)減1,不為零,延時(shí)21μs后重復(fù)執(zhí)行本句;

          為零執(zhí)行下句;

          ②[發(fā)高電平間隔位]

          關(guān)40KHZ方波定時(shí)器;

          取ROM表中高電平數(shù)據(jù);如數(shù)據(jù)為0,延時(shí)10ms后結(jié)束算法;不為零執(zhí)行下句;

          數(shù)據(jù)減1,不為零,延時(shí)21μs后重復(fù)執(zhí)行本句;

          為零執(zhí)行下句;

          ③[發(fā)低電平調(diào)制波]

          取ROM表中低電平數(shù)據(jù);

          開40KHZ方波定時(shí)器;

          低電平數(shù)據(jù)減1,不為零,延時(shí)21μs后重復(fù)執(zhí)行本句;為零轉(zhuǎn)②循環(huán);

          ④算法結(jié)束

          3 主要性能指標(biāo)

          (1) 讀碼器最大學(xué)習(xí)碼長:206bit

          (2) 讀碼器讀碼識(shí)別范圍:起始位:21μs~1.376s,編碼位:21μs ~5.355ms

          (3) 讀碼誤差:+21μs

          (4) 讀碼器幀間歇位識(shí)別范圍:小于1.37s,大于5.355ms

          (5) 仿真遙控器發(fā)射距離:大于10M

          4 小結(jié)

          多媒體投影機(jī)的單片機(jī)仿真遙控器性能與軟件的設(shè)計(jì)具有密切的關(guān)系,特別是碼寬計(jì)數(shù)的采樣周期,關(guān)系到能否識(shí)別出起始位及遙控碼采樣精度問題,在編程時(shí)需多次實(shí)驗(yàn)測(cè)試,相互兼顧,本設(shè)計(jì)中讀碼采樣周期為21μs,經(jīng)測(cè)試可正確仿真市場(chǎng)上常用的投影機(jī)及彩電、空調(diào)等設(shè)備。

          參考文獻(xiàn):

          [1] 安啟玲.DVOD系統(tǒng)的遙控接口.微計(jì)算機(jī)信息,2002,18(1):54-55

          [2] 樓然苗.單片機(jī)智能仿真遙控器的設(shè)計(jì). 浙江海洋學(xué)院學(xué)報(bào),2001,20(1):70-73

          [3] 李經(jīng)達(dá).紅外線遙控器軟件解碼及其應(yīng)用.單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2002,(12):66-67

          紅外遙控器相關(guān)文章:紅外遙控器原理


          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();