第十六章 S3C2410的人機界面設(shè)計_第1頁
第十六章 S3C2410的人機界面設(shè)計_第2頁
第十六章 S3C2410的人機界面設(shè)計_第3頁
第十六章 S3C2410的人機界面設(shè)計_第4頁
第十六章 S3C2410的人機界面設(shè)計_第5頁
已閱讀5頁,還剩63頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、第十六章第十六章 S3C2410的的人機界面設(shè)計人機界面設(shè)計 主要內(nèi)容:主要內(nèi)容:v16.1 漢字顯示原理漢字顯示原理v16.2字模提取與小字庫建立字模提取與小字庫建立v16.3 S3C2410顯示控制特點顯示控制特點v16.4 S3C2410的的LCD控制信號和外部引腳控制信號和外部引腳v16.5 S3C2410 的的LCD驅(qū)動程序驅(qū)動程序v16.6 S3C2410在在LCD驅(qū)動方面的其它應(yīng)用驅(qū)動方面的其它應(yīng)用v16.8 S3C6410 (ARM11)的漢字和曲線顯示的漢字和曲線顯示16.1 漢字顯示原理漢字顯示原理16.1.1 嵌入式控制系統(tǒng)人機界面設(shè)計概述嵌入式控制系統(tǒng)人機界面設(shè)計概述v

2、嵌入式控制系統(tǒng)設(shè)計,首先會遇到人機界面嵌入式控制系統(tǒng)設(shè)計,首先會遇到人機界面設(shè)計,人機界面設(shè)計的問題也是嵌入式控制設(shè)計,人機界面設(shè)計的問題也是嵌入式控制系統(tǒng)設(shè)計中難點之一,由于嵌入式控制系統(tǒng)系統(tǒng)設(shè)計中難點之一,由于嵌入式控制系統(tǒng)人機界面一般使用人機界面一般使用LCD(Liquid Crystal Display,液晶顯示器的簡稱)做顯示器件,液晶顯示器的簡稱)做顯示器件,所以人機界面設(shè)計基本上歸結(jié)為為二個問題,所以人機界面設(shè)計基本上歸結(jié)為為二個問題,一是如何解決在液晶顯示器上顯示漢字和各一是如何解決在液晶顯示器上顯示漢字和各種曲線,另一個就是各類液晶顯示器件驅(qū)動種曲線,另一個就是各類液晶顯示器

3、件驅(qū)動問題。問題。16.1.2 漢字和字符顯示原理漢字和字符顯示原理v無論是無論是CRT顯示器,還是單片機系統(tǒng)常用的顯示器,還是單片機系統(tǒng)常用的LCD,它們的分辨率都是以像素為單位的,它們的分辨率都是以像素為單位的,一個像素就是一個像素就是LCD屏上的一個可以顯示的最屏上的一個可以顯示的最小單位,也就是常說的點。因此,要在小單位,也就是常說的點。因此,要在LCD屏上顯示一個漢字或圖形就必須將漢字或圖屏上顯示一個漢字或圖形就必須將漢字或圖形用點來表式,這些表示某種圖形的點的集形用點來表式,這些表示某種圖形的點的集合就是所說的點陣。合就是所說的點陣。v嵌入式控制系統(tǒng)中最常用的漢字是嵌入式控制系統(tǒng)中

4、最常用的漢字是1616點點陣,它是由行列各陣,它是由行列各16個點,共個點,共256個點組成個點組成的點陣圖案,每行的的點陣圖案,每行的16個點在內(nèi)存中占兩個個點在內(nèi)存中占兩個字節(jié),一個字節(jié),一個1616點陣漢字共點陣漢字共16行,在內(nèi)存行,在內(nèi)存中占中占32個字節(jié)。個字節(jié)。v根據(jù)這些字節(jié)在點陣中存放的順序,第一行根據(jù)這些字節(jié)在點陣中存放的順序,第一行的第的第1個字節(jié)稱個字節(jié)稱“0”號字節(jié),第號字節(jié),第2個字節(jié)稱個字節(jié)稱“1”號字節(jié);第二行的第號字節(jié);第二行的第1個字節(jié)稱個字節(jié)稱“2”號號字節(jié),第字節(jié),第2個字節(jié)稱個字節(jié)稱“3”號字節(jié)。以此類推,號字節(jié)。以此類推,最后一行的第最后一行的第1個字

