0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于STM32物聯(lián)網(wǎng)開發(fā)板(4)--LCD屏

嵌入式技術(shù) ? 來(lái)源:嵌入式技術(shù) ? 作者:嵌入式技術(shù) ? 2023-05-11 17:06 ? 次閱讀

1.概述

  • 屏幕尺寸為1.3寸,分辨率240*240,顏色格式RGB565,驅(qū)動(dòng)IC:ST7789VW;
  • 超大可視角度:大于160°(顯示屏中可視角度最大的一種屏幕);
  • 寬電壓供電(3V~5V),兼容3.3V和5V電平邏輯,無(wú)需電平轉(zhuǎn)換芯片;
  • 采用7線制SPI接口
  • 工作溫度范圍為工業(yè)級(jí)(-20℃~60℃);
  • 軍工級(jí)工藝標(biāo)準(zhǔn),長(zhǎng)期穩(wěn)定工作;
poYBAGRcrgKAa7NMAADxLW4Ok5A633.png ?

硬件接口:

引腳 說(shuō)明
LEDK PB0背光
CS PA4片選
SCL PA5時(shí)鐘
SDA PA7主機(jī)輸出

RES

PB1復(fù)位腳(電平復(fù)位)

D/C

PC4數(shù)據(jù)命令選擇腳

2.通訊協(xié)議

ST7789VW是一款用于262K彩色圖形型TFT-LCD的單片機(jī)控制器/驅(qū)動(dòng)器。它由720個(gè)源極線和320個(gè)柵極線驅(qū)動(dòng)電路組成。該芯片能夠直接連接到外部微處理器,并接受8位/9位/16位/18位并行接口。顯示數(shù)據(jù)可以存儲(chǔ)在240x320x18位的片上顯示數(shù)據(jù)RAM。它可以執(zhí)行顯示數(shù)據(jù)RAM讀/寫操作,無(wú)需外部操作時(shí)鐘,以最大限度地減少功耗。此外,由于集成電源驅(qū)動(dòng)液晶所必需的電路;可以制造具有最少部件的顯示系統(tǒng)。

2.1 SPI接口時(shí)序

本次LCD屏幕采用SPI時(shí)序驅(qū)動(dòng),時(shí)序圖如下:

poYBAGRcrmuANJwdAADmq1svsYo851.png

上升沿采樣數(shù)據(jù),下降沿發(fā)送數(shù)據(jù)。

4線串行接口包括串行時(shí)鐘SCLK,串行數(shù)據(jù)SDIN,數(shù)據(jù)命令選擇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;//開始發(fā)送數(shù)據(jù)(主機(jī)和從機(jī)都發(fā)送數(shù)據(jù))
		if(dat_tx&0x80)SPI_MOSI=1;
		else SPI_MOSI=0;
		SPI_CLK=1;//數(shù)據(jù)發(fā)送完成,開始讀取數(shù)據(jù)
		dat_tx<<=1;//準(zhǔn)備發(fā)送下一位數(shù)據(jù)
		//0x23--- 0010 0011
		data_rx<<=1;//默認(rèn)讀取到的數(shù)據(jù)為0
		if(SPI_MISO)data_rx=data_rx|0x01;
	}
	SPI_CLK=0;//空閑電平為低電平
	return data_rx;
}

2.2 寫數(shù)據(jù)和寫命令

當(dāng)采用SPI接口驅(qū)動(dòng)時(shí),D/C引腳作為數(shù)據(jù)命令選擇腳,D/C=0時(shí)讀寫命令,D/C=1時(shí)讀寫數(shù)據(jù)。

/************************************************************
函數(shù)說(shuō)明:LCD寫入數(shù)據(jù)
入口數(shù)據(jù):dat 寫入的數(shù)據(jù)
返回值:  無(wú)
**************************************************************/
void LCD_WR_DATA(u16 dat)
{
    OLED_CS(0);
	OLED_DC_Set();//寫數(shù)據(jù)
	LCD_Writ_Bus(dat>>8);
	LCD_Writ_Bus(dat);
    OLED_CS(1);
}

/****************************************************
函數(shù)說(shuō)明:LCD寫入命令
入口數(shù)據(jù):dat 寫入的命令
返回值:  無(wú)
*****************************************************/
void LCD_WR_REG(u8 dat)
{
    OLED_CS(0);
	OLED_DC_Clr();//寫命令
	LCD_Writ_Bus(dat);
    OLED_CS(1);
}

