打印
[51单片机]

新人问1602

[复制链接]
1401|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
最近看到一个电路图。1602的8个数据口接了四个,这个让我很不理解,这是怎么做到通信的?
还有就是为什么要加Q3、R2、R3。去掉后直接给电不行么?这样有什么好处?
1602 D4到D7那面接了PCA8574D。
还望大家多多帮忙,谢谢!

Q截图20140927082759.png (15.85 KB )

Q截图20140927082759.png

相关帖子

沙发
wangch_sh| | 2014-9-27 09:19 | 只看该作者
1602接四根数据线可以,只不过8位数据要给两次4位。

使用特权

评论回复
板凳
d865841995|  楼主 | 2014-9-27 09:33 | 只看该作者
wangch_sh 发表于 2014-9-27 09:19
1602接四根数据线可以,只不过8位数据要给两次4位。

手册上有写么,那如何给一些控制命令什么的?这样有什么好处,就是节省IO口么?
还有那个三极管不要不行么Q3

使用特权

评论回复
地板
wangch_sh| | 2014-9-27 09:36 | 只看该作者
我见过这么用的,是节省IO口。
三极管可以不要,直接接地

使用特权

评论回复
5
ningling_21| | 2014-9-27 10:32 | 只看该作者
d865841995 发表于 2014-9-27 09:33
手册上有写么,那如何给一些控制命令什么的?这样有什么好处,就是节省IO口么?
还有那个三极管不要不行 ...

Q3不要也可以,只不过有些环境需要对背光进行控制,所以加了三极管

使用特权

评论回复
6
ayb_ice| | 2014-9-27 10:42 | 只看该作者
可以8位总线,4位总线控制的

使用特权

评论回复
7
d865841995|  楼主 | 2014-9-27 11:03 | 只看该作者
wangch_sh 发表于 2014-9-27 09:36
我见过这么用的,是节省IO口。
三极管可以不要,直接接地

能具体说说怎么用么?四个数据口,传进来数据后屏内可以自动移位么?要这么用还需要设置什么吗?

使用特权

评论回复
8
d865841995|  楼主 | 2014-9-27 11:03 | 只看该作者
ningling_21 发表于 2014-9-27 10:32
Q3不要也可以,只不过有些环境需要对背光进行控制,所以加了三极管

能具体说说怎么用么?四个数据口,传进来数据后屏内可以自动移位么?要这么用还需要设置什么吗?

使用特权

评论回复
9
wangch_sh| | 2014-9-27 11:05 | 只看该作者
我没具体研究过,网上应该有例程,百度一下

使用特权

评论回复
10
ningling_21| | 2014-9-27 11:11 | 只看该作者
d865841995 发表于 2014-9-27 11:03
能具体说说怎么用么?四个数据口,传进来数据后屏内可以自动移位么?要这么用还需要设置什么吗? ...

数据送过去后1602内部自动处理,4线制速度稍微慢一点而已,其它都一样...

void write_1602(uchar cd,dat)    //cd=0 写命令  cd=1 写数据
{
  uchar i;
  rs=cd;
  for(i=0;i<2;i++)  //循环两次 写完一个数据/命令
  {   
       en=1;
       P1=(P1&0xf0)|((dat>>4)&0x0f); //P1高四位数据不改动
       delay(3);                //先送高四位数据 再送低四位数据
       en=0;        
       dat<<=4;         //低四位左移到高四位
  }
}
void init()
{                                                                                          
  write_1602(0,2);               //设置4位数据接口            
  write_1602(0,0x28);           //显示方式设置
  write_1602(0,0x0e);           //设置开显示,不显示光标
  write_1602(0,0x06);           //默认(0x06)写入新数据后光标右移 屏幕不移动
  write_1602(0,0x01);           //显示清0,数据指针清0            
}

使用特权

评论回复
11
coody| | 2014-9-27 11:51 | 只看该作者
1602我一直用的4线数据方式,LZ才知道啊,我至少用了15年了。
DS有说明的。

使用特权

评论回复
12
江枫渔火| | 2014-9-27 19:56 | 只看该作者
可以4线模式,省了端口。加3级管就是为了控制背光。你没看到那里写着 BT 吗,这个就是控制信号的网络了。

使用特权

评论回复
13
songchenping| | 2014-9-27 20:09 | 只看该作者
不知道这个电路图的最终作用是什么啊。

使用特权

评论回复
14
xppx1987| | 2014-9-28 08:16 | 只看该作者
首先你得找一份1602的数据手册,上面都写的很清楚~只接四根线是4bit模式,8位的数据使用4bit模式需要发送两次`

使用特权

评论回复
15
senzh01| | 2014-9-28 08:43 | 只看该作者
楼主没仔细看手册

使用特权

评论回复
16
d865841995|  楼主 | 2014-9-28 09:23 | 只看该作者
xppx1987 发表于 2014-9-28 08:16
首先你得找一份1602的数据手册,上面都写的很清楚~只接四根线是4bit模式,8位的数据使用4bit模式需要发送两 ...

是我看手册不仔细。没有注意这个。四位模式就是通过截图这个指令设置的吧?
我看手册上说1602有内部复位电路,电压超过4.5V就会自动进行初始化,初始化中包括:8位数据接口,1行显示,和5X8点阵字符。
我有点不明白,内部初始化后是8位模式,那如果这么只接四个的话怎么设置四位模式?
是不是因为DL是D4位,刚开始设置不管后面的四位,高四位设置为0011,这样1602就是四位模式了,之后在在四位模式下进行其他设置(比如:几行显示什么的?)
这样理解对么?

QQ截图20140928091550.png (2.2 KB )

QQ截图20140928091550.png

使用特权

评论回复
17
d865841995|  楼主 | 2014-9-28 09:23 | 只看该作者
senzh01 发表于 2014-9-28 08:43
楼主没仔细看手册

嘿嘿,

使用特权

评论回复
18
xppx1987| | 2014-9-28 14:43 | 只看该作者
d865841995 发表于 2014-9-28 09:23
是我看手册不仔细。没有注意这个。四位模式就是通过截图这个指令设置的吧?
我看手册上说1602有内部复位 ...

大哥,请再仔细看一遍数据手册拉~DL=0的时候,数据总线就被设置为4位模式了,这样一来就有一个设置为4位模式的命令,写入这个命令液晶的数据和命令的读写都是4位模式了`手册这个东西初看是很蛋疼的,但是看多了你就会发现那些的蛋疼的问题就不知不觉没了~

使用特权

评论回复
19
d865841995|  楼主 | 2014-9-28 21:45 | 只看该作者
xppx1987 发表于 2014-9-28 14:43
大哥,请再仔细看一遍数据手册拉~DL=0的时候,数据总线就被设置为4位模式了,这样一来就有一个设置为4位 ...

谢谢哈!照你这么说我的上面的理解就是对的,通过D7到D4就能设置成四位模式,设置完就可以设置其他的的功能和传数据了。
最后我在弱弱的问一句,我只找到说设置成四位模式后要分两次传输。可具体怎么传呢?连续两次传进来的就组成8位么?手册里能给截个图么,我也可以找找看看,谢谢。

使用特权

评论回复
20
d865841995|  楼主 | 2014-9-28 21:47 | 只看该作者
xppx1987 发表于 2014-9-28 14:43
大哥,请再仔细看一遍数据手册拉~DL=0的时候,数据总线就被设置为4位模式了,这样一来就有一个设置为4位 ...

好多,好乱,:dizzy:不知道看哪里好,不看哪里有怕丢下什么?太蛋疼了。。。。。。。。。。。。。。。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

54

主题

293

帖子

6

粉丝