170504_(读书笔记)ST7920驱动12864液晶模块学习

  学习芯片,应该以数据手册为主,书本为辅,学习ST7920驱动芯片手册地址

ST7920手册

先把手册看一遍,不求快,只求弄懂

 

170514:

1.ST7920数据手册看了两遍,但是还是不太清楚具体操作

比如Data Display Ram,Character Generate Ram,Graph Display Ram

  1. Data Display Ram是最好操作的,只要初始化后,写个地址,再写编码ok,我现在实验的只有GB2312编码,不接收ASCII码,但是ST7920手册不是这样,先在实物上做同样的实验,看能否识别ASCII码,得到实验结果在说170504_(读书笔记)ST7920驱动12864液晶模块学习
  2. 用GDRAM,显示图片

170504_(读书笔记)ST7920驱动12864液晶模块学习

GDRAM空间结构图如下,熟记

170504_(读书笔记)ST7920驱动12864液晶模块学习

按GDRAM命令写地址,先写垂直地址(x地址),再写水平地址(y地址),再写高字节数据,再写低字节数据。

这样就完成了一个横向的16位(2个字节)显示。这个GDRAM是16位一行一行的写数据。我看ST7920手册上说,写完16位一行,水平地址自动加一,可以接着写下6位一行不用重新写地址。实验表明这样不行,写完16位一行,再重新写地址写数据才有效。这个问题不知道是仿真LCD12864的问题,还是实际操作不能这样。接下我回把这个使用同样在实物上做,到时候记录实验结果。

 


其他的深挖

2.12864深度博客

学习笔记:12864液晶模块的详细使用

要把这个例程看完

3.需要把所有的ST7920里的指令过一遍

 

proteus仿真st7920驱动12864遇到的问题

  1. 仿真运行就,就报错“internal exception access violation in module LCD12864.DLL”

解决思路:

  1. 试了下例程ok
  2. 判断是否连线接错了,接线ok
  3. 运行例程ok,但是运行自己写的程序就报错,判断报错为程序问题
  4. 从man函数一个一个注释编译运行,直到write_data

结论

  1. 这个LCD12864不能有非GB2312的编码范围,用ASCII要么报错,要么就不显示,具体原因待查
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值