通过上一篇的实验,相信大家都掌握了显示字符的基本用法。
下面我们来看一下12864液晶更高级的用法。
首先是它的绘图功能。
让我们先来显示一整副的图片吧,也就是128x64大小。
在使用绘图功能时,先要打开扩充指令集,然后再打开绘图功能。接着就是送数据显示了。这里我们首先要弄明白ST7920的显示坐标关系。其显示坐标如下。
从图中可以看出,X方向共有8个字(16个字节)Y方向共有0~31 行 分为上下两个屏。
弄懂了之后我们就可以依照此坐标来显示一整屏的图片了。
随便用一个图片的提取转换软件,讲一副126X64大小的图片转换成字节数据,总共字节大小为128*64/8 = 1024个字节。
下面我们来看看这个显示整屏图像的函数
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++ ) //写一整行数据(一行共16个字节,合八个字符)
{
v_Lcd12864SendData_f( *pPicture++ ) ;
}
}
}
v_Lcd12864SendCmd_f( 0x30 ) ;//基本功能设置
}
看看效果图片如下:显示一个人的图像
完整文档下载:
12864画点直线.doc
(317 KB, 下载次数: 88)
|