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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于單片機的16×64 LED 點陣顯示屏的設(shè)計

          基于單片機的16×64 LED 點陣顯示屏的設(shè)計

          作者: 時間:2009-12-04 來源:網(wǎng)絡(luò) 收藏


          0 引言
          是一種簡單的漢字顯示器,具有價廉、易于控制、使用壽命長等特點,可廣泛應(yīng)用于各種公共場合,如車站、碼頭、銀行、學(xué)校、火車、公共汽車顯示等。本文詳細介紹了一種低廉的16x64過程。

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


          1 硬件系統(tǒng)
          本系統(tǒng)采用AT89C52作控制器,整個電路主要由控制及其接口電路、驅(qū)動顯示電路、電源電路等部分組成。為了簡化電路,降低成本,本系統(tǒng)在部分不加字庫存儲器。而在PC機上編輯漢字和字符顯示信息,并將其轉(zhuǎn)換為相應(yīng)的顯示數(shù)據(jù),然后通過串口(采用RS-232通信標(biāo)準(zhǔn))送給單片機存儲并進行顯示處理。圖1所示為其硬件系統(tǒng)原理圖。


          1.1 單片機控制電路
          本系統(tǒng)由AT89C52構(gòu)成單片機最小應(yīng)用系統(tǒng).同時配有11.0592 MHz晶振和按鍵復(fù)位電路等。系統(tǒng)外擴的一片F(xiàn)lash存儲器29F040為數(shù)據(jù)存儲器,可用來存儲由PC機串口送來的點陣信息(通過軟件將圖像或文字轉(zhuǎn)換成與顯示屏的像素相對應(yīng)的點陣信息)。該Flash存儲器是一種非易失性存儲器,它在供電電源關(guān)閉后仍能保持片內(nèi)信息。由于29F040的容量為512 KB(該芯片內(nèi)部由8個64 Kbyte的讀寫塊組成,可分塊進行讀、寫和擦除等操作),而AT89C52只能管理64KB的數(shù)據(jù)空間,所以,需將29F040分成8頁,每頁64KB。其頁碼可由單片機的P3.2~P3.4來選擇。另外,采用MAX232可完成RS232與TTL電平的轉(zhuǎn)換,以便使PC機與單片機交換信息。
          1.2 16x64點陣顯示器的
          圖2是一種8x8的LED點陣單色行共陽模塊的內(nèi)部結(jié)構(gòu)圖,其單點工作電壓Uf為1.8 V,正向電流IF為8~10 mA。當(dāng)某一行線為高電平而某一列線為低時,其行列交叉的點就被點亮;而當(dāng)其某一列線為高時,其行列交叉的點為暗;當(dāng)某一行線為低電平時,無論列線如何,對應(yīng)這一行的點全部為暗。

          用四個8x8點陣顯示可構(gòu)成16x16點陣顯示器,其連接方法如圖3所示。圖中,將(A)和(B)的8列、(C)和(D)的8列分別對應(yīng)相連,同時將(A)和(C)的8行、 (B)和(D)的8行分別對應(yīng)相連。即可形成一個16行(每一行有16個LED)、16列(每一列也有16個LED)的16x16點陣顯示器,可將這256個點稱為一頁,這樣,顯示字符時。只要對一頁中對應(yīng)的亮滅進行控制即可。


          上一頁 1 2 3 下一頁

          評論


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