版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第十六章第十六章 S3C2410的的人機(jī)界面設(shè)計(jì)人機(jī)界面設(shè)計(jì) 主要內(nèi)容:主要內(nèi)容:v16.1 漢字顯示原理漢字顯示原理v16.2字模提取與小字庫(kù)建立字模提取與小字庫(kù)建立v16.3 S3C2410顯示控制特點(diǎn)顯示控制特點(diǎn)v16.4 S3C2410的的LCD控制信號(hào)和外部引腳控制信號(hào)和外部引腳v16.5 S3C2410 的的LCD驅(qū)動(dòng)程序驅(qū)動(dòng)程序v16.6 S3C2410在在LCD驅(qū)動(dòng)方面的其它應(yīng)用驅(qū)動(dòng)方面的其它應(yīng)用v16.8 S3C6410 (ARM11)的漢字和曲線顯示的漢字和曲線顯示16.1 漢字顯示原理漢字顯示原理16.1.1 嵌入式控制系統(tǒng)人機(jī)界面設(shè)計(jì)概述嵌入式控制系統(tǒng)人機(jī)界面設(shè)計(jì)概述v
2、嵌入式控制系統(tǒng)設(shè)計(jì),首先會(huì)遇到人機(jī)界面嵌入式控制系統(tǒng)設(shè)計(jì),首先會(huì)遇到人機(jī)界面設(shè)計(jì),人機(jī)界面設(shè)計(jì)的問(wèn)題也是嵌入式控制設(shè)計(jì),人機(jī)界面設(shè)計(jì)的問(wèn)題也是嵌入式控制系統(tǒng)設(shè)計(jì)中難點(diǎn)之一,由于嵌入式控制系統(tǒng)系統(tǒng)設(shè)計(jì)中難點(diǎn)之一,由于嵌入式控制系統(tǒng)人機(jī)界面一般使用人機(jī)界面一般使用LCD(Liquid Crystal Display,液晶顯示器的簡(jiǎn)稱(chēng))做顯示器件,液晶顯示器的簡(jiǎn)稱(chēng))做顯示器件,所以人機(jī)界面設(shè)計(jì)基本上歸結(jié)為為二個(gè)問(wèn)題,所以人機(jī)界面設(shè)計(jì)基本上歸結(jié)為為二個(gè)問(wèn)題,一是如何解決在液晶顯示器上顯示漢字和各一是如何解決在液晶顯示器上顯示漢字和各種曲線,另一個(gè)就是各類(lèi)液晶顯示器件驅(qū)動(dòng)種曲線,另一個(gè)就是各類(lèi)液晶顯示器
3、件驅(qū)動(dòng)問(wèn)題。問(wèn)題。16.1.2 漢字和字符顯示原理漢字和字符顯示原理v無(wú)論是無(wú)論是CRT顯示器,還是單片機(jī)系統(tǒng)常用的顯示器,還是單片機(jī)系統(tǒng)常用的LCD,它們的分辨率都是以像素為單位的,它們的分辨率都是以像素為單位的,一個(gè)像素就是一個(gè)像素就是LCD屏上的一個(gè)可以顯示的最屏上的一個(gè)可以顯示的最小單位,也就是常說(shuō)的點(diǎn)。因此,要在小單位,也就是常說(shuō)的點(diǎn)。因此,要在LCD屏上顯示一個(gè)漢字或圖形就必須將漢字或圖屏上顯示一個(gè)漢字或圖形就必須將漢字或圖形用點(diǎn)來(lái)表式,這些表示某種圖形的點(diǎn)的集形用點(diǎn)來(lái)表式,這些表示某種圖形的點(diǎn)的集合就是所說(shuō)的點(diǎn)陣。合就是所說(shuō)的點(diǎn)陣。v嵌入式控制系統(tǒng)中最常用的漢字是嵌入式控制系統(tǒng)中
4、最常用的漢字是1616點(diǎn)點(diǎn)陣,它是由行列各陣,它是由行列各16個(gè)點(diǎn),共個(gè)點(diǎn),共256個(gè)點(diǎn)組成個(gè)點(diǎn)組成的點(diǎn)陣圖案,每行的的點(diǎn)陣圖案,每行的16個(gè)點(diǎn)在內(nèi)存中占兩個(gè)個(gè)點(diǎn)在內(nèi)存中占兩個(gè)字節(jié),一個(gè)字節(jié),一個(gè)1616點(diǎn)陣漢字共點(diǎn)陣漢字共16行,在內(nèi)存行,在內(nèi)存中占中占32個(gè)字節(jié)。個(gè)字節(jié)。v根據(jù)這些字節(jié)在點(diǎn)陣中存放的順序,第一行根據(jù)這些字節(jié)在點(diǎn)陣中存放的順序,第一行的第的第1個(gè)字節(jié)稱(chēng)個(gè)字節(jié)稱(chēng)“0”號(hào)字節(jié),第號(hào)字節(jié),第2個(gè)字節(jié)稱(chēng)個(gè)字節(jié)稱(chēng)“1”號(hào)字節(jié);第二行的第號(hào)字節(jié);第二行的第1個(gè)字節(jié)稱(chēng)個(gè)字節(jié)稱(chēng)“2”號(hào)號(hào)字節(jié),第字節(jié),第2個(gè)字節(jié)稱(chēng)個(gè)字節(jié)稱(chēng)“3”號(hào)字節(jié)。以此類(lèi)推,號(hào)字節(jié)。以此類(lèi)推,最后一行的第最后一行的第1個(gè)字
5、節(jié)稱(chēng)個(gè)字節(jié)稱(chēng)“30”號(hào)字節(jié),第號(hào)字節(jié),第2個(gè)字節(jié)稱(chēng)個(gè)字節(jié)稱(chēng)“31”號(hào)字節(jié),每個(gè)字節(jié)高位在前,號(hào)字節(jié),每個(gè)字節(jié)高位在前,低位在后,即低位在后,即D7在一個(gè)字節(jié)的最左側(cè),在一個(gè)字節(jié)的最左側(cè),D0在在最右側(cè)。具體如圖最右側(cè)。具體如圖16-1所示:所示:v不同的漢字各字節(jié)數(shù)據(jù)不同,圖不同的漢字各字節(jié)數(shù)據(jù)不同,圖16-2是仿宋是仿宋體體“哈哈”字的字的1616點(diǎn)陣字模,在點(diǎn)陣中,點(diǎn)陣字模,在點(diǎn)陣中,每一個(gè)小方格代表字節(jié)中的一位(也叫一個(gè)每一個(gè)小方格代表字節(jié)中的一位(也叫一個(gè)bit),黑色的點(diǎn)),黑色的點(diǎn)bit值等于值等于1,白色的點(diǎn),白色的點(diǎn)bit值值等于等于0。這樣,仿宋體。這樣,仿宋體“哈哈”字的字
6、的1616點(diǎn)點(diǎn)陣字模的陣字模的32個(gè)字節(jié)數(shù)據(jù)如下:個(gè)字節(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輸出一個(gè)字節(jié)數(shù)據(jù)時(shí),該字節(jié)中“位”(bit)為1時(shí),在該“位”位置打點(diǎn),為0時(shí)該“位”位置打空白。如圖16-2所示。v此外常用的漢字還有此外常用的漢字還有2424點(diǎn)陣,它是由行點(diǎn)陣,它是由行列各列各24個(gè)點(diǎn)組成的點(diǎn)陣圖案,它每列的個(gè)點(diǎn)組成的點(diǎn)陣圖案,它每列的24個(gè)個(gè)點(diǎn)在內(nèi)
7、存中占三個(gè)字節(jié),一個(gè)點(diǎn)在內(nèi)存中占三個(gè)字節(jié),一個(gè)2424點(diǎn)陣漢點(diǎn)陣漢字共字共24列,在內(nèi)存中占列,在內(nèi)存中占72個(gè)字節(jié);個(gè)字節(jié);4848點(diǎn)點(diǎn)陣,行陣,行列為列為4848,一個(gè)漢字占內(nèi)存,一個(gè)漢字占內(nèi)存288個(gè)字節(jié)。個(gè)字節(jié)。1212點(diǎn)陣(為方便編程把列點(diǎn)陣(為方便編程把列12點(diǎn)點(diǎn)擴(kuò)展為擴(kuò)展為16點(diǎn),既兩個(gè)字節(jié))行點(diǎn),既兩個(gè)字節(jié))行列為列為1216,一個(gè)漢字占內(nèi)存一個(gè)漢字占內(nèi)存24個(gè)字節(jié)。個(gè)字節(jié)。16.1.3 漢字字符集概述漢字字符集概述v我國(guó)我國(guó)1981年公布了年公布了信息交換用漢字編信息交換用漢字編碼字符集(基本集)碼字符集(基本集)GB2312-80方案,方案,把高頻字、常用字和次常用字集合成
8、漢把高頻字、常用字和次常用字集合成漢字基本字符(共字基本字符(共6763個(gè)),在該集中按個(gè)),在該集中按漢字使用的頻度,又將其分成一級(jí)漢字漢字使用的頻度,又將其分成一級(jí)漢字3755個(gè)(按拼音排序)、二級(jí)漢字個(gè)(按拼音排序)、二級(jí)漢字3008個(gè)(按部首排序),再加上西文字母、個(gè)(按部首排序),再加上西文字母、數(shù)字、圖形符號(hào)等數(shù)字、圖形符號(hào)等700個(gè)。個(gè)。v國(guó)家標(biāo)準(zhǔn)的漢字字符集(國(guó)家標(biāo)準(zhǔn)的漢字字符集(GB2312-80)在漢字操作系統(tǒng)中是以漢字庫(kù)的形式提在漢字操作系統(tǒng)中是以漢字庫(kù)的形式提供的。漢字庫(kù)結(jié)構(gòu)作了統(tǒng)一規(guī)定,即將供的。漢字庫(kù)結(jié)構(gòu)作了統(tǒng)一規(guī)定,即將字庫(kù)分成字庫(kù)分成94個(gè)區(qū)個(gè)區(qū)(用區(qū)號(hào)表示用區(qū)
9、號(hào)表示),每個(gè)區(qū),每個(gè)區(qū)有有94個(gè)漢字(用位號(hào)表示),每一個(gè)漢個(gè)漢字(用位號(hào)表示),每一個(gè)漢字在漢字庫(kù)中有確定的區(qū)和位編號(hào)(用字在漢字庫(kù)中有確定的區(qū)和位編號(hào)(用兩個(gè)字節(jié)),就是所謂的區(qū)位碼(區(qū)位兩個(gè)字節(jié)),就是所謂的區(qū)位碼(區(qū)位碼的第一個(gè)字節(jié)表示區(qū)號(hào),第二個(gè)字節(jié)碼的第一個(gè)字節(jié)表示區(qū)號(hào),第二個(gè)字節(jié)表示位號(hào)),因而只要知道了區(qū)位碼,表示位號(hào)),因而只要知道了區(qū)位碼,就可知道該漢字在字庫(kù)中的地址。就可知道該漢字在字庫(kù)中的地址。16.1.4 漢字的內(nèi)碼漢字的內(nèi)碼v計(jì)算機(jī)內(nèi)英文字符用一個(gè)字節(jié)的計(jì)算機(jī)內(nèi)英文字符用一個(gè)字節(jié)的ASCII碼表示,該字節(jié)最高位一般用做奇偶校碼表示,該字節(jié)最高位一般用做奇偶校驗(yàn),故
10、實(shí)際是用驗(yàn),故實(shí)際是用7位碼來(lái)代表位碼來(lái)代表128個(gè)字符個(gè)字符的,但對(duì)于眾多的漢字,只有用兩個(gè)字的,但對(duì)于眾多的漢字,只有用兩個(gè)字節(jié)才能代表,這樣用兩個(gè)字節(jié)代表一個(gè)節(jié)才能代表,這樣用兩個(gè)字節(jié)代表一個(gè)漢字的代碼體制,國(guó)家制定了統(tǒng)一標(biāo)準(zhǔn),漢字的代碼體制,國(guó)家制定了統(tǒng)一標(biāo)準(zhǔn),稱(chēng)為國(guó)標(biāo)碼。稱(chēng)為國(guó)標(biāo)碼。16.1.5 內(nèi)碼轉(zhuǎn)換為區(qū)位碼內(nèi)碼轉(zhuǎn)換為區(qū)位碼v當(dāng)用某種輸入設(shè)備例如鍵盤(pán)將漢字輸入當(dāng)用某種輸入設(shè)備例如鍵盤(pán)將漢字輸入計(jì)算機(jī)時(shí),則管理模塊將自動(dòng)地把鍵盤(pán)計(jì)算機(jī)時(shí),則管理模塊將自動(dòng)地把鍵盤(pán)輸入的漢字轉(zhuǎn)換為內(nèi)碼,再由內(nèi)碼轉(zhuǎn)換輸入的漢字轉(zhuǎn)換為內(nèi)碼,再由內(nèi)碼轉(zhuǎn)換成區(qū)位碼,通過(guò)區(qū)位碼在漢字庫(kù)中找到成區(qū)位碼,通過(guò)區(qū)位碼
11、在漢字庫(kù)中找到該漢字,進(jìn)行顯示。該漢字,進(jìn)行顯示。v由于區(qū)位碼和內(nèi)碼存在著固定的對(duì)應(yīng)關(guān)由于區(qū)位碼和內(nèi)碼存在著固定的對(duì)應(yīng)關(guān)系,因而知道了某漢字的內(nèi)碼,即可確系,因而知道了某漢字的內(nèi)碼,即可確定出對(duì)應(yīng)的區(qū)位碼定出對(duì)應(yīng)的區(qū)位碼。16.2字模提取與小字庫(kù)建立字模提取與小字庫(kù)建立v上面提到,漢字占用內(nèi)存是非常多的,如常上面提到,漢字占用內(nèi)存是非常多的,如常用的一個(gè)用的一個(gè)1616點(diǎn)陣漢字占點(diǎn)陣漢字占32字節(jié),一個(gè)仿字節(jié),一個(gè)仿宋體宋體1616點(diǎn)陣漢字庫(kù)有點(diǎn)陣漢字庫(kù)有6763個(gè)漢字,占內(nèi)個(gè)漢字,占內(nèi)存存326763字節(jié);一個(gè)字節(jié);一個(gè)2424點(diǎn)陣漢字占點(diǎn)陣漢字占72字節(jié),一個(gè)仿宋體字節(jié),一個(gè)仿宋體2424
12、點(diǎn)陣漢字庫(kù)有點(diǎn)陣漢字庫(kù)有6763個(gè)漢字,占內(nèi)存?zhèn)€漢字,占內(nèi)存726763字節(jié);一個(gè)字節(jié);一個(gè)4848點(diǎn)陣漢字占點(diǎn)陣漢字占288個(gè)字節(jié),一個(gè)仿宋體個(gè)字節(jié),一個(gè)仿宋體4848點(diǎn)陣漢字庫(kù)有點(diǎn)陣漢字庫(kù)有6763個(gè)漢字,占內(nèi)存?zhèn)€漢字,占內(nèi)存2886763字節(jié);此外,漢字還有宋體、揩字節(jié);此外,漢字還有宋體、揩體、黑體、新宋體、篆書(shū)等等,每一種都要體、黑體、新宋體、篆書(shū)等等,每一種都要占和仿宋體一樣內(nèi)存。占和仿宋體一樣內(nèi)存。16.2.1 用用C語(yǔ)言提取字模和建立小字庫(kù)語(yǔ)言提取字模和建立小字庫(kù)v如果應(yīng)用程序是使用如果應(yīng)用程序是使用C語(yǔ)言編制或?qū)φZ(yǔ)言編制或?qū)語(yǔ)言熟語(yǔ)言熟悉,那么使用悉,那么使用C語(yǔ)言來(lái)提取字
13、模和建立小字語(yǔ)言來(lái)提取字模和建立小字庫(kù)比較方便,庫(kù)比較方便,C語(yǔ)言的漢字提取程序較多,語(yǔ)言的漢字提取程序較多,我們用程序我們用程序Selchn16.c來(lái)提取來(lái)提取1616點(diǎn)陣漢點(diǎn)陣漢字。漢字輸入是采用區(qū)位碼,同時(shí)生成的小字。漢字輸入是采用區(qū)位碼,同時(shí)生成的小字庫(kù)是字庫(kù)是C語(yǔ)言數(shù)據(jù)形式,可直接復(fù)制到用戶語(yǔ)言數(shù)據(jù)形式,可直接復(fù)制到用戶程序中運(yùn)行。還可以在程序中運(yùn)行。還可以在LCD屏顯示小字庫(kù)內(nèi)屏顯示小字庫(kù)內(nèi)容。容。程序分程序分5段給出,每段都給出詳細(xì)的解釋。段給出,每段都給出詳細(xì)的解釋。1qwcode.h頭文件頭文件v頭文件頭文件qwcode.h包含界面設(shè)計(jì)需要的包含界面設(shè)計(jì)需要的5個(gè)漢字的區(qū)位碼
14、個(gè)漢字的區(qū)位碼,QU_WE=24,86,29,73,20,51,34,56,29,81;是我們隨機(jī)找的是我們隨機(jī)找的5個(gè)漢字個(gè)漢字“個(gè)個(gè)”,“介介”,“從從”,“侖侖”,“今今”的區(qū)的區(qū)位碼;位碼;CHNNUMBER(漢字個(gè)數(shù))(漢字個(gè)數(shù))=5。2char *buffw數(shù)組數(shù)組vchar *buffw數(shù)組中事先存儲(chǔ)了小漢字庫(kù)數(shù)組中事先存儲(chǔ)了小漢字庫(kù)中中C語(yǔ)言一行字模的存儲(chǔ)格式語(yǔ)言一行字模的存儲(chǔ)格式, 一個(gè)一個(gè)1616點(diǎn)陣漢字占點(diǎn)陣漢字占32個(gè)字節(jié),程序?qū)⒆謧€(gè)字節(jié),程序?qū)⒆帜づ懦啥?,一行膜排成二行,一?個(gè)字(個(gè)字(16字節(jié)),字節(jié)),改為改為C語(yǔ)言數(shù)據(jù)格式后,每個(gè)數(shù)前面加語(yǔ)言數(shù)據(jù)格式后,每個(gè)
15、數(shù)前面加0 x0,數(shù)與數(shù)之間用,數(shù)與數(shù)之間用“,”號(hào)分隔,再號(hào)分隔,再加上每行前面的加上每行前面的14個(gè)空格,一行是個(gè)空格,一行是76個(gè)個(gè)字節(jié)。字節(jié)。3計(jì)算偏移量,移指針v根據(jù)區(qū)位碼計(jì)算偏移量使用公式:根據(jù)區(qū)位碼計(jì)算偏移量使用公式:Location =(94(qh-1)+(wh-1) 32。然后將文件指針移到該位置,從。然后將文件指針移到該位置,從該位置讀該位置讀32個(gè)字節(jié)放輸入緩沖區(qū),同時(shí)個(gè)字節(jié)放輸入緩沖區(qū),同時(shí)在在LCD屏顯示該漢字。屏顯示該漢字。4將讀入的字模轉(zhuǎn)換為將讀入的字模轉(zhuǎn)換為C語(yǔ)言形式語(yǔ)言形式v從字庫(kù)讀出的字模是二進(jìn)制形式,現(xiàn)從字庫(kù)讀出的字模是二進(jìn)制形式,現(xiàn)轉(zhuǎn)換為轉(zhuǎn)換為C語(yǔ)言形式
16、。轉(zhuǎn)換后,每個(gè)語(yǔ)言形式。轉(zhuǎn)換后,每個(gè)1616漢字字模排兩行,每行漢字字模排兩行,每行8個(gè)字,個(gè)字,即即16個(gè)字節(jié)。個(gè)字節(jié)。v轉(zhuǎn)換時(shí)先轉(zhuǎn)換第一個(gè)字節(jié)高轉(zhuǎn)換時(shí)先轉(zhuǎn)換第一個(gè)字節(jié)高4位,再位,再轉(zhuǎn)換第一個(gè)字節(jié)低轉(zhuǎn)換第一個(gè)字節(jié)低4位;然后轉(zhuǎn)換第二位;然后轉(zhuǎn)換第二個(gè)字節(jié)高個(gè)字節(jié)高4位,最后轉(zhuǎn)換第二個(gè)字節(jié)低位,最后轉(zhuǎn)換第二個(gè)字節(jié)低4位。位。5按位轉(zhuǎn)換程序按位轉(zhuǎn)換程序v因?yàn)槊恳驗(yàn)槊?個(gè)二進(jìn)制數(shù)可用一個(gè)個(gè)二進(jìn)制數(shù)可用一個(gè)16進(jìn)制進(jìn)制數(shù)表示,而要轉(zhuǎn)換的數(shù)表示,而要轉(zhuǎn)換的C語(yǔ)言形式是語(yǔ)言形式是16進(jìn)進(jìn)制數(shù),所以把一個(gè)字節(jié)的高制數(shù),所以把一個(gè)字節(jié)的高4位和低位和低4位位分別取出,將其數(shù)值加上分別取出,將其數(shù)值加上30
17、H,既變?yōu)?,既變?yōu)橄鄳?yīng)的相應(yīng)的ASCII碼,然后存儲(chǔ)。碼,然后存儲(chǔ)。v建成的小漢字庫(kù)是以建成的小漢字庫(kù)是以C語(yǔ)言數(shù)據(jù)格式存語(yǔ)言數(shù)據(jù)格式存放在數(shù)組放在數(shù)組CHN1616.INC 中。中。16.2.2 用用Delphi提取字模和建立小字提取字模和建立小字庫(kù)庫(kù)v該程序可以提取的字模點(diǎn)陣有:該程序可以提取的字模點(diǎn)陣有:1616點(diǎn)陣宋體漢字庫(kù),點(diǎn)陣宋體漢字庫(kù),1616點(diǎn)陣仿宋體漢點(diǎn)陣仿宋體漢字庫(kù),字庫(kù),2424點(diǎn)陣宋體漢字庫(kù),點(diǎn)陣宋體漢字庫(kù),2424點(diǎn)陣仿宋體漢字庫(kù),點(diǎn)陣仿宋體漢字庫(kù),4848點(diǎn)陣宋體漢點(diǎn)陣宋體漢字庫(kù);如果輸入方式選擇區(qū)位碼,可以字庫(kù);如果輸入方式選擇區(qū)位碼,可以得到國(guó)標(biāo)上有的拉丁文數(shù)字
18、、一般符號(hào)、得到國(guó)標(biāo)上有的拉丁文數(shù)字、一般符號(hào)、序號(hào)、日文假名、希臘字母、英文、俄序號(hào)、日文假名、希臘字母、英文、俄羅斯文、漢語(yǔ)拼音符號(hào),漢語(yǔ)注音字母羅斯文、漢語(yǔ)拼音符號(hào),漢語(yǔ)注音字母等字膜。(程序見(jiàn)書(shū)中)等字膜。(程序見(jiàn)書(shū)中)16.2.3 通用字模提取程序通用字模提取程序MinFonBase使用說(shuō)使用說(shuō)明明v通用字模提取程序通用字模提取程序MinFonBase是用是用Delphi編寫(xiě)的,如果你對(duì)編寫(xiě)的,如果你對(duì)Delphi不熟,不用看程序不熟,不用看程序的源代碼,直接使用它的可執(zhí)行文件既可。的源代碼,直接使用它的可執(zhí)行文件既可。v程序使用非常方便,在隨書(shū)下載軟件包中選程序使用非常方便,在隨書(shū)
19、下載軟件包中選 MinFonBase1.exe雙擊,出現(xiàn)圖雙擊,出現(xiàn)圖16-4畫(huà)面。畫(huà)面。v然后按圖畫(huà)中提示操作就可以完成字模提取然后按圖畫(huà)中提示操作就可以完成字模提取工作工作 16.3 S3C2410顯示控制特點(diǎn)顯示控制特點(diǎn)16.3.1 STN LCD顯示器顯示器 vS3C2410支持支持3種種STN LCD板:板:v1,支持單色,支持單色,4灰度級(jí),灰度級(jí),16灰度級(jí)。灰度級(jí)。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控制器特點(diǎn)控制器特點(diǎn)vS3C2410 LCD控制器有一個(gè)專(zhuān)門(mén)的數(shù)據(jù)存儲(chǔ)控制器有一個(gè)專(zhuān)門(mén)的數(shù)據(jù)存儲(chǔ)器,它從內(nèi)存視頻緩沖器之中,獲取數(shù)據(jù)圖器,它從內(nèi)存視頻緩沖器之中,獲取數(shù)據(jù)圖像資料,同時(shí)還具有以下特點(diǎn):像資料,同時(shí)還具有以下特點(diǎn):v專(zhuān)用中斷功能專(zhuān)用中斷功能 (INT_FrSyn 和和 INT_FiCnt);v系統(tǒng)內(nèi)存用作顯示器內(nèi)存;系統(tǒng)內(nèi)存用作顯示器內(nèi)存;v支持各種現(xiàn)行的支持各種現(xiàn)行的LCD屏(支持水平或立軸式屏(支持水平或立軸式的硬件);的硬件);v通過(guò)編程可實(shí)現(xiàn)各種顯示器件的時(shí)序控制;通過(guò)編程可實(shí)現(xiàn)
22、各種顯示器件的時(shí)序控制;v支持小型字節(jié)類(lèi)型的數(shù)據(jù)或支持小型字節(jié)類(lèi)型的數(shù)據(jù)或WinCE數(shù)據(jù)格式數(shù)據(jù)格式。16.4 S3C2410的的LCD控制信號(hào)和外控制信號(hào)和外部引腳部引腳v本節(jié)介紹本節(jié)介紹S3C2410的的LCD控制信號(hào)和外部引控制信號(hào)和外部引腳,這些知識(shí)同學(xué)一般掌握即可,這些內(nèi)部腳,這些知識(shí)同學(xué)一般掌握即可,這些內(nèi)部信號(hào)編程時(shí)有的用不到,雖然信號(hào)編程時(shí)有的用不到,雖然LCD控制寄存控制寄存器的設(shè)置和器的設(shè)置和LCD屏幕屏幕“打點(diǎn)打點(diǎn)”程序比較復(fù)雜,程序比較復(fù)雜,但系統(tǒng)會(huì)根據(jù)使用的但系統(tǒng)會(huì)根據(jù)使用的LCD型號(hào)和屏幕分辨率型號(hào)和屏幕分辨率自動(dòng)完成。自動(dòng)完成。vS3C2410的的LCD控制框圖如
23、控制框圖如16-5所示:所示:S3C2410的的LCD控制器引腳:控制器引腳:v 1. VFRAME/VSYNC/SYV :幀同步信號(hào):幀同步信號(hào)(STN)/垂直同步信號(hào)垂直同步信號(hào)(TFT)/SEC TFT信號(hào)。信號(hào)。 2. VLINE/HSYNC/CPV :行同步脈沖信:行同步脈沖信號(hào)(號(hào)(STN)/垂直同步信號(hào)垂直同步信號(hào)(TFT)。 3. VCLK/LCD_HCLK :像素時(shí)鐘信號(hào):像素時(shí)鐘信號(hào)(SEC/ TFT)/ SEC TFT 信號(hào)。信號(hào)。v4. VD23:0 :LCD像素?cái)?shù)據(jù)輸出端口像素?cái)?shù)據(jù)輸出端口 (STN/TFT/SEC TFT)。v5 VM/VDEN/TP :LCD驅(qū)動(dòng)器
24、交流偏置信號(hào)驅(qū)動(dòng)器交流偏置信號(hào)(STN)/數(shù)據(jù)允許信號(hào)數(shù)據(jù)允許信號(hào)(TFT)/ SEC TFT信號(hào)。信號(hào)。v6. LEND/STH :行結(jié)束信號(hào):行結(jié)束信號(hào)(TFT)/ SEC TFT信號(hào)。信號(hào)。v7. LCD_PWREN :LCD 控制允許信號(hào)??刂圃试S信號(hào)。v8. LCDVF0 :SEC TFT OE 允許。允許。v9. LCDVF1 :SEC TFT 信號(hào)信號(hào) REV。v10.LCDVF2 :SEC TFT 信號(hào)信號(hào) REVB。TIMEGEN 模塊能產(chǎn)生模塊能產(chǎn)生 VFRAME,VLINE,VCLK,VM 等信號(hào),具體如下:等信號(hào),具體如下:v1.定時(shí)脈沖發(fā)生器定時(shí)脈沖發(fā)生器 該定時(shí)脈沖
25、發(fā)生器產(chǎn)生該定時(shí)脈沖發(fā)生器產(chǎn)生LCD驅(qū)動(dòng)器的驅(qū)動(dòng)器的控制信號(hào)諸如:控制信號(hào)諸如:VFRAME,VLINE,VCLK和和VM.等信號(hào),這些控制信號(hào)和等信號(hào),這些控制信號(hào)和三基色庫(kù)之中的三基色庫(kù)之中的LCD控制寄存器控制寄存器15的的構(gòu)造有密切聯(lián)系。構(gòu)造有密切聯(lián)系。v2.VFRAME脈沖脈沖 在第一行的間隔內(nèi)以每幀一次的頻率產(chǎn)在第一行的間隔內(nèi)以每幀一次的頻率產(chǎn)生。該信號(hào)的作用是為了將生。該信號(hào)的作用是為了將LCD的行指的行指針移到顯示的開(kāi)始以便重新開(kāi)始下一幀針移到顯示的開(kāi)始以便重新開(kāi)始下一幀掃描。掃描。v3.VM信號(hào)信號(hào)vVM信號(hào)使得信號(hào)使得LCD 驅(qū)動(dòng)器調(diào)整行和列驅(qū)動(dòng)器調(diào)整行和列電壓的極性,用于
26、像素的通斷。該信號(hào)電壓的極性,用于像素的通斷。該信號(hào)的速率取決于的速率取決于LCD控制控制 寄存器寄存器1的的MMODE位和位和LCD控制寄存器控制寄存器4的的 MVAL位。位。v如果如果MMODE位為位為0,則,則VM信號(hào)用于標(biāo)信號(hào)用于標(biāo)定每一幀;如果為定每一幀;如果為1,則用于標(biāo)定,則用于標(biāo)定MVAL7:0中中VLINE信號(hào)的下降沿。信號(hào)的下降沿。16.4.1 LCD專(zhuān)用控制寄存器專(zhuān)用控制寄存器vS3C2410在在REGBANK有有17個(gè)可編程的寄存?zhèn)€可編程的寄存器,其中有幾個(gè)編程時(shí)要經(jīng)常用到。介紹如器,其中有幾個(gè)編程時(shí)要經(jīng)常用到。介紹如下:下:v1LCD控制寄存器控制寄存器 LCD控制寄
27、存器共有控制寄存器共有5個(gè),它們的使用見(jiàn)表個(gè),它們的使用見(jiàn)表16-116-5。v2緩存起始地址寄存器緩存起始地址寄存器在編寫(xiě)在編寫(xiě)LCD驅(qū)動(dòng)程序時(shí)除了用到上述驅(qū)動(dòng)程序時(shí)除了用到上述5個(gè)控制寄存器外,還要用到下面介紹的個(gè)控制寄存器外,還要用到下面介紹的3個(gè)幀緩存器起始地址寄存器,通過(guò)表個(gè)幀緩存器起始地址寄存器,通過(guò)表16-616-8來(lái)介紹它們的使用。來(lái)介紹它們的使用。v3查表寄存器查表寄存器16.4.2 LCD專(zhuān)用控制寄存器的設(shè)置專(zhuān)用控制寄存器的設(shè)置v從上節(jié)介紹可知,從上節(jié)介紹可知,S3C2410 LCD專(zhuān)用專(zhuān)用控制寄存器比較多,而且每一個(gè)控制寄控制寄存器比較多,而且每一個(gè)控制寄存器設(shè)置項(xiàng)目也比
28、較復(fù)雜,給我們界面存器設(shè)置項(xiàng)目也比較復(fù)雜,給我們界面設(shè)計(jì)帶來(lái)很大困難,但在系統(tǒng)提供的設(shè)計(jì)帶來(lái)很大困難,但在系統(tǒng)提供的lcd.mcp項(xiàng)目中有項(xiàng)目中有1個(gè)個(gè)Lcd_Init(int type)程序,只要我們把使用的程序,只要我們把使用的LCD類(lèi)型(屏類(lèi)型(屏幕顏色、分辨率)做為實(shí)參調(diào)用該程序,幕顏色、分辨率)做為實(shí)參調(diào)用該程序,就會(huì)自動(dòng)設(shè)置好這些專(zhuān)用控制寄存器。就會(huì)自動(dòng)設(shè)置好這些專(zhuān)用控制寄存器。Lcd_Init(int type)部分程序如下:(程部分程序如下:(程序見(jiàn)書(shū)中)序見(jiàn)書(shū)中)16.4.3 LCD屏幕屏幕“打點(diǎn)打點(diǎn)”程序程序v屏幕上屏幕上“打點(diǎn)打點(diǎn)”和屏幕分辨率、和屏幕分辨率、“打點(diǎn)打點(diǎn)”
29、位置、彩色位置、彩色BPP有關(guān)。系統(tǒng)提供的有關(guān)。系統(tǒng)提供的lcd.mcp項(xiàng)目中也有項(xiàng)目中也有1個(gè)個(gè)Glib_Init程序可程序可供我們借鑒使用。供我們借鑒使用。v “打點(diǎn)打點(diǎn)”是對(duì)顯示內(nèi)存數(shù)據(jù)進(jìn)行操作,是對(duì)顯示內(nèi)存數(shù)據(jù)進(jìn)行操作,是直接寫(xiě)屏,顯示速度最快,技術(shù)最先是直接寫(xiě)屏,顯示速度最快,技術(shù)最先進(jìn)。進(jìn)。v打點(diǎn)打點(diǎn)”程序(詳見(jiàn)書(shū)中):程序(詳見(jiàn)書(shū)中): 16.5 S3C2410 的的LCD驅(qū)動(dòng)程序驅(qū)動(dòng)程序16.5.1 S3C2410LCD驅(qū)動(dòng)程序編寫(xiě)步驟驅(qū)動(dòng)程序編寫(xiě)步驟v1. 提字模提字模 2.建立顯示項(xiàng)目建立顯示項(xiàng)目 3.項(xiàng)目初始化程序和仿真器設(shè)置項(xiàng)目初始化程序和仿真器設(shè)置 4. 項(xiàng)目實(shí)例項(xiàng)目
30、實(shí)例 16.5.2 利用利用S3C2410顯示漢字與曲線顯示漢字與曲線v顯示漢字與曲線我們使用顯示漢字與曲線我們使用“打點(diǎn)打點(diǎn)”的方法,的方法,屏幕使用屏幕使用TFT_16BIT_640480,原英培特教,原英培特教學(xué)實(shí)驗(yàn)系統(tǒng)中使用的是學(xué)實(shí)驗(yàn)系統(tǒng)中使用的是TFT_8BIT_320240,所以要修改所以要修改lcdlib.c和和glib.c中的調(diào)用參數(shù):中的調(diào)用參數(shù):v主程序如下:主程序如下:vMain.c 是主程序模塊,其中包括主函數(shù)、是主程序模塊,其中包括主函數(shù)、顯示漢字、圖形、顯示漢字、圖形、ASCII字符字符4部分。部分。v顯示漢字、圖形原理可參見(jiàn)顯示漢字、圖形原理可參見(jiàn)16.1.2 節(jié)
31、漢字節(jié)漢字和字符顯示原理和字符顯示原理。v1. 三個(gè)變量數(shù)組介紹三個(gè)變量數(shù)組介紹v2.顯示曲線顯示曲線v3.顯示漢字顯示漢字v4.顯示顯示ASCII字符字符v實(shí)驗(yàn)顯示效果如圖實(shí)驗(yàn)顯示效果如圖16-7所示,圖中除所示,圖中除4848點(diǎn)陣漢字外其它可以顯示的漢字、點(diǎn)陣漢字外其它可以顯示的漢字、曲線、圖形、西文都包括了。曲線、圖形、西文都包括了。 16.6 S3C2410在在LCD驅(qū)動(dòng)方面的其驅(qū)動(dòng)方面的其它應(yīng)用它應(yīng)用v上面幾節(jié)我們介紹了用上面幾節(jié)我們介紹了用ARM9單片機(jī)單片機(jī)S3C2410驅(qū)動(dòng)驅(qū)動(dòng)STN和和TFT顯示器的程序,顯示器的程序,實(shí)際上我們也可以像使用其他單片機(jī)一實(shí)際上我們也可以像使用其
32、他單片機(jī)一樣,用樣,用S3C2410的的I/O口來(lái)驅(qū)動(dòng)口來(lái)驅(qū)動(dòng)LCD顯顯示器,本章我們介紹示器,本章我們介紹S3C2410用用I/O口口驅(qū)動(dòng)驅(qū)動(dòng)HD66421的例子。的例子。16.6.1 HD66421的硬件簡(jiǎn)介的硬件簡(jiǎn)介vHD66421的結(jié)構(gòu)圖如的結(jié)構(gòu)圖如16-8所示。(見(jiàn)書(shū)中圖)所示。(見(jiàn)書(shū)中圖)v和控制程序有關(guān)的左側(cè)管腳是:和控制程序有關(guān)的左側(cè)管腳是: 1GND 電源地電源地 2VCC 數(shù)字電源數(shù)字電源+ 3NC 空腳(輸出電壓)空腳(輸出電壓) 4RS 寄存器選擇寄存器選擇 5WR 寫(xiě)選通寫(xiě)選通 6CS 片選片選7D0D7 數(shù)據(jù)線數(shù)據(jù)線15RD 讀選通讀選通16BLCS 背光使能背光使
33、能17RST 復(fù)位復(fù)位18NC(VLCD)(液晶驅(qū)動(dòng)電壓)(液晶驅(qū)動(dòng)電壓)19A 背光電源背光電源+20K 背光電源背光電源- vHD66421與與S3C2410連接很簡(jiǎn)單,如圖連接很簡(jiǎn)單,如圖16-9所示,在我們的系統(tǒng)中,硬件連接使用所示,在我們的系統(tǒng)中,硬件連接使用D口口和和C口,具體連接如下:口,具體連接如下:GPD0RD,GPD1WR,GPD2RS,GPD3CS,GPC8GPC15DATA 由于使用了由于使用了D口和口和C口,在程序中要對(duì)這兩個(gè)口,在程序中要對(duì)這兩個(gè)口進(jìn)行初始化,將它們?cè)O(shè)為第一功能,即基口進(jìn)行初始化,將它們?cè)O(shè)為第一功能,即基本本I/O口。口。16.6.2 HD66421的軟件編程的軟件編程16.6.3 HD66421與微處理器接口及驅(qū)與微處理器接口及驅(qū)動(dòng)程序動(dòng)程序vHD66421與微處理器接口與微處理器接口 我們使用我們使用S3C2410的的“D”口和口和“C”口部分口部分管腳和管腳和HD66421連接。具體可參見(jiàn)圖連接。具體可參見(jiàn)圖16-9。vHD66421軟件驅(qū)動(dòng)程
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度瓦工裝修綠色施工認(rèn)證合同3篇
- 二零二五版危化品公路運(yùn)輸安全監(jiān)管服務(wù)合同2篇
- 二零二五版攪拌站輪胎專(zhuān)用備品備件供應(yīng)合同3篇
- 二零二五版智能辦公樓深度清潔及保養(yǎng)服務(wù)合同2篇
- 二零二五版辦公室文員工作環(huán)境優(yōu)化合同3篇
- 二零二五年度高端房地產(chǎn)項(xiàng)目個(gè)人連帶責(zé)任保證擔(dān)保合同2篇
- 二零二五年度互聯(lián)網(wǎng)數(shù)據(jù)中心(IDC)設(shè)施租賃合同3篇
- 2025年度中式烹飪技藝傳承與創(chuàng)新合同協(xié)議3篇
- 屋頂防水施工合同(2篇)
- 二零二五年救生員水上安全培訓(xùn)與勞動(dòng)合同3篇
- 廣東省惠州市2024-2025學(xué)年高一上學(xué)期期末考試英語(yǔ)試題(含答案)
- 醫(yī)院骨科2025年帶教計(jì)劃(2篇)
- 環(huán)境保護(hù)應(yīng)急管理制度執(zhí)行細(xì)則
- 2024-2030年中國(guó)通航飛行服務(wù)站(FSS)行業(yè)發(fā)展模式規(guī)劃分析報(bào)告
- 機(jī)械制造企業(yè)風(fēng)險(xiǎn)分級(jí)管控手冊(cè)
- 地系梁工程施工方案
- 藏文基礎(chǔ)-教你輕輕松松學(xué)藏語(yǔ)(西藏大學(xué))知到智慧樹(shù)章節(jié)答案
- 2024電子商務(wù)平臺(tái)用戶隱私保護(hù)協(xié)議3篇
- 安徽省蕪湖市2023-2024學(xué)年高一上學(xué)期期末考試 英語(yǔ) 含答案
- 醫(yī)學(xué)教程 常見(jiàn)體表腫瘤與腫塊課件
- 內(nèi)分泌系統(tǒng)異常與虛勞病關(guān)系
評(píng)論
0/150
提交評(píng)論