5、節(jié)稱個字節(jié)稱“30”號字節(jié),第號字節(jié),第2個字節(jié)稱個字節(jié)稱“31”號字節(jié),每個字節(jié)高位在前,號字節(jié),每個字節(jié)高位在前,低位在后,即低位在后,即D7在一個字節(jié)的最左側(cè),在一個字節(jié)的最左側(cè),D0在在最右側(cè)。具體如圖最右側(cè)。具體如圖16-1所示:所示:v不同的漢字各字節(jié)數(shù)據(jù)不同,圖不同的漢字各字節(jié)數(shù)據(jù)不同,圖16-2是仿宋是仿宋體體“哈哈”字的字的1616點陣字模,在點陣中,點陣字模,在點陣中,每一個小方格代表字節(jié)中的一位(也叫一個每一個小方格代表字節(jié)中的一位(也叫一個bit),黑色的點),黑色的點bit值等于值等于1,白色的點,白色的點bit值值等于等于0。這樣,仿宋體。這樣,仿宋體“哈哈”字的字

6、的1616點點陣字模的陣字模的32個字節(jié)數(shù)據(jù)如下:個字節(jié)數(shù)據(jù)如下:v0 x0040,0 x0040,0 x00a0,0 x78a0,0 x4910,0 x4918,0 x4a0e,0 x4df4,v0 x4800,0 x4800,0 x7bf8,0 x4a08,0 x0208,0 x0208,0 x03f8,0 x0208。v輸出一個字節(jié)數(shù)據(jù)時,該字節(jié)中“位”(bit)為1時,在該“位”位置打點,為0時該“位”位置打空白。如圖16-2所示。v此外常用的漢字還有此外常用的漢字還有2424點陣,它是由行點陣,它是由行列各列各24個點組成的點陣圖案,它每列的個點組成的點陣圖案,它每列的24個個點在內(nèi)

7、存中占三個字節(jié),一個點在內(nèi)存中占三個字節(jié),一個2424點陣漢點陣漢字共字共24列,在內(nèi)存中占列,在內(nèi)存中占72個字節(jié);個字節(jié);4848點點陣,行陣,行列為列為4848,一個漢字占內(nèi)存,一個漢字占內(nèi)存288個字節(jié)。個字節(jié)。1212點陣(為方便編程把列點陣(為方便編程把列12點點擴展為擴展為16點,既兩個字節(jié))行點,既兩個字節(jié))行列為列為1216,一個漢字占內(nèi)存一個漢字占內(nèi)存24個字節(jié)。個字節(jié)。16.1.3 漢字字符集概述漢字字符集概述v我國我國1981年公布了年公布了信息交換用漢字編信息交換用漢字編碼字符集(基本集)碼字符集(基本集)GB2312-80方案,方案,把高頻字、常用字和次常用字集合成

