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

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > Proteus的漢字點(diǎn)陣顯示電路設(shè)計(jì)

          Proteus的漢字點(diǎn)陣顯示電路設(shè)計(jì)

          作者: 時(shí)間:2012-02-29 來源:網(wǎng)絡(luò) 收藏

            0 引言

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

             漢字點(diǎn)陣的控制電路 www.elecfans.com


            一般情況下要完全顯示出常用至少需要16×16點(diǎn)陣,但由于元件庫中沒有16×16LED模塊,為了達(dá)到顯示要求,每個(gè)可由四塊8×8 LED模塊組成。組合方式為先對每個(gè)8×8模塊行列引腳連接好總線,然后四個(gè)單色模塊組合緊密。  驅(qū)動電路采用動態(tài)掃描驅(qū)動方式,設(shè)計(jì)中行驅(qū)動信號采用了16個(gè)同向驅(qū)動器7407,并在每根信號線上接上拉電阻;列驅(qū)動信號先接-4-16譯碼器74HCl54,然后十六個(gè)列驅(qū)動信號接16個(gè)反向驅(qū)動器7406,并每根信號線接上拉電阻。

            單片機(jī)上電復(fù)位后,當(dāng)按列掃描時(shí),四個(gè)的第一個(gè)字由Pl口輸出列信號,首先第l列輸出“1”,第l列字模數(shù)據(jù)由16行輸出(P0、P2口);然后延時(shí)一定時(shí)間后,第2列輸出“l”,第2列字模數(shù)據(jù)再由16行輸出;……;如此循環(huán),直至第16列;16列掃描完成后,再進(jìn)行下一次循環(huán)掃描。所以在某一時(shí)刻,只有一行或一列LED被對應(yīng)的字模數(shù)據(jù)驅(qū)動點(diǎn)亮。只要掃描間隔時(shí)間合適,利用人眼的視覺暫留特性,看上去整個(gè)字符就顯示在LED器上。

            2 漢字顯示程序設(shè)計(jì)

            根據(jù)以上硬件電路和單片機(jī)控制原理,編程思路如圖2所示。

            

            完整的程序代碼如下:

            MOV DPTR,#WORDTAB;初始化

            MOV Rl,#0

            MOV R2,#0

            MOV R3,#16

            MOV R4,#100

            MOV R5,#4

            LOOP:SETB P1.4

            MOV A,R1 :查表取出字模數(shù)據(jù)經(jīng)P0口輸出

            MOVC A,@A+DPTR

            CPLA

            MOVP0,A

            INC R1 ;字模數(shù)據(jù)索引值加1

            MOVA,R1 ;查表取出字模數(shù)據(jù)經(jīng)P2口輸出


          上一頁 1 2 下一頁

          評論


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