伊通签字笔价格交流群

1.44寸TFT彩屏模块 SPI接口 秒杀NOKIA 5110 任何单片驱动

海彤星 2021-10-19 11:47:13

华视捷模组类型

显示类型:   [ TFT-LCD模组PCB底板]

视角:    [6 点钟方向]

驱动IC:     [ILI9163C]

华视捷结构规格

类型

典型值

单位

模组规格

TFT1.44_SPI

-

像素点阵

128(RGB) ×128 

像素

模组尺寸

32.4*45.0*4.2

毫米

显示AA尺寸

25.5*26.5

毫米

模组重量

10

 

华视捷产品结构图

 

 

 

华视捷模块接口说明

 

 

程序例程:

主控芯片:STM32F103VCT6

例程程序架构说明:

主函数main放在USER文件夹;

显示屏初始化放在:LCD文件夹;

架构图:

各种功能函数在HARDWARE文件夹

使用GPIO模拟SPI配置如下:

void LCD_SPICtrlLinesConfig(void)

{

GPIO_InitTypeDef GPIO_InitStructure;

  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOD , ENABLE);


GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;//REST

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;       

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init(GPIOD, &GPIO_InitStructure);

//    A0/RS          SDA         SCK         CS

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_7;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  //4SPI要设置成输出GPIO_Init(GPIOD, &GPIO_InitStructure);


GPIO_SetBits(GPIOD, GPIO_Pin_13);

}

 

显示屏TFT初始化:TFTLCD_Init.C

/*************以下初始化与相关设置代码*******************/

/*************************************/

 

void LCD_Init(void)

{

/*************对LCD初始化前进行复位*******************/

LCD_RESET(); //对显示屏务必上电复位

/*************对LCD复位*****************************/

/*************对LCD屏参数设置************************/

LCD_Set();  //设置显示屏参数

/*************以下开始初始化*******************/

/*************以下开始初始化*******************/

 

ILI9163C_CPT144_Initial();  //20171215


/*************END******************/

/*************END******************/

 

}

 

 

/*************以下开始初始化*******************/

/*************以下开始初始化*******************/

////////////////////////////////////

#define LCD_ILI9163C_CMD  LCD_WR_8REG

#define LCD_ILI9163C_INDEX  LCD_WR_8DATA

#define _delay_ms  delay_ms

 

void ILI9163C_CPT144_Initial()  //20171215  OK

{

//************* Start Initial Sequence **********//

LCD_ILI9163C_CMD(0x11); //Exit Sleep

_delay_ms(20);

LCD_ILI9163C_CMD(0x26); //Set Default Gamma

LCD_ILI9163C_INDEX(0x04);

 

LCD_ILI9163C_CMD(0xB1);//Set Frame Rate

LCD_ILI9163C_INDEX(0x08);

LCD_ILI9163C_INDEX(0x14);

 

LCD_ILI9163C_CMD(0xC0); //Set VRH1[4:0] & VC[2:0] for VCI1 & GVDD

LCD_ILI9163C_INDEX(0x08);

LCD_ILI9163C_INDEX(0x00);

LCD_ILI9163C_CMD(0xC1); //Set BT[2:0] for AVDD & VCL & VGH & VGL

LCD_ILI9163C_INDEX(0x05);

 

LCD_ILI9163C_CMD(0xC5); //Set VMH[6:0] & VML[6:0]for VOMH & VCOML

LCD_ILI9163C_INDEX(0x4F);//46

LCD_ILI9163C_INDEX(0x40);//40

 

LCD_ILI9163C_CMD(0xC7);// Set VMF

LCD_ILI9163C_INDEX(0xC2);//0xC2

 

LCD_ILI9163C_CMD(0xEC);// ADD

LCD_ILI9163C_INDEX(0x0C);

 

LCD_ILI9163C_CMD(0x3a); //Set Color Format

LCD_ILI9163C_INDEX(0x05);

 

LCD_ILI9163C_CMD(0x2A); //Set Column Address

LCD_ILI9163C_INDEX(0x00);

LCD_ILI9163C_INDEX(0x00);

LCD_ILI9163C_INDEX(0x00);

LCD_ILI9163C_INDEX(0x7F);

 

LCD_ILI9163C_CMD(0x2B); //Set Page Address

LCD_ILI9163C_INDEX(0x00);

LCD_ILI9163C_INDEX(0x00);

LCD_ILI9163C_INDEX(0x00);

LCD_ILI9163C_INDEX(0x7F); //

 

LCD_ILI9163C_CMD(0xB4);

LCD_ILI9163C_INDEX(0x00);

LCD_ILI9163C_CMD(0xf2); //Enable Gamma bit

LCD_ILI9163C_INDEX(0x01);

 

LCD_ILI9163C_CMD(0x36);

LCD_ILI9163C_INDEX(0xC8);//0x08 0xC0

 

LCD_ILI9163C_CMD(0xE0);

LCD_ILI9163C_INDEX(0x3F);//p1

LCD_ILI9163C_INDEX(0x26);//p2

LCD_ILI9163C_INDEX(0x23);//p3

LCD_ILI9163C_INDEX(0x30);//p4

LCD_ILI9163C_INDEX(0x28);//p5

LCD_ILI9163C_INDEX(0x10);//p6

LCD_ILI9163C_INDEX(0x55);//p7

LCD_ILI9163C_INDEX(0xB7);//p8

LCD_ILI9163C_INDEX(0x40);//p9

LCD_ILI9163C_INDEX(0x19);//p10

LCD_ILI9163C_INDEX(0x10);//p11

LCD_ILI9163C_INDEX(0x1E);//p12

LCD_ILI9163C_INDEX(0x02);//p13

LCD_ILI9163C_INDEX(0x01);//p14

LCD_ILI9163C_INDEX(0x00);//p15

LCD_ILI9163C_CMD(0xE1);

LCD_ILI9163C_INDEX(0x00);//p1

LCD_ILI9163C_INDEX(0x19);//p2

LCD_ILI9163C_INDEX(0x1C);//p3

LCD_ILI9163C_INDEX(0x0F);//p4

LCD_ILI9163C_INDEX(0x14);//p5

LCD_ILI9163C_INDEX(0x0F);//p6

LCD_ILI9163C_INDEX(0x2A);//p7

LCD_ILI9163C_INDEX(0x48);//p8

LCD_ILI9163C_INDEX(0x3F);//p9

LCD_ILI9163C_INDEX(0x06);//p10

LCD_ILI9163C_INDEX(0x1D);//p11

LCD_ILI9163C_INDEX(0x21);//p12

LCD_ILI9163C_INDEX(0x3d);//p13

LCD_ILI9163C_INDEX(0x3e);//p14

LCD_ILI9163C_INDEX(0x3f);//p15

_delay_ms(40);

LCD_ILI9163C_CMD(0x29); // Display On

 

}

 

 

 

