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

          新聞中心

          EEPW首頁(yè) > 光電顯示 > 設(shè)計(jì)應(yīng)用 > 關(guān)于led顯示的一點(diǎn)粗淺經(jīng)驗(yàn)之談

          關(guān)于led顯示的一點(diǎn)粗淺經(jīng)驗(yàn)之談

          作者: 時(shí)間:2011-04-29 來(lái)源:網(wǎng)絡(luò) 收藏

          一: LED器件的基礎(chǔ)
          LED發(fā)光器件一般常用的有2類、數(shù)碼管和點(diǎn)陣
          1:數(shù)碼管
          a,數(shù)碼管常用的一般8字型,分為A B C D E F G P段,其中P位小數(shù)點(diǎn)
          b,數(shù)碼管常用的有10根管腳(單位),每段一根管腳,另外兩根管腳為公共端,2根是通的
          c,從尺寸上分的話種類很多, 常用的有0.3 0.5 0.8 1.0 1.2 1.5 1.8 2.3 3.0 4.0 5.0 等等
          d,一般小于1.0的為單管芯,(1.0有單有雙),1.2~~1.5為雙管芯,1.8以上為3個(gè)以上的管芯, 因而他們的供電電壓要求不同,
          一般每個(gè)關(guān)芯的壓降為2.1v左右, 我的經(jīng)驗(yàn)是0.8以下5v供電,1.0~2.3為12v,3.0以上更高
          e,數(shù)碼管分共陰和共陽(yáng)兩種

          2:點(diǎn)陣
          a,點(diǎn)陣常用的為8*8,以前還有5*8(現(xiàn)在不大用了)
          b,點(diǎn)陣都是單管芯,分(行)共陰和(行)共陽(yáng),一般都用5v供電
          c,8*8點(diǎn)陣為16根管腳(單色, 也有24根的, 可能是作廢的雙色點(diǎn)陣或者為了能在同一種線路板上實(shí)現(xiàn)單色雙色都可用而設(shè)計(jì)
          的, 也比較常見(jiàn))8根行8根綠,雙色為24根管腳, 8根行, 8根列紅, 8根列綠。

          二: 基本原理
          分為靜態(tài)(只有數(shù)碼管能實(shí)現(xiàn))和動(dòng)態(tài)
          1:靜態(tài)的比較好實(shí)現(xiàn),在此不多講了

          2:數(shù)碼管動(dòng)態(tài)

          a,硬件連接
          數(shù)碼管一般為1/13 能掃描, 再高的話亮度損失比較大,在此假設(shè)為列為13列, 行為16行, 共陽(yáng)管, 每行數(shù)碼管的各段連在
          一起,每列數(shù)碼管的公共段連在一起. 列開(kāi)關(guān)用tip127, 他可以直接用154驅(qū)動(dòng), 達(dá)林頓管5安培, 注意127輸出不要加電阻
          行用595(164不建議)+2803或者2003+一個(gè)9013, 在2003的輸出要加上限流電阻,一般為56~330歐姆(如果是1.0的數(shù)碼管,
          可以直接用595加電阻驅(qū)動(dòng))

          b,軟件

          采用89c51為cpu, 存儲(chǔ)器可采用24c系列, 或者28c系列, 注意他們的寫(xiě)入速度都不是很快, 不過(guò)一般數(shù)碼管的輸入設(shè)備為
          鍵盤(pán)或遙控器, 速度足夠了, 還有24c系列的讀出速度也比較慢, 我發(fā)現(xiàn)每次讀出的數(shù)據(jù)大概只有20以內(nèi)才不會(huì)影響更新顯
          采用時(shí)鐘中斷1, 中斷時(shí)間不能超過(guò)1.5ms, 最好為1.2ms左右, 可以在中斷服務(wù)程序中讀24c02, 也可以在中斷的間
          隙中讀取, 但必須保證能夠讀出所有的一列數(shù)據(jù)! 讀出的數(shù)據(jù)放到一塊顯示區(qū)中, (在內(nèi)存中定義一個(gè)數(shù)組buf[16]), 在中
          斷子程序中把數(shù)據(jù)發(fā)送的595中即可, 最好采用串口發(fā)送, 編程最簡(jiǎn)單.

          發(fā)送完畢后,關(guān)掉控制行的154, 給595的RCLK(12腳)一個(gè)脈沖, 把數(shù)據(jù)從移位寄存器傳輸?shù)芥i存器, 而后打開(kāi)154并輸入列
          信號(hào)即可

          3: 點(diǎn)陣

          a,點(diǎn)陣一般采用1/16掃描,控制原理和數(shù)碼管差不多

          b,硬件: 行用154+tip127,列用595加電阻(0~56歐姆)直接驅(qū)動(dòng)

          c,軟件: 方案比較多,見(jiàn)下面

          三: 先說(shuō)說(shuō)信息的存儲(chǔ)
          分為2種,
          1:一種為固化的漢字, 漢字點(diǎn)陣信息存于27c256 中, 最多存1024個(gè)16*16 點(diǎn)陣漢字, 要修改只能重新寫(xiě)27c256, 優(yōu)點(diǎn)是不丟
          失, 一般我們?yōu)殂y行做的都是這種, 他很少修改顯示能容, 而且以后每次修改可以收費(fèi)(哈哈~~~),缺點(diǎn)是不靈活

          2: 另一種是可以用戶自己修改的, 修改方式又分為2種, 早期一般用鍵盤(pán)或者遙控器修改, 那樣必須在主辦上固化有漢字字
          庫(kù), 可用27c040固化ucdos的hzk16全角字庫(kù)和asc16半角字庫(kù), 用戶輸入?yún)^(qū)位嗎進(jìn)行修改, 用戶需要顯示的漢字以區(qū)位碼的
          方式存到一片E2POM中, 顯示的時(shí)候程序根據(jù)區(qū)位嗎讀取點(diǎn)陣信息送到屏上顯示, 還有一種近年來(lái)常用的方式就是利用微機(jī)
          串口進(jìn)行修改,這里面還分為兩種
          A,控制板上沒(méi)有字庫(kù), 微機(jī)發(fā)送的是顯示的點(diǎn)陣信息, 控制板接受后把信息存到帶電池的RAM中(也可用E2PROM,但速度
          很慢), 這種的缺點(diǎn)是掉電池的RAM不太可靠, 常常丟失信息
          B,控制板上帶字庫(kù), 微機(jī)發(fā)送漢字的機(jī)器碼(內(nèi)碼)即可, 其他同上

          四: 顯示的控制

          信息的發(fā)送可以有好多方式, 根據(jù)采用器件的不同而不同, 有的廠家采用374控制而不采用595, 那樣的話直接寫(xiě)一個(gè)外部端口
          即可, 374級(jí)連方式, (如果用1 排374 的話在傳輸中必須關(guān)掉顯示, 顯示字較多的話影響亮度, 用2 排374 不必關(guān)掉顯示但增加硬
          件成本), 目前用得較少了,595的很常見(jiàn)。 發(fā)送可以用傳口, 很簡(jiǎn)單, 也可以用別的口模擬串口發(fā)送 (因?yàn)閭骺谶€有可能隨時(shí)接
          受微機(jī)的信號(hào)), 也可以采用串口復(fù)用 (不過(guò)我不會(huì),:)~~)
          我采用的是用 374+165 向595 發(fā)送數(shù)據(jù), 硬件比較復(fù)雜, 但是在以后的顯示花樣中很好用! 特別是左右移位, 爽極了!
          提示一下: 最近用雙龍的90S8515發(fā)現(xiàn)很好, 因?yàn)樗€有一個(gè)SPI口, 用來(lái)送595信號(hào)更爽! 速度可到3M,(12M晶體), 強(qiáng)烈建議
          大家用這種芯片(靠, 也不知到雙龍看到了會(huì)不會(huì)給點(diǎn)獎(jiǎng)勵(lì)....)

          五: 一些注意事項(xiàng):

          1: 顯示時(shí)間,每行1.5MS
          2: 根據(jù)經(jīng)驗(yàn),89C51 12M晶體最大控制48個(gè)16*16點(diǎn)陣,再大的話可以提高晶體頻率和優(yōu)化程序,(就是發(fā)送程序的時(shí)間最短)
          3: 在顯示的字比較多時(shí), 一定要注意發(fā)送子程序的代碼效率, 因?yàn)榘l(fā)送是一個(gè)循環(huán), 所以循環(huán)體內(nèi)的處理越快越好, 大家現(xiàn)在
          大都用C51, 更得注意, 我可是吃過(guò)虧的。

          大家看下面的例子:
          if(hangno==0x10)hangno=0; //hangno為顯示的行序號(hào)
          for(i=0;i32;i++)
          {
          PORT1=*(addr+hangno*0x600+i); //我的漢字信息是0~600為第一行信息
          //600~0c00為第二行信息...
          PORT2=0x0ff;
          }

          每次發(fā)送32個(gè)字節(jié)(16個(gè)字), 程序編譯通過(guò), 沒(méi)有問(wèn)題, 可是當(dāng)顯示64個(gè)漢字時(shí)(假設(shè))顯示就亂了, 后來(lái)改為

          if(hangno==0x10)hangno=0; //hangno為顯示的行序號(hào)
          w=hangno*0x600;
          for(i=0;i128;i++)
          {
          PORT1=*(addr+w+i); //我的漢字信息是0~600為第一行信息
          //600~0c00為第二行信息...
          PORT2=0x0ff;
          }

          就沒(méi)有問(wèn)題了, 大家自己看看, 就知道原因了, 對(duì)吧?


          寫(xiě)了這么多, 想到那些到那, 很不系統(tǒng), 不過(guò)好累呀, 我下兩盤(pán)軍旗放松放松, 大家多提提意見(jiàn), 這只是講的小屏的控制方法(2m2), 大屏的完全不同,

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


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