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