///===========END INITIAL=====================//

/**********************************************

函数名:LCD_Set

功能:Lcd设置相关寄存器参数集, 选择设置三种中一种就可以

返回值:无

***********************************************/

void LCD_Set(void)

{

 

//设置法三

//LCD_SQQVGA(); //128RGB128

//1.44

lcddev.width=128;    //LCD 宽度

lcddev.height=128;   //LCD 高度

lcddev.setxcmd=0X2A;  //设置x坐标指令2A

lcddev.setycmd=0X2B;  //设置y坐标指令2B

lcddev.wramcmd=0X2C;  //开始写gram指令

 

}

 

/**********************************************

函数名:Lcd块选函数

功能:选定Lcd上指定的矩形区域    选择设置三种中一种就可以

注意:xStartyStartXendYend随着屏幕的旋转而改变,位置是矩形框的四个角

入口参数:xStart x方向的起始点

          ySrart y方向的起始点

          Xend   y方向的终止点

          Yend   y方向的终止点

返回值:无

***********************************************/

void BlockWrite(unsigned int Xstart,unsigned int Xend,unsigned int Ystart,unsigned int Yend)

{


//设置法三

//LCDBlock2A2B( Xstart,Xend,Ystart,Yend);


LCD_WR_8REG(0x2a);   

LCD_WR_8DATA(Xstart>>8);

LCD_WR_8DATA(Xstart&0xff);

LCD_WR_8DATA(Xend>>8);

LCD_WR_8DATA(Xend&0xff);

 

LCD_WR_8REG(0x2b);   

LCD_WR_8DATA(Ystart>>8);

LCD_WR_8DATA(Ystart&0xff);

LCD_WR_8DATA(Yend>>8);

LCD_WR_8DATA(Yend&0xff);


LCD_WR_8REG(0x2C);

 

}

 

/*******************************************************************************

//FSMC_8080.C移放置在TFTLCD_Init.c    20171120

//设置光标位置    选择设置二种中一种就可以

//Xpos:横坐标

//Ypos:纵坐标

*******************************************************************************/

void LCD_SetCursor(u16 Xpos, u16 Ypos)

{ 

 

//设置法二

//LCD2A2B_SetCursor(Xpos,Ypos);


LCD_WR_8REG(lcddev.setxcmd);   

LCD_WR_8DATA(Xpos>>8);

LCD_WR_8DATA(Xpos&0xff);

 

LCD_WR_8REG(lcddev.setycmd);   

LCD_WR_8DATA(Ypos>>8);

LCD_WR_8DATA(Ypos&0xff);


LCD_WR_8REG(0x2C);


}

 

 

/**********************************************

函数名:LCD_ReadID

功能:LCD读取IC-ID  选择设置二种中一种就可以

返回值:无

***********************************************/

//

void LCD_ReadID(void)

{


//u8 lcd_id[12];//存放LCD ID字符串

/***********************************************/

LCD_RESET();//读取前需进行复位才能准确读到

/***********************************************/


//读取法二

//LcdILI9163ReadID();  //OK


 

}

 

/*******************************************************************************

* Function Name  : LCD_WriteRAM_Prepare  开始写GRAM

* Description    : 开始写IC-GRAM寄存器函数

* Input          : None

* Output         : None

* Return         : None

*******************************************************************************/

void TFT_WriteRAM(void)

{

 LCD_WR_REG(lcddev.wramcmd);

//LCD_WR_8REG(lcddev.wramcmd);

 

}

 

//LCD开启显示

void LCD_DisplayOn(void)

{   

//LCD_WR_REG(0X29);//开启显示

LCD_WR_8REG(0X29);

} 

 

//LCD关闭显示

void LCD_DisplayOff(void)

{   

//LCD_WR_REG(0X28);//关闭显示

LCD_WR_8REG(0X28);

}

 

///===========END ==============//

 

联系方式:微信手机同号:陈工13410179961