1.概述
- 屏幕尺寸為1.3寸,分辨率240*240,顏色格式RGB565,驅(qū)動(dòng)IC:ST7789VW;
- 超大可視角度:大于160°(顯示屏中可視角度最大的一種屏幕);
- 寬電壓供電(3V~5V),兼容3.3V和5V電平邏輯,無需電平轉(zhuǎn)換芯片;
- 采用7線制SPI接口;
- 工作溫度范圍為工業(yè)級(jí)(-20℃~60℃);
- 軍工級(jí)工藝標(biāo)準(zhǔn),長(zhǎng)期穩(wěn)定工作;
硬件接口:
引腳 | 說明 |
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讀/寫操作,無需外部操作時(shí)鐘,以最大限度地減少功耗。此外,由于集成電源驅(qū)動(dòng)液晶所必需的電路;可以制造具有最少部件的顯示系統(tǒng)。
2.1 SPI接口時(shí)序
本次LCD屏幕采用SPI時(shí)序驅(qū)動(dòng),時(shí)序圖如下:
上升沿采樣數(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ù)說明:LCD寫入數(shù)據(jù)
入口數(shù)據(jù):dat 寫入的數(shù)據(jù)
返回值: 無
**************************************************************/
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ù)說明:LCD寫入命令
入口數(shù)據(jù):dat 寫入的命令
返回值: 無
*****************************************************/
void LCD_WR_REG(u8 dat)
{
OLED_CS(0);
OLED_DC_Clr();//寫命令
LCD_Writ_Bus(dat);
OLED_CS(1);
}
3.常用命令介紹
(1)設(shè)置屏幕掃描方向0x36
- 參數(shù)說明:
(2)設(shè)置列(Column)地址0x2A
0x2A指令用于設(shè)置列的起始地址和結(jié)束地址,XS<=XE。
(3)設(shè)置行(ROW)地址0x2B
0x2B指令用于設(shè)置行的起始地址和結(jié)束地址,YS<=YE。
(4)寫GRAM指令0x2C
此命令用于將數(shù)據(jù)從MCU傳輸?shù)綆鎯?chǔ)器。接受此命令后,列寄存器和頁(yè)寄存器將重置為起始列/起始頁(yè)面位置。起始列/起始頁(yè)的位置根據(jù)MADCTL設(shè)置而不同。發(fā)送任何其他命令都可以停止幀寫入。
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();//開背光
}
審核編輯 黃宇
-
lcd
+關(guān)注
關(guān)注
34文章
4426瀏覽量
167463 -
接口
+關(guān)注
關(guān)注
33文章
8594瀏覽量
151135 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2909文章
44631瀏覽量
373248 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5047瀏覽量
97442
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論