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

          新聞中心

          EEPW首頁(yè) > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 多媒體投影機(jī)遙控器的單片機(jī)仿真

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

          作者: 時(shí)間:2009-12-24 來(lái)源:網(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ù)位腳,采用簡(jiǎn)單的RC上電復(fù)位電路,(6)腳為外中斷輸入口,用于讀碼功能的轉(zhuǎn)換控制,當(dāng)按一下(6)腳口的開(kāi)關(guān)時(shí),系統(tǒng)進(jìn)入中斷讀碼狀態(tài)。(8)腳用于紅外線接收頭的輸出信號(hào)讀入。(11)腳作為遙控器的紅外線信號(hào)輸出口,用于輸出40KHz載波編碼。(12)腳接遙控測(cè)試開(kāi)關(guān)。(4)、(5)腳外接12M晶振。

          本文引用地址:http://www.ex-cimer.com/article/166822.htm


          當(dāng)按一下“學(xué)習(xí)”開(kāi)關(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è)試開(kāi)關(guān),看是否能正確實(shí)現(xiàn)投影機(jī)的功能操作。按以上方法將原投影機(jī)遙控器的所有按鍵碼讀入計(jì)算機(jī)備用。圖2和圖3分別是紅外線接收頭輸出端口及發(fā)射遙控碼時(shí)的單片機(jī)輸出口波形圖。

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

          上一頁(yè) 1 2 3 下一頁(yè)

          評(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); })();