1.3inch LCD Module

来自丢石头百科
1.3inch LCD Module
1.3inch-LCD-Module
基本信息

分类: LCD 显示屏

品牌: Waveshare

功能简介
特性
  • 显示尺寸:1.3英寸
  • 分辨率:240×240

接口

SPI接口

相关产品

产品简介

提供树莓派、STM32、arduino例程

产品参数

  • 工作电压: 3.3V/5V
  • 通信接口: SPI
  • 屏幕类型: TFT
  • 控制芯片: ST7789
  • 分辨率: 240(H)RGB x 240(V)
  • 显示尺寸: 23.4(H)x 23.4(V)mm
  • 像素大小: 0.0975(H)x 0.0975(V)mm
  • 产品尺寸: 45 x 31(mm)

功能引脚

功能引脚 描述
VCC 3.3V/5V电源正
GND 电源地
DIN SPI数据输入
CLK SPI时钟输入
CS 片选,低电平有效
RST 复位
BL 背光

LCD 及其控制器

本款LCD使用的内置控制器为ST7789VM,是一款240 x RGB x 320像素的LCD控制器,而本LCD本身的像素为240(H)RGB x 240(V),同时由于初始化控制可以初始化为横屏和竖屏两种,因此LCD的内部RAM并未完全使用。
该LCD支持12位,16位以及18位每像素的输入颜色格式,即RGB444,RGB565,RGB666三种颜色格式,本例程使用RGB565的颜色格式,这也是常用的RGB格式
LCD使用四线SPI通信接口,这样可以大大的节省GPIO口,同时通信是速度也会比较快

通信协议

0.96inch lcd module spi.png
注:与传统的SPI协议不同的地方是:由于是只需要显示,故而将从机发往主机的数据线进行了隐藏,该表格详见Datasheet Page 66。
RESX为复位,模块上电时拉低,通常情况下置1;
CSX为从机片选, 仅当CS为低电平时,芯片才会被使能。
D/CX为芯片的数据/命令控制引脚,当DC = 0时写命令,当DC = 1时写数据
SDA为传输的数据,即RGB数据;
SCL为SPI通信时钟。
对于SPI通信而言,数据是有传输时序的,即时钟相位(CPHA)与时钟极性(CPOL)的组合:
CPHA的高低决定串行同步时钟是在第一时钟跳变沿还是第二个时钟跳变沿数据被采集,当CPHL = 0,在第一个跳变沿进行数据采集;
CPOL的高低决定串行同步时钟的空闲状态电平,CPOL = 0,为低电平。
从图中可以看出,当SCLK第一个下降沿时开始传输数据,一个时钟周期传输8bit数据,使用SPI0,按位传输,高位在前,低位在后。

树莓派

提供C语言与python例程

开启SPI接口

  • 打开树莓派终端,输入以下指令进入配置界面
sudo raspi-config
选择Interfacing Options -> SPI -> Yes 开启SPI接口

RPI open spi.png
然后重启树莓派:

sudo reboot

请确保SPI没有被其他的设备占用,你可以在/boot/config.txt中间检查

安装库

  • 安装BCM2835, 打开树莓派终端,并运行一下指令
wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.60.tar.gz
tar zxvf bcm2835-1.60.tar.gz 
cd bcm2835-1.60/
sudo ./configure
sudo make
sudo make check
sudo make install
# 更多的可以参考官网:http://www.airspayce.com/mikem/bcm2835/
  • 安装wiringPi
sudo apt-get install wiringpi
#对于树莓派4B可能需要进行升级:
cd /tmp
wget https://project-downloads.drogon.net/wiringpi-latest.deb
sudo dpkg -i wiringpi-latest.deb
gpio -v
# 运行gpio -v会出现2.52版本,如果没有出现说明安装出错

#Bullseye分支系统使用如下命令:
git clone https://github.com/WiringPi/WiringPi
cd WiringPi
./build
gpio -v
# 运行gpio -v会出现2.70版本,如果没有出现说明安装出错
  • python
sudo apt-get updata
sudo apt-get install python-pip 
sudo pip install RPi.GPIO
sudo pip install spidev

硬件连接

1.3inch lcd module rpi connet.png