8、漢把高頻字、常用字和次常用字集合成漢字基本字符(共字基本字符(共6763個),在該集中按個),在該集中按漢字使用的頻度,又將其分成一級漢字漢字使用的頻度,又將其分成一級漢字3755個(按拼音排序)、二級漢字個(按拼音排序)、二級漢字3008個(按部首排序),再加上西文字母、個(按部首排序),再加上西文字母、數(shù)字、圖形符號等數(shù)字、圖形符號等700個。個。v國家標(biāo)準(zhǔn)的漢字字符集(國家標(biāo)準(zhǔn)的漢字字符集(GB2312-80)在漢字操作系統(tǒng)中是以漢字庫的形式提在漢字操作系統(tǒng)中是以漢字庫的形式提供的。漢字庫結(jié)構(gòu)作了統(tǒng)一規(guī)定,即將供的。漢字庫結(jié)構(gòu)作了統(tǒng)一規(guī)定,即將字庫分成字庫分成94個區(qū)個區(qū)(用區(qū)號表示用區(qū)

9、號表示),每個區(qū),每個區(qū)有有94個漢字(用位號表示),每一個漢個漢字(用位號表示),每一個漢字在漢字庫中有確定的區(qū)和位編號(用字在漢字庫中有確定的區(qū)和位編號(用兩個字節(jié)),就是所謂的區(qū)位碼(區(qū)位兩個字節(jié)),就是所謂的區(qū)位碼(區(qū)位碼的第一個字節(jié)表示區(qū)號,第二個字節(jié)碼的第一個字節(jié)表示區(qū)號,第二個字節(jié)表示位號),因而只要知道了區(qū)位碼,表示位號),因而只要知道了區(qū)位碼,就可知道該漢字在字庫中的地址。就可知道該漢字在字庫中的地址。16.1.4 漢字的內(nèi)碼漢字的內(nèi)碼v計算機內(nèi)英文字符用一個字節(jié)的計算機內(nèi)英文字符用一個字節(jié)的ASCII碼表示,該字節(jié)最高位一般用做奇偶校碼表示,該字節(jié)最高位一般用做奇偶校驗,故

10、實際是用驗,故實際是用7位碼來代表位碼來代表128個字符個字符的,但對于眾多的漢字,只有用兩個字的,但對于眾多的漢字,只有用兩個字節(jié)才能代表,這樣用兩個字節(jié)代表一個節(jié)才能代表,這樣用兩個字節(jié)代表一個漢字的代碼體制,國家制定了統(tǒng)一標(biāo)準(zhǔn),漢字的代碼體制,國家制定了統(tǒng)一標(biāo)準(zhǔn),稱為國標(biāo)碼。稱為國標(biāo)碼。16.1.5 內(nèi)碼轉(zhuǎn)換為區(qū)位碼內(nèi)碼轉(zhuǎn)換為區(qū)位碼v當(dāng)用某種輸入設(shè)備例如鍵盤將漢字輸入當(dāng)用某種輸入設(shè)備例如鍵盤將漢字輸入計算機時,則管理模塊將自動地把鍵盤計算機時,則管理模塊將自動地把鍵盤輸入的漢字轉(zhuǎn)換為內(nèi)碼,再由內(nèi)碼轉(zhuǎn)換輸入的漢字轉(zhuǎn)換為內(nèi)碼,再由內(nèi)碼轉(zhuǎn)換成區(qū)位碼,通過區(qū)位碼在漢字庫中找到成區(qū)位碼,通過區(qū)位碼

11、在漢字庫中找到該漢字,進行顯示。該漢字,進行顯示。v由于區(qū)位碼和內(nèi)碼存在著固定的對應(yīng)關(guān)由于區(qū)位碼和內(nèi)碼存在著固定的對應(yīng)關(guān)系,因而知道了某漢字的內(nèi)碼,即可確系,因而知道了某漢字的內(nèi)碼,即可確定出對應(yīng)的區(qū)位碼定出對應(yīng)的區(qū)位碼。16.2字模提取與小字庫建立字模提取與小字庫建立v上面提到,漢字占用內(nèi)存是非常多的,如常上面提到,漢字占用內(nèi)存是非常多的,如常用的一個用的一個1616點陣漢字占點陣漢字占32字節(jié),一個仿字節(jié),一個仿宋體宋體1616點陣漢字庫有點陣漢字庫有6763個漢字,占內(nèi)個漢字,占內(nèi)存存326763字節(jié);一個字節(jié);一個2424點陣漢字占點陣漢字占72字節(jié),一個仿宋體字節(jié),一個仿宋體2424

12、點陣漢字庫有點陣漢字庫有6763個漢字,占內(nèi)存?zhèn)€漢字,占內(nèi)存726763字節(jié);一個字節(jié);一個4848點陣漢字占點陣漢字占288個字節(jié),一個仿宋體個字節(jié),一個仿宋體4848點陣漢字庫有點陣漢字庫有6763個漢字,占內(nèi)存?zhèn)€漢字,占內(nèi)存2886763字節(jié);此外,漢字還有宋體、揩字節(jié);此外,漢字還有宋體、揩體、黑體、新宋體、篆書等等,每一種都要體、黑體、新宋體、篆書等等,每一種都要占和仿宋體一樣內(nèi)存。占和仿宋體一樣內(nèi)存。16.2.1 用用C語言提取字模和建立小字庫語言提取字模和建立小字庫v如果應(yīng)用程序是使用如果應(yīng)用程序是使用C語言編制或?qū)φZ言編制或?qū)語言熟語言熟悉,那么使用悉,那么使用C語言來提取字

