芭乐推广APP网站入口官网_芭乐视频在线下载_芭乐APP色版_芭乐视频在线播放

歡迎訪問(wèn)杭州精顯科技有限公司液晶顯示屏網(wǎng)站! 設(shè)為首頁(yè) | 收藏本站| 網(wǎng)站地圖
全國(guó)統(tǒng)一服務(wù)熱線
15382323032
?

技術(shù)知識(shí)

您只需一個(gè)電話我們將推薦性價(jià)比高的液晶屏產(chǎn)品選型,讓您花合理的價(jià)格,達(dá)到預(yù)期的效果

全國(guó)統(tǒng)一服務(wù)熱線
15382323032

產(chǎn)品動(dòng)態(tài)

聯(lián)系我們

全國(guó)統(tǒng)一服務(wù)熱線:

15382323032

客服QQ:3234659108

手機(jī):15382323032

地址:浙江省杭州市余杭區(qū)五常街道西溪軟件園金牛座B2座4層4118-4119

當(dāng)前位置: 主頁(yè) > 資訊中心 > 技術(shù)知識(shí) > >

TFT-LCD的漢字字符以及圖片的顯示說(shuō)明效果

文章出處:原創(chuàng) 人氣:發(fā)表時(shí)間:2017-09-11

做技術(shù)支持,有很多的初學(xué)者都不知道TFT-LCD的漢字、字符以及圖片的顯示,以及漢字字體大小應(yīng)該如何去調(diào)整。在這里特別的來(lái)說(shuō)明一下。

首先我們要知道不管是漢字、字符還是圖片都是需要點(diǎn)陣數(shù)據(jù),才能在TFT-LCD上面顯示。字符和漢字的點(diǎn)陣數(shù)據(jù)是一位代表一個(gè)點(diǎn)的數(shù)據(jù),其實(shí)它也就是0或者1。取模之后的點(diǎn)陣數(shù)據(jù)是1的像素點(diǎn),需要顯示畫筆的顏色,也就是說(shuō)點(diǎn)亮,數(shù)據(jù)為0的像素點(diǎn),則顯示背景顏色就可以了。這種顏色的對(duì)比就能夠顯示出漢字或者是字符。而圖片則就不一樣了,圖片的一個(gè)像素點(diǎn)的數(shù)據(jù),都和你的取模相關(guān),因?yàn)閳D片是需要彩色來(lái)顯示的,所以圖片的數(shù)據(jù)是直接把點(diǎn)陣數(shù)據(jù)送給彩屏來(lái)進(jìn)行顯示。而漢字或者是字符則是通過(guò)判斷每一位是0或者1,從而顯示背景顏色或者畫筆的顏色。
在LCD上顯示出一個(gè)圖片或者字符,是需要一個(gè)顯示區(qū)域的,首先我們要先確定其顯示起點(diǎn),然后就是接下來(lái)的數(shù)據(jù)是沿著X軸還是Y軸進(jìn)行發(fā)送數(shù)據(jù)也就是X軸或者Y軸地址的增長(zhǎng)順序以及其方向。下面的這張圖顯示的是在一個(gè)顯示區(qū)域內(nèi)的,是八種不同情況的顯示起點(diǎn)以及X軸和Y軸地址的增長(zhǎng)順序以及其方向。當(dāng)我們要去顯示對(duì)應(yīng)的字符或者圖片的時(shí)候,我們只需要保證到LCD屏的顯示起點(diǎn)以及X軸和Y軸的增長(zhǎng)順序以及方向,和我們對(duì)字符或者漢字的取模的點(diǎn)陣數(shù)據(jù)的順序保持一致,才能夠正常的顯示出我們想要的效果。
TFT-LCD顯示

