andrewu 发表于 2020-7-11 00:52:57

菜鸟请教一个问题

画板时不仔细,LCD1602的8位数据脚DB0-DB7虽然连到了STC89C52的同一个IO口P0上,但顺序正好反了,即DB0与P0.7,DB1与P0.6。。。DB7与P0.0相连了,请教一下高手老师们,有程序可弥补吗?声明是否还是#define LCD1602_DB P0?谢谢了

huxiangming 发表于 2020-7-11 01:09:34

本帖最后由 huxiangming 于 2020-7-11 02:23 编辑

最简单方式,做个256字节表。
code unsigned char   XXXX[]={0x00,0x80,0x40,0xC0,...........................................};


以后需要   P0=i;    写成P0=XXXX[ i ];

wz8198 发表于 2020-7-11 07:39:24

正确,改一下字符串或者循环移位皆可

andrewu 发表于 2020-7-11 08:29:15

huxiangming 发表于 2020-7-11 01:09
最简单方式,做个256字节表。
code unsigned char   XXXX[]={0x00,0x80,0x40,0xC0,...................... ...

百度了一下,打算这样做:1602的D0-D7脚逐个声明,然后写个写入数据的小函数。这里有个问题:请问从1602读数据(需要读取D7脚来判断1602是否“忙”的状态)能否像最后一图一样直接按位读取?原本8个数据脚是一个字节,先读取字节再判断最高位的

chhds 发表于 2020-7-11 09:12:04

是否不用这么复杂,可先把数据字节按位反转,0----7,1-----6,……,7-----0,再传送到1602。

iffi123 发表于 2020-7-11 09:26:41

可以的,再编个转换程序

lmb9802 发表于 2020-7-11 09:27:57

如果程序已经写好了,那么调试直接引线吧
现在打板够便宜
一般第一版多多少少都会有问题
调试好了把错误部分一同重新打板就好。

分立元件 发表于 2020-7-11 09:30:05

可以直接在程序里改数据不就可以了吗?

EEV1234 发表于 2020-7-11 18:54:29

这错误我犯过,就是用5楼的方法用软件纠正了的

shi5978 发表于 2020-7-11 21:02:27

……………
页: [1]
查看完整版本: 菜鸟请教一个问题