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

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > FPGA幫您實(shí)現(xiàn)家居遙控

          FPGA幫您實(shí)現(xiàn)家居遙控

          作者: 時(shí)間:2011-06-30 來源:網(wǎng)絡(luò) 收藏

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

            3 系統(tǒng)的硬件設(shè)計(jì)與

            3.1 學(xué)習(xí)器

            學(xué)習(xí)器是硬件電路的主要部分,兼有學(xué)習(xí)與的功能,它以為核心,外圍電路力求簡(jiǎn)單,主要由鍵盤、存儲(chǔ)器、接收電路和發(fā)射電路組成,考慮到用純硬件來控制LCD顯示的困難較大 ,決定采用微控制器協(xié)助。這里的接收電路與后面要講的接收器不同,它專為學(xué)習(xí)功能設(shè)置,負(fù)責(zé)接收已有器的紅外信號(hào)并送至內(nèi)部進(jìn)行識(shí)別、譯碼以及存儲(chǔ),發(fā)射電路由驅(qū)動(dòng)電路和紅外發(fā)光二極管兩部分電路組成,負(fù)責(zé)將編碼信號(hào)以紅外光的形式發(fā)射出去。

            總體原理框圖如圖2所示:

          圖2.學(xué)習(xí)器硬件結(jié)構(gòu)

            3.1.1 FPGA的設(shè)計(jì)

            包括鍵盤模塊、發(fā)射編碼調(diào)制模塊、接收譯碼存儲(chǔ)模塊三個(gè)模塊,另外還有一個(gè)總控制模塊,其內(nèi)部結(jié)構(gòu)如圖3所示:

          圖3.FPGA內(nèi)部結(jié)構(gòu)

            總控制模塊是一個(gè)有限狀態(tài)機(jī),它負(fù)責(zé)協(xié)調(diào)其他各個(gè)模塊的工作并提供與顯示電路和存儲(chǔ)器的接口;鍵盤模塊接收用戶的按鍵信息,并編碼輸出給總模塊,這些信息包括按鍵的地址,按鍵的類型和用戶選擇要的器件編碼;接收譯碼存儲(chǔ)模塊由計(jì)數(shù)器記錄接收信號(hào)高低電平的寬度,并將數(shù)據(jù)存入存儲(chǔ)器相應(yīng)地址中,存儲(chǔ)時(shí)序由狀態(tài)機(jī)來控制;發(fā)射編碼調(diào)制模塊負(fù)責(zé)由存儲(chǔ)器中讀取當(dāng)前按鍵的數(shù)據(jù)信息,產(chǎn)生與學(xué)習(xí)到的信號(hào)相似的高低變化的電平,并以38kHz的載波調(diào)制輸出。

            3.1.2 單片機(jī)的LCD顯示電路

            顯示電路采用RT12864M-2型液晶顯示器,由我們較為熟悉的單片機(jī)控制液晶來顯示遙控器所處的狀態(tài)并提示用戶進(jìn)行正確的操作。

          光電開關(guān)相關(guān)文章:光電開關(guān)原理


          關(guān)鍵詞: 遙控 家居 實(shí)現(xiàn) FPGA

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