1.3inch Memory LCD

来自Waveshare Wiki
跳转至: 导航搜索

说明

1.3inch-LCD-Module
{{{name2}}}
{{{name3}}}
功能简介
特性 无特性,不解释
显示尺寸 1.3英寸
分辨率 144×168
' 无特性,不解释
' 无特性,不解释
接口 SPI

产品概述

  • 本产品是memory LCD,1.3英寸,分辨率为144×168,带有内部存储器,使用SPI接口通信。
  • 相比普通LCD,memory LCD具有超低功耗的优点
  • 相比e-paper,memory LCD刷新率更高,并且不会有残影问题

产品特点

  • 144×168分辨率,对比度高,显示更清晰
  • 使用SPI控制,确保不会占用太多接口引脚资源
  • 低功耗,宽视角,在阳光下也可正常显示

产品参数

  • 屏幕类型:Memory LCD
  • 支持接口:SPI
  • 显示颜色:黑白
  • 分 辨 率:144 × 168
  • 可视区域:20.88mm × 24.36mm
  • 工作电压:3.3V / 5V
  • 功 耗:1mW(typ.)

工作原理

1.3inch Memory LCD有别于通常的黑白LCD或SPI接口的TFT,它具有以下几个显著的特点:

  • 其本身没有驱动IC,驱动电路刻蚀在LCD的ITO上
  • 内部不带有显示RAM,对主机来看,它是一个write only的器件,因此画面缓存必须要由主机实现
    • 缓存整屏数据需要144×168/8 = 3024bytes, 而Arduino Uno R3只有2K的RAM, 我们在PCB上放了一个SPI接口的SRAM芯片(23LC1024)来帮助缓存显示数据
  • 数据的更新只能以"行"为单位进行,哪怕只想反转显示一个像素,也必须缓存整行数据,并修改相应像素的数据,再把整行数据更新给Memory LCD,当然也可以更新好整帧数据缓存, 再更新一帧显示

通信时序概述

Memory LCD系列产品的SPI协议大致相同。

  • 每一次通讯的开始都需要拉高片选,之后接一个固定的延迟时间
  • 第一个字节表明这次通讯需要Memory LCD使用哪种模式
  • 第二个字节表明后面发送的数据更新的行地址。注意:行地址是从1开始计数而不是从0开始,格式为LSB,具体见下图:

1.3inch-Memory-LCD-Manual-00.jpg

  • 之后的字节是显示数据+16位空数据结尾+固定的延迟时间
  • 最后以拉低片选结束通信

数据更新模式(1 line)

仅更新一条指定行的数据(M0="H"、M2="L")

1.3inch-Memory-LCD-Manual-01.jpg

  • M0:模式标志。设为"H",数据更新模式(内部存储器数据更新)。设为"L",显示模式(保持内部存储器数据)
  • M1:帧反转标志。设为"H",输出VCOM为"H"。设为"L",输出VCOM为"L"。当EXTMODE为"H",该位可以是"H"或"L"。1.3inch Memory LCD硬件已将EXTMODE拉高。
  • M2:清除所有标志,设为"H",清除内部存储器数据并写入白色。
  • DUMMY DATA:虚拟数据,该位可以是"H"或"L",推荐设为"L"
    • 数据写入周期,数据以二进制格式存储在第一个锁存块中
    • 数据传输周期,写在第一个锁存块中的数据被写到内部存储器中
    • M1:当EXTMODE为"L",帧翻转标志被使能
    • 当SCS为"L"时,M0和M2被清除

数据更新模式(多行 line)

更新任意多行数据(M0="H"、M2="L")

1.3inch-Memory-LCD-Manual-02.jpg

该模式与数据更新模式(1 line) 基本相同,差异主要是在数据传输周期,在传输第二行数据时,第二行的地址被锁存,第一行的数据会同时写到内部存储器中。

显示模式

保持内部存储器(保持当前显示)(M0="L"、M2="L")

1.3inch-Memory-LCD-Manual-03.jpg

M0:模式标志。设为"L",显示模式(保持内部存储器数据)

清屏模式

清除内部存储器数据并写入白色(M0="L"、M2="H")

1.3inch-Memory-LCD-Manual-04.jpg

M2:清除所有标志,设为"H",清除内部存储器数据并写入白色。

引脚描述

