找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

lcd单片机驱动lcd1602写数据0x41,显示乱码,仿真正常。可能什么问题?

查看数: 6874 | 评论数: 15 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2017-4-4 17:29

正文摘要:

lcd1602写数据0x41,显示乱码,仿真正常。可能什么问题? /***********1602液晶静态显示**************/ #include<reg52.h> #define uchar unsigned char #define uint  unsigned int uch ...

回复

ID:472242 发表于 2019-2-5 22:33
void main(void)
{
   LCD_init();
   write_data(0x41);  //这里是有问题的,你要0x41放到哪个位置都没设好,不出问题才是问题
   while(1);
}

评分

参与人数 3黑币 +62 收起 理由
站着说话不腰疼 + 12
刀刀见红 + 35
#include51.h + 15

查看全部评分

ID:244649 发表于 2017-10-31 18:14
程序我看了,没问题,既然仿真也没有问题的话,那就是你硬件的问题了
ID:244633 发表于 2017-10-31 17:25
您好,想请问下您,这个乱码的问题解决了么
无效楼层,该帖已经被删除
ID:139175 发表于 2017-4-6 15:44
你像风儿来了 发表于 2017-4-5 16:24
写数据和命令之前要判断显示屏是否繁忙

void busy()

好的,谢谢啦,我再去试试
ID:139175 发表于 2017-4-6 15:43
你像风儿来了 发表于 2017-4-5 16:22
刚说错了,你这个有可能是数据口没有初始化,

数据口没初始化?能具体说明下吗?
ID:148552 发表于 2017-4-5 16:24
写数据和命令之前要判断显示屏是否繁忙

void busy()
{
uchar busy;
P0=0xff;//复位系统总线,非常重要
RS=0;
RW=1;
do
{
E=1;
busy=P0;
E=0;
}
while(busy&0x80);
E=0;
}
ID:148552 发表于 2017-4-5 16:22
刚说错了,你这个有可能是数据口没有初始化,
ID:148552 发表于 2017-4-5 16:20
可以提供下这个函数吗
LCD_init();
ID:139175 发表于 2017-4-5 11:04
liuyier1989 发表于 2017-4-4 19:25
你设置端口号是根据什么设置的。就这么点程序吗???

端口号是isp自动扫描的。根据郭天祥教程来写的,就这么多啊。实在搞不懂了
无效楼层,该帖已经被删除
ID:139175 发表于 2017-4-5 10:54
我喜欢卖萌 发表于 2017-4-4 19:35
如果仿真没问题的话,那可能是因为电路弄错了,你是用的pcb板还是自己焊的

用的开发板
ID:151348 发表于 2017-4-4 21:27
这就有点像“理论与实际的差距”,我之前也有遇到类似的情况,仿真时用写好的LCD驱动程序显示正常,下载到自制的板子上就完全不显示,我觉得可参考以下两点修改意见
1、检查接线,清理干净板子
2、调程序,特别是延时长短

评分

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

查看全部评分

ID:186098 发表于 2017-4-4 19:35
如果仿真没问题的话,那可能是因为电路弄错了,你是用的pcb板还是自己焊的

评分

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

查看全部评分

ID:185407 发表于 2017-4-4 19:25
你设置端口号是根据什么设置的。就这么点程序吗???

评分

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

查看全部评分

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

Powered by 单片机教程网

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