0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于STM32物联网开发板(4)--LCD屏

嵌入式技术 ? 来源:嵌入式技术 ? 作者:嵌入式技术 ? 2023-05-11 17:06 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1.概述

  • 屏幕尺寸为1.3寸,分辨率240*240,颜色格式RGB565,驱动IC:ST7789VW;
  • 超大可视角度:大于160°(显示屏中可视角度最大的一种屏幕);
  • 宽电压供电(3V~5V),兼容3.3V和5V电平逻辑,无需电平转换芯片;
  • 采用7线制SPI接口
  • 工作温度范围为工业级(-20℃~60℃);
  • 军工级工艺标准,长期稳定工作;
poYBAGRcrgKAa7NMAADxLW4Ok5A633.png ?

硬件接口:

引脚 说明
LEDK PB0背光
CS PA4片选
SCL PA5时钟
SDA PA7主机输出

RES

PB1复位脚(电平复位)

D/C

PC4数据命令选择脚

2.通讯协议

ST7789VW是一款用于262K彩色图形型TFT-LCD的单片机控制器/驱动器。它由720个源极线和320个栅极线驱动电路组成。该芯片能够直接连接到外部微处理器,并接受8位/9位/16位/18位并行接口。显示数据可以存储在240x320x18位的片上显示数据RAM。它可以执行显示数据RAM读/写操作,无需外部操作时钟,以最大限度地减少功耗。此外,由于集成电源驱动液晶所必需的电路;可以制造具有最少部件的显示系统。

2.1 SPI接口时序

本次LCD屏幕采用SPI时序驱动,时序图如下:

poYBAGRcrmuANJwdAADmq1svsYo851.png

上升沿采样数据,下降沿发送数据。

4线串行接口包括串行时钟SCLK,串行数据SDIN,数据命令选择D/C,片选CS。

u8 SPI_WriteReadByte(u8 dat_tx)
{
	u8 data_rx=0;
	SPI_CLK=0;//空闲电平为低电平
	for(i=0;i<8;i++)
	{
		SPI_CLK=0;//开始发送数据(主机和从机都发送数据)
		if(dat_tx&0x80)SPI_MOSI=1;
		else SPI_MOSI=0;
		SPI_CLK=1;//数据发送完成,开始读取数据
		dat_tx<<=1;//准备发送下一位数据
		//0x23--- 0010 0011
		data_rx<<=1;//默认读取到的数据为0
		if(SPI_MISO)data_rx=data_rx|0x01;
	}
	SPI_CLK=0;//空闲电平为低电平
	return data_rx;
}

2.2 写数据和写命令

当采用SPI接口驱动时,D/C引脚作为数据命令选择脚,D/C=0时读写命令,D/C=1时读写数据。

/************************************************************
函数说明:LCD写入数据
入口数据:dat 写入的数据
返回值:  无
**************************************************************/
void LCD_WR_DATA(u16 dat)
{
    OLED_CS(0);
	OLED_DC_Set();//写数据
	LCD_Writ_Bus(dat>>8);
	LCD_Writ_Bus(dat);
    OLED_CS(1);
}

/****************************************************
函数说明:LCD写入命令
入口数据:dat 写入的命令
返回值:  无
*****************************************************/
void LCD_WR_REG(u8 dat)
{
    OLED_CS(0);
	OLED_DC_Clr();//写命令
	LCD_Writ_Bus(dat);
    OLED_CS(1);
}

3.常用命令介绍

(1)设置屏幕扫描方向0x36

poYBAGRcrtyADwB8AAB4yl5Jqyw502.png
  • 参数说明:
poYBAGRcrwWAaBcqAADHLsTwgkI628.png

(2)设置列(Column)地址0x2A

0x2A指令用于设置列的起始地址和结束地址,XS<=XE。

poYBAGRcryKAQDKwAAE8Ue6jgVU178.png

(3)设置行(ROW)地址0x2B

0x2B指令用于设置行的起始地址和结束地址,YS<=YE。

pYYBAGRcrzyAIpB6AAExcJuTe54025.png

(4)写GRAM指令0x2C

此命令用于将数据从MCU传输到帧存储器。接受此命令后,列寄存器和页寄存器将重置为起始列/起始页面位置。起始列/起始页的位置根据MADCTL设置而不同。发送任何其他命令都可以停止帧写入。

pYYBAGRcr12AN0PLAAEFceA5Rwo787.png

4.ST7789驱动序列

