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

          新聞中心

          EEPW首頁 > 設(shè)計(jì)應(yīng)用 > 基于AT89S52漢字多方式顯示屏的設(shè)計(jì)

          基于AT89S52漢字多方式顯示屏的設(shè)計(jì)

          作者:黃有全,李桂平 時(shí)間:2008-10-14 來源:國外電子元器件 收藏

          1 引言

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

              生活中可視廣告隨處可見,大多采用LED漢字顯示屏,而漢字的顯示模塊可直接影響廣告本身效果?;?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/AT89S52">AT89S52 LED漢字顯示模塊有多種形式,包括漢字全屏顯示、漢字從右往左顯示、漢字從下往上顯示、漢字拉幕式顯示等多種方式。

          2 系統(tǒng)組成與工作原理

              基于 LED漢字顯示屏系統(tǒng)組成如圖1所示,主要由構(gòu)成微控制器,8塊74LS373組成漢字代碼的行鎖存器,74LS154構(gòu)成漢字的列選通,16塊8×8點(diǎn)陣管LED2088BX構(gòu)成四漢字顯示屏,四個(gè)按鍵用于選擇漢字顯示方式,16個(gè)8550組成漢字列驅(qū)動(dòng)。此外,系統(tǒng)還包括時(shí)鐘振蕩器、電源模塊和系統(tǒng)復(fù)位模塊。

           

              AT89S52是一款低功耗、高性能的CMOS八位微控制器,具有8 KB系統(tǒng)可編程Flash存儲(chǔ)器:采用Atmel公司高密度非易失性存儲(chǔ)器工藝技術(shù),與工業(yè)80C51產(chǎn)品指令和引腳完全兼容:片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,適用于常規(guī)編程器;單片AT89S52擁有靈巧的8位CPU和系統(tǒng)可編程,F(xiàn)lash,使其為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、有效的解決方案。

              AT89S52具有以下特性:8 KB Flash、256字節(jié)的RAM、32位I/O端口線、看門狗定時(shí)器、2個(gè)數(shù)據(jù)指針、3個(gè)16位定時(shí)器/計(jì)數(shù)器、1個(gè)6向量2級(jí)中斷結(jié)構(gòu)、全雙工串行端口,片內(nèi)晶體振蕩器及時(shí)鐘電路。另外,AT89S52可降至0 Hz靜態(tài)邏輯操作,支持兩種軟件可選的節(jié)電模式。空閑模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)模式下,RAM內(nèi)容被保存,振蕩器凍結(jié),單片機(jī)停止工作,直到下一個(gè)中斷或硬件復(fù)位為止。AT89S52有256字節(jié)片內(nèi)數(shù)據(jù)存儲(chǔ)器,高128字節(jié)與特殊功能寄存器重疊,即高128字節(jié)與特殊功能寄存器有相同的地址,而在物理上是分開的;當(dāng)一條指令訪問高于7FH的地址時(shí),尋址方式?jīng)Q定CPU訪問高128字節(jié)RAM還是特殊功能寄存器空間。直接尋址方式訪問特殊功能寄存器(SFR),間接尋址方式訪問高128字節(jié)RAM。漢字顯示采用中斷定時(shí)1 ms點(diǎn)亮一列,一幀為16 ms,利用眼睛的暫留效應(yīng),其視覺效果與一直顯示是相同的。漢字顯示則通過按鍵控制,漢字顯示方式在對(duì)應(yīng)模塊中進(jìn)行代碼處理,顯示的代碼送至鎖存器,中斷處理時(shí)使其對(duì)應(yīng)的列為低電平。

          3 硬件電路設(shè)計(jì)

              系統(tǒng)硬件主要由四漢字顯示電路、AT89S52處理電路、漢字代碼鎖存電路等組成,如圖2所示。動(dòng)態(tài)掃描顯示,一個(gè)漢字共有32組代碼組成,顯示一個(gè)漢字需4塊8×8點(diǎn)陣管LED2088BX,則16塊8×8點(diǎn)陣管LED2088BX構(gòu)成四個(gè)漢字顯示屏。其中LED1、LED2、LED5、LED7、LED9、LED11、LED13、LED15 的列相連,LED3、LED4、LED6、LED8、LED10、LED12、LED14、LED16的列相連,LED1~LED4形成第一個(gè)漢字,LED1與LED3、LED2與LED4對(duì)應(yīng)的行相連:LED5~LED8形成第二個(gè)漢字,LED5與LED7、LED6與LED8對(duì)應(yīng)的行相連;LED9~LED12組成第三個(gè)漢字,LED9與LED11、LED10與LED12對(duì)應(yīng)的行相連:LED13~LED16組成第四個(gè)漢字,LED13與LED15、LED14與LED16對(duì)應(yīng)的行相連。漢字代碼從AT89S52的PO端口輸出,如第一個(gè)漢字的第3個(gè)代碼,通過軟件將漢字的第3個(gè)代碼從AT89S52的PO端口輸出到U3(74LS373)的輸入端,軟件使AT89S52的P20輸出低電平,在與AT89S52的寫入控制線共同作用下,U11的第一個(gè)或門輸出低電平,U3允許輸出端有效,從而使第一個(gè)漢字的第3個(gè)代碼送到LED1的8個(gè)行上,同時(shí)程序軟件使AT89S52的P1端口的P10~P13輸出為0000B,U2的輸出YO輸出低電平,使Q1導(dǎo)通輸出低電平,第一個(gè)漢字的第3列有效,對(duì)應(yīng)點(diǎn)發(fā)光。16個(gè)8550組成漢字列驅(qū)動(dòng),增強(qiáng)顯示功率,根據(jù)顯示要求程序軟件編程設(shè)置AT89S52的P1端口P10~P13輸出為16種方式,控制4-16譯碼器選擇對(duì)應(yīng)的列驅(qū)動(dòng)管,使對(duì)應(yīng)的8550管導(dǎo)通輸出低電平,選中漢字對(duì)應(yīng)的列。

           

              本設(shè)計(jì)采用AT89S52微處理器,內(nèi)部有256字節(jié)的RAM,8 KB Flash,漢字代碼存放于8 KB Flash中,高128字節(jié)作為漢字的顯示區(qū)和顯示緩存區(qū),P1端口的低4位接74LS154的輸入端,74LS154是4-16線譯碼器,它的輸出端作為漢字列掃描選擇線,通過8550驅(qū)動(dòng)漢字的列,P1端口的高4位分別接4個(gè)按鍵控制漢字顯示方式:P2端口與WR線通過或門控制74LS373片選線鎖存漢字代碼。漢字采用中斷顯示,電源電壓為5 V的直流電源供電。

          4 軟件設(shè)計(jì)

              系統(tǒng)的主控軟件由系統(tǒng)程序初始化、中斷初始化、按鍵識(shí)別、漢字顯示方式處理等模塊組成。主控軟件的程序流程圖如圖3所示。

           

              中斷顯示控制軟件是由保護(hù)現(xiàn)場(chǎng)、關(guān)顯示、定時(shí)1 ms初始化、中斷次數(shù)加1、判斷中斷的次數(shù)、恢復(fù)現(xiàn)場(chǎng)、中斷返回等模塊組成。中斷程序流程圖如圖4所示。

           

          5 結(jié)束語
           
              本系統(tǒng)設(shè)計(jì)選用AT89S52單片機(jī)作為微處理器,采用按鍵盤控制漢字的多種顯示方式,經(jīng)使用,本系統(tǒng)設(shè)計(jì)性能穩(wěn)定可靠、智能化高、操作方便、成本低,是一種較簡(jiǎn)便實(shí)用的LED電子顯示屏廣告。

           



          關(guān)鍵詞: AT89S52

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