首页 > 器件类别 > LCD液晶显示模块

1.8inch LCD Module

器件类别:LCD液晶显示模块   

厂商名称:微雪电子(Waveshare)

厂商官网:http://www.waveshare.net

下载文档
文档预览
1.8inch LCD Module
用户手册
1.8inch LCD Module
用户手册
产品概述
本产品是
1.8
寸电阻屏模块,分辨率为
128*160,带有内部控制器,½用 SPI
接口通信,已封装
号基本½数,可以实现点的大小,线的粗细实虚,是否填充圆,矩½,以及显示英文字符。
提供树莓派例程,STM32 例程,Arduino 例程
产品特性
类型:
接口:
控制芯片:
色阶指数:
分辨率:
产品尺寸:
显示尺寸:
像素大小:
工½温度:
接口说明
TFT
SPI
ST7735S
256K
128*160 (Pixel)
56.5 * 34(mm)
35.4(W) * 28.03(H)(mm)
0.219(W)*0.219(H)(MM)
-30°C ~ 85°C
标识
3V3
GND
DIN
CLK
CS
DC
RST
BL
3.3V
电源输入
SPI
数据输入
SPI
时钟
从机片选
数据/½令
复½
背光
描述
版本:V1.0,
2017
11
7
1
1.8inch LCD Module
用户手册
程序分析
1.
工½原理
ST7735S
是一款
132*162
像素的
LCD,而本产品为 128*160
像素的
LCD,因此在显示
上做了一些处理:水平方向从第二个像素点开始显示,垂直方向从第一个像素点开始显
示,这样就可以保证显示的时候
LCD
RAM
对应的½½与实际½½是一致的。
LCD
支持
12
½,16 ½以及
18
½每像素的输入颜色格式,即
RGB444,RGB565,
RGB666
三种颜色格式,本例程½用
RGB565
的颜色格式,这也是常用的
RGB
格式
LCD
½用四线
SPI
通信接口,这样可以大大的节省
GPIO
口,同时通信是速度也会比较
2.
通信协议
注:与传统的
SPI
协议不同的地方是:由于是只需要显示,故而将从机发送到主机的数据线进
行了隐藏,该表格详见
datasheet page 58.
RESX:复½,模块上电时拉½,通常情况下½ 1;
IM2:控制模块数据通信方式,此处½用 SPI
通信;
CSX:为从机片选,仅½ CS
为½电平时,芯片才会被½½
D/CX:芯片的数据/½令控制引脚,½ DC=0
时写½令,½
DC=1
时写数据
SDA:传输的数据,即 RGB
数据
SCL:SPI
通信时钟
版本:V1.0,
2017
11
7
2
1.8inch LCD Module
用户手册
对于
SPI
通信而言,数据是有传输时序的,即时钟相½(CPHA) 与时钟极性(CPOL)的
组合:
CPOL
的高½决定串行同步时钟的空闲状态电平,CPOL=0,为½电平。
CPHA
的高½决定串行同步时钟是在第一个时钟跳变沿还是第二个时钟跳变沿数据被采
集, ½
CPHL=0,在第一个跳变沿进行数据采集
这个两者组合就成为四种
SPI
通信方式,½内通常½用的是
SPI0,
GPHL=0, CPOL=0
从图中可以看出,½
SCLK
第一个下降沿时开始传输数据,一个时钟周期传输
8bits
数据,
½用
SPI0,按½传输,高½在前,½½在后。
实验演示
本模块提供树莓派和
STM32
Arduino
例程,其中树莓派提供了
BCM2835, WiringPi
以及
python
程序。实现常用屏幕操½功½:画点、画线、画矩½,画圆及他们的大小,½度。填
充、显示英文字符并提供
5
种常见字½,以及画图等功½。
为了方便您的½用,这里对例程½用进行了说明。
树莓派程序
1.
树莓派开启
SPI
功½
sudo raspi-config
选择
Advanced Options -> SPI -> yes
启动
SPI
内核驱动
2.
½数库的安装
关于树莓派½数库的安装详细见微雪课堂:
http://www.waveshare.net/study/article-742-1.html
此处详细介绍了
WiringPi、bcm2835、python
的安装
3.
½用
对于
BCM2835
WiringPi
而言只需要把对应的例程拷贝进树莓派中(可通过
samba
或者
直接复制到
SD)即可,一下示例均复制到了树莓派 pi
用户目½下。
3.1 BCM2835
½用
运行
ls
½令,可见如下文件
版本:V1.0,
2017
11
7
3
1.8inch LCD Module
用户手册
其中:bin 文件夹中为项目生成的.o 文件,通常情况下我们是不需要管的:
Fonts
文件夹中为
5
种常见字½。
Pic
文件夹中为显示的图片,请保证图片的像素为
128*128,否则可½显示不全。并且需要
保证图片为.bmp 格式的。
Obj
文件夹中为项目文件,其中有
mian.c, OLED_Driver.c
及.h,
DEV_Config.c
及.h,以及
OLED_GUI.c
及.h
main.c:主½数。需要注意的是,½然定义了
OLED_ScanDir,这个是控制扫描方向的,½
是此模块为树莓派专用,同时也为了程序的兼容性,此处½然定义了½数,½是不会½响
扫描方向。
DEV_Config.c:定义了树莓派的管脚及通信方式。
LCD_Driver.c:OLED
的驱动,通常情况下不需要做修改
LCD_GUI.c:常用的画点,线,图,字½数,通常情况下½只需要修改
GUI_Show()这个
jams
就,这个½数为显示调用½数。
LCD_BMP.c:
读取解析
bmp
图片文件,然后进行显示。
Makefile:
工程的编译规则,如果更改了代码,需要先执行
make clean
清除全部文件依
赖以及生产的可执行文件,然后再执行
make,这样 makefile
就会自动编译整个项目从而生
成可执行文件。
oled_1in8:可执行文件,通过
make
½令生成
用户½用的时候只需要执行
sudo ./oled_1in8
执行程序即可
3.2 WiringPi
½用
运行
ls
½令,可见如下文件
WiringPi
BCM2835
文件目½相同,区别在两点:
一:
WiringPi
是通过读取
Linux
系统的设备文件操½,而
bcm2835
则是树莓派
cpu
芯片的
库½数,操½的是寄存器。因此如果先½用了
BCM2835
库,wiringpi 则会½用失败,此时
重启系统即可;
版本:V1.0,
2017
11
7
4
1.8inch LCD Module
用户手册
二:由于第一个区别,他们的底层的配½不一样,在
DEV_Config.c
中½用的为
WiringPi
其相应的
wiringPiSPI
来提供底层接口
同样,只需运行
sudo ./oled_1in8
运行程序即可
3.3 Python
运行
ls,可见文件如下:
LCD_1in8.py:
LCD
驱动程序
LCD_Config.py:
硬件底层接口配½
运行程序:
sudo python main.py
注:有些树莓派系统可½没有
image
这个库。运行:sudo
apt-get install python-imaging
安装
python-imaging
Image
python
图像处理库,任½一副图像½是用一个
Image
对象表示,因此可以通过
new
方法来创建一张空½图片,大小与
LCD
的最大啊显示范围一直,通过
Draw
库来进行
画图, 最后把这个图片传递到
LCD
上。这里通过
Image.load()去读取点的 RGB888
数据,
把他们的数据传话为
RGB565,通过每一个点的扫描,达到整屏显示的效果。核心代码如
图:
3.4
开机自动运行
通过配½/etc/rc.local,½代码在树莓派启动时运行
运行:
sudo vim /etc/rc.local
exit 0
前加上:
sudo python /home/pi/python/demo.py &
需要注意的是:/home/pi/python/demo.py 为放½例程所在目½½½,可以通过½令:pwd
来获取
版本:V1.0,
2017
11
7
5
查看更多>
基于单片机的酒瓶自动计数系统的设计
大家好啊,在这转悠了好几天,发现大家都是高手!我是一名专升本的学生,专科没有学过单片机本科学校因为大部分人都学过所以也就没开这门课,现在要做有关单片机的毕业设计,想请大家帮帮忙,谢谢了!昨天问了一下老师那个设计一共有六部分组成,光电开关(对射式或自反射式)、AT89C52单片机、DS12C887并行时钟芯片(定时器)、OCMJ4*8(LCD即时显示)、7805稳压电源(要求输出电压+5V)、独立键盘(复位、清零)知道了这些我还是很糊涂,这个月底就要交初稿了,我到现在也不知道该怎么写,请大...
小胖 单片机
也说放大器和比较器区别
比较器和运放虽然在电路图上符号相同,但这两种器件确有非常大的区别,一般不可以互换,区别如下:1、比较器的翻转速度快,大约在ns数量级,而运放翻转速度一般为us数量级(特殊的高速运放除外)。2、运放可以接入负反馈电路,而比较器则不能使用负反馈,虽然比较器也有同相和反相两个输入端,但因为其内部没有相位补偿电路,所以,如果接入负反馈,电路不能稳定工作。内部无相位补偿电路,这也是比较器比运放速度快很多的主要原因。3、运放输出级一般采用推挽电路,双极性输出。而多数比较器...
fish001 模拟与混合信号
求助,关于picc 编程
在下最近在学习PIC单片机。主要是针对PIC16f877a,我想问一下,在用picc进行c语言编程时端口寄存器能进行位操作么?还有都有那些寄存器能够位操作,求大神帮忙。求助,关于picc编程就像这个帖子一样的51都差不多https://bbs.eeworld.com.cn/viewth...mp%3Bascdesc%3DDESC哈哈,差不多都弄明白了,回复楼主liudanweia的帖子...
liudanweia Microchip MCU
关于OALPAtoCA()疑问
在eboot加载NK的时候用到了这个函数: #defineIMAGE_WINCE_CODE_PA0x80001000 #defineIMAGE_WINCE_CODE_SIZE0x04000000 pData=OALPAtoCA(IMAGE_WINCE_CODE_PA); 复制代码 在MSDN上描述OALPAtoCA:Thisfunctionreturnsthecachedvirtualaddressfo...
531496955 嵌入式系统
电子变压器设计手册
本帖最后由paulhyde于2014-9-1502:58编辑电子变压器设计手册,很好的变压器学习资料,不容错过哦!电子变压器设计手册本帖最后由paulhyde于2014-9-1502:58编辑顶顶顶!!!!!!!!1:carnation:不错的资料本帖最后由paulhyde于2014-9-1502:58编辑谢谢楼主分享好资料。本帖最后由paulhyde于2014-9-1502:58编辑没看到!本帖最...
风亦路 电子竞赛
超低价转让WinCE .NET Platform Builder 4.2一套
本人以前自用的正版PlatformBuilder,4.2版本的,附一第三方解决方案光盘,是学习WINCE开发的必备开发环境.详情请见超低价转让WinCE.NETPlatformBuilder4.2一套我想要啊,不过我怎么才能知道是正版的呢?可以发详细的照片给你lz要干嘛?都是很好的建议!值得学习友情Up!...
moto_jfx WindowsCE