3.常用命令介紹

(1)設(shè)置屏幕掃描方向0x36

poYBAGRcrtyADwB8AAB4yl5Jqyw502.pngpoYBAGRcrwWAaBcqAADHLsTwgkI628.png

(2)設(shè)置列(Column)地址0x2A

0x2A指令用于設(shè)置列的起始地址和結(jié)束地址,XS<=XE。

poYBAGRcryKAQDKwAAE8Ue6jgVU178.png

(3)設(shè)置行(ROW)地址0x2B

0x2B指令用于設(shè)置行的起始地址和結(jié)束地址,YS<=YE。

pYYBAGRcrzyAIpB6AAExcJuTe54025.png

(4)寫GRAM指令0x2C

此命令用于將數(shù)據(jù)從MCU傳輸?shù)綆鎯?chǔ)器。接受此命令后,列寄存器和頁(yè)寄存器將重置為起始列/起始頁(yè)面位置。起始列/起始頁(yè)的位置根據(jù)MADCTL設(shè)置而不同。發(fā)送任何其他命令都可以停止幀寫入。

pYYBAGRcr12AN0PLAAEFceA5Rwo787.png

4.ST7789驅(qū)動(dòng)序列

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();//開背光 
} 

審核編輯 黃宇
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • lcd
    lcd
    +關(guān)注

    關(guān)注

    34

    文章

    4384

    瀏覽量

    166670
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8352

    瀏覽量

    150508
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2898

    文章

    43776

    瀏覽量

    369006
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    4833

    瀏覽量

    96820
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    【星閃派聯(lián)網(wǎng)開發(fā)套件體驗(yàn)連載】智能交通燈

    。 開發(fā)套件已收到:星閃派聯(lián)網(wǎng)開發(fā)套件x1,星閃派聯(lián)網(wǎng)
    發(fā)表于 10-05 13:00

    linux開發(fā)板與樹莓派的區(qū)別

    定義和用途 Linux開發(fā)板:Linux開發(fā)板是一種基于Linux操作系統(tǒng)的嵌入式開發(fā)板,通常用于工業(yè)自動(dòng)化、聯(lián)網(wǎng)、智能家居等領(lǐng)域。 樹莓
    的頭像 發(fā)表于 08-30 15:34 ?458次閱讀

    數(shù)量有限:6款“入門+項(xiàng)目進(jìn)階”開發(fā)板限時(shí)特惠!30余套項(xiàng)目案例免費(fèi)領(lǐng)!

    ?華清遠(yuǎn)見研發(fā)中心,面向個(gè)人學(xué)習(xí)、學(xué)生畢設(shè)、高校教學(xué),精心打造六款“入門+項(xiàng)目進(jìn)階”開發(fā)板。這六款開發(fā)板,面向嵌入式、聯(lián)網(wǎng)方向的學(xué)習(xí),均配套了豐富的學(xué)習(xí)資料及綜合項(xiàng)目實(shí)戰(zhàn)案例。后臺(tái)私
    的頭像 發(fā)表于 08-20 14:17 ?291次閱讀
    數(shù)量有限:6款“入門+項(xiàng)目進(jìn)階”<b class='flag-5'>開發(fā)板</b>限時(shí)特惠!30余套項(xiàng)目案例免費(fèi)領(lǐng)!

    迅為iTOP-STM32MP157開發(fā)板Linux開發(fā)學(xué)習(xí)一兩用

    、CAMERA接口、ADC電位器、SPDIF、 SDIO接口等。 在迅為iTOP-STM32MP157開發(fā)板上,系統(tǒng)支持Buildroot、QT5.12.10、ubuntu_base_20.04
    發(fā)表于 08-08 14:06

    盤點(diǎn)那些硬件+項(xiàng)目學(xué)習(xí)套件:阿里云HaaS EDU聯(lián)網(wǎng)開發(fā)板及入門常見問(wèn)題解答

    ?華清遠(yuǎn)見20歲了~過(guò)去3年里,華清遠(yuǎn)見研發(fā)中心針對(duì)個(gè)人開發(fā)板業(yè)務(wù),打造了多款硬件+項(xiàng)目學(xué)習(xí)套件,涉及STM32單片機(jī)、嵌入式、聯(lián)網(wǎng)、人工智能、鴻蒙、ESP32、阿里云IoT等多技術(shù)
    的頭像 發(fā)表于 07-31 16:28 ?567次閱讀
    盤點(diǎn)那些硬件+項(xiàng)目學(xué)習(xí)套件:阿里云HaaS EDU<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b><b class='flag-5'>開發(fā)板</b>及入門常見問(wèn)題解答

    ESP32-S2-HMI-DevKit-1開發(fā)板如何實(shí)現(xiàn)lcd顯示?

    你好, ESP32-S2-HMI-DevKit-1開發(fā)板上demo,lcd都是橫顯示的,想改成豎顯示,這個(gè)需要怎么修改,或者是有沒(méi)有這樣的demo? 另外沒(méi)找到
    發(fā)表于 06-28 06:50

    奮斗STM32開發(fā)板V5原理圖.pdf

    奮斗STM32開發(fā)板V5原理圖.pdf
    發(fā)表于 06-21 14:23 ?10次下載

    飛凌嵌入式-ElfBoard-項(xiàng)目分享|基于ELF 1S開發(fā)板完成的聯(lián)網(wǎng)開源項(xiàng)目

    工程師借助ELF 1S開發(fā)板完成的嵌入式聯(lián)網(wǎng)項(xiàng)目,見證智慧與技術(shù)的火花。 關(guān)于這個(gè)項(xiàng)目的思維導(dǎo)圖,如下圖所示: 接下來(lái),將會(huì)從云-網(wǎng)-邊-端的聯(lián)
    發(fā)表于 05-16 09:12

    STM32+Linux開發(fā)板應(yīng)用手冊(cè)

    STM32 WIFI Linux 安卓智能控制開發(fā)板應(yīng)用手冊(cè)
    發(fā)表于 12-21 11:04 ?3次下載

    正點(diǎn)原子stm32f1 nano開發(fā)板簡(jiǎn)介

    溫馨提示 :正點(diǎn)原子stm32f103-nano開發(fā)板有舊版本( 主控芯片STM32F103RBT6 )和新版本( 主控芯片STM32F103RCT6 ),兩者使用的芯片型號(hào)不一樣,注
    的頭像 發(fā)表于 11-30 15:45 ?2002次閱讀
    正點(diǎn)原子<b class='flag-5'>stm32</b>f1 nano<b class='flag-5'>開發(fā)板</b>簡(jiǎn)介

    方法|如何為開發(fā)板調(diào)試新的觸摸

    方法|如何為開發(fā)板調(diào)試新的觸摸
    的頭像 發(fā)表于 11-30 11:30 ?820次閱讀
    方法|如何為<b class='flag-5'>開發(fā)板</b>調(diào)試新的觸摸<b class='flag-5'>屏</b>

    使用YY3568開發(fā)板部署AI能力

    性能優(yōu)異。開發(fā)板功能接口豐富,多媒體性能強(qiáng)悍、可在聯(lián)網(wǎng)、工業(yè)控制、智慧交通、輕量級(jí)人工智能等領(lǐng)域發(fā)揮獨(dú)特優(yōu)勢(shì)。
    的頭像 發(fā)表于 11-28 10:59 ?1880次閱讀
    使用YY3568<b class='flag-5'>開發(fā)板</b>部署AI能力

    STM32G4 UART+TIMER+DMA應(yīng)用示例

    這里使用STM32G4系列Nucleo開發(fā)板演示如下需求的實(shí)現(xiàn)過(guò)程。
    的頭像 發(fā)表于 11-27 10:42 ?1885次閱讀
    <b class='flag-5'>STM32G4</b> UART+TIMER+DMA應(yīng)用示例

    RK3568開發(fā)板在工控工業(yè)聯(lián)網(wǎng)網(wǎng)關(guān)方面的應(yīng)用

    RK3568開發(fā)板在工控工業(yè)聯(lián)網(wǎng)網(wǎng)關(guān)方面的應(yīng)用
    的頭像 發(fā)表于 11-22 14:21 ?746次閱讀
    RK3568<b class='flag-5'>開發(fā)板</b>在工控工業(yè)<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>網(wǎng)關(guān)方面的應(yīng)用

    迅為iTOP-RK3588開發(fā)板同顯多異顯異觸

    迅為iTOP-RK3588開發(fā)板同顯多異顯異觸
    的頭像 發(fā)表于 11-10 14:46 ?997次閱讀
    迅為iTOP-RK3588<b class='flag-5'>開發(fā)板</b>多<b class='flag-5'>屏</b>同顯多<b class='flag-5'>屏</b>異顯異觸