切换到宽版
  • 3179阅读
  • 39回复

[C51]求助工程师无法搞定 1602液晶按照教程例程都不能正常显示 修改无果 [复制链接]

上一主题 下一主题
离线zhuls

发帖
1136
M币
2708
专家
3
粉丝
23
只看该作者 30楼 发表于: 06-16
如果不是连续写入显示的代码,也就是说1602的写入代码的操作,不能被其它操作打断,否则就要人为指定写入地址了。
离线fyhh
发帖
3
M币
924
专家
0
粉丝
0
只看该作者 31楼 发表于: 06-16
初始化的前五行都是液晶初始化,前四行每行下面加个延时!保证OK!
离线慕名而来

发帖
1469
M币
6260
专家
11
粉丝
58
只看该作者 32楼 发表于: 06-18
建议向逐个测出各个字符的地址而后再控制,我曾经玩过一个1601屏,一行16位是分成了两个8位(80-87;c0-c7)地址并不连续,我是先建了一个数组:

uchar ip[16]={0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7};而后输出数据时:

for(i=0;i<16;i++)
{
xie_zhiling(ip);        
xie_shuju(dat);
dellay(20);
}
这样可以连续写入,也可以定位写入,另外初始化代码我感觉都是通用的,我驱动过几片1601,1602都是下面的代码:用的是STC12C单片机

xie_zhiling(0x38);
dellay(10);
xie_zhiling(0x38);
xie_zhiling(0x08);
xie_zhiling(0x01);
xie_zhiling(0x06);
xie_zhiling(0x0c);
离线szqinyi

发帖
371
M币
0
专家
1
粉丝
8
只看该作者 33楼 发表于: 06-19
延时很重要。
离线ks_allan

发帖
65
M币
3494
专家
13
粉丝
480
只看该作者 34楼 发表于: 06-20
大概看了一下没有 busy 忙检测,用延时不一定好,如果单片机时钟发生调整,这段程序就没法用了
离线ks_allan

发帖
65
M币
3494
专家
13
粉丝
480
只看该作者 35楼 发表于: 06-20
你 table1[] 有10个数字,程序循环只能到9,当然少显示一个数字,而
你 table2[] ,我目测只有14个字符,而程序里循环要到16.。。。。。。。下标越界当然是乱码
离线触景情伤

发帖
3043
M币
4057
专家
4
粉丝
49
只看该作者 36楼 发表于: 昨天 10:34
步子大了容易扯住蛋的,慢慢来吧

内容来自Android手机客户端

离线zhxzhx

发帖
252
M币
73
专家
2
粉丝
5
只看该作者 37楼 发表于: 昨天 12:50
屏的地址怎么排的都有,你这个屏第二行可能是和第一行连续排的,连续写160个字符,看哪几个能显示,自己算地址。
离线cqqwing

发帖
1304
M币
2262
专家
5
粉丝
42
只看该作者 38楼 发表于: 昨天 13:37
回 zhxzhx 的帖子
zhxzhx:屏的地址怎么排的都有,你这个屏第二行可能是和第一行连续排的,连续写160个字符,看哪几个能显示,自己算地址。 (2018-06-22 12:50) 回 zhxzhx 的帖子

好像是这样的,谢谢,今晚回去找找问题
离线lxa0

发帖
1126
M币
351
专家
10
粉丝
42
只看该作者 39楼 发表于: 7小时前
我看是楼主的初始化代码有问题~~~~~~
快速回复
限80 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个