void Lcd_Init(void)
{
	OLED_RST_Clr();
	Delay_Ms(200);
	OLED_RST_Set();
	Delay_Ms(20);  
  //************* Start Initial Sequence **********// 
  LCD_WR_REG(0x36);
  if(USE_HORIZONTAL==0)LCD_WR_DATA8(0x00);//横屏
  else if(USE_HORIZONTAL==1)LCD_WR_DATA8(0xC0);//横屏
  else if(USE_HORIZONTAL==2)LCD_WR_DATA8(0x70);//竖屏
  else LCD_WR_DATA8(0xA0);//竖屏

  LCD_WR_REG(0x3A); 
  LCD_WR_DATA8(0x05);

  LCD_WR_REG(0xB2);
  LCD_WR_DATA8(0x0C);
  LCD_WR_DATA8(0x0C);
  LCD_WR_DATA8(0x00);
  LCD_WR_DATA8(0x33);
  LCD_WR_DATA8(0x33); 

  LCD_WR_REG(0xB7); 
  LCD_WR_DATA8(0x35);  

  LCD_WR_REG(0xBB);
  LCD_WR_DATA8(0x19);

  LCD_WR_REG(0xC0);
  LCD_WR_DATA8(0x2C);

  LCD_WR_REG(0xC2);
  LCD_WR_DATA8(0x01);

  LCD_WR_REG(0xC3);
  LCD_WR_DATA8(0x12);   

  LCD_WR_REG(0xC4);
  LCD_WR_DATA8(0x20);  

  LCD_WR_REG(0xC6); 
  LCD_WR_DATA8(0x0F);    

  LCD_WR_REG(0xD0); 
  LCD_WR_DATA8(0xA4);
  LCD_WR_DATA8(0xA1);

  LCD_WR_REG(0xE0);
  LCD_WR_DATA8(0xD0);
  LCD_WR_DATA8(0x04);
  LCD_WR_DATA8(0x0D);
  LCD_WR_DATA8(0x11);
  LCD_WR_DATA8(0x13);
  LCD_WR_DATA8(0x2B);
  LCD_WR_DATA8(0x3F);
  LCD_WR_DATA8(0x54);
  LCD_WR_DATA8(0x4C);
  LCD_WR_DATA8(0x18);
  LCD_WR_DATA8(0x0D);
  LCD_WR_DATA8(0x0B);
  LCD_WR_DATA8(0x1F);
  LCD_WR_DATA8(0x23);

  LCD_WR_REG(0xE1);
  LCD_WR_DATA8(0xD0);
  LCD_WR_DATA8(0x04);
  LCD_WR_DATA8(0x0C);
  LCD_WR_DATA8(0x11);
  LCD_WR_DATA8(0x13);
  LCD_WR_DATA8(0x2C);
  LCD_WR_DATA8(0x3F);
  LCD_WR_DATA8(0x44);
  LCD_WR_DATA8(0x51);
  LCD_WR_DATA8(0x2F);
  LCD_WR_DATA8(0x1F);
  LCD_WR_DATA8(0x1F);
  LCD_WR_DATA8(0x20);
  LCD_WR_DATA8(0x23);
  LCD_WR_REG(0x21); 
  LCD_WR_REG(0x11); 
  LCD_WR_REG(0x29);//开启显示 
  LCD_Clear(WHITE);//清屏
  OLED_BLK_Set();//开背光 
} 

