




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
JX44B0實驗系統教案
LCD顯示實驗
2/6/2023提綱13245基礎知識實驗目的實驗內容預備知識實驗設備6實驗過程7實驗報告要求2一實驗目的實驗目的了解LCD顯示的基本原理了解LCD的接口與控制方法掌握LCD顯示圖形的方法掌握LCD顯示字符的方法(本次實驗顯示漢字)3三預備知識預備知識了解漢字庫的組織方式,漢字顯示的原理學習LCD的顯示原理和控制辦法5四實驗設備實驗設備JX44B0教學實驗箱ADT1000仿真器和ADTIDE集成開發環境串口連接線6五基礎知識LCD顯示原理LCD顯示器是通過給不同的液晶單元供電,控制其光線的通過與否,從而達到顯示的目的。因此,LCD的驅動控制歸于對每個液晶單元通斷電的控制,每個液晶單元都對應著一個電極,對其通電,便可使用光線通過(也有剛好相反的,即不通電時光線通過,通電時光線不通過)。光源的提供方式有兩種:透射式和反射式。筆記本電腦的LCD顯示屏即為透射式,屏后面有一個光源,因此外界環境可以不需要光源。而一般微控制器上使用的LCD為反射式,需要外界提供光源,靠反射光來工作。7五基礎知識LCD的驅動控制–掃描器控制方式掃描器控制方式LCD顯示屏沒有驅動電路,需要與驅動電路配合使用。這種LCD體積小,但需要另外的驅動芯片。通??梢允褂脦в蠰CD驅動能力的高檔MCU驅動,如ARM系列的S3C44B0。S3C44B0中具有內置的LCD控制器,它具有將顯示緩存中的圖象數據傳輸到外部LCD驅動電路的邏輯功能。S3C44B0中內置的LCD控制器可支持灰度LCD和彩色LCD。可以支持單色、4級灰度和16級灰度模式的灰度LCD以及256級彩色。對于不同尺寸的LCD,具有不同數量的垂直和水平象素、數據接口的數據寬度、接口時間及刷新率,而LCD控制器可以進行編程控制相應的寄存器值,以適應不同的LCD顯示板。9五基礎知識S3C44B0LCD控制器邏輯框圖10五基礎知識S3C44B0LCD控制器外部接口信號VFRAME:LCD控制器和LCD驅動器之間的幀同步信號。它通知LCD屏新的一幀的顯示,LCD控制器在一個完整幀的顯示后發出VFRAME信號。VLINE:LCD控制器和LCD驅動器間的同步脈沖信號,LCD驅動器通過它來將水平移位寄存器中的內容顯示到LCD屏上。LCD控制器在一整行數據全部傳輸到LCD驅動器后發出VLINE信號。VCLK:此信號為LCD控制器和LCD驅動器之間的象素時鐘信號,LCD控制器在VCLK的上升沿發送數據,LCD驅動器在VCLK的下降沿采樣數據。VM:LCD驅動器所使用的交流信號。LCD驅動器使用VM信號改變用于打開或關閉象素的行和列電壓的極性。VM信號在每一幀觸發,也在編程決定數量的VLINE信號觸發。VD[3:0]以及VD[7:4]:LCD象素數據輸出端口。11五基礎知識JX44B0LCD控制器初始化初始化LCD端口,由于LCD控制端口與CPU的GPIO端口是復用的,因此必須設置相應寄存器為LCD驅動控制端口
rPDATC=rPDATC&~(1<<8)|(1<<8);/*GPE5=H lcdenable*/ rPCONC=rPCONC&~(0xff<<8)|(0xff<<8);/*GPC[4:7]=>VD[7:4]*/申請顯示緩沖區,大小為320X240X1字節if((U32)frameBuffer256==0) { frameBuffer256=(unsignedchar*)malloc(ARRAY_SIZE_COLOR); rNCACHBE1=(((unsignedint)frameBuffer256)>>12)+((((unsignedint)(frameBuffer256+ARRAY_SIZE_COLOR))>>12)<<16);}13五基礎知識JX44B0LCD控制器初始化初始化LCD控制寄存器,包括設置LCD分辨率,掃描頻率,顯示緩沖區等。14五基礎知識畫點函數LCD初始化后,可以通過直接修改顯示緩沖區實現顯示。如下代碼為在LCD的(x,y)位置處以顏色c打一個點voidlcd_put_pixel(intx,inty,unsignedcharc){if(x<SCR_XSIZE&&y<SCR_YSIZE) *(((unsignedchar*)(frameBuffer256))+y*SCR_XSIZE+x)=c;}15五基礎知識LCD字符顯示LCD字符顯示就是將字庫(漢字字庫、英文字庫或者其他語言字庫)中的字模以圖形方式顯示在LCD上,其顯示原理和圖形顯示沒有差別,只要把漢字當成一幅畫,畫在顯示屏上就可以了。關鍵在于如何取得字符的圖形,也就是字符的點陣字模。在常用的漢字點陣字庫文件。例如常用的16×16點陣HZK16文件,按漢字區位碼從小到大依次存有國標區位碼表中的所有漢字。17五基礎知識HZK組成每個漢字占用32個字節,每個區為94個漢字。在計算機中,漢字是以機內碼的形式存儲的,每個漢字占用兩個字節:第一個字節為區碼(qh),為了與ASCII碼區別,范圍從十六進制的0A1H開始(小于80H的為ASCII碼字符),對應區位碼中區碼的第一區;第二個字節為位碼(wh),范圍也是從0A1H開始,對應某區中的第一個位碼。這樣,將漢字機內碼減去0A0AH就得該漢字的區位碼。因此,漢字在漢字庫中的具體位置計算公式為:
location=(94*(qh-1)+wh-1)*一個漢字字模占用字節數18五基礎知識漢字字模一個漢字字模占用的字節數根據漢字庫的漢字大小不同而不同。以HZK16點陣字庫為例,字模中每一點使用一個二進制位(Bit)表示,如果是1,則說明此處有點,若是0,則說明沒有。這樣,一個16×16點陣的漢字總共需要16*16/8=32個字節表示。字模的表示順序為:先從左到右,再從上到下,也就是先畫左上方的8個點,再是右上方的8個點,然后是第二行左邊8個點,右邊8個點,依此類推,畫滿16×16個點。因此,HZK16中漢字在漢字庫中具體位置的計算公式為:(94*(qh-1)+(wh-1))*32。漢字“房”的機內碼為十六進制的“B7BF”,其中“B7”表示區碼,“BF”表示位碼。所以“房”的區位碼為0B7BFH-0A0A0H=171FH。將區碼和位碼分別轉換為十進制得漢字“房”的區位碼為“2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論