找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机+LCD1602程序问题,写进LCD的数据是以什么进制的数据写进的呢?

[复制链接]
跳转到指定楼层
楼主
ID:473504 发表于 2020-2-9 18:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
   请问各位大神,用C51来编程控制LCD1602显示时,写进LCD的数据是以什么进制的数据写进的呢?为什么可以以数组原素的形式写进LCD然后显示呢?不是要向DDRAM 的 地址写入字符的代码才行吗?望各位大神指教,不胜感激。


部分代码如下:   
void main()
{
  init();
        write_com(0x80);
      
        for(num=0;num<11;num++)
        {
          write_data(table[num]);
                delay(5);
        }
      
        write_com(0x80+0x40);
      
        for(num=0;num<13;num++)
        {
          write_data(table1[num]);
                delay(5);
        }
      
        while(1);
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:235200 发表于 2020-2-10 00:36 | 只看该作者
DDRAM是显示屏对应的存储器,该存储器存放一个字符的代码值(一般与ASCII码相似)就会显示该字符,用数组的元素写入的也就是这个代码值,如要显示一行16个字符,在C语言中用数组先存放这些字符的值,用循环语句对应写入DDRAM就显示了
回复

使用道具 举报

板凳
ID:473504 发表于 2020-2-10 16:04 | 只看该作者
嗯嗯,收到。感谢您的解答。这是我刚刚找的资料,原来直接用写字符的话单片机可以自动转换成代码的。
//01000001,也就是41H。可见它的代码与我们PC中的字符
代码是基本一致的。因此我们在向DDRAM 写C51字符代码程序时甚至可以直接用
P1='A'这样的方法。PC在编译时就把“A”先转为41H代码了。//
回复

使用道具 举报

地板
ID:691914 发表于 2020-2-11 04:56 | 只看该作者
16进制
回复

使用道具 举报

5#
ID:584814 发表于 2020-2-17 10:52 | 只看该作者
数字电器内部指令都是高低电平来完成,也就是0和1。为了书写和阅读方便一般采用十六进制。至于用数组也是一样,如果不用数组你把这段程序重写一下就知道了。
回复

使用道具 举报

6#
ID:159575 发表于 2020-2-17 12:07 来自手机 | 只看该作者
夜小明 发表于 2020-2-10 16:04
嗯嗯,收到。感谢您的解答。这是我刚刚找的资料,原来直接用写字符的话单片机可以自动转换成代码的。
//01 ...

是编译器转化的。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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