13、模和建立小字語言來提取字模和建立小字庫比較方便,庫比較方便,C語言的漢字提取程序較多,語言的漢字提取程序較多,我們用程序我們用程序Selchn16.c來提取來提取1616點陣漢點陣漢字。漢字輸入是采用區(qū)位碼,同時生成的小字。漢字輸入是采用區(qū)位碼,同時生成的小字庫是字庫是C語言數(shù)據(jù)形式,可直接復(fù)制到用戶語言數(shù)據(jù)形式,可直接復(fù)制到用戶程序中運行。還可以在程序中運行。還可以在LCD屏顯示小字庫內(nèi)屏顯示小字庫內(nèi)容。容。程序分程序分5段給出,每段都給出詳細(xì)的解釋。段給出,每段都給出詳細(xì)的解釋。1qwcode.h頭文件頭文件v頭文件頭文件qwcode.h包含界面設(shè)計需要的包含界面設(shè)計需要的5個漢字的區(qū)位碼

14、個漢字的區(qū)位碼,QU_WE=24,86,29,73,20,51,34,56,29,81;是我們隨機找的是我們隨機找的5個漢字個漢字“個個”,“介介”,“從從”,“侖侖”,“今今”的區(qū)的區(qū)位碼;位碼;CHNNUMBER(漢字個數(shù))(漢字個數(shù))=5。2char *buffw數(shù)組數(shù)組vchar *buffw數(shù)組中事先存儲了小漢字庫數(shù)組中事先存儲了小漢字庫中中C語言一行字模的存儲格式語言一行字模的存儲格式, 一個一個1616點陣漢字占點陣漢字占32個字節(jié),程序?qū)⒆謧€字節(jié),程序?qū)⒆帜づ懦啥校恍心づ懦啥?,一?個字(個字(16字節(jié)),字節(jié)),改為改為C語言數(shù)據(jù)格式后,每個數(shù)前面加語言數(shù)據(jù)格式后,每個

15、數(shù)前面加0 x0,數(shù)與數(shù)之間用,數(shù)與數(shù)之間用“,”號分隔,再號分隔,再加上每行前面的加上每行前面的14個空格,一行是個空格,一行是76個個字節(jié)。字節(jié)。3計算偏移量,移指針v根據(jù)區(qū)位碼計算偏移量使用公式:根據(jù)區(qū)位碼計算偏移量使用公式:Location =(94(qh-1)+(wh-1) 32。然后將文件指針移到該位置,從。然后將文件指針移到該位置,從該位置讀該位置讀32個字節(jié)放輸入緩沖區(qū),同時個字節(jié)放輸入緩沖區(qū),同時在在LCD屏顯示該漢字。屏顯示該漢字。4將讀入的字模轉(zhuǎn)換為將讀入的字模轉(zhuǎn)換為C語言形式語言形式v從字庫讀出的字模是二進制形式,現(xiàn)從字庫讀出的字模是二進制形式,現(xiàn)轉(zhuǎn)換為轉(zhuǎn)換為C語言形式

16、。轉(zhuǎn)換后,每個語言形式。轉(zhuǎn)換后,每個1616漢字字模排兩行,每行漢字字模排兩行,每行8個字,個字,即即16個字節(jié)。個字節(jié)。v轉(zhuǎn)換時先轉(zhuǎn)換第一個字節(jié)高轉(zhuǎn)換時先轉(zhuǎn)換第一個字節(jié)高4位,再位,再轉(zhuǎn)換第一個字節(jié)低轉(zhuǎn)換第一個字節(jié)低4位;然后轉(zhuǎn)換第二位;然后轉(zhuǎn)換第二個字節(jié)高個字節(jié)高4位,最后轉(zhuǎn)換第二個字節(jié)低位,最后轉(zhuǎn)換第二個字節(jié)低4位。位。5按位轉(zhuǎn)換程序按位轉(zhuǎn)換程序v因為每因為每4個二進制數(shù)可用一個個二進制數(shù)可用一個16進制進制數(shù)表示,而要轉(zhuǎn)換的數(shù)表示,而要轉(zhuǎn)換的C語言形式是語言形式是16進進制數(shù),所以把一個字節(jié)的高制數(shù),所以把一個字節(jié)的高4位和低位和低4位位分別取出,將其數(shù)值加上分別取出,將其數(shù)值加上30

17、H,既變?yōu)?,既變?yōu)橄鄳?yīng)的相應(yīng)的ASCII碼,然后存儲。碼,然后存儲。v建成的小漢字庫是以建成的小漢字庫是以C語言數(shù)據(jù)格式存語言數(shù)據(jù)格式存放在數(shù)組放在數(shù)組CHN1616.INC 中。中。16.2.2 用用Delphi提取字模和建立小字提取字模和建立小字庫庫v該程序可以提取的字模點陣有:該程序可以提取的字模點陣有:1616點陣宋體漢字庫,點陣宋體漢字庫,1616點陣仿宋體漢點陣仿宋體漢字庫,字庫,2424點陣宋體漢字庫,點陣宋體漢字庫,2424點陣仿宋體漢字庫,點陣仿宋體漢字庫,4848點陣宋體漢點陣宋體漢字庫;如果輸入方式選擇區(qū)位碼,可以字庫;如果輸入方式選擇區(qū)位碼,可以得到國標(biāo)上有的拉丁文數(shù)字

