弘毅 发表于 2014-6-20 08:19:36

IIC SPI 1602液晶模块

本帖最后由 迷你强 于 2016-11-12 21:14 编辑

IIC SPI 1602液晶模块其主要特点是只需要使用4-5根线就可以驱动一块1602液晶屏,极大的降低了接线的复杂程度。

模块默认为IIC驱动模式,接线为
* 5V to 5V pin
* GND to GND pin
* CLK to SCL pin
* DAT to SDA pin

IIC模式下如果我们需要使用多块该模块,我们可以使用不同地址位。在模块背面有A0,A1,A2三个焊盘,用焊锡把焊盘引脚相连,我们就能变化地址位,这样子就可以驱动多块1602液晶了。

IIC模式驱动代码如下

/*
连线:
* 5V to 5V pin
* GND to GND pin
* CLK to SCL pin
* DAT to SDA pin
*/

#include "Wire.h"
#include "LiquidCrystal.h"

// 初始化,地址为0
LiquidCrystal lcd(0);

void setup() {
// 16x2
lcd.begin(16, 2);
// 打印 HelloWorld
lcd.print("hello, world!");
}

void loop() {
// 光标位置(行,列):1,0
lcd.setCursor(0, 1);
// 打印执行时间,单位:S
lcd.print(millis()/1000);
// 背光闪烁
lcd.setBacklight(HIGH);
delay(500);
lcd.setBacklight(LOW);
delay(500);
}

使用SPI驱动方式我们需要在模块背面找到SPI Enable焊盘,用一些焊锡把两个焊盘连通,就可以使用SPI模式了。

SPI模式下接线为
* 5V to 5V pin
* GND to GND pin
* CLK to Digital 2
* DAT to Digital 3
* LAT to Digital 4
D2-D4接口是随意的数字IO口就可以。

SPI模式驱动代码如下

/*
连线:
* 5V to 5V pin
* GND to GND pin
* CLK to Digital 2
* DAT to Digital 3
* LAT to Digital 4
*/

#include "Wire.h"
#include "LiquidCrystal.h"

// 初始化
LiquidCrystal lcd(3, 2, 4);

void setup() {
// 16x2
lcd.begin(16, 2);
// 打印 HelloWorld
lcd.print("hello, world!");
}

void loop() {

// 光标位置(行,列):1,0
lcd.setCursor(0, 1);
// 打印执行时间,单位:S
lcd.print(millis()/1000);
// 背光闪烁
lcd.setBacklight(HIGH);
delay(500);
lcd.setBacklight(LOW);
delay(500);
}

Friday 发表于 2014-8-6 08:26:39

这个和四位接法 然后利用liquid crystal 库 来驱动 少了几个接口 但是这些lcd里面的函数好像是一样的? 另外,为什么要包含 wire.h 这个文件? 我看下面的代码 都是lquid crystal.h 里面 和四位接法的没有特别差别啊

Friday 发表于 2014-8-6 08:28:01

SPI IIC 这些指的都是通讯方式吗?

弘毅 发表于 2014-8-7 12:12:23

Friday 发表于 2014-8-6 08:26 static/image/common/back.gif
这个和四位接法 然后利用liquid crystal 库 来驱动 少了几个接口 但是这些lcd里面的函数好像是一样的? 另外 ...

wire.h是IIC通信库。语法和lquid crystal库是没有区别的。

弘毅 发表于 2014-8-7 12:12:44

Friday 发表于 2014-8-6 08:28 static/image/common/back.gif
SPI IIC 这些指的都是通讯方式吗?

恩,指的是通信协议方式。

haioufly 发表于 2016-10-8 10:31:59

回去试试!

hubertdong 发表于 2016-12-10 22:06:11

开发了用一根驱动1602的小模块:):):)
即只要一根线,就可驱动1602,这对ATTiny85等只有8个脚的单片机非常有利!:lol

suoma 发表于 2017-3-20 09:56:18

hubertdong 发表于 2016-12-10 22:06
开发了用一根驱动1602的小模块
即只要一根线,就可驱动1602,这对ATTiny85等只有8个脚的单片机非常 ...

                   分享一下
页: [1]
查看完整版本: IIC SPI 1602液晶模块