基于嵌入式系統(tǒng)的LCD漢字顯示
1) 設置SPI;
2) 設置TIMER1(可以啟動TIMER);
3) 設掃描行指針n=0;
4) 設DMA傳輸數(shù)據(jù)格式(8位/次,400個數(shù)據(jù));
5) 啟動DMA。
以上過程在完成一行空掃描后, 進入連續(xù)的 LCD 掃描過程。
4.3 程序舉例
wm = *(s + i + 1); //計算位碼
ISN = qm8;
ISN += wm; //機內碼
ii=0; //先定位在第一個漢字
while((ISN!=DDSHZTable[ii][0]) (DDSHZTable[ii][0] !=0xffff) )
ii++; //尋找與ISN相同的機內碼,即尋找要顯示的漢字
for( j = 0; j 16; j ++ )
hzbuf[j] = DDSHZTable[ii][j+1];//取字模
for( y = 0; y 16; y++ ){
for( x = 0; x 16; x++,Hk++ ){
Hk = Hk % 16;
if( hzbuf[y] (0x8000 >> Hk) ){
//確定y行x列是否有筆畫
xx = x0 + x + ChiWords * 16;
LCDRam[y+y0][xx] = ForeColor;//顯示像素
}
}
}
顯示英文字符的原理及程序代碼與漢字的類似,就不再贅述。
5 結束語
建立非完整漢字庫最大的特點是可以按照現(xiàn)實需要柔性地顯示漢字、軟件編程容易、可混合顯示漢字和英文字符。作為人機交互界面的重要部分它可被廣泛應用于工業(yè)控制、醫(yī)療、科研以及教學等領域。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論