引脚号 标识 描述
1 VCC 电源正(3.3V或5V电源输入)
2 GND 电源地
3 MISO 模块SPI数据输出
4 MOSI 模块SPI数据输入
5 SCLK 模块SPI时钟输入
6 LCD_CS Memory LCD片选信号
7 RAM_CS SPI RAM片选信号
8 DISP 显示开/关信号
9 EIN 外部Vcom信号

配合树莓派使用

1) 硬件连接如下表:

引脚号 标识 树莓派BCM引脚号
1 VCC 3.3V
2 GND GND
3 MISO N.C.
4 MOSI 10 (MOSI)
5 SCLK 11(SCLK)
6 LCD_CS 23
7 RAM_CS 3.3V
8 DISP 24
9 EIN 25

1.连接如下图如示: 1.3inch-Memory-LCD-Manual-06.jpg

2.开启树莓派的SPI:

nano /boot/config.txt
去掉注释'#', dtparam=spi=on
如果用过电阻触屏, 如ads7843等,由于会占用SPI接口,需要添加注释:#dtoverlay=ads7846
reboot重启树莓派

3.安装bcm2835 C 函数库,我们提供了 bcm2835 的安装包(点此下载),用户也可以到 bcm2835 官网下载最新版本:

http://www.airspayce.com/mikem/bcm2835/

复制安装包到树莓派系统中,执行如下代码:

tar zxvf bcm2835-x.xx.tar.gz
cd bcm2835-x.xx
./configure
make
sudo make check
sudo make install

安装完成。

4.通过github获取相应的代码,在执行相应的命令运行Demo程序。此过程需要联网。

git clone https://github.com/waveshare/MemoryLCD.git
cd MemoryLCD/
make
sudo ./mem_lcd

可以看到1.3inch Memory LCD开始显示相关的图形、图像和文字。

其中:

  • demo.h , demo.c 为示例程序
  • MemoryLCD.h , MemoryLCD.c为液晶屏的驱动代码
  • pic.c 图片取模的数组
  • ugui*.* 使用了一个开源图形库uGUI

配合Arduino使用

1) 硬件连接如下表:

引脚号 标识 Arduino引脚标识
1 VCC 5V
2 GND GND
3 MISO D12
4 MOSI D11
5 SCLK D13
6 LCD_CS D7
7 RAM_CS D9
8 DISP D8
9 EIN D6

注:由于Arduino的主板版本很多,这里特指Arduino UNO R3或其它兼容版本。由于Arduino UNO R3默认的逻辑电平是5V,所以VCC连接到5V电源上。对于某些逻辑电平是3.3V的主板,则VCC需要连接到3.3V上。另外我们提供的DEMO程序只支持Arduino UNO R3或其它兼容版本。

1.连接如下图如示: 1.3inch-Memory-LCD-Manual-07.jpg

这里我们使用的是UNO PLUS作为主板,由于本身支持3.3V或5V逻辑电平,在使用时需要把跳线帽接到5V逻辑电平上。Arduino UNO R3则可跳过此步。

2.选择高版本的ArduinoIDE软件。可以在arduino官方下载最新版本的编译软件。为了方便使用,这里提供了arduino-1.8.8。下载后,直接解压即可运行。


3.下载示例程序,将压缩包中的Memory-LCD文件夹放入:"C:\Users\用户名\Documents\Arduino\libraries"文件夹中。

该路径也可以在ArduinoIDE的文件-》首选项-》项目文件夹位置中查看。

打开压缩包中的MonoDemo文件夹,从MonoDemo.ino启动ArduinoIDE。编译下载后,可以看到1.3inch Memory LCD开始显示相关的图形和图像。

配合STM32主板使用

1) 硬件连接如下表:

引脚号 标识 STM32引脚标识
1 VCC 3.3V
2 GND GND
3 MISO N.C.
4 MOSI PA7
5 SCLK PA5
6 LCD_CS PA8
7 RAM_CS 3.3V
8 DISP PA9
9 EIN PC7
2.下载示例程序,使用Keil-IDE打开工程文件,编译下载后,可以看到1.3inch Memory LCD开始显示相关的图形、图像和文字。

FAQ

售后


联系人:杨工
电话:0755-82726080
微信:扫下方二维码添加
Ywb.jpg

说明:进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证