找回密码
 立即注册

QQ登录

只需一步,快速开始

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

LCD寄存器 如何取值?

[复制链接]
回帖奖励 10 黑币 回复本帖可获得 5 黑币奖励! 每人限 1 次(中奖概率 50%)
跳转到指定楼层
#
本帖最后由 cheney03 于 2020-6-5 08:33 编辑

例如我现在要设置第3项:彩屏工作窗口设置,有个疑问寄存器地址的值是如何取的,是不是30h~3Fh都可以取?另外程序中 temp=XL>>8;为什么要右移8位?

2.png (251.07 KB, 下载次数: 43)

2.png

3.png (36.1 KB, 下载次数: 45)

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

使用道具 举报

6#
ID:743654 发表于 2020-6-6 09:04 | 只看该作者
看数据手册,貌似懂了

51hei截图20200606084732.png (68.51 KB, 下载次数: 54)

51hei截图20200606084732.png
回复

使用道具 举报

5#
ID:743654 发表于 2020-6-6 08:39 | 只看该作者
红领巾 发表于 2020-6-5 22:34
你的tmp变量是不是16位的,寄存器应该是8位的。一开始是把tmp变量中的低8位参与LCD_DataWrite()运算,右移8 ...

//*************写数据*************//
void LCD_DataWrite(unsigned char Data)
{
                cs1=0;
                rs=0;  // 数据读取或写入周期
                rd=1; //delay_us(5);
                BUS = Data;//数据总线
                wr=0; //delay_us(5);资料写入 (Data Write)
                wr=1; //数据读取 (Data Read)
                cs1=1;
                  wr=0; //delay_us(5); 指令写入(CMD Write)
                wr=1; //状态读取(Status Read)
                cs1=1;

这个是写数据函数(8位的),现在只是设置工作窗口,X轴左边、右边,Y轴左边、右边。变量tmp实际应该是8位的,为什么要右移还是搞不懂
回复

使用道具 举报

地板
ID:743654 发表于 2020-6-6 08:30 | 只看该作者
xuyaqi 发表于 2020-6-5 18:54
你的问题,把数据手册看明白就会解决,我们没有数据手册不好回答。

谢谢,已经在数据手册中找到答案了
回复

使用道具 举报

板凳
ID:348250 发表于 2020-6-5 22:34 | 只看该作者
你的tmp变量是不是16位的,寄存器应该是8位的。一开始是把tmp变量中的低8位参与LCD_DataWrite()运算,右移8位取出tmp变量中的高8位,再参与LCD_DataWrite()运算
回复

使用道具 举报

沙发
ID:94031 发表于 2020-6-5 18:54 | 只看该作者
你的问题,把数据手册看明白就会解决,我们没有数据手册不好回答。
回复

使用道具 举报

楼主
ID:743654 发表于 2020-6-5 10:37 | 只看该作者
没人回答么,自己顶一下!
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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