发 帖  
原厂入驻New
张飞软硬开源:基于STM32的BLDC直流无刷电机驱动器,👉戳此立抢👈
[问答] 关于LCD1602的一些问题
1704 51单片机 LCD显示
分享
各位大神好。在下是一名学生。初学单片机和LCD1602
附件是我在网上找到的一个关于LCD的代码,用来学习。
我把这个代码弄到proteus仿真的时候,有一个问题无法解决。
1515252093(1).jpg 按LCD操作手册上说,此时把80H换成0C0H应该是到第二行显示才对。可无论我怎么改,都是在第一行。
1515252126(1).jpg 然后当我把这个放在主程序或是初始化程序里面,就可以了。这是为什么?但是整个复制上去就又不行了。
1515252025(1).jpg 这是我的接线图。
上传的附件是全部的代码。
希望大神能解答我这个疑惑。万分感激。
0

新建 Microsoft Word 文档.docx

下载积分: 积分 -1 分

12.01 KB, 下载次数: 1, 下载积分: 积分 -1 分

2018-1-6 23:26:36   评论 分享淘帖 邀请回答
9个回答
代码应该出错了。打扰各位了
2018-1-6 23:57:31 评论

举报

一开始用的汇编    楼主厉害
2018-1-7 09:22:29 评论

举报

1602跟数码管不一样,将要显示的数据写入1602之后就不用管了,程序的主体应该分初始化部分和具体功能部分。
初始化部分只需要执行一次就可以了,具体功能部分根据具体要实现的功能来判断如何进行循环。
你的程序里在显示完后又跳转的程序开头,即MAIN,这时又执行了一次初始化,1602又重新从第一行开始,这个是对程序结构理解不够,同样也是属于逻辑错误。
2018-1-7 12:37:56 评论

举报

人中狼 发表于 2018-1-7 12:37
1602跟数码管不一样,将要显示的数据写入1602之后就不用管了,程序的主体应该分初始化部分和具体功能部分。
初始化部分只需要执行一次就可以了,具体功能部分根据具体要实现的功能来判断如何进行循环。
你的程序里在显示完后又跳转的程序开头,即MAIN,这时又执行了一次初始化,1602又重新从第一行开始,这个是对程序结构理 ...

好。谢谢您。收获良多。
我后面发现说,我是那个控制命令没写进去。我对RS,RW,E的状态理解错了。

我能问多您一个问题吗?关于蜂鸣器播放音乐的。
我根据一本书写了代码。然后单个程序的时候,播放是没问题的。但是一旦拿来做子程序,播放出来的音乐就跟我编的不同。
1515340193(1).png 1515340288(1).jpg
2018-1-7 23:52:19 评论

举报

进击的生菜 发表于 2018-1-7 09:22
一开始用的汇编    楼主厉害

没有没有。学校教的汇编,那自然想拿来实践。见笑了
2018-1-8 00:00:46 评论

举报

如果有满意的答案,还请选一个最佳答案
2018-1-8 10:26:24 评论

举报

你后面的用蜂鸣器发声的程序并没有看出有做为子程序的结构,其中只有一个延时的子程序,所以你得先把程序得结构写好一些,要利用换行,注释等能清晰的分辨出哪些是子程序
2018-1-8 11:02:39 评论

举报

ElecFans王岑 发表于 2018-1-8 10:26
如果有满意的答案,还请选一个最佳答案

把他的回答置顶吗
2018-1-8 12:14:21 评论

举报

人中狼 发表于 2018-1-8 11:02
你后面的用蜂鸣器发声的程序并没有看出有做为子程序的结构,其中只有一个延时的子程序,所以你得先把程序得结构写好一些,要利用换行,注释等能清晰的分辨出哪些是子程序

好。谢谢您的指点
2018-1-8 12:21:02 评论

举报

撰写答案

你正在撰写答案

如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。

高级模式
您需要登录后才可以回帖 登录 | 注册

我要提问
课程
    关闭

    站长推荐 上一条 /10 下一条

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