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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 振動(dòng)信號(hào)波形在圖形型液晶模塊上的實(shí)現(xiàn)

          振動(dòng)信號(hào)波形在圖形型液晶模塊上的實(shí)現(xiàn)

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

          1 GDM12864E簡(jiǎn)介及其與MPU的接口

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

          1.1 GDM12864E簡(jiǎn)介

          點(diǎn)陣顯示GDM12864E內(nèi)嵌ST7920型中文字型點(diǎn)陣LCD控制/驅(qū)動(dòng)器,通過(guò)對(duì)控制/驅(qū)動(dòng)器寫(xiě)指令,可以顯示數(shù)字、字母、漢字以及自定義。控制/驅(qū)動(dòng)器ST7920的ROM中包括8192個(gè)16×16點(diǎn)的中文字型,以及128個(gè)16×8點(diǎn)半寬的數(shù)字、字母字型;RAM中包括 1個(gè)128×64點(diǎn)的軟件繪圖區(qū)域(GDRAM)和4個(gè)16×16點(diǎn)的軟件造字區(qū)域(CGRAM)。

          GDM12864E共有20個(gè)引腳。 1-VSS,系統(tǒng)地;2-VDD,系統(tǒng)電源(+5V);3-VO,顯示對(duì)比度調(diào)節(jié);4-RS,數(shù)據(jù)/指令寄存器選擇;5-RW,讀/寫(xiě)數(shù)據(jù)選擇;6-E,使能端,上升沿(前沿)鎖存選擇信號(hào),下降沿(后沿)讀/寫(xiě)數(shù)據(jù)或命令:7~14為8位數(shù)據(jù)輸入/輸出總線;15~18為空;19-A,LED背光的電源正極:20-K,LED背光的電源地。

          1.2 GDM12864E與80C196KC的接口

          單片機(jī)與顯示模塊的接口就是單片機(jī)與顯示模塊的控制/驅(qū)動(dòng)器ST7920的接口。ST7920與單片機(jī)的連接方式有兩種:直接訪問(wèn)方式和間接訪問(wèn)方式。這里采用直接訪問(wèn)方式,即將LCD顯示模塊的接口作為單片機(jī)的一段片外存儲(chǔ)器,通過(guò)對(duì)該段存儲(chǔ)單元的存取操作來(lái)對(duì)顯示模塊的控制。硬件接口如圖1 所示。

          在圖1中,單片機(jī)的外部數(shù)據(jù)總線工作在8位方式。AD0~AD7分時(shí)復(fù)用作數(shù)據(jù)總線和地址總線的低8位,作為數(shù)據(jù)線時(shí)直接與顯示模塊的數(shù)據(jù)口連接。單片機(jī)的高位地址線A10接至數(shù)據(jù)/指令寄存器選擇信號(hào)端RS,A11接至讀/寫(xiě)模塊數(shù)據(jù)選擇信號(hào)端RW。A10和A11組合成的四種狀態(tài)所對(duì)應(yīng)的功能如表 1所示。

          6.jpg

          E的上升沿(前沿)鎖存所選擇的信號(hào),下降沿(后沿)執(zhí)行讀/寫(xiě)數(shù)據(jù)或命令。工作時(shí)序如圖2所示。其中,對(duì)于控制/驅(qū)動(dòng)器ST7920,使能信號(hào)E的寬度必須大于450ns。當(dāng)晶振頻率選為12MHz時(shí),80C196KC單片機(jī)讀/寫(xiě)信號(hào)WR/RD的寬度是550ns,能夠滿足要求。16MHz晶振不能滿足要求。

          7.jpg

          1.3 顯示模塊占用地址的分配

          這里將LCD顯示模塊作為單片機(jī)的一段外部存儲(chǔ)單元,由接口電路知,LCD占用片外地址范圍1000H~1FFFH。其中,對(duì)片外單元 1000H~13FFH只能進(jìn)行寫(xiě)操作,向LCD模塊發(fā)送指令;對(duì)片外單元1400H~17FFH只能進(jìn)行寫(xiě)操作,向顯示緩沖區(qū)某個(gè)單元寫(xiě)數(shù)據(jù);對(duì)片外單元1800H~1BFFH只能進(jìn)行讀操作,讀取LCD的忙碌標(biāo)志;對(duì)片外單元1C00H~1FFFH只能進(jìn)行讀操作,讀取顯示緩沖區(qū)中某個(gè)單元的內(nèi)容。這樣做的好處是程序精簡(jiǎn),從而提高顯示速度。
            例如:LDB R1,#08H
            STB R1,1000H

          完成對(duì)關(guān)顯示命令08H的傳送,其中地址1000H更換成段1000H~13FFH中其他單元地址同樣有效。
            LDB R1,1800H

          將忙碌標(biāo)志讀到R1中。同樣,地址1800H更換成段1800H~1BFFH中其他單元的地址同樣有效。

          2 顯示的軟件設(shè)計(jì)

          在控制/驅(qū)動(dòng)器ST7920中存在一個(gè)與液晶屏面相對(duì)應(yīng)的顯示緩沖區(qū)。利用LCD模塊顯示,最關(guān)鍵的就是確定該緩沖區(qū)的存儲(chǔ)單元同液晶屏面上像素的對(duì)應(yīng)關(guān)系。有了這個(gè)對(duì)應(yīng)關(guān)系后,我們就可以通過(guò)將某個(gè)存儲(chǔ)單元中的某一位置為1來(lái)在液晶屏上畫(huà)出對(duì)應(yīng)的一點(diǎn)。該緩沖區(qū)共有64行×16列=1024 個(gè)存儲(chǔ)單元(每個(gè)單元8位),每一單元同液晶屏面上的水平連續(xù)的8個(gè)像素相對(duì)應(yīng),顯示緩沖區(qū)中的每個(gè)存儲(chǔ)單元的地址分為水平地址和垂直地址,該地址對(duì)應(yīng)到液晶平面上就是連續(xù)8個(gè)像素的水平坐標(biāo)和垂直坐標(biāo)。

          在測(cè)試儀的軟件設(shè)計(jì)中,每次連續(xù)采集2K個(gè)數(shù)據(jù)存放在RAM中的8000H~87FFH單元內(nèi)。而液晶顯示器每次只能顯示128個(gè)點(diǎn),因此,我們可以通過(guò)改變?cè)赗AM中的讀數(shù)間隔來(lái)控制信號(hào)的橫向顯示,即每顯示完一個(gè)數(shù)據(jù),RAM地址加 N(N的最大值16)。通過(guò)改變N的大小來(lái)對(duì)信號(hào)波形在水平方向上的拉伸或壓縮,以便于觀察。

          以顯示水平方向上從左至右第a(a的范圍是1~128)個(gè)點(diǎn)為例。

          第一步:從RAM中地址是8000H+(a-1)*N的單元中讀取采樣值k(10位采樣精度)。

          第二步:根據(jù)a的值計(jì)算液晶屏上a點(diǎn)在顯示緩沖區(qū)中對(duì)應(yīng)的位所在字節(jié)的水平地址x=80H+a/8,其中a/8取商的整數(shù)部分。

          第三步:根據(jù)采樣值k計(jì)算a點(diǎn)在顯示緩沖區(qū)中對(duì)應(yīng)的位所在字節(jié)的垂直地址y=80H+64*k/1024,其中k/1024取商的整數(shù)部分。

          第四步:計(jì)算在上兩步所確定的顯示緩沖字節(jié)中需要存放的內(nèi)容。取a/8的余數(shù)c,將8位二進(jìn)制數(shù)10000000B向右移位c-1(c等于0時(shí)取c為 9)次得到d。為了避免該點(diǎn)所在緩沖字節(jié)中的其他位被改變,需要事先將該緩沖字節(jié)的內(nèi)容讀出來(lái)(ST7920有此功能)與d取或后作為最終需要存放的內(nèi)容 e。

          第五步:將e存放到二三兩步所確定的緩沖字節(jié)中,點(diǎn)亮a點(diǎn)。

          第六步:如果a點(diǎn)與前一點(diǎn)的幅值差距大于1,那么就會(huì)造成波形顯示的不連續(xù),影響視覺(jué)效果。解決此問(wèn)題的辦法是:每顯示完一點(diǎn)后,判斷它與前一點(diǎn)的幅值差距f,若f大于1就在兩點(diǎn)間的豎直方向上連續(xù)插入f-1個(gè)點(diǎn)(若硬件允許,插入點(diǎn)的灰度低一些,效果更好)。為達(dá)到幅值差為正和負(fù)時(shí)插入點(diǎn)在水平方向上的對(duì)稱,可這樣解決:若當(dāng)前點(diǎn)在前一點(diǎn)的上方就取前一點(diǎn)的水平坐標(biāo)作為插入點(diǎn)的水平坐標(biāo),若當(dāng)前點(diǎn)在前一點(diǎn)的下方,則取當(dāng)前點(diǎn)的水平坐標(biāo)作為插入點(diǎn)的水平坐標(biāo)。

          以上就是顯示每個(gè)點(diǎn)所需的步驟,在具體編程時(shí)只需將上面步驟循環(huán)128次即可在液晶屏面上畫(huà)出信號(hào)波形。由于篇幅有限,這里不再提供具體程序。

          3 結(jié)束語(yǔ)

          本文設(shè)計(jì)的信號(hào)波形顯示方法,在軸承信號(hào)測(cè)試儀的研制中已經(jīng)得到成功驗(yàn)證。該設(shè)計(jì)方法在硬件上有兩大特點(diǎn)。一是將LCD模塊的控制線與單片機(jī)的地址線相連,單片機(jī)輸出地址時(shí)就可完成對(duì)LCD模塊的功能選擇,無(wú)需單獨(dú)向控制線送數(shù)據(jù)。二是利用讀寫(xiě)信號(hào)產(chǎn)生LCD的使能脈沖。該設(shè)計(jì)方法在軟件上的特點(diǎn)是程序簡(jiǎn)單,顯示速度快。這對(duì)解決智能型LCD模塊繪圖速度慢的問(wèn)題很有幫助。這種設(shè)計(jì)方法在繪圖速度上優(yōu)于其他方法,具有很好的實(shí)用價(jià)值。

          參考文獻(xiàn)
          [1]李維,郭強(qiáng),周云仙.液晶顯示應(yīng)用手冊(cè)[M].北京:電子工業(yè)出版社,2003.
          [2]劉復(fù)華.8XC196KX單片機(jī)及其應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:清華大學(xué)出版社,2002.



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