18、、一般符號、得到國標(biāo)上有的拉丁文數(shù)字、一般符號、序號、日文假名、希臘字母、英文、俄序號、日文假名、希臘字母、英文、俄羅斯文、漢語拼音符號,漢語注音字母羅斯文、漢語拼音符號,漢語注音字母等字膜。(程序見書中)等字膜。(程序見書中)16.2.3 通用字模提取程序通用字模提取程序MinFonBase使用說使用說明明v通用字模提取程序通用字模提取程序MinFonBase是用是用Delphi編寫的,如果你對編寫的,如果你對Delphi不熟,不用看程序不熟,不用看程序的源代碼,直接使用它的可執(zhí)行文件既可。的源代碼,直接使用它的可執(zhí)行文件既可。v程序使用非常方便,在隨書下載軟件包中選程序使用非常方便,在隨書

19、下載軟件包中選 MinFonBase1.exe雙擊,出現(xiàn)圖雙擊,出現(xiàn)圖16-4畫面。畫面。v然后按圖畫中提示操作就可以完成字模提取然后按圖畫中提示操作就可以完成字模提取工作工作 16.3 S3C2410顯示控制特點顯示控制特點16.3.1 STN LCD顯示器顯示器 vS3C2410支持支持3種種STN LCD板:板:v1,支持單色,支持單色,4灰度級,灰度級,16灰度級。灰度級。v2,支持,支持256色,色,4096色的彩色色的彩色STN LCD。 v3,支持多種不同尺寸的,支持多種不同尺寸的LCD屏,如:屏,如:640480,320240,160160等,支持等,支持現(xiàn)行現(xiàn)行256色模式彩

20、屏的最大尺寸:色模式彩屏的最大尺寸:40961024,20482048,10244096等。等。16.3.2 TFT LCD 顯示器顯示器v1,S3C2410支持支持1、2、4、8比特比特/每像素每像素TFT LCD彩色顯示器。彩色顯示器。v2,支持,支持16比特比特/每像素的真彩色顯示器。每像素的真彩色顯示器。v3,支持,支持24比特比特/每像素的真彩色顯示器。每像素的真彩色顯示器。v4,支持最大為,支持最大為16M、24比特比特/每像素的模式。每像素的模式。v5,支持多種不同尺寸的,支持多種不同尺寸的TFT LCD屏,如典屏,如典型的型的LCD屏尺寸:屏尺寸:640480,320240,1

