找回密码
 立即注册

QQ登录

只需一步,快速开始

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

LCD12846串行显示图文

[复制链接]
跳转到指定楼层
楼主
本帖最后由 电路板 于 2019-5-3 23:51 编辑

   
/************* 上面是底层时序函数,下面是高层时序函数 ***************/

/*********************************************************************
* 函 数 名       : Lcd12864Init
* 函数功能                 : 按照LCD12864低层时序进行初始化序列
* 参数列表       : 无
* 函数输出             : 无
*********************************************************************/
void Lcd12864Init(void)                                                
{
        //gLcd12864_PSB = 1;                        // 选定8位并行模式

        // 发送初始化序列
         Lcd12864WriteCmd(0x30);          // 0x30为基本指令集
        Lcd12864WriteCmd(0x02);
        Lcd12864WriteCmd(0x0c);                // 整体显示、游标关闭
        Lcd12864WriteCmd(0x01);                // 0x01为清屏指令
        Lcd12864WriteCmd(0x80);          // 地址自动加1
        
}
/*********************************************************************
* 函 数 名       : Lcd12864ShowStr
* 函数功能                 : 从坐标(x, y)开始显示字符串str,注意这个函数不能跨行
*                                   显示,因为显存地址是不连续的。
* 参数列表       : x - 横向坐标,范围是0-7
*                                   y - 纵向坐标,范围是0-3
*                                   pStr - 指向待显示的字符串的指针
* 函数输出             : 无
*********************************************************************/
void Lcd12864ShowStr(u8 x, u8 y, u8 *pStr)     //显示字符串
{
         switch (y)
        {
                case 0:
                        x |= 0x80;        break;                          // 第一行
                case 1:
                        x |= 0x90;        break;                          // 第二行
                case 2:
                        x |= 0x88;        break;                          // 第三行
                case 3:
                        x |= 0x98;        break;                          // 第四行
                default:
                                                break;
        }
         Lcd12864WriteCmd(x);                         // 发送地址码
          while (*pStr != '\0')                         // 若到达字串尾则退出
          {
             Lcd12864WriteData(*pStr); //
             pStr++;
                 delay_1ms(5);
          }
}
/*********************************************************************
* 函 数 名       : Lcd12864heng()
* 函数功能                 : 显示图片
* 参数列表       : *pData
* 函数输出             : 无
*********************************************************************/
void  Lcd12864heng()
{
        u8 x = 0, y = 0, i = 0,k;
         for(i=0;i<9;i=i+8)
         for(y=0;y<32;y++)
         {
         if((y%8)==1)k=0xff;
     else k=0;
                 for(x=0;x<8;x++)
                {
                 Lcd12864WriteCmd(0x36);
                 Lcd12864WriteCmd(0x80+y);
                 Lcd12864WriteCmd(0x80+x+i);
                 Lcd12864WriteData(k);
                 Lcd12864WriteData(k);
                 Lcd12864WriteCmd(0x30);
                }
         }
}

斗图.png (9.07 KB, 下载次数: 26)

斗图.png

QQ截图20190503234652.png (548.11 KB, 下载次数: 24)

QQ截图20190503234652.png

LCD12864串行.zip

52.24 KB, 下载次数: 23, 下载积分: 黑币 -5

LCD12864串行

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

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

使用道具 举报

沙发
ID:717274 发表于 2020-3-29 22:22 | 只看该作者
谢谢大神分享
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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