<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 振動(dòng)信號波形在圖形型液晶模塊上的實(shí)現

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

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

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

本文引用地址:http://dyxdggzs.com/article/172194.htm

1.1 GDM12864E簡(jiǎn)介

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

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

1.2 GDM12864E與80C196KC的接口

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

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

6.jpg

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

7.jpg

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

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

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

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

2 顯示的軟件設計

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

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

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

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

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

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

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

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

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

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

3 結束語(yǔ)

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

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



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>