找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6032|回复: 2
打印 上一主题 下一主题
收起左侧

玩转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, 下载次数: 87)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:83690 发表于 2019-1-20 16:34 | 只看该作者
这是从哪弄的骗积分的玩意儿,一点用都没有
宏定义全都不在
回复

使用道具 举报

板凳
ID:466430 发表于 2019-1-20 17:54 来自手机 | 只看该作者
额,看不懂
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表