极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: 弘毅

arduino学习笔记10 - 1602液晶实验

  [复制链接]
发表于 2012-12-2 00:09:18 | 显示全部楼层
totson 发表于 2012-10-30 22:22
小白请教,这两句语句的意思,先谢了 !
digitalWrite(i,value & 01);
value >>= 1;

&和>>这两个符号是计算机的位操作,操作对象是内部的二进制
& 是 并
>> 是右移

value&01就是 value的二进制值和1的二进制值比较,比如 value值是7,则二进制是 0111,1的二进制是0001
0 1 1 1
0 0 0 1
------------
0 0 0 1   结果
&的结果就是同位相比,如果该都为1则为1,否则该位都为0


>>是右移...value>>=1就是  value = value>>1 就是value的二进制往右移一位
回复 支持 反对

使用道具 举报

发表于 2012-12-2 00:11:36 | 显示全部楼层
那两个命令和数据传数据的两个函数...跟液晶的四种操作是什么关系啊?

看得不是很明白...
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-12-2 00:12:57 | 显示全部楼层
laofuz1024 发表于 2012-12-2 00:11
那两个命令和数据传数据的两个函数...跟液晶的四种操作是什么关系啊?

看得不是很明白...

介个。。。年代久远。。。偶也忘了=.=估计得去看1602液晶的datasheet,里面貌似有相关通信协议介绍。
回复 支持 反对

使用道具 举报

发表于 2013-1-13 14:53:07 | 显示全部楼层
laofuz1024 发表于 2012-12-2 00:11
那两个命令和数据传数据的两个函数...跟液晶的四种操作是什么关系啊?

看得不是很明白...

两个命令和数据函数就是给2-12引脚赋2进制位值(赋0表低电位 1表示电位)
其中3-10为8位数据位,12 11以及2号 这3个引脚是用来控制是读还是写,以及是指令、状态还是数据
具体不懂可以看1602手册  或者继续提问 。还有你说的4种操作? 没懂什么一
回复 支持 反对

使用道具 举报

发表于 2013-1-13 18:48:27 | 显示全部楼层
慢慢探索学习,
回复 支持 反对

使用道具 举报

发表于 2013-1-13 22:48:12 | 显示全部楼层
把自己唱给妳聼 发表于 2013-1-13 14:53
两个命令和数据函数就是给2-12引脚赋2进制位值(赋0表低电位 1表示电位)
其中3-10为8位数据位,12 11以 ...

嗯,谢谢!懂什么意思了,但还有一些不明白。
按代码里面的。
把12口和设置成高电位,11口设置成低电位,就是指现在要往屏上写数据显示,
把要写的数据转换成8进制,然后和8个接口对应上,每一位的二进制0或1写到对应的接口上,是不是这样啊?

那个接口2是指什么意思呢?是不是把屏的状态设置可读可写间变一次,就把11和12口的状态给设成默认了?


回复 支持 反对

使用道具 举报

发表于 2013-1-13 23:02:52 | 显示全部楼层
1602多余的地址空间很有用途,比如可以用来显示字体的移动,先把数据放到地址17之后,使用一条移动指令,就实现自提从右边向左移位,可以看到动态效果,类似外面的广告平的移动效果
回复 支持 反对

使用道具 举报

发表于 2013-1-17 12:30:00 | 显示全部楼层
laofuz1024 发表于 2013-1-13 22:48
嗯,谢谢!懂什么意思了,但还有一些不明白。
按代码里面的。
把12口和设置成高电位,11口设置成低电位 ...

1."把12口和设置成高电位,11口设置成低电位,就是指现在要往屏上写数据显示" 可以这么理解,其实按我个人理解应该是往1602显存的地址:80H+相应地址码   里写数据,往这个地址写相应数据,就显示到1602显示屏的相应位置上了,若这里不理解可以看1602手册。
2.要写数据用LcdDataWrite()函数就可以了,至于怎么转成2进制是该函数封装好的,你要知道具体内容的话,还要看该函数的源码。你说的8进制应该不正确,和8进制没有关系。
3.接口2只是一个使能(Enable)位,配合12 11 位一起使用,共同控制 读写状态或者数据。记住接口2 11 12 是一起作用控制信号的
回复 支持 反对

使用道具 举报

发表于 2013-1-18 22:48:38 | 显示全部楼层

写得很详细啊,对新手很好。
回复 支持 反对

使用道具 举报

发表于 2013-2-14 19:31:53 | 显示全部楼层
很详细,正在研究,还没搞出来
回复 支持 反对

使用道具 举报

发表于 2013-3-7 15:12:49 | 显示全部楼层
按照官方解法,效果非常好
  1. #include <LiquidCrystal.h>
  2. LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
  3. void setup() {  
  4.   lcd.begin(16, 2);
  5.   lcd.print("nana xiao baobei");
  6.   lcd.setCursor(0, 1);
  7.   lcd.print(" I LOVE U (^3^)");
  8. }

  9. void loop() {
  10. }
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2013-3-11 21:18:06 | 显示全部楼层
本帖最后由 laofuz1024 于 2013-3-11 21:30 编辑

准备买液晶回来试试,主要是学习使用官方的库
回复 支持 反对

使用道具 举报

发表于 2013-4-2 23:12:34 | 显示全部楼层
我按8位接法照做。能显示字符,但是无背光?求教。
回复 支持 反对

使用道具 举报

发表于 2013-4-9 15:16:05 | 显示全部楼层
弘毅,四位接法的程序写错了。
两处设置端口
i<=10
改成
i<=9
显示就正常了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-4-9 22:22:30 | 显示全部楼层
insert0003 发表于 2013-4-9 15:16
弘毅,四位接法的程序写错了。
两处设置端口
i

{:soso_e153:} 原来是这个错误。。谢谢提醒。。我明天测试下后进行改正。。。
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-29 20:51 , Processed in 0.052649 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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