标题: 玩转12864液晶显示图片,画点,画任意直线教程 [打印本页]

作者: 游侠(单片机开    时间: 2018-1-22 22:11
标题: 玩转12864液晶显示图片,画点,画任意直线教程
通过上一篇的实验,相信大家都掌握了显示字符的基本用法。
下面我们来看一下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, 下载次数: 89)



作者: 醇酒美人醉修禅    时间: 2019-1-20 16:34
这是从哪弄的骗积分的玩意儿,一点用都没有
宏定义全都不在
作者: 风花雪月@    时间: 2019-1-20 17:54
额,看不懂




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1