21、60160。最大。最大TFT LCD尺寸:尺寸:20481024 等。等。16.3.3 LCD控制器特點控制器特點vS3C2410 LCD控制器有一個專門的數(shù)據(jù)存儲控制器有一個專門的數(shù)據(jù)存儲器,它從內(nèi)存視頻緩沖器之中,獲取數(shù)據(jù)圖器,它從內(nèi)存視頻緩沖器之中,獲取數(shù)據(jù)圖像資料,同時還具有以下特點:像資料,同時還具有以下特點:v專用中斷功能專用中斷功能 (INT_FrSyn 和和 INT_FiCnt);v系統(tǒng)內(nèi)存用作顯示器內(nèi)存;系統(tǒng)內(nèi)存用作顯示器內(nèi)存;v支持各種現(xiàn)行的支持各種現(xiàn)行的LCD屏(支持水平或立軸式屏(支持水平或立軸式的硬件);的硬件);v通過編程可實現(xiàn)各種顯示器件的時序控制;通過編程可實現(xiàn)

22、各種顯示器件的時序控制;v支持小型字節(jié)類型的數(shù)據(jù)或支持小型字節(jié)類型的數(shù)據(jù)或WinCE數(shù)據(jù)格式數(shù)據(jù)格式。16.4 S3C2410的的LCD控制信號和外控制信號和外部引腳部引腳v本節(jié)介紹本節(jié)介紹S3C2410的的LCD控制信號和外部引控制信號和外部引腳,這些知識同學(xué)一般掌握即可,這些內(nèi)部腳,這些知識同學(xué)一般掌握即可,這些內(nèi)部信號編程時有的用不到,雖然信號編程時有的用不到,雖然LCD控制寄存控制寄存器的設(shè)置和器的設(shè)置和LCD屏幕屏幕“打點打點”程序比較復(fù)雜,程序比較復(fù)雜,但系統(tǒng)會根據(jù)使用的但系統(tǒng)會根據(jù)使用的LCD型號和屏幕分辨率型號和屏幕分辨率自動完成。自動完成。vS3C2410的的LCD控制框圖如

23、控制框圖如16-5所示:所示:S3C2410的的LCD控制器引腳:控制器引腳:v 1. VFRAME/VSYNC/SYV :幀同步信號:幀同步信號(STN)/垂直同步信號垂直同步信號(TFT)/SEC TFT信號。信號。 2. VLINE/HSYNC/CPV :行同步脈沖信:行同步脈沖信號(號(STN)/垂直同步信號垂直同步信號(TFT)。 3. VCLK/LCD_HCLK :像素時鐘信號:像素時鐘信號(SEC/ TFT)/ SEC TFT 信號。信號。v4. VD23:0 :LCD像素數(shù)據(jù)輸出端口像素數(shù)據(jù)輸出端口 (STN/TFT/SEC TFT)。v5 VM/VDEN/TP :LCD驅(qū)動器

24、交流偏置信號驅(qū)動器交流偏置信號(STN)/數(shù)據(jù)允許信號數(shù)據(jù)允許信號(TFT)/ SEC TFT信號。信號。v6. LEND/STH :行結(jié)束信號:行結(jié)束信號(TFT)/ SEC TFT信號。信號。v7. LCD_PWREN :LCD 控制允許信號??刂圃试S信號。v8. LCDVF0 :SEC TFT OE 允許。允許。v9. LCDVF1 :SEC TFT 信號信號 REV。v10.LCDVF2 :SEC TFT 信號信號 REVB。TIMEGEN 模塊能產(chǎn)生模塊能產(chǎn)生 VFRAME,VLINE,VCLK,VM 等信號,具體如下:等信號,具體如下:v1.定時脈沖發(fā)生器定時脈沖發(fā)生器 該定時脈沖

25、發(fā)生器產(chǎn)生該定時脈沖發(fā)生器產(chǎn)生LCD驅(qū)動器的驅(qū)動器的控制信號諸如:控制信號諸如:VFRAME,VLINE,VCLK和和VM.等信號,這些控制信號和等信號,這些控制信號和三基色庫之中的三基色庫之中的LCD控制寄存器控制寄存器15的的構(gòu)造有密切聯(lián)系。構(gòu)造有密切聯(lián)系。v2.VFRAME脈沖脈沖 在第一行的間隔內(nèi)以每幀一次的頻率產(chǎn)在第一行的間隔內(nèi)以每幀一次的頻率產(chǎn)生。該信號的作用是為了將生。該信號的作用是為了將LCD的行指的行指針移到顯示的開始以便重新開始下一幀針移到顯示的開始以便重新開始下一幀掃描。掃描。v3.VM信號信號vVM信號使得信號使得LCD 驅(qū)動器調(diào)整行和列驅(qū)動器調(diào)整行和列電壓的極性,用于

26、像素的通斷。該信號電壓的極性,用于像素的通斷。該信號的速率取決于的速率取決于LCD控制控制 寄存器寄存器1的的MMODE位和位和LCD控制寄存器控制寄存器4的的 MVAL位。位。v如果如果MMODE位為位為0,則,則VM信號用于標(biāo)信號用于標(biāo)定每一幀;如果為定每一幀;如果為1,則用于標(biāo)定,則用于標(biāo)定MVAL7:0中中VLINE信號的下降沿。信號的下降沿。16.4.1 LCD專用控制寄存器專用控制寄存器vS3C2410在在REGBANK有有17個可編程的寄存?zhèn)€可編程的寄存器,其中有幾個編程時要經(jīng)常用到。介紹如器,其中有幾個編程時要經(jīng)常用到。介紹如下:下:v1LCD控制寄存器控制寄存器 LCD控制寄