LCD RPi引脚号 BCM
VCC 5V 5V
GND GND GND
DIN 19 MOSI
CLK 23 SCLK
CS 24 CE0
DC 22 P25
RST 13 P27
BL 12 P18

下载例程

在树莓派终端运行:

sudo apt-get install p7zip
wget http://wiki.diustou.com/w/upload/5/5d/1.3inch_LCD_Module_code.7z
7zr x 1.3inch_LCD_Module_code.7z -r -o./1.3inch_LCD_Module_code
sudo chmod 777 -R  1.3inch_LCD_Module_code
cd 1.3inch_LCD_Module_code/RaspberryPi

运行测试程序

  • C语言
cd c
make clean
make
sudo ./main
  • python
cd python
sudo python main.py
sudo python key_demo.py

fbtft移植

参考1.3inch LCD HAT FBTFT移植章节

STM32

  • 本例程使用的开发板为 XNUCLEO-F103RB,程序是基于HAL库

硬件连接

LCD XNUCLEO-F103RB
VCC 5V
GND GND
DIN PA7
CLK PA5
CS PB6
DC PA8
RST PA9
BL PC7

预期效果

  1. 屏幕全部刷白
  2. 显示数字和英文
  3. 显示中文
  4. 画矩形框
  5. 画直线(对角线)
  6. 画5个空心圆
  7. 显示一张70X70的logo

Arduino

  • 本例程使用的开发板为Arduino UNO

硬件连接

LCD UNO
VCC 5V
GND GND
DIN D11
CLK D13
CS D10
DC D7
RST D8
BL D9

预期效果

  1. 屏幕全部刷白
  2. 显示数字和英文
  3. 显示中文
  4. 画矩形框
  5. 画直线(对角线)
  6. 画5个空心圆
  7. 显示一张70X70的logo

选型列表

型号 分辨率 显示接口 面板材质 触摸类型 触摸接口 扬声器 音频输出
0.96inch LCD Module 80x160 SPI TFT - - - -
1.3inch LCD HAT 240x240 SPI IPS - - - -
1.3inch LCD Module 240x240 SPI TFT - - - -
1.3inch OLED (B) 128x64 I2C/SPI OLED(蓝色) - - - -
1.44inch LCD HAT 128x128 SPI TFT - - - -
1.5inch RGB OLED Module 128x128 SPI OLED(65K彩色) - - - -
1.8inch LCD Module 160x128 SPI TFT - - - -
2.23inch OLED HAT 128x32 I2C/SPI OLED(白色) - - - -
2inch LCD Module 320x240 SPI TFT - - - -
3.5HD480320SR TFT LCD 480x320 HDMI TFT 电阻式 SPI -
3.5HS480320SR TFT LCD 480x320 SPI (高速) TFT 电阻式 SPI - -
3.5inch HDMI LCD 480x320 HDMI IPS 电阻式 SPI -
3.5inch RPi LCD (A) 480x320 SPI TFT 电阻式 SPI - -
4.3inch DSI LCD 800x480 DSI IPS 电容式 I2C - -
4HD480800SR IPS LCD 800x480 HDMI IPS 电阻式 SPI -
4inch HDMI LCD 800x480 HDMI IPS 电阻式 SPI - -
4inch Resistive Touch LCD 800x480 8080 IPS 电阻式 SPI - -
5HD800480SR TFT LCD 800x480 HDMI TFT 电阻式 SPI - -
5HD800480UC TFT LCD 800x480 HDMI TFT 电阻式 USB -
5inch HDMI LCD 800x480 HDMI TFT 电阻式 SPI - -
7HD1024600UC IPS LCD 1024x600 HDMI IPS 电容式 USB - -
7HD1024600UCC IPS LCD 1024x600 HDMI IPS 电容式 USB
7HD800480UC TFT LCD 800x480 HDMI TFT 电容式 USB - -
7inch HDMI LCD (H) 1024x600 HDMI IPS 电容式 USB -
Display (1024×600, 7inch, IPS, HD, C) 1024x600 HDMI IPS 电容式 USB - -

FAQ


Icon-mail.png 联系 丢石头

我们的工作时间是: 09:00-18:00 (UTC+8 周一到周六)