找回密码
 立即注册

QQ登录

只需一步,快速开始

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

萌新初接尝试写单片机代码 有些不懂 有没有大佬瞅一瞅

[复制链接]
跳转到指定楼层
楼主
ID:800068 发表于 2021-3-13 20:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
就是用的52单片机 想在LCD1602上显示数字同时 按键能使显示数值加一  有关代码如下
sbit K1=P1^3;
signed char shangxian=22;
{
signed char shangshi,shangge;
shangshi=shangxian/10;
    WriteAddress(0x0B);
             WriteDate(48+shangshi);
    WriteAddress(0x0C);
             WriteDate(48+shangge);

}
void key()
{
   if(K1==0)
   {
     shangxian++;
   }
}
  萌新看了很多视频 大概就这样 可是LCD1602 能显示22  但是 按键加数好像显示不了  
  另外 为什么LCD1602在显示数值时候要 用 48+(内容)这样
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:287575 发表于 2021-3-13 22:07 | 只看该作者
加48是把数字转换成字符,你没有完整的主程序,别人不能分析你的程序

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

板凳
ID:885834 发表于 2021-3-13 22:13 | 只看该作者
看一下lcd1602的手册,48用二进制表示就是 00110000 ,这是预存在lcd的CGROM中的,可以理解为48相当于0的地址,而49是1的地址,50是2的地址,手册上都有,个人理解,仅供参考,有错误请大佬指出。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

地板
ID:18297 发表于 2021-3-14 09:27 | 只看该作者
你的程序不完整,copy别人的程序不能断章取义,有的子程序需要使用自己的语句进行调用和连接。
否则子程序有了,没有调用子程序,功能还是不可能有的。
别人的一个完整的程序,我去掉其中的一条或者几条语句。整个功能就会不完整,或完全没有功能。
所以这个是一个循序渐进的过程,先看懂小程序,再看懂大程序的结构等等。
先学会看懂程序,修改程序,再自己编写完整的程序。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

5#
ID:390416 发表于 2021-3-14 11:23 | 只看该作者
LCD1602显示 可以显示自定义符号 http://www.51hei.com/bbs/dpj-200685-1.html
回复

使用道具 举报

6#
ID:123289 发表于 2021-3-16 16:30 | 只看该作者
你需要了解ASCII码。特别注意一下,0-9的ASCII码是什么?
回复

使用道具 举报

7#
ID:892671 发表于 2021-3-16 16:54 | 只看该作者
48是数字0对应ASCII码
回复

使用道具 举报

8#
ID:781556 发表于 2021-3-17 06:40 | 只看该作者
ASCII碼;數據類型;數據編碼;有必要深度了解一下
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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