开发板
K210开发板
实验目的
本实验主要学习 K210 驱动 LCD 显示图片和字符串。
实验准备
实验元件
LCD 显示屏
元件特性
LCD 显示为 2.0 寸,分辨率为 320*240,驱动芯片是 st7789,体积小,厚度薄,耗能低,工作电压为 3.3V,显示屏的材料为 TFT。TFT(Thin Film Transistor)是指薄膜晶体管,使每个液晶像素点都是由集成在像素点后面的薄膜晶体管来驱动。从而可以做到高速度、高亮度、高对比度显示屏幕信息。
硬件连接
K210 开发板出厂默认已经安装好 LCD 显示屏,其中 LCD_D0~D7 总共八个引脚连接到 SPI0_D0~D7 上,LCD_CS 连接到 IO36 上,LCD_RST 连接到 IO37 上,LCD_RS连接 IO3 上,LCD_WR 连接 IO39 上。
SDK 中对应 API 功能
以头文件 spi.h为例,SPI 模块具有以下功能: 独立的 SPI 设备封装外设相关参数,自动处理多设备总线争用,支持标准、双线、四线、八线模式,支持先写后读和全双工读写,支持发送一串相同的数据帧,常见与清屏、填充储存扇区等场景
实验原理
LCD 显示的基本原理是将液晶至于两片导电玻璃基板之间,在上下玻璃基板的两个电极作用下,引起液晶分子扭曲变形,改变通过液晶盒光束的偏振状态,实现对背光源光束的开关控制。 **如果液晶盒上不施加外电场,由于 TN 型液晶显示器件中液晶分子在盒中的扭曲螺距远比可见光波长大得多,所以当入射直线偏振光的偏振方向与玻璃表面液晶分子的排列方向一致时,其偏光方向在通过整个液晶层后会随着液晶分子扭曲变形而被扭曲 90。由另一侧射出,呈透光状态。如果这时在液晶盒上施加一个电压并达到一定值后,液晶分子长轴将开始沿电场方向倾斜,除电极表面的液晶分子外,所有液晶盒内两电极之间的液晶分子都变成沿电场方向的再排列。液晶显示屏技术是根据电压的大小来改变亮度,每个液晶显示屏的子图元显示的颜色取决于色彩筛检程序。SPI 是一种高速、高效率的串行接口技术。通常由一个主模块和一个或多个从模块组成,主模块选择一个从模块进行同步通信,从而完成数据的交换。SPI是一个环形结构,通信时需要至少 4 根线(事实上在单向传输时 3 根线也可以),它们是 MISO(主设备数据输入)、MOSI(主设备数据输出)、SCLK(时钟)、CS(片选)。
- MISO– Master Input Slave Output,主设备数据输入,从设备数据输出;
- MOSI– Master Output Slave Input,主设备数据输出,从设备数据输入;
- SCLK – Serial Clock,时钟信号,由主设备产生;
- CS – Chip Select,从设备使能信号,由主设备控制。当有多个从设备的时候,因为每个从设备上都有一个片选引脚接入到主设备机中,当我们的主设备和某个从设备通信时将需要将从设备对应的片选引脚电平拉低或者是拉高。
实验过程
- 首先初始化 K210 的硬件引脚和软件功能使用的是 FPIOA 映射关系。
- 设置 LCD 的 IO 口电平电压为 1.8V。
- 初始化 LCD,主要的功能就是激活 LCD 显示屏,设置显示方向和显示颜色,并使能显示和清空显示屏。关于详细的 ST7789 的初始化寄存器对应和功能可以查看硬件资料中的 LCD 资料,查看 ST7789 开发手册。
- 显示图片,其中 x1 和 y1 是起点位置,width 为图片的宽度(最大 320),height 为图片的高度(最大 240),ptr 指针指向要显示的图片。
- 显示字符串,其中 x 和 y 为起始坐标,str 指针指向要显示的字符串,color为字体的颜色。
- ST7789 底层 SPI 驱动程序: 开始传输命令、数据
SPI 写命令、数据
- main 函数里最后是一个 while(1)循环。
- 关于图片是如何转化成数据格式的方法:安装并打开图片转化工具Image2Lcd 然后再通过 extern 关键字在要使用的地方引用
- 编译调试,烧录运行 进入自己项目 build目录,运行以下命令编译。
实验现象
LCD 屏幕会显示图片,一秒后打印出“Hello Yahboom!”“Nice to meet you!”的欢迎语。
实验总结
- LCD 显示屏的分辨率是 320240 的,显示图片前需要把图片转化成 320240 分辨率,然后通过图片转化工具把图片转成.c 文件,再引用图片的变量即可。
- LCD 是基于 SPI 通讯的,传输速度快并且稳定。
- 显示屏在显示前需要配置显示的方向以及显示的格式等参数。