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

          新聞中心

          EEPW首頁(yè) > 光電顯示 > 設(shè)計(jì)應(yīng)用 > 內(nèi)置SED1520控制驅(qū)動(dòng)器的圖形液晶顯示模塊MGLS-12032在智能測(cè)試儀中的應(yīng)用

          內(nèi)置SED1520控制驅(qū)動(dòng)器的圖形液晶顯示模塊MGLS-12032在智能測(cè)試儀中的應(yīng)用

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

          摘要:文章介紹了內(nèi)置SED1520圖形液晶顯示模塊MGLS-12032的特點(diǎn)和工作原理,給出了MGLS-12032與8031單片機(jī)的接口電路,介紹了SED1520的指令集,并結(jié)合具體實(shí)例給出了顯示模塊的相關(guān)程序。

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

          關(guān)鍵詞:圖形顯示 液晶 單片機(jī) SED1520 MGLS-12032

          1 SED1520功能特點(diǎn)

          SED1520是集行、列驅(qū)動(dòng)器和控制器于一體的液晶顯示控制驅(qū)動(dòng)器,可廣泛用于小規(guī)模液晶顯示模塊,例如香港精電公司的MGLS-12032、MGLS10032等。

          SED1520液晶顯示驅(qū)動(dòng)器具有以下特性:

          ●內(nèi)置顯示RAM區(qū),RAM容量為2560位。RAM中的1位數(shù)據(jù)控制液晶屏上一個(gè)點(diǎn)的亮滅狀態(tài):“1表示亮”,“0”表示不亮。

          ●具有16個(gè)行驅(qū)動(dòng)口和61個(gè)列驅(qū)動(dòng)口。

          ●可直接與80系列或68系列微處理器相連。

          ●驅(qū)動(dòng)占空比為1/16或1/32。

          ●可以與SED1520配合使用,以便擴(kuò)展列驅(qū)動(dòng)口數(shù)目。

          1.1 SED1520主要參數(shù)

          SED1500的主要電參數(shù)如表1所列。

          表1 SED1520的主要參數(shù)

          參 數(shù) 符 號(hào) 范 圍 單 位
          電源電壓1 Vss -8.0~0.3 V
          電源電壓2 V5 16.5~0.3 V
          電源電壓3 V1-V4 V5-0.3 V
          輸入電壓 VI Vss-0.3~0.3 V
          輸出電壓 Vo Vss-0.3~0.3 V
          功力耗 PD 250 mW

          表2 SED1520的時(shí)序特性參數(shù)

          參 數(shù) 符 號(hào) 最小值 最大值
          地址保持時(shí)間 TAH8 10 -
          地址建立時(shí)間 TAW8 20 -
          系統(tǒng)周期時(shí)間 TCYC8 1000 -
          控制脈沖寬度 TCC 200 -
          數(shù)據(jù)建立時(shí)間(R) TDS8 80 -
          數(shù)據(jù)保持時(shí)間(R) TDH8 10 -
          數(shù)據(jù)建立時(shí)間(W) TACC8 - 90
          數(shù)據(jù)保持時(shí)間(W) TOH8 10 60

          1.2 SED1500的讀/寫操作時(shí)序

          SED1520有兩種讀/寫操作時(shí)序,分別對(duì)應(yīng)于6800系列和8080系列MPU。圖1給出了8080系列MPU的讀/寫操作時(shí)序。其數(shù)據(jù)的寫入或讀出是在WR或RD的下降沿進(jìn)行。表2所列是SEWD1520的時(shí)序特性參數(shù)。表中參數(shù)的單位為ns。

          1.3 SED1520的指令系統(tǒng)

          ●讀狀態(tài)字

          當(dāng)SED1520處于“忙”狀態(tài)時(shí),除了讀狀態(tài)指令外,其它指令均不起作用,因此在訪問(wèn)SED1520時(shí),都要先讀狀態(tài),判斷是否“忙”。讀狀態(tài)的格式如下:

          R/W A0 D7 D6 D5 D4 D3 D2 D1 D0
          1 0 BUSY ADC OFF/ON REST 0 0 0 0

          ●復(fù)位

          該指令為軟件復(fù)位指令,執(zhí)行該指令后,顯示起始行置為第0行,列地址置為0,頁(yè)地址置為3。其復(fù)位格式如下:

          R/W A0 D7 D6 D5 D4 D3 D2 D1 D0
          0 0 1 1 1 0 0 0 0 0

          ●顯示起始行設(shè)置

          該指令設(shè)置了對(duì)應(yīng)顯示屏上首行的顯示RAM中的行號(hào)。有規(guī)律的修改該行號(hào),可實(shí)現(xiàn)滾屏功能。

          格式如下:

          R/W A0 D7 D6 D5 D4 D3 D2 D1 D0
          0 0 1 1 0 顯示起始行 (0~31)

          ●ADC選擇指令

          該指令用來(lái)設(shè)置列驅(qū)動(dòng)輸出端與液晶顯示屏的列驅(qū)動(dòng)線的連接方式。一般設(shè)置為ADC=0。該指令的格式如下:

          R/W A0 D7 D6 D5 D4 D3 D2 D1 D0
          0 0 1 0 1 0 0 0 1 1/0

          ●顯示開(kāi)/關(guān)指令

          下面是顯示開(kāi)/關(guān)指令的格式:

          R/W A0 D7 D6 D5 D4 D3 D2 D1 D0
          0 0 1 0 1 0 1 1 1 1/0

          其中D0=1為開(kāi)顯示;D0=1為關(guān)顯示。

          該指令不影響RAM的內(nèi)容顯示。

          ●設(shè)置頁(yè)地址

          頁(yè)地址的設(shè)置格式如下:

          R/W A0 D7 D6 D5 D4 D3 D2 D1 D0
          0 0 1 0 1 1 1 1 頁(yè)地址(0~3)

          ●設(shè)置列地址

          一般情況下,顯示RAM被分成四頁(yè),每頁(yè)80個(gè)字節(jié),當(dāng)設(shè)置了頁(yè)地址和列地址后即可確定顯示RAM中的唯一單元,該單元由低到高的各個(gè)數(shù)據(jù)位對(duì)應(yīng)于顯示屏上某一列的8行數(shù)據(jù)位。列地址的設(shè)置格式如下:

          R/W A0 D7 D6 D5 D4 D3 D2 D1 D0
          0 0 1 列地址(0~79)

          ●占空比選擇

          在選擇占空比時(shí),如果D0=0,則選擇的占空比為1/16,D0=1為1/32。當(dāng)驅(qū)動(dòng)32行液晶顯示時(shí),應(yīng)使D0=1;驅(qū)動(dòng)16行時(shí),應(yīng)使D0為0。

          ●寫數(shù)據(jù)

          寫數(shù)據(jù)格式如下:

          R/W A0 D7 D6 D5 D4 D3 D2 D1 D0
          0 1 顯 示 數(shù) 據(jù)

          ●讀數(shù)據(jù)

          讀數(shù)據(jù)格式如下:

          R/W A0 D7 D6 D5 D4 D3 D2 D1 D0
          1 1 顯 示 數(shù) 據(jù)

          2 液晶顯示模塊的結(jié)構(gòu)特點(diǎn)

          MGLS12032是一個(gè)120×32的點(diǎn)陣模塊,由SED1520來(lái)驅(qū)動(dòng),兩個(gè)SED1520都使用60個(gè)列驅(qū)動(dòng)口(SEG0-SEG59)。表3所列是MGLS12032的接口端口與和管腳。圖2所示是MGLS12032的內(nèi)部邏輯電路圖。

          表3 MGLS12032接口端口號(hào)和管腳

          序 號(hào)管 腳 名序 號(hào)管 腳 名
          1GND9DB0
          2VCC10DB1
          3V011DB2
          4A012DB3
          5R/W13DB4
          6E114DB5
          7E215DB6
          8NC16DB7

          3 MGLS12032接口電路設(shè)計(jì)

          本系統(tǒng)采用MGLS-12032液晶顯示器模塊和SED1520液晶顯示驅(qū)動(dòng)器直接與8位微處理器相連,使用簡(jiǎn)單方便。液晶顯示模塊MGLS12032與單片機(jī)的接口電路如圖3所示。其中D0~D7與單片機(jī)的數(shù)據(jù)線相連,液晶顯示器通過(guò)A15和A14來(lái)選中,A14和A15是由單片機(jī)通過(guò)74LS138譯碼器來(lái)連接的。RD和WR與單片機(jī)的RD和WR相連接。

          4 字符顯示

          SED1520是顯示RAM是以一行八列的形式寫入的,它所需的字庫(kù)數(shù)據(jù)格式如圖4所示,構(gòu)成“6”字的字模為如下8個(gè)字節(jié):00H 00H 00H 0FFH 91H 91H 91H 0F3H。

          以上的八個(gè)字節(jié)均是以每到最下面一位作為MSB,最上面一位作為L(zhǎng)SB,這是SED1520建立字模所要求的。

          SED1520中的RAM共有32行,分為4頁(yè),每頁(yè)8行,這樣每頁(yè)可以寫一行字符,總共可以寫4行字符。RAM一頁(yè)有80個(gè)字節(jié),而MGLS12032使用了60個(gè)字節(jié)。如果按8×8點(diǎn)陣字符劃分顯示屏區(qū)域,則可把MGLS12032的顯示屏分成15×4個(gè)字符塊,其中每行第八個(gè)字符在SED1520(1)和SED1520(2)上各占四個(gè)字節(jié),并由程序來(lái)控制兩個(gè)芯片RAM區(qū)的轉(zhuǎn)換。

          本測(cè)試儀采用16×16點(diǎn)陣漢字,液晶顯示器顯示一個(gè)16×16點(diǎn)陣需要送進(jìn)32個(gè)字節(jié),因此必須將其送入兩緩沖區(qū)中的相對(duì)列中。該系統(tǒng)將漢字顯示設(shè)置成兩頁(yè),每一頁(yè)的字符塊寫入字模數(shù)為16,當(dāng)16個(gè)字模寫完后,再轉(zhuǎn)入下一頁(yè)寫入剩下的16個(gè)字模。漢字顯示也存在中間結(jié)合部的處理問(wèn)題,其處理方法與字符型的基本相同。即把MGLS12032屏分成7×2個(gè)漢字塊。

          圖5所示是MGLS12032液晶顯示屏的結(jié)構(gòu)分布示意圖。其中每行第四個(gè)漢字在SED1520(1)占12個(gè)字節(jié),在SED1520(2)占四個(gè)字節(jié),在編程時(shí)要轉(zhuǎn)換兩個(gè)芯片的RAM區(qū)。

          5 漢字字模提取和顯示程序

          通過(guò)編制簡(jiǎn)單C程序(程序略),可以從計(jì)算機(jī)漢字字庫(kù)內(nèi)提取的漢字?jǐn)?shù)組格式正好與SED1520的RAM格式相差90度。所以在提取漢字字模時(shí)要先旋轉(zhuǎn)90度,才能在顯示器上顯示出正常格式。由于MGLS12032顯示屏分為兩頁(yè)SED1520(1)和SED1520(2),所以顯示程序應(yīng)有兩種,這兩種程序除相關(guān)的地址不同外,其余均相同。SED1520(1)的顯示子程序如下:

          (1)寫指令代碼子程序

          PRO:PUSH DPL

          PUSH DPH

          MOV DPTR,#SRADD1 ;設(shè)置讀狀態(tài)字地址

          PR01:MOVX A,@DPTR ;讀狀態(tài)字

          JB ACC.7,PR01 ;判忙標(biāo)志為0否?

          MOV DPTR,#SWADD1 ;設(shè)置寫指令代碼地址

          MOV A,COM ;取指令地址

          MOVX @DPTR,A ;寫指令地址

          POP DPH

          POP DPL

          RET

          (2)寫顯示數(shù)據(jù)子程序

          PR1:PUSH DPL

          PUSH DPH

          MOV DPTR,#CRADD1:設(shè)置讀狀態(tài)地址

          PR11:MOVX A,@DPTR ;讀狀態(tài)字

          JB ACC.7,PR11 ;判忙標(biāo)志為0否?

          MOV DPTR,#DWADD1 ;設(shè)置寫顯示數(shù)據(jù)地址

          MOV A,DAT ;取數(shù)據(jù)

          MOVX @DPTR,A ;寫數(shù)據(jù)

          POP DPH

          POP DPL

          RET

          (3)讀顯示數(shù)據(jù)子程序

          PR2:PUSH DPL

          PUSH DPH

          MOV DPTR,#SRADD1 ;設(shè)置讀狀態(tài)字地址

          PR21:MOVX A,@DPTR ;讀狀態(tài)字

          JB ACC.7,PR21 ;判忙標(biāo)志為0否?

          MOV DPTR,#DRADD1 ;設(shè)置讀顯示數(shù)據(jù)地址

          MOVX A,@DPTR ;讀數(shù)據(jù)

          MOV A,DAT ;存數(shù)據(jù)

          POP DPH

          POP DPL

          RET

          (4)初始化程序

          INT:MOV COM,#0E2H ;復(fù)位

          LCALL PR0

          LCALL PR3 ;SED1520(2)的寫指令代碼

          MOV COM,#0A4H ;關(guān)閉等待狀態(tài)

          LCALL PR0

          LCALL PR3

          MOV COM,#0A9H ;設(shè)置1/32占空比

          LCALL PR0

          LCALL PR3

          MOV COM,#0A0H ;正向排序設(shè)置

          LCALL PR0

          LCALL PR3

          MOV COM,#0C0H ;設(shè)置顯示起始行為第一行

          LCALL PR0

          LCALL PR3

          MOV COM,#0AFH ;開(kāi)顯示設(shè)置

          LCALL PR0

          LCALL PR3

          6 應(yīng)用實(shí)例

          MGLS12032可以廣泛應(yīng)用于各種測(cè)試儀表和儀器中,圖6是用于雷達(dá)角跟蹤幅頻測(cè)試儀中的框圖。其主要目的是對(duì)測(cè)試步驟起一個(gè)引導(dǎo)作用,并可實(shí)時(shí)地顯示雷達(dá)的工作狀態(tài)及最終測(cè)試結(jié)果。



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