一般的LCD顯示有兩種方法可供選擇:
第一種:就是每每發(fā)送一個(gè)像素點(diǎn)的數(shù)據(jù),設(shè)置一次地址,來(lái)控制發(fā)送下一個(gè)像素點(diǎn)的位置。比如說(shuō)下圖的程序編程方法。
TFT-LCD顯示代碼
在這一段程序當(dāng)中我們可以看到,我們是通過(guò)兩個(gè)for循環(huán)來(lái)發(fā)送數(shù)據(jù)的,一個(gè)是控制行,一個(gè)是控制列。橫屏顯示或者是豎屏顯示那就要看你的for循環(huán)控制,是先發(fā)送X軸的數(shù)據(jù),還是發(fā)送Y軸的數(shù)據(jù),這也全靠程序猿的算法。但是這一種方法不好的地方就是每發(fā)送一個(gè)像素點(diǎn)的數(shù)據(jù)都要再設(shè)置一次地址,顯然導(dǎo)致屏幕的刷新速度很慢。但是好處是對(duì)于任意一種屏這一種算法都是適合的。
第二種:利用LCD驅(qū)動(dòng)芯片的地址自增功能來(lái)顯示出字符或者圖片(一般LCD的驅(qū)動(dòng)芯片都會(huì)有這個(gè)功能)。使用這個(gè)功能,首先我們要去設(shè)置一個(gè)顯示窗口,使其只能夠在LCD屏的某一個(gè)區(qū)域進(jìn)行顯示,比如你要去顯示一個(gè)16*16的漢字,那你就要把顯示區(qū)域設(shè)置成16*16的大小,然后設(shè)置顯示起點(diǎn),也就是其光標(biāo)的位置,然后再發(fā)送LCD的寫數(shù)據(jù)命令,接下來(lái)就只需要發(fā)送像素點(diǎn)的數(shù)據(jù)了,而不需要再次設(shè)置地址,接下來(lái)發(fā)送的數(shù)據(jù),則會(huì)依次的顯示在你設(shè)置的顯示區(qū)域當(dāng)中。比如說(shuō)下面的這段程序。顯示代碼
要使用第二種顯示方法,之前必須要先設(shè)置好顯示區(qū)域的顯示起點(diǎn),以及LCD驅(qū)動(dòng)芯片的地址自增方向,下面我就以SSD1963和SSD1298兩款芯片說(shuō)明寄存器的設(shè)置。
首先就是SSD1963,查閱SSD1963芯片的數(shù)據(jù)手冊(cè),可以找到一個(gè)寄存器是控制地址的自增方向。比如下圖:
TFT-LCD數(shù)據(jù)
可以看到它是通過(guò)0x36這個(gè)命令來(lái)設(shè)置這個(gè)順序的,這八種順序都和我們上面所提到的是一樣的。所以只要設(shè)置好對(duì)應(yīng)的關(guān)系即可。
SSD1298是一樣的道理,也是通過(guò)設(shè)置寄存器來(lái)控制這個(gè)順序的,在數(shù)據(jù)手冊(cè)之中可以查到,如下圖:
TFT-LCD數(shù)據(jù)手冊(cè)
這個(gè)是用ox11的寄存器來(lái)控制器順序的。

另外需要注意的一點(diǎn)是:設(shè)置的窗口一定要和你要顯示的圖片或者漢字的顯示區(qū)域是一樣的,否則就會(huì)出現(xiàn)錯(cuò)位的現(xiàn)象。
還有就是在顯示漢字或者是字符的時(shí)候,不同字體的大小,每一行要顯示的像素點(diǎn)數(shù)都是不一樣的,一個(gè)字節(jié)是8個(gè)位,代表的是8個(gè)像素點(diǎn),所以在使用for循環(huán)的時(shí)候,需要注意一下。不要把高低位弄反了,顯示錯(cuò)位。注意高位先發(fā)送還是低位先發(fā)送,這和你的取模以及顯示都有關(guān)系,需要一一對(duì)應(yīng)。

寫了這么多,希望能夠?qū)Τ鯇W(xué)者有幫助,路過(guò)的各位高手也能夠指點(diǎn)一二。

?

群創(chuàng)液晶屏 友達(dá)液晶屏 京東方液晶屏 京瓷液晶屏 龍騰液晶屏 天馬液晶屏 奇美液晶屏 三菱液晶屏