27、存器共有控制寄存器共有5個,它們的使用見表個,它們的使用見表16-116-5。v2緩存起始地址寄存器緩存起始地址寄存器在編寫在編寫LCD驅(qū)動程序時除了用到上述驅(qū)動程序時除了用到上述5個控制寄存器外,還要用到下面介紹的個控制寄存器外,還要用到下面介紹的3個幀緩存器起始地址寄存器,通過表個幀緩存器起始地址寄存器,通過表16-616-8來介紹它們的使用。來介紹它們的使用。v3查表寄存器查表寄存器16.4.2 LCD專用控制寄存器的設(shè)置專用控制寄存器的設(shè)置v從上節(jié)介紹可知,從上節(jié)介紹可知,S3C2410 LCD專用專用控制寄存器比較多,而且每一個控制寄控制寄存器比較多,而且每一個控制寄存器設(shè)置項目也比

28、較復(fù)雜,給我們界面存器設(shè)置項目也比較復(fù)雜,給我們界面設(shè)計帶來很大困難,但在系統(tǒng)提供的設(shè)計帶來很大困難,但在系統(tǒng)提供的lcd.mcp項目中有項目中有1個個Lcd_Init(int type)程序,只要我們把使用的程序,只要我們把使用的LCD類型(屏類型(屏幕顏色、分辨率)做為實參調(diào)用該程序,幕顏色、分辨率)做為實參調(diào)用該程序,就會自動設(shè)置好這些專用控制寄存器。就會自動設(shè)置好這些專用控制寄存器。Lcd_Init(int type)部分程序如下:(程部分程序如下:(程序見書中)序見書中)16.4.3 LCD屏幕屏幕“打點打點”程序程序v屏幕上屏幕上“打點打點”和屏幕分辨率、和屏幕分辨率、“打點打點”

29、位置、彩色位置、彩色BPP有關(guān)。系統(tǒng)提供的有關(guān)。系統(tǒng)提供的lcd.mcp項目中也有項目中也有1個個Glib_Init程序可程序可供我們借鑒使用。供我們借鑒使用。v “打點打點”是對顯示內(nèi)存數(shù)據(jù)進行操作,是對顯示內(nèi)存數(shù)據(jù)進行操作,是直接寫屏,顯示速度最快,技術(shù)最先是直接寫屏,顯示速度最快,技術(shù)最先進。進。v打點打點”程序(詳見書中):程序(詳見書中): 16.5 S3C2410 的的LCD驅(qū)動程序驅(qū)動程序16.5.1 S3C2410LCD驅(qū)動程序編寫步驟驅(qū)動程序編寫步驟v1. 提字模提字模 2.建立顯示項目建立顯示項目 3.項目初始化程序和仿真器設(shè)置項目初始化程序和仿真器設(shè)置 4. 項目實例項目

