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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > AT89C51單片機在LED顯示屏控制電路設計中的應用

          AT89C51單片機在LED顯示屏控制電路設計中的應用

          作者: 時間:2013-02-17 來源:網絡 收藏

          LED顯示器控制電路

            二、電路工作原理

            本電路利用串行通信口工作于方式0,同時利用P1.O和P1.1模擬串行輸出,來實現(xiàn)字符平滑移動顯示。由于模塊為16× 16點陣,所以字符點陣也為16×16點陣,即每個字符由32個字節(jié)即16個字數(shù)據(jù)組成,每個字數(shù)據(jù)決定了每列點亮的情況。16×16點陣字符數(shù)據(jù)由字符點陣提取軟件獲得。

            首先單片機P1.1串行輸出一位二進制位“1”,經4組74LSl64給4個16×16點陣LED模塊的第1列送入一高電平,接著由P3.O串行輸出4個16×16點陣LED模塊的第1列行數(shù)據(jù),即Y1,Y17,Y33,Y49列的行數(shù)據(jù),經74LS373鎖存后送LED的行線,此時每個LED模塊第1列對應的LED點亮。每列的行數(shù)據(jù)為1個字數(shù)據(jù),4列共4個字數(shù)據(jù),每個字數(shù)據(jù)首字節(jié)在字符點陣數(shù)據(jù)表中的地址相差32,此時每個LED模塊顯示每個字符的第1列。接著P1.1串行輸出一位二進制位“0”,經4組74LS164移位后給4個LED模塊的第2列送入一高電平,再由P3.O串行輸出4個16× 16點陣LED模塊的第2列行數(shù)據(jù),即Y2,Y18,Y34,Y50列的行數(shù)據(jù),經74LS373鎖存后送LED的行線,此時每個LED模塊第2列對應的LED點亮,即顯示每個字符的第2列。如此循環(huán),依次點亮每個LED模塊每列對應的LED,直到點亮每個LED模塊的第16列,即依次顯示每個字符的各列。只要每列交替顯示的時間適當,利用人眼的視覺暫留特性,看上去16列LED同時點亮,即看上去整個字符同時顯示。然后再從第1列依次掃描顯示至16列,如此循環(huán)多次,以確保顯示出的字符具有足夠的亮度。

            為實現(xiàn)字符平滑移動顯示的效果,在上面實現(xiàn)的4個字符靜態(tài)顯示一定時間后,再次掃描顯示時,每個LED模塊的第1列從每個字符的第2列數(shù)據(jù)開始掃描顯示,即第1個LED模塊顯示第1個字符的第2列、第3列、……、第16列和第2個字符的第1列,第2個LED模塊顯示第2個字符的第2列、第3列、……、第16列和第3個字符的第1列、第2列、……。當?shù)谌螔呙栾@示時,每個LED模塊的第1列從每個字符的第3列數(shù)據(jù)開始掃描顯示,即第1個LED模塊顯示第1個字符的第3列、第4列、……、第16列和第2個字符的第1列、第2列,第2個LED模塊顯示第2個字符的第3列、第4列、……、第16列和第3個字符的第1列、第2列、……。如此實現(xiàn)了字符的平滑移動顯示。

            三、程序設計

            根據(jù)以上電路設計及工作原理,繪制出本電路的控制程序流程圖如圖3所示。按程序流程圖編寫出控制程序,用Wave或Keil軟件調試通過后,產生目標代碼文件。

          LED顯示器控制程序流程圖

          電氣符號相關文章:電氣符號大全


          51單片機相關文章:51單片機教程


          單片機相關文章:單片機教程


          單片機相關文章:單片機視頻教程


          單片機相關文章:單片機工作原理


          led顯示器相關文章:led顯示器原理




          關鍵詞: AT89C51 LED 顯示屏

          評論


          相關推薦

          技術專區(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); })();