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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于單片機的電動車無線遙控系統(tǒng)設(shè)計

          基于單片機的電動車無線遙控系統(tǒng)設(shè)計

          作者: 時間:2011-11-19 來源:網(wǎng)絡(luò) 收藏

          AT89C51 為的控制核心, 利用紅外器配以紅外接收頭及直流電機的正反轉(zhuǎn)控制電路來實現(xiàn)的運動控制。由紅外線器, 紅外線接收模塊, 電動機驅(qū)動模塊, 顯示及聲光指示模塊, 方向控制模塊等幾部分組成。流程如圖1, 原理框圖如圖2.

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

          圖1 原理流程圖

          圖2 系統(tǒng)框圖

            1 紅外系統(tǒng)

            通用紅外遙控系統(tǒng)由發(fā)射和接收兩大部分組成, 應(yīng)用編/ 解碼專用集成電路芯片來進行控制操作, 如圖3 所示。發(fā)射部分包括鍵盤矩陣、編碼調(diào)制、LED 紅外發(fā)送器; 接收部分包括光、電轉(zhuǎn)換放大器、解調(diào)、解碼電路。

          圖3 紅外遙控系統(tǒng)框圖

           1. 1 遙控發(fā)射器及編碼

            當發(fā)射器按鍵按下后, 即有遙控碼發(fā)出, 所按的鍵不同遙控編碼也不同。這種遙控碼具有以下特征:

            采用脈寬調(diào)制的串行碼, 以脈寬為0. 565 ms、間隔0. 56 ms、周期為1. 125 ms 的組合表示二進制的0; 以脈寬為0. 565 ms、間隔1. 685 ms、周期為2. 25 ms 的組合表示二進制的 1 , 其波形如圖4 所示:

          圖4 遙控編碼的0和1

            上述 0和1組成的32 位二進制碼經(jīng)38 kH 的載頻進行二次調(diào)制以提高發(fā)射效率, 達到降低電源功耗的目的。然后再通過紅外發(fā)射二極管產(chǎn)生紅外線向空間發(fā)射。

            1. 2 接收器及解碼

            解碼的關(guān)鍵是如何識別0和1 , 從位的定義我們可以發(fā)現(xiàn) 0 、1均以0. 56 ms 的低電平開始, 不同的是高電平的寬度不同,0為0. 56 ms, 1為1. 68 ms, 所以必須根據(jù)高電平的寬度區(qū)別0和 1 .如果從0. 56 ms 低電平過后, 開始延時, 0. 56 ms 以后, 若讀到的電平為低, 說明該位為0 , 反之則為1 , 為了可靠起見, 延時必須比0. 56 ms 長些, 但又不能超過1. 12 ms, 否則如果該位為0 , 讀到的已是下一位的高電平, 因此?。?1. 12 ms+ 0. 56 ms) / 2= 0. 84 ms 最為可靠, 一般取0. 84 ms 左右均可。

            根據(jù)碼的格式, 應(yīng)該等待9 ms 的起始碼和4. 5 ms 的結(jié)果碼完成后才能讀碼。

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

          電度表相關(guān)文章:電度表原理



          上一頁 1 2 下一頁

          評論


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