当前位置: 首页 > news >正文

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,第二跳变采样;

LCD控制

LCD控制理论
配合代码食用更佳
[LCD代码]()

LCD驱动函数

基本图形绘制函数

  1. 区域填充
    void LCD_Fill(u16 xsta, u16 ysta, u16 xend, u16 yend, u16 color);
    功能:在指定矩形区域内填充颜色
    参数: xsta, ysta:起始坐标(左上角);xend, yend:结束坐标(右下角);color:填充颜色(RGB565格式)
  2. 画点
    void LCD_DrawPoint(u16 x, u16 y, u16 color);
    功能:在指定位置画一个点
    参数:x, y:点的坐标;color:点的颜色
  3. 画线
    void LCD_DrawLine(u16 x1, u16 y1, u16 x2, u16 y2, u16 color);
    功能:在两点之间画一条直线
    参数:x1, y1:起点坐标;x2, y2:终点坐标;color:线条颜色
  4. 画矩形
    void LCD_DrawRectangle(u16 x1, u16 y1, u16 x2, u16 y2, u16 color);
    功能:画一个矩形(空心)
    参数:
    x1, y1:左上角坐标;x2, y2:右下角坐标;color:边框颜色
  5. 画圆
    void Draw_Circle(u16 x0, u16 y0, u8 r, u16 color);
    功能:画一个圆(空心)
    参数:
    x0, y0:圆心坐标;r:半径;color:圆的颜色

文本显示函数

  1. 显示单个字符
    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:叠加模式)
  2. 显示字符串
    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:显示模式;
  3. 显示整数
    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:字号
  4. 显示浮点数(两位小数)
    void LCD_ShowFloatNum1(u16 x, u16 y, float num, u8 len, u16 fc, u16 bc, u8 sizey);
    功能:显示一个浮点数(保留两位小数)
    参数:
    x, y:起始坐标;
    num:要显示的浮点数;len:显示的总位数(包括整数部分和小数点及两位小数);fc:字体颜色;bc:背景颜色;sizey:字号;

汉字显示函数

  1. 显示汉字串
    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:叠加模式);
  2. 显示单个汉字(不同尺寸)
    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字节)

http://www.njgz.com.cn/news/76.html

相关文章:

  • 7/26
  • 7.26
  • 盛最多水的容器
  • 练习cf939A. Love Triangle
  • CVE-2023-46604 Apache ActiveMQ 远程代码执行漏洞 (复现)
  • Day26
  • 假期学习
  • 第二十四天
  • 在python虚拟环境中遇到 ​​No module named pip​​ 错误解决方案
  • 从零开始的web前端学习-React
  • tinymce富文本编辑器使用
  • 微软C语言编译器‘strcpy‘: This function or variable may be unsafe. Consider using strcpy_s instead
  • Java学习Day26
  • 线性基(个人学习笔记)
  • 花菖蒲 2025.7.26 模拟赛题解
  • 信任的意外反射:深入解析LLVM循环向量化器中的罕见编译错误
  • P1429 平面最近点对(加强版)[骗分解法]
  • 7.26 - GENGAR
  • P4565 [CTSC2018] 暴力写挂 题解
  • 第十二篇
  • 计算机网络——应用层 - 浪矢
  • 《第一节:跟着符映维学C语言---配置c语言开发环境》
  • 再见,大连
  • 影视软件集合分享
  • 7.26总结
  • geogebra 2 进阶
  • 20250726GF模拟赛
  • java学习
  • 深入解析Passkeys背后的密码学原理
  • CCF中学生计算机程序设计-基础篇-第一章-函数练习答案