通過上一篇的實驗,相信大家都掌握了顯示字符的基本用法。
下面我們來看一下12864液晶更高級的用法。
首先是它的繪圖功能。
讓我們先來顯示一整副的圖片吧,也就是128x64大小。
在使用繪圖功能時,先要打開擴充指令集,然后再打開繪圖功能。接著就是送數(shù)據(jù)顯示了。這里我們首先要弄明白ST7920的顯示坐標關(guān)系。其顯示坐標如下。
0.png (162.11 KB, 下載次數(shù): 75)
下載附件
2018-1-23 06:04 上傳
從圖中可以看出,X方向共有8個字(16個字節(jié))Y方向共有0~31 行 分為上下兩個屏。
弄懂了之后我們就可以依照此坐標來顯示一整屏的圖片了。
隨便用一個圖片的提取轉(zhuǎn)換軟件,講一副126X64大小的圖片轉(zhuǎn)換成字節(jié)數(shù)據(jù),總共字節(jié)大小為128*64/8 = 1024個字節(jié)。
下面我們來看看這個顯示整屏圖像的函數(shù)
void v_Lcd12864DrawPicture_f( unsigned char code *pPicture )
{
unsigned char i, j, k ;
for( i = 0 ; i < 2 ; i++ )//分上下兩屏寫
{
for( j = 0 ; j < 32 ; j++ )//行
{
v_Lcd12864SendCmd_f( 0x80 + j ) ;//寫Y坐標(第幾行上寫)
if( i == 0 ) //寫X坐標 (判斷在那一屏上)
{
v_Lcd12864SendCmd_f( 0x80 ) ;
}
else
{
v_Lcd12864SendCmd_f( 0x88 ) ;
}
for( k = 0 ; k < 16 ; k++ ) //寫一整行數(shù)據(jù)(一行共16個字節(jié),合八個字符)
{
v_Lcd12864SendData_f( *pPicture++ ) ;
}
}
}
v_Lcd12864SendCmd_f( 0x30 ) ;//基本功能設(shè)置
}
看看效果圖片如下:顯示一個人的圖像
0.jpg (58.31 KB, 下載次數(shù): 78)
下載附件
2018-1-23 06:03 上傳
完整文檔下載:
12864畫點直線.doc
(317 KB, 下載次數(shù): 89)
2018-1-22 22:09 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|