找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

在学习51单片机1602液晶程序时遇到的困惑

查看数: 2523 | 评论数: 11 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-7-30 14:14

正文摘要:

红色方框中的代码为什么指从第二行第一个位置开始显示?

回复

ID:821272 发表于 2021-8-1 13:54
因为0x40是第二行的第一个地址
ID:748788 发表于 2021-7-31 20:57
有些程序的写法对初学者不太友好,产品手册不存在类似问题
ID:957989 发表于 2021-7-31 19:39
0x80是第二行的意思 0x40是第二行第一个
ID:957989 发表于 2021-7-31 19:38
0x80的指令是第二行的意思 0xc0是第一行,加0x40是第二行第一个位置显示,0xc0+0x00是第一行第一个
ID:934353 发表于 2021-7-30 17:01
看手册,手册里面写的很详细了,有具体的地址
ID:824490 发表于 2021-7-30 16:48
要会看手册,不然就只能CRTL+C、CTRL+V。
ID:161164 发表于 2021-7-30 16:35
Flynnkk 发表于 2021-7-30 16:03
请问为什么write_come括号里是0x80+0x40呢?

显示在某一行某一列的数据可以写命令:0x80+0xYY,0x80是因为在设置DDRAM地址时,DB7固定是为1的
                       
       
                                                        
YY值如下圖


ID:97554 发表于 2021-7-30 16:29
写指令 0x80;就是光标移动到第一行第一个字符的位置,
然后写数据,在这个第一行第一个字符的位置开始写要显示的数据。
写指令 0xC0; 把光标移动到第二行第一个字符的位置,比如你要在第二行第四个字符的位置写要显示的东西,那么这个就写,write_com(0xc0 + 4); 以此类推。
ID:97554 发表于 2021-7-30 16:23
Flynnkk 发表于 2021-7-30 16:03
请问为什么write_come括号里是0x80+0x40呢?

第二行第一个字符的地址为0XC0,你不想写0X80 + 0X40可以直接写0XC0;一样可以。
ID:956788 发表于 2021-7-30 16:03
xuyaqi 发表于 2021-7-30 15:59
写程序的人想从第二行第一个位置开始显示,留空认为好看。

请问为什么write_come括号里是0x80+0x40呢?
ID:94031 发表于 2021-7-30 15:59
写程序的人想从第二行第一个位置开始显示,留空认为好看。

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

Powered by 单片机教程网

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