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