审核编辑 黄宇
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • lcd
    lcd
    +关注

    关注

    34

    文章

    4521

    浏览量

    171757
  • 接口
    +关注

    关注

    33

    文章

    9019

    浏览量

    153830
  • 物联网
    +关注

    关注

    2931

    文章

    46306

    浏览量

    393443
  • 开发板
    +关注

    关注

    25

    文章

    5707

    浏览量

    105178
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    多协议联网关的方案测试-基于米尔全志T536开发板

    本文将介绍基于米尔电子MYD-LT536开发板(米尔基于全志T536开发板)的多协议联网关方案的开发测试。 摘自优秀创作者-ALSET 米
    发表于 06-20 15:44

    基于米尔全志T536开发板的多协议联网关的方案测试

    本文将介绍基于米尔电子MYD-LT536开发板(米尔基于全志T536开发板)的多协议联网关方案的开发测试。摘自优秀创作者-ALSET米尔基
    的头像 发表于 06-19 08:03 ?975次阅读
    基于米尔全志T536<b class='flag-5'>开发板</b>的多协议<b class='flag-5'>物</b><b class='flag-5'>联网</b>关的方案测试

    【米尔-全志T536开发板试用体验】- 多协议联网关的开发测试

    本帖最后由 ALSET 于 2025-6-19 13:25 编辑 【米尔-全志T536开发板试用体验】多协议联网关的开发测试 大信(QQ:8125036)前两次已经成功的搭建了
    发表于 06-10 11:48

    【免费试用】开发板评测大赛开启!OH 、RISC-V、Rockchip顶级开发板等你试用~

    技术人的狂欢,开发者的盛宴!2025年最值得期待的硬核赛事——电子发烧友开发板评测大赛正式启动!无论你是开源生态的探索者、芯片架构的极客,还是联网领域的创新达人,本次大赛三大赛
    的头像 发表于 06-05 08:05 ?316次阅读
    【免费试用】<b class='flag-5'>开发板</b>评测大赛开启!OH 、RISC-V、Rockchip顶级<b class='flag-5'>开发板</b>等你试用~

    开发板评测大赛开启!顶级开发板等你来战!

    技术人的狂欢,开发者的盛宴!2025年最值得期待的硬核赛事——电子发烧友开发板评测大赛正式启动!无论你是开源生态的探索者、芯片架构的极客,还是联网
    的头像 发表于 05-20 08:07 ?170次阅读
    <b class='flag-5'>开发板</b>评测大赛开启!顶级<b class='flag-5'>开发板</b>等你来战!

    如何在米尔-STM32MP257开发板上实现环境监测系统

    论坛参与的一个项目:Thingy:91X蜂窝联网原型开发平台的试用。把两个项目结合起来,实现一个简单的环境监测系统。二、硬件平台1、米尔-STM32MP257开
    的头像 发表于 04-17 08:06 ?1813次阅读
    如何在米尔-<b class='flag-5'>STM32</b>MP257<b class='flag-5'>开发板</b>上实现环境监测系统

    STM32开发板教程之STM32开发指南免费下载

    介绍了几个常用的系统文件(程序);3,实战篇,主要通过 56 个实例(绝大部分是直接操作寄存器完成的)带领大家一步步深入 STM32 的学习。   本指南为 ALIENTEK 战舰 STM32 开发板的配套教程,在
    发表于 02-28 09:08 ?179次下载

    STM32MP25x开发板Bring Up培训课程(下)

    STM32MP25x开发板BringUp培训课程(上)STM32MP25x开发板BringUp培训课程(中)米尔基于STM32MP257核心
    的头像 发表于 02-27 08:03 ?743次阅读
    <b class='flag-5'>STM32</b>MP25x<b class='flag-5'>开发板</b>Bring Up培训课程(下)

    STM32MP25x开发板Bring Up培训课程(中)

    STM32MP25x开发板BringUp培训课程(上)米尔基于STM32MP257核心开发板2.修改设备树查看生成的Bringup工程空
    的头像 发表于 02-20 08:06 ?543次阅读
    <b class='flag-5'>STM32</b>MP25x<b class='flag-5'>开发板</b>Bring Up培训课程(中)

    蓝桥杯联网开发板硬件组成

    第一节开发板简介联网设计与开发竞赛实训平台由蓝桥杯大赛技术支持单位北京四梯科技有限公司设计和生产,该产品可用于参加蓝桥杯
    的头像 发表于 12-22 21:30 ?1303次阅读
    蓝桥杯<b class='flag-5'>物</b><b class='flag-5'>联网</b><b class='flag-5'>开发板</b>硬件组成

    【正点原子STM32H7R3开发套件试用体验】4G联网工业设备控制网关

    资料,了解STM32H7R3开发套件的功能。 2. 接入Air780E,实现开发板通过4G联网 3. 对接FastBee
    发表于 12-18 14:14

    正点原子的stm32开发板能用stlink吗

    在嵌入式开发领域,STM32系列微控制器因其高性能、低成本和广泛的应用场景而广受欢迎。正点原子(ZYBO)作为国内知名的嵌入式开发板供应商,提供了多种基于STM32的解决方案。 正点原
    的头像 发表于 11-13 09:21 ?2187次阅读

    ARM开发板联网中的应用

    联网(IoT)是一个由互联网、传统电信网、传感器网络等多种网络组成的网络,它允许物体与物体、物体与人、人与人之间的智能互联。 ARM开发板的优势 1. 低功耗 ARM架构以其低功耗特
    的头像 发表于 11-05 11:38 ?1187次阅读

    Banana Pi BPI-R3路由器开发板运行 OrayOS联网系统

    、BPI-R3 Mini等更多型号。这一合作为用户提供了更广泛的开发板选择,推动了联网、工业联等行业应用的快速落地。
    的头像 发表于 10-23 15:49 ?1373次阅读
    Banana Pi BPI-R3路由器<b class='flag-5'>开发板</b>运行 OrayOS<b class='flag-5'>物</b><b class='flag-5'>联网</b>系统

    盘点那些硬件+项目学习套件:阿里云HaaS EDU联网开发板及入门常见问题解答

    ?华清远见20岁了~过去3年里,华清远见研发中心针对个人开发板业务,打造了多款硬件+项目学习套件,涉及STM32单片机、嵌入式、联网、人工智能、鸿蒙、ESP32、阿里云IoT等多技术
    的头像 发表于 07-31 16:28 ?1203次阅读
    盘点那些硬件+项目学习套件:阿里云HaaS EDU<b class='flag-5'>物</b><b class='flag-5'>联网</b><b class='flag-5'>开发板</b>及入门常见问题解答