极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 15780|回复: 9

关于1602,按教程来可以用,自己改了引脚就不行了

[复制链接]
发表于 2014-10-13 11:36:43 | 显示全部楼层 |阅读模式
http://www.geek-workshop.com/for ... ge=1&authorid=4 这个教程来没问题,可是为什么我自己把引脚改掉以后就调不通了呢?必须要按教程的引脚接线吗?为啥?
回复

使用道具 举报

 楼主| 发表于 2014-10-13 11:37:48 | 显示全部楼层
int LCD1602_RS=6;   
int LCD1602_RW=9;   
int LCD1602_EN=10;   
int DB[] = { 2, 3, 4, 5};
改成这样就不行了,显示是一行的黑框,证明1602没初始化吧?
回复 支持 反对

使用道具 举报

发表于 2014-10-13 11:43:56 来自手机 | 显示全部楼层
调不通?是个什么概念?出错提示什么说明都没有…

回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-13 11:47:07 | 显示全部楼层
maxims 发表于 2014-10-13 11:43
调不通?是个什么概念?出错提示什么说明都没有…

2L我已经说了呀,程序当然是能下载的,但是不显示东西,第一行全是黑色方块
回复 支持 反对

使用道具 举报

发表于 2014-10-13 12:03:11 | 显示全部楼层
int LCD1602_RS=12;   
int LCD1602_RW=11;   
int LCD1602_EN=10;   
int DB[] = { 6, 7, 8, 9};
按照道理来讲,使用的都是数字端口,应该没有问题,还是仔细对照一下线序和对比度调解吧!
回复 支持 反对

使用道具 举报

发表于 2014-10-13 12:27:32 | 显示全部楼层
四线驱动的话,有的1602需要初始化两遍,你试试看,或者换一种驱动。
回复 支持 反对

使用道具 举报

发表于 2014-10-13 15:55:15 | 显示全部楼层
本帖最后由 Super169 于 2014-10-13 15:56 编辑
mylemonjuice 发表于 2014-10-13 11:37
int LCD1602_RS=6;   
int LCD1602_RW=9;   
int LCD1602_EN=10;   


你單改這幾句, 當然不行喇.  改了之後, 執行以下指令就會有問題了.
  1. for (i=DB[0]; i <= 9; i++)
复制代码
這部份本身不太好, 幾乎可以說是假設了一定是用 pin 6,7,8,9.
把類似的地方改一改會比較好.
  1. for (i = 0; i < 4; i++) {  
  2. // 把當中的 i 改成 DB[i]
  3. }
复制代码
還有
  1. for (i=6; i <= 12; i++)
复制代码
回复 支持 反对

使用道具 举报

发表于 2014-10-14 07:51:18 | 显示全部楼层
I2C的不更加好?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-14 11:19:32 | 显示全部楼层
Super169 发表于 2014-10-13 15:55
你單改這幾句, 當然不行喇.  改了之後, 執行以下指令就會有問題了.這部份本身不太好, 幾乎可以說是假設 ...

是的我昨天也已经发现了这问题,然后机智地用了I2C的屏,省了太多资源了!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-14 11:19:57 | 显示全部楼层
努力微笑 发表于 2014-10-14 07:51
I2C的不更加好?

已经换用I2C了,目前运行良好
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-15 13:27 , Processed in 0.062790 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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