ILI9325初始化代码

void LCD_Init1(void)
{   unsigned int i;   
    GPIO_ResetBits(GPIOE, GPIO_Pin_1);
    Delay(0xAFFff);                    
    GPIO_SetBits(GPIOE, GPIO_Pin_1 );        //V7    
    Delay(0xAFFff);     

    //************* Start Initial Sequence **********//
    LCD_WR_CMD(0x0001, 0x0100); // set SS and SM bit
    LCD_WR_CMD(0x0002, 0x0700); // set 1 line inversion
    LCD_WR_CMD(0x0003, 0x1030); // set GRAM write direction and BGR=1.
    LCD_WR_CMD(0x0004, 0x0000); // Resize register
    LCD_WR_CMD(0x0008, 0x0207); // set the back porch and front porch
    LCD_WR_CMD(0x0009, 0x0000); // set non-display area refresh cycle ISC[3:0]
    LCD_WR_CMD(0x000A, 0x0000); // FMARK function
    LCD_WR_CMD(0x000C, 0x0000); // RGB interface setting
    LCD_WR_CMD(0x000D, 0x0000); // Frame marker Position
    LCD_WR_CMD(0x000F, 0x0000); // RGB interface polarity
    //*************Power On sequence ****************//
    LCD_WR_CMD(0x0010, 0x0000); // SAP, BT[3:0], AP, DSTB, SLP, STB
    LCD_WR_CMD(0x0011, 0x0007); // DC1[2:0], DC0[2:0], VC[2:0]
    LCD_WR_CMD(0x0012, 0x0000); // VREG1OUT voltage
    LCD_WR_CMD(0x0013, 0x0000); // VDV[4:0] for VCOM amplitude
    LCD_WR_CMD(0x0007, 0x0001);
    Delay(12000); // Dis-charge capacitor power voltage
    LCD_WR_CMD(0x0010, 0x1490); // SAP, BT[3:0], AP, DSTB, SLP, STB
    LCD_WR_CMD(0x0011, 0x0227); // DC1[2:0], DC0[2:0], VC[2:0]
    Delay(15500); // Delay 50ms
    LCD_WR_CMD(0x0012, 0x001C); // Internal reference voltage= Vci;
    Delay(15000); // Delay 50ms
    LCD_WR_CMD(0x0013, 0x1A00); // Set VDV[4:0] for VCOM amplitude
    LCD_WR_CMD(0x0029, 0x0025); // Set VCM[5:0] for VCOMH
    LCD_WR_CMD(0x002B, 0x000C); // Set Frame Rate
    Delay(15000); // Delay 50ms
    LCD_WR_CMD(0x0020, 0x0000); // GRAM horizontal Address
    LCD_WR_CMD(0x0021, 0x0000); // GRAM Vertical Address
    // ----------- Adjust the Gamma Curve ----------//
    LCD_WR_CMD(0x0030, 0x0000);
    LCD_WR_CMD(0x0031, 0x0506);
    LCD_WR_CMD(0x0032, 0x0104);
    LCD_WR_CMD(0x0035, 0x0207);
    LCD_WR_CMD(0x0036, 0x000F);
    LCD_WR_CMD(0x0037, 0x0306);
    LCD_WR_CMD(0x0038, 0x0102);
    LCD_WR_CMD(0x0039, 0x0707);
    LCD_WR_CMD(0x003C, 0x0702);
    LCD_WR_CMD(0x003D, 0x1604);
    //------------------ Set GRAM area ---------------//
    LCD_WR_CMD(0x0050, 0x0000); // Horizontal GRAM Start Address
    LCD_WR_CMD(0x0051, 0x00EF); // Horizontal GRAM End Address
    LCD_WR_CMD(0x0052, 0x0000); // Vertical GRAM Start Address
    LCD_WR_CMD(0x0053, 0x013F); // Vertical GRAM Start Address
    LCD_WR_CMD(0x0060, 0xA700); // Gate Scan Line
    LCD_WR_CMD(0x0061, 0x0001); // NDL,VLE, REV

    LCD_WR_CMD(0x006A, 0x0000); // set scrolling line
    //-------------- Partial Display Control ---------//
    LCD_WR_CMD(0x0080, 0x0000);
    LCD_WR_CMD(0x0081, 0x0000);
    LCD_WR_CMD(0x0082, 0x0000);
    LCD_WR_CMD(0x0083, 0x0000);
    LCD_WR_CMD(0x0084, 0x0000);
    LCD_WR_CMD(0x0085, 0x0000);
    //-------------- Panel Control -------------------//
    LCD_WR_CMD(0x0090, 0x0010);
    LCD_WR_CMD(0x0092, 0x0600);
    LCD_WR_CMD(0x0007, 0x0133); // 262K color and display ON     

    LCD_WR_CMD(32, 0);
    LCD_WR_CMD(33, 0);
    *(__IO uint16_t *) (Bank1_LCD_C)= 34;    //×¼±¸Ð´Êý¾ÝÏÔʾÇø
    for(i=0;i<76800;i++)
    {
      LCD_WR_Data(0xffff);                   //ÓúÚÉ«ÇåÆÁ
    }  
}
### 回答1: ili9488是一种常用的TFT液晶显示屏控制芯片,以下是一个简单的ILI9488初始化代码示例: 1. 首先,需要定义相关的引脚和参数,包括SPI通信引脚、Reset引脚、DC引脚等。 2. 初始化SPI通信接口,包括设置通信速率、传输模式等。 3. 对Reset引脚进行复位操作,将其拉低一段时间然后再拉高,以确保显示屏得到正确的初始化。 4. 对ILI9488进行一系列的寄存器设置,以配置显示屏的参数,包括寄存器命令设置、时序控制设置、显示方向设置、像素格式设置等。 5. 最后,可以通过SPI接口向ILI9488发送数据,以显示想要的图像或文本。 需要注意的是,ILI9488的具体初始化代码会根据不同的硬件平台和软件实现方式而有所不同。上述代码只是一个简单的示例,具体的实现方式和细节还需要根据具体的使用环境来确定。 ### 回答2: ili9488是一种彩色LCD控制器芯片,用于驱动彩色液晶显示屏。以下是ili9488的初始化代码: 1. 首先,设置ili9488的接口模式。通过写入控制寄存器,选择串行接口或并行接口来与MCU通信。 2. 之后,我们需要对ili9488进行软件复位(reset)。这可以通过将复位引脚拉低一段时间,然后拉高来实现。 3. 接下来,我们需要设置ili9488的显示模式,包括分辨率和像素格式。我们可以通过写入控制寄存器来设置这些参数。 4. 设置像素格式后,我们需要配置ili9488的驱动区域(display area)。这包括设置行和列的起始地址、行和列的结束地址等。同样,我们可以通过写入控制寄存器来完成这些设置。 5. 接着,我们需要设置扫描方向(scan direction)。通过设置控制寄存器中的相关位,我们可以选择从左到右,从右到左,从上到下或从下到上的扫描方向。 6. 设置扫描方向后,我们需要设置显示方向(display direction)。通过设置控制寄存器中的相关位,我们可以选择正向或镜像显示。 7. 最后,我们需要打开ili9488的显示功能。通过写入控制寄存器,我们可以设置显示开关位,以便开始显示图像。 以上是ili9488初始化代码的基本流程。通过适当设置不同的寄存器值,我们可以根据具体需求对ili9488进行更详细的初始化设置,例如亮度调节、颜色格式设置等。 ### 回答3: 在使用ili9488驱动芯片的液晶显示屏时,需要进行初始化设置才能正常使用。以下是一种常见的ili9488初始化代码: 1. 配置SPI通信:首先需要设置SPI通信的工作模式、时钟频率等参数。根据具体的硬件平台和代码库,可能会有不同的配置方式,可以参考相关文档或代码示例进行设置。 2. 复位操作:对ili9488进行复位,可以使用硬件复位引脚或软件复位。具体操作则根据硬件设计或驱动代码而定。 3. 发送初始化命令:ili9488支持一系列的初始化命令,用于设置其内部的寄存器和参数。常见的初始化命令包括:软件复位、驱动输出控制、显存区域设置、图像显示设置等。可以通过SPI通信发送这些命令并设置对应的参数。 4. 设置显示模式:根据实际需求,可以设置ili9488的显示模式,如横向或纵向扫描模式、RGB或BGR像素排列等。这些设置可以通过对相关寄存器进行写入命令来实现。 5. 设置显示区域:可以根据需要设置ili9488的显示区域,即屏幕上显示画面的位置和大小。这可以通过设置对应的寄存器来实现,其中包括了起始点坐标和宽高信息。 6. 配置显存:ili9488通常需要外部RAM存储来存放图像数据。因此,还需要设置相关的寄存器来指示显存的地址和大小。 7. 打开显示:最后,发送打开显示命令,即可让ili9488开始正常显示图像。 以上是基本的ili9488初始化代码流程,具体细节可能会根据不同驱动库和硬件平台有所变化。使用者可以根据相关资料进行进一步学习和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值