矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
查看: 1694|回复: 9

菜鸟请教一个问题

[复制链接]
     
发表于 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?谢谢了
     
发表于 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 ];

评分

1

查看全部评分

回复 支持 1 反对 0

使用道具 举报

     
发表于 2020-7-11 07:39:24 | 显示全部楼层
正确,改一下字符串或者循环移位皆可
回复 支持 1 反对 0

使用道具 举报

     
 楼主| 发表于 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个数据脚是一个字节,先读取字节再判断最高位的
513E7739-59F7-4CA5-BAB3-0F5833122C60.png
D32DC518-2C21-4D61-A9BB-6B5F8C9EA753.png
248B803C-50C3-4B33-AEBC-296C78E18EB4.jpeg
回复 支持 反对

使用道具 举报

     
发表于 2020-7-11 09:12:04 | 显示全部楼层
是否不用这么复杂,可先把数据字节按位反转,0----7,1-----6,……,7-----0,再传送到1602。
回复 支持 反对

使用道具 举报

     
发表于 2020-7-11 09:26:41 | 显示全部楼层
可以的,再编个转换程序
回复 支持 反对

使用道具 举报

     
发表于 2020-7-11 09:27:57 | 显示全部楼层
如果程序已经写好了,那么调试直接引线吧
现在打板够便宜
一般第一版多多少少都会有问题
调试好了把错误部分一同重新打板就好。
回复 支持 反对

使用道具 举报

     
发表于 2020-7-11 09:30:05 来自手机 | 显示全部楼层
可以直接在程序里改数据不就可以了吗?
回复 支持 反对

使用道具 举报

     
发表于 2020-7-11 18:54:29 来自手机 | 显示全部楼层
这错误我犯过,就是用5楼的方法用软件纠正了的
回复 支持 反对

使用道具 举报

     
发表于 2020-7-11 21:02:27 | 显示全部楼层
……………
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2024-5-29 22:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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