30、實例 16.5.2 利用利用S3C2410顯示漢字與曲線顯示漢字與曲線v顯示漢字與曲線我們使用顯示漢字與曲線我們使用“打點打點”的方法,的方法,屏幕使用屏幕使用TFT_16BIT_640480,原英培特教,原英培特教學(xué)實驗系統(tǒng)中使用的是學(xué)實驗系統(tǒng)中使用的是TFT_8BIT_320240,所以要修改所以要修改lcdlib.c和和glib.c中的調(diào)用參數(shù):中的調(diào)用參數(shù):v主程序如下:主程序如下:vMain.c 是主程序模塊,其中包括主函數(shù)、是主程序模塊,其中包括主函數(shù)、顯示漢字、圖形、顯示漢字、圖形、ASCII字符字符4部分。部分。v顯示漢字、圖形原理可參見顯示漢字、圖形原理可參見16.1.2 節(jié)

31、漢字節(jié)漢字和字符顯示原理和字符顯示原理。v1. 三個變量數(shù)組介紹三個變量數(shù)組介紹v2.顯示曲線顯示曲線v3.顯示漢字顯示漢字v4.顯示顯示ASCII字符字符v實驗顯示效果如圖實驗顯示效果如圖16-7所示,圖中除所示,圖中除4848點陣漢字外其它可以顯示的漢字、點陣漢字外其它可以顯示的漢字、曲線、圖形、西文都包括了。曲線、圖形、西文都包括了。 16.6 S3C2410在在LCD驅(qū)動方面的其驅(qū)動方面的其它應(yīng)用它應(yīng)用v上面幾節(jié)我們介紹了用上面幾節(jié)我們介紹了用ARM9單片機單片機S3C2410驅(qū)動驅(qū)動STN和和TFT顯示器的程序,顯示器的程序,實際上我們也可以像使用其他單片機一實際上我們也可以像使用其

32、他單片機一樣,用樣,用S3C2410的的I/O口來驅(qū)動口來驅(qū)動LCD顯顯示器,本章我們介紹示器,本章我們介紹S3C2410用用I/O口口驅(qū)動驅(qū)動HD66421的例子。的例子。16.6.1 HD66421的硬件簡介的硬件簡介vHD66421的結(jié)構(gòu)圖如的結(jié)構(gòu)圖如16-8所示。(見書中圖)所示。(見書中圖)v和控制程序有關(guān)的左側(cè)管腳是:和控制程序有關(guān)的左側(cè)管腳是: 1GND 電源地電源地 2VCC 數(shù)字電源數(shù)字電源+ 3NC 空腳(輸出電壓)空腳(輸出電壓) 4RS 寄存器選擇寄存器選擇 5WR 寫選通寫選通 6CS 片選片選7D0D7 數(shù)據(jù)線數(shù)據(jù)線15RD 讀選通讀選通16BLCS 背光使能背光使

33、能17RST 復(fù)位復(fù)位18NC(VLCD)(液晶驅(qū)動電壓)(液晶驅(qū)動電壓)19A 背光電源背光電源+20K 背光電源背光電源- vHD66421與與S3C2410連接很簡單,如圖連接很簡單,如圖16-9所示,在我們的系統(tǒng)中,硬件連接使用所示,在我們的系統(tǒng)中,硬件連接使用D口口和和C口,具體連接如下:口,具體連接如下:GPD0RD,GPD1WR,GPD2RS,GPD3CS,GPC8GPC15DATA 由于使用了由于使用了D口和口和C口,在程序中要對這兩個口,在程序中要對這兩個口進行初始化,將它們設(shè)為第一功能,即基口進行初始化,將它們設(shè)為第一功能,即基本本I/O口???。16.6.2 HD66421的軟件編程的軟件編程16.6.3 HD66421與微處理器接口及驅(qū)與微處理器接口及驅(qū)動程序動程序vHD66421與微處理器接口與微處理器接口 我們使用我們使用S3C2410的的“D”口和口和“C”口部分口部分管腳和管腳和HD66421連接。具體可參見圖連接。具體可參見圖16-9。vHD66421軟件驅(qū)動程

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論