LCD显示信号波形
SPI
同步 全双工 串行通信协议
硬件电路
主机 -- 从机
SCK -> SCK
MOSI -> MOSI
MISO -> MISO
NSS -> NSS
SPI时序
M --MOSI--> S ; S -MISO-> M;
- 单向信号依旧遵循该时序,当M->S时,MISO上的数据叫做虚拟数据
- M需要配置CPOL和CPHA的模式配置:模式决定在SCK的特定变化下数据进行传输。
- CPOL:
1.CPOL=0,SCK在IDEA时为低电平;
2.CPOL=1,SCK在IDEA时为高电平; - CPHL:
1.CPHL=0,第一跳变采样;
2.CPHL=1,第二跳变采样;
- CPOL:
LCD控制
LCD控制理论
配合代码食用更佳
[LCD代码]()
LCD驱动函数
基本图形绘制函数
- 区域填充
void LCD_Fill(u16 xsta, u16 ysta, u16 xend, u16 yend, u16 color);
功能:在指定矩形区域内填充颜色
参数: xsta, ysta:起始坐标(左上角);xend, yend:结束坐标(右下角);color:填充颜色(RGB565格式) - 画点
void LCD_DrawPoint(u16 x, u16 y, u16 color);
功能:在指定位置画一个点
参数:x, y:点的坐标;color:点的颜色 - 画线
void LCD_DrawLine(u16 x1, u16 y1, u16 x2, u16 y2, u16 color);
功能:在两点之间画一条直线
参数:x1, y1:起点坐标;x2, y2:终点坐标;color:线条颜色 - 画矩形
void LCD_DrawRectangle(u16 x1, u16 y1, u16 x2, u16 y2, u16 color);
功能:画一个矩形(空心)
参数:
x1, y1:左上角坐标;x2, y2:右下角坐标;color:边框颜色 - 画圆
void Draw_Circle(u16 x0, u16 y0, u8 r, u16 color);
功能:画一个圆(空心)
参数:
x0, y0:圆心坐标;r:半径;color:圆的颜色
文本显示函数
- 显示单个字符
void LCD_ShowChar(u16 x, u16 y, u8 num, u16 fc, u16 bc, u8 sizey, u8 mode);
功能:显示一个ASCII字符
参数:
x, y:起始坐标(左上角);num:要显示的字符(ASCII值);fc:字体颜色;bc:背景颜色;sizey:字号(支持12,16,24,32);mode:显示模式(0:非叠加模式,1:叠加模式) - 显示字符串
void LCD_ShowString(u16 x, u16 y, const u8 p, u16 fc, u16 bc, u8 sizey, u8 mode);
功能:显示一个ASCII字符串
参数:
x, y:起始坐标;p:字符串指针;fc:字体颜色;bc:背景颜色;sizey:字号;mode:显示模式; - 显示整数
void LCD_ShowIntNum(u16 x, u16 y, u16 num, u8 len, u16 fc, u16 bc, u8 sizey);
功能:显示一个整数
参数:
x, y:起始坐标;num:要显示的整数;len:显示的总位数(不足补0,超出则截断);fc:字体颜色;bc:背景颜色;sizey:字号 - 显示浮点数(两位小数)
void LCD_ShowFloatNum1(u16 x, u16 y, float num, u8 len, u16 fc, u16 bc, u8 sizey);
功能:显示一个浮点数(保留两位小数)
参数:
x, y:起始坐标;
num:要显示的浮点数;len:显示的总位数(包括整数部分和小数点及两位小数);fc:字体颜色;bc:背景颜色;sizey:字号;
汉字显示函数
- 显示汉字串
void LCD_ShowChinese(u16 x, u16 y, u8 *s, u16 fc, u16 bc, u8 sizey, u8 mode);
功能:显示一串汉字
参数:
x, y:起始坐标(左上角);
*s:汉字字符串(每个汉字占2字节);
fc:字体颜色;
bc:背景颜色;
sizey:字号(支持12,16,24,32);
mode:显示模式(0:非叠加模式,1:叠加模式); - 显示单个汉字(不同尺寸)
void LCD_ShowChinese12x12(u16 x, u16 y, u8 *s, u16 fc, u16 bc, u8 sizey, u8 mode);
void LCD_ShowChinese16x16(u16 x, u16 y, u8 *s, u16 fc, u16 bc, u8 sizey, u8 mode);
void LCD_ShowChinese24x24(u16 x, u16 y, u8 *s, u16 fc, u16 bc, u8 sizey, u8 mode);
void LCD_ShowChinese32x32(u16 x, u16 y, u8 *s, u16 fc, u16 bc, u8 sizey, u8 mode);
注意:这些函数一般不需要直接调用,由LCD_ShowChinese自动调用
图片显示函数
void LCD_ShowPicture(u16 x, u16 y, u16 length, u16 width, const u8 pic[]);
功能:显示一张图片
参数:
x, y:起始坐标(左上角)
length:图片长度(宽度)
width:图片高度(高度)
pic[]:图片数据数组(RGB565格式,每个像素2字节)
LCD显示信号波形的更多相关文章
- TFT LCD显示原理详解
<什么是液晶> 我们一般认为物体有三态:固态.液态.气态,其实这只是针对水而言,有一些有机化和物 还有介于固态和液态中间的状态 就是液晶态,如下图(一): ...
- mini2440裸试验—计算器(LCD显示,触摸屏突破)
关于Pait_Bmp(x0, y0, x, y, BMPaddr);函数 像素图在屏幕左上角为(0,0),Pait_Bmp中的x0.y0分别像素点初始位置,x,y为BMP图片的X,Y的大小.BMPad ...
- LCD显示异常分析——撕裂(tear effect)【转】
转自:LCD显示异常分析--撕裂(tear effect) 概述 在上一篇<LCD显示异常分析--开机闪现花屏>中,我们一起分析了开机花屏的问题,在这一篇中,我将对LCD撕裂(tear e ...
- LCD显示异常分析——开机闪现花屏【转】
转自LCD显示异常分析--开机闪现花屏 最近在工作中,有同事遇到LCD开机瞬间会闪现雪花屏的问题,而这类问题都有个共同点,那就是都发生在带GRAM的屏上,同样的问题,在休眠唤醒时也会出现. 其实这类问 ...
- FPGA驱动LCD显示红绿蓝彩条
实验目的:先简单熟悉LCD灯的驱动和时序图的代码实现.设计功能是让LCD显示红绿蓝三种颜色,即三个彩带.本次实验比较容易实现,主要是对LCD驱动时序图的理解和时序参数的配置. 实验条件:1.LCD原理 ...
- LCD显示方向
一.ILI9341内存到显示地址的映射 本文只讨论“正常显示”,不讨论“垂直滚动显示”模式. 可以看到物理内存被两个指针访问,行指针和列指针,行指针范围从000h到013Fh,列指针范围为0000h到 ...
- Raspberry PI Model B+ (LCD显示CPU温度)
Title:Raspberry PI Model B+ (LCD显示CPU温度) --2015-01-29 17:44 买了块连接Raspberry PI Model B+的LCD显示器,上面没写C ...
- LCD显示GPS时钟[嵌入式系统]
夏任务102:做一个GPS钟 实验要求 用RPi的串口连接一个GPS模块,从GPS得到实时时间,在7段数码管或LCD上显示 实验工具: Raspberry Pi Model B主机, 8G c10 S ...
- 2.数码相框-编码(ASCII/GB2312/Unicode)介绍,并使LCD显示汉字字符(2)
在上章-学习了数码相框的框架分析(1)了 本章主要内容如下: 1)熟悉ASCII/GB2312/Unicode编码 2)写应用程序,使LCD显示汉字和字符 大家都知道,数据传输的是二进制,而字符和汉字 ...
- 内核启动后,lcd显示logo失败
针对-s5pv210,但对其他平台也使用 lcd显示logo失败,若显示成功默认的logo是一只企鹅,但是串口打印“Start display and show logo”,但是LCD屏没有显示 ...
随机推荐
- C#/.NET/.NET Core技术前沿周刊 | 第 37 期(2025年5.1-5.11)
前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录.追踪C#/.NET/.NET Core领域.生态的每周最新.最实用.最有价值的技术文章.社区动态.优质项目和学习资源等. ...
- ASP.NET Core相关下载资源汇总
1.Net.6的Host Bundle的下载地址(IIS)服务配套组件: https://dotnet.microsoft.com/zh-cn/download/dotnet/6.0 2.docker ...
- 【语义分割专栏】:FCN实战篇(附上完整可运行的代码pytorch)
目录 前言 FCN全流程代码 模型搭建(model) 数据处理(dataloader) 评价指标(metric) 训练流程(train) 模型测试(test) 效果图 结语 前言 FCN原理篇讲解:[ ...
- MyBatis常见面试题:Dao接口的工作原理是什么?Dao接口里的方法,参数不同时,方法能重载吗?
MyBatis常见面试题:通常一个Xml映射文件,都会写一个Dao接口与之对应,请问,这个Dao接口的工作原理是什么?Dao接口里的方法,参数不同时,方法能重载吗? Dao接口即Mapper接 ...
- Spring注解之获取自定义注解信息
目录 前言 由反射获取自定义注解 结束语 前言 在了解了自定义注解的入门知识后,以实践的形式,介绍一下通过反射技术获取自定义注解的常用API,例如如何获取自定义注解的成员变量值等等. 由反射获取自 ...
- DrissionPage.errors.WrongURLError 无效的url,也许要加上"http://"?
DrissionPage是个强大的工具,使用DrissionPage 读取本地html 报了这个错:"DrissionPage.errors.WrongURLError 无效的url,也许要 ...
- 深入理解Nginx-模块开发与架构解析(第2版)流程梳理
1.Nginx HTTP模块调用的简化流程 Nginx HTTP模块调用的简化流程图如上: 1.worker进程会循环调用事件模块检测网络事件 2. 当事件模块检测到客户端发起TCP请求时,即收到SY ...
- 详解鸿蒙开发如何上传三方库到ohpm仓库
前两天幽蓝君在ohpm仓库上传了自己的第一个三方库,完整体验了一下ohpm的上传流程,感觉还是比较繁琐的,所以把上传流程和一些注意事项分享给大家. 先介绍一下怎么开发一个三方库,在项目名称右键,新建M ...
- jdk exe安装包如何自制zip解压版
前言 jdk8 oracle官方下载页面 https://www.oracle.com/java/technologies/downloads/#java8-windows 可以看到,只有exe安装包 ...
- DeepSeek为什么现在感觉不火了?
DeepSeek为什么现在感觉不火了?一个技术圈老兵的冷静分析 作为一个在AI圈摸爬滚打多年的技术从业者,看到这个问题,我想从几个维度来聊聊DeepSeek这个现象级产品的起落轨迹. 说实话,Deep ...