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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于STC89C58單片機LED點陣書寫顯示屏的解決方案

          基于STC89C58單片機LED點陣書寫顯示屏的解決方案

          作者: 時間:2012-10-26 來源:網絡 收藏

          0 引言

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

          近年來,利用發(fā)光二極管構成的模塊或像素單元組成可變面積的幕,以可靠性高、使用壽命長、環(huán)境適應能力強、性能價格比高、使用成本低等特點,已成為眾多顯示媒體以及戶外作業(yè)顯示的電子工具,廣泛地應用于車站、賓館、金融、證券、郵電、體育等廣告發(fā)布或交通運輸等行業(yè)。目前的設計已經有多種方法可以實現(xiàn),本設計是利用自制的光筆中紅外光電三極管檢測光筆觸及位置處紅色燈的點亮,計算出光筆位置的行列坐標,并根據按鍵設置的不同工作模式控制LED顯示,從而實現(xiàn)點亮、劃亮、反顯、清屏、筆畫拖動、輪流顯示等功能。

          1 系統(tǒng)設計方案

          用雙色LED(紅色和綠色)模塊組合成32×32的LED點陣屏。其中紅色LED作微亮掃描檢測用,綠色LED作顯示用,用紅外光電三極管自制光筆。在檢測時依次點亮紅色LED,當點亮到某個LED時,如果此時光筆放在該LED時,這時紅外光電三極管的阻值會發(fā)生變化,通過相應的檢測電路可以得出一個高低電平的變化,檢測到信號變化時就可以判斷光筆的當前位置。

          該方案簡單易行,對光筆位置判斷的靈敏度較高,抗外界干擾能力強。采用雙色點陣和紅外光電三極管能夠有效地減少環(huán)境可見光和顯示LED(綠色)所發(fā)的光線對光筆中光電三極管的干擾。

          2 系統(tǒng)結構及單元模塊設計

          2.1 系統(tǒng)總體框圖

          系統(tǒng)主要由微處理器,32×32雙色LED點陣顯示、光筆及檢測電路、外界光照強度檢測電路、按鍵輸入電路、液晶顯示模塊等幾個部分組成。系統(tǒng)硬件結構框圖如圖1所示。

          a.jpg

          片內有1 KB的片外RAM,能夠滿足保存四屏顯示信息要求,該單片機性價比很高。系統(tǒng)原理圖如圖2所示。

          b.jpg

          2.2 光筆及檢測電路

          用紅外光電三極管自制光筆,光筆檢測電路如圖3所示。圖中Q2是用紅外光電三極管,用來完成對32×32點陣紅色LED燈點亮或熄滅的檢測;R6,RP1用于對Q2進行限流,另外還可以調節(jié)RP1來提高或減小輸出的電壓值;R7,R8是用于給U3A(比較器)的同相端提供基準電壓值,通過它跟采集信息輸出來的電壓值進行比較(U2>U3,U1=Umin),R12是U3A的輸出上拉電阻。工作原理如下:當紅光照到紅外光電三極管上時,紅外光電三極管的電阻變小,其射極電壓升高,此時2腳電壓比3腳電壓高,比較器1端輸出為低電平。當電容C11充電一段時間之后,比較器2腳電壓比3腳電壓低,比較器1端輸出為高電平。由此,當檢測到光信號時,該電路將產生一個脈沖信號。由于在電路中加了耦合電容,可有效地防止環(huán)境對光筆的影響。

          c.jpg


          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();