一種通過緩存管理實現(xiàn)對單色液晶顯示屏操作的方法
【專利摘要】本發(fā)明涉及基本單色顯示屏操作方法【技術領域】,特別涉及一種通過緩存管理實現(xiàn)對12864單色液晶顯示屏操作的方法。本發(fā)明通過建立全屏顯示緩存區(qū),根據(jù)顯示數(shù)據(jù)類型確定屏幕的刷新方式,對顯示內容的操作主要體現(xiàn)為對顯示緩存的讀寫,當發(fā)送刷新屏幕命令才進行屏幕的刷新,這種方式可以盡量減少操作顯示屏的次數(shù),大大提高顯示速度。顯示文字不在局限為固定行,而是可以在任意位置顯示,同時加入圖形元素,使屏幕顯示內容更加人性化,增強了用戶體驗度。
【專利說明】一種通過緩存管理實現(xiàn)對單色液晶顯示屏操作的方法
【技術領域】
[0001]本發(fā)明涉及基本單色顯示屏操作方法【技術領域】,特別涉及一種通過緩存管理實現(xiàn)對12864單色液晶顯示屏操作的方法。
【背景技術】
[0002]隨著電子技術發(fā)展,各種電子產(chǎn)品逐步進入人們的生活,其中集成基本單色液晶顯示屏的電子產(chǎn)品占有很大比重。隨著集成電路技術的飛速發(fā)展,具有更高運行頻率、更大存儲空間的處理器不斷出現(xiàn),相對于傳統(tǒng)處理器,其具有更高的性能,運行速率也遠遠高于單色顯示屏的數(shù)據(jù)傳輸速率,這樣兩者在配合使用時就會使得低速設備的性能影響高速設備,從而影響機器的整體性能。
【發(fā)明內容】
[0003]為了解決現(xiàn)有技術的問題,本發(fā)明提供了一種通過緩存管理實現(xiàn)對12864單色液晶顯示屏操作的方法,該方法可充分發(fā)揮高性能處理器的性能,使復雜的數(shù)據(jù)操作僅僅針對顯示緩存區(qū),而不是直接操作顯示屏,盡量減少對單色液晶顯示屏的數(shù)據(jù)讀寫,可避免顯示速度慢,顯示效果差的缺點。
[0004]本發(fā)明所采用的技術方案如下:
一種通過緩存管理實現(xiàn)對12864單色液晶顯示屏操作的方法,是在系統(tǒng)應用層內設置顯示緩沖區(qū),需要顯示的字庫數(shù)據(jù)直接放入顯示緩存,待一整屏的數(shù)據(jù)準備完成后再將數(shù)據(jù)發(fā)送到驅動層,驅動層把顯示數(shù)據(jù)通過端口送到顯示屏。
[0005]字庫數(shù)據(jù)包括顯示文字、單個點、直線、矩形、填充矩形和位圖六種類型。
[0006]對于顯示文字時,系統(tǒng)程序首先根據(jù)字符編碼在字庫文件中找到文字的位圖,再將讀出的數(shù)據(jù)按照所給坐標放到緩沖區(qū)的相應位置中,緩沖區(qū)準備好后用刷屏命令實現(xiàn)文字的顯示。
[0007]對于單個點的顯示方式,單點顯示僅刷新要顯示的點對應的一個字節(jié)數(shù)據(jù)。
[0008]對于直線、矩形或填充矩形及位圖的顯示,顯示時,首先用顯示單點的方式將顯示數(shù)據(jù)放入緩沖區(qū),緩沖區(qū)操作完成后用刷屏命令實現(xiàn)真正顯示。
[0009]本發(fā)明提供的技術方案帶來的有益效果是:
通過建立全屏顯示緩存區(qū),根據(jù)顯示數(shù)據(jù)類型確定屏幕的刷新方式(局部刷新和全屏刷新),對顯示內容的操作主要體現(xiàn)為對顯示緩存的讀寫,當發(fā)送刷新屏幕命令才進行屏幕的刷新,這種方式可以盡量減少操作顯示屏的次數(shù),大大提高顯示速度。顯示文字不在局限為固定行,而是可以在任意位置顯示,同時加入圖形元素,使屏幕顯示內容更加人性化,增強了用戶體驗度。
【專利附圖】
【附圖說明】
[0010]圖1為本發(fā)明的一種通過緩存管理實現(xiàn)對12864單色液晶顯示屏操作的方法的針對顯示文字的方法流程圖;
圖2為本發(fā)明的一種通過緩存管理實現(xiàn)對12864單色液晶顯示屏操作的方法的針對顯示單點的方法流程圖。
【具體實施方式】
[0011]為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明實施方式作進一步地詳細描述。
[0012]實施例一
本專利所應用的12864單色液晶顯示屏的IOCTL命令,BACKLIGHT_0N命令控制開背光,BACKLIGHT_0FF命令控制關背光,LCD_DISP_L0G0命令使機器顯示開機logo,這三個命令只有命令字發(fā)送到驅動層,無數(shù)據(jù)傳輸;CHANGE_CONTRAST命令用來調節(jié)顯示屏的對比度,該命令發(fā)送一個int型數(shù)據(jù)到驅動層;DR0W_D0T命令用來在屏上顯示一個點,該命令發(fā)送3個字節(jié)到驅動層;RERRESH_SCREEN命令用來刷新顯示屏,該命令發(fā)送一整屏即IKB的數(shù)據(jù)到顯示驅動;驅動在收到相關命令后會對屏進行數(shù)據(jù)操作。
[0013]附圖1為顯示文字的基本流程圖,程序根據(jù)輸入文字的內碼計算出在字庫中偏移地址,然后在字庫文件中的上述偏移地址處讀出對應的文字點陣數(shù)據(jù),最后將點陣數(shù)據(jù)根據(jù)文字要顯示的位置放入顯示緩沖區(qū)的對應位置,發(fā)送RERRESH_SCREEN命令并不是在每次操作完顯示緩存都進行,當要顯示的內容全部都放到緩沖區(qū),需要在屏上顯示時才會調用該命令實現(xiàn)顯示。在屏上顯示直線、矩形、填充矩形和位圖的方式與顯示文字基本相同,都是先操作緩沖區(qū),再發(fā)送RERRESH_SCREEN命令進行顯示。
[0014]附圖2為顯示單個點的基本流程圖,程序根據(jù)輸入要顯示的點的坐標計算出要設置的顯示緩沖區(qū)位置,然后根據(jù)點的顏色計算出對應緩沖區(qū)位置的數(shù)據(jù)并設置緩沖區(qū),最后將點的坐標和顏色數(shù)據(jù)發(fā)送到顯示驅動層,顯示驅動層也相應的設置驅動層緩沖區(qū)對應位置的數(shù)據(jù),最后把一個字節(jié)的顯示內容發(fā)送到顯示屏實現(xiàn)顯示。之所以在應用層和驅動層都進行設置緩沖區(qū)操作是為了保持兩個緩沖區(qū)數(shù)據(jù)的一致性,防止其他操作更改緩沖區(qū)導致顯示錯誤。
[0015]本專利提出的對單色顯示屏的操作方式主要應用于一款集成12864單色顯示功能的網(wǎng)絡開票機,該網(wǎng)絡開票機采用龍芯LSlB處理器作為主控制器,實現(xiàn)網(wǎng)絡開票的相關功能。處理器通過GPIO端口與12864單色液晶顯示屏相連,由于采用的顯示屏內部沒有字庫,字庫是以文件的形式存放在文件系統(tǒng)中,所以Linux的顯示驅動部分僅負責對顯示屏的數(shù)據(jù)寫入操作,字庫的查詢和讀取在應用層實現(xiàn)。該方式的特點是將字庫查詢等復雜操作放在應用層,應用層有一顯示緩沖區(qū),每次讀出的字庫數(shù)據(jù)直接放入顯示緩存,待一整屏的數(shù)據(jù)準備完成后再將數(shù)據(jù)發(fā)送到驅動層,驅動層把顯示數(shù)據(jù)通過GPIO送到顯示屏。本專利的實現(xiàn)方式能充分發(fā)揮高速設備的性能,減少對低速外設的操作,提高機器的整體運行速度。
[0016]本專利的龍芯LSlB處理器采用MIPS架構,MIPS架構是一種簡潔、優(yōu)化、具有高擴展性的RICS架構,它的特點是包含大量的寄存器、指令數(shù)和字符、可視的管道延時時隙,這些特征使MIPS架構提供最高的每平方毫米性能和當今SOC設計中最低的能耗。龍芯LSlB處理器最高運行主頻為255MHz,片外搭載容量為256MB的DDRII內存芯片和128MB的Nandflash芯片,嵌入式Linux的應用使得機器可以進行多線程多任務的處理,整機性能較高,運行速度較快。
[0017]顯示屏內核驅動程序的實現(xiàn):顯示驅動部分主要實現(xiàn)ioctl的操作,該函數(shù)在數(shù)據(jù)傳輸時主要分為兩類,當要在顯示屏上顯示單個點時ioctl僅接收3個字節(jié)的數(shù)據(jù),這3個字節(jié)分別是顯示點的橫坐標、縱坐標和點的顏色,顯示單點是僅向顯示屏送一個字節(jié)的數(shù)據(jù);當顯示內容為字符或圖形時,ioctl從用戶空間接收整屏的數(shù)據(jù),發(fā)送數(shù)據(jù)到顯示屏采用的是顯示屏的地址自增功能,整屏數(shù)據(jù)發(fā)送僅需發(fā)送8次地址,減少了對GPIO的操作,提聞顯不速度。
[0018]顯示緩沖區(qū)的處理:對顯示緩沖區(qū)的處理主要包括顯示文字、單個點、直線、矩形、填充矩形和位圖六種類型。顯示文字時程序首先根據(jù)字符編碼在字庫文件中找到文字的位圖,再將讀出的數(shù)據(jù)按照所給坐標放到緩沖區(qū)的相應位置中,緩沖區(qū)準備好后用刷屏命令實現(xiàn)文字的顯示;對于單個點的顯示方式跟其他的內容顯示有明顯的不同,因為顯示單點時數(shù)據(jù)量較小,如果也刷新整個屏幕則會因要給屏發(fā)送大量數(shù)據(jù)而影響顯示速度,所以單點顯示僅刷新要顯示的點對應的一個字節(jié)數(shù)據(jù);直線的顯示最終可以歸結為顯示很多點,但是如果顯示點的數(shù)量過多就會增加操作顯示屏的次數(shù),也會影響顯示速度,因此直線顯示時首先用顯示單點的方式將顯示數(shù)據(jù)放入緩沖區(qū),緩沖區(qū)操作完成后用刷屏命令實現(xiàn)真正顯示;顯示矩形、填充矩形和位圖的方式跟顯示直線類似,都是先操作緩沖區(qū),緩沖區(qū)準備好再用刷屏命令實現(xiàn)顯示。
[0019]以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
【權利要求】
1.一種通過緩存管理實現(xiàn)對12864單色液晶顯示屏操作的方法,是在系統(tǒng)應用層內設置顯示緩沖區(qū),需要顯示的字庫數(shù)據(jù)直接放入顯示緩存,待一整屏的數(shù)據(jù)準備完成后再將數(shù)據(jù)發(fā)送到驅動層,驅動層把顯示數(shù)據(jù)通過端口送到顯示屏。
2.根據(jù)權利要求1所述的一種通過緩存管理實現(xiàn)對12864單色液晶顯示屏操作的方法,其特征在于,所述的字庫數(shù)據(jù)包括顯示文字、單個點、直線、矩形、填充矩形和位圖六種類型。
3.根據(jù)權利要求2所述的一種通過緩存管理實現(xiàn)對12864單色液晶顯示屏操作的方法,其特征在于,對于顯示文字時,系統(tǒng)程序首先根據(jù)字符編碼在字庫文件中找到文字的位圖,再將讀出的數(shù)據(jù)按照所給坐標放到緩沖區(qū)的相應位置中,緩沖區(qū)準備好后用刷屏命令實現(xiàn)文字的顯示。
4.根據(jù)權利要求2所述的一種通過緩存管理實現(xiàn)對12864單色液晶顯示屏操作的方法,其特征在于,對于單個點的顯示方式,單點顯示僅刷新要顯示的點對應的一個字節(jié)數(shù)據(jù)。
5.根據(jù)權利要求2所述的一種通過緩存管理實現(xiàn)對12864單色液晶顯示屏操作的方法,其特征在于,對于直線、矩形或填充矩形及位圖的顯示,顯示時,首先用顯示單點的方式將顯示數(shù)據(jù)放入緩沖區(qū),緩沖區(qū)操作完成后用刷屏命令實現(xiàn)真正顯示。
【文檔編號】G09G5/22GK103886845SQ201410070473
【公開日】2014年6月25日 申請日期:2014年2月28日 優(yōu)先權日:2014年2月28日
【發(fā)明者】曲小龍, 喬國凱, 于治樓 申請人:浪潮軟件集團有限公司