lx76002 发表于 2009-7-4 22:49:02

arm+2.4寸tft驱动

有没有人用过lpc2148驱动过ili9320 2。4“的tft?

lx76002 发表于 2009-7-4 22:51:56

void LCD_Init(void)
{
      IO0PIN=0xffffffff;
      IO1PIN=0xffffffff;
//************* Reset LCD Driver ****************//
        ILI9325_CTRL_PIN_RES_H;
        Delay_nms(1); // Delay 1ms
        ILI9325_CTRL_PIN_RES_L;
        Delay_nms(10); // Delay 10ms. This delay time is necessary.
        ILI9325_CTRL_PIN_RES_H;
        Delay_nms(50); // Delay 50 ms
      //开始初始化
        LCD_WriteReg(0x00e5,0x8000);//set the internal vcore voltage不知道干什么的?????
        LCD_WriteReg(0x0000,0x0001);//开启内部OSC
      Delay_nms(10);//延时10ms等待晶体稳定
                  
      LCD_WriteReg(0x0001,0x0100);//SS=1 S极输出移动方向S720到S1.   SM=0 【GS=0】 G极扫描方向从上到下(详细DATASHEET)
        LCD_WriteReg(0x0002,0x0700);//B/C=1 EOR=1 set the line inversion?不知道干什么????
        LCD_WriteReg(0x0003,0x1030);//TFM=0,TRI=0,SWAP=1,16位system interface 写GRAM时翻转RGB数据到BRG数据?翻转干什么?????
                                             //HWM=0,高速GRAM写操作禁止???????????????????高速写操作是否是激活RBG或其他动态画面显
                                                                       //示模式??????? AM=0,ID=11   AC由左到右又下到上自增
        LCD_WriteReg(0x0004,0x0000);//比例缩放设置       
      LCD_WriteReg(0x0008,0x0202);
      LCD_WriteReg(0x0009,0x0000);
      LCD_WriteReg(0x000a,0x0000);
      LCD_WriteReg(0x000c,0x0001);//system接口 显示静止画面
      LCD_WriteReg(0x000d,0x0000);
      LCD_WriteReg(0x000f,0x0000);//RBG 接口极性设置 DOTCLK ENABLE HSYNC???????????????????????????
                  
                  
      LCD_WriteReg(0x0050,0x0000);//水平 GRAM起始位置
      LCD_WriteReg(0x0051,0x00ef);//水平GRAM终止位置
      LCD_WriteReg(0x0052,0x0000);//垂直GRAM起始位置
      LCD_WriteReg(0x0053,0x013f);//垂直GRAM终止位置
        LCD_WriteReg(0x0060,0x2700);//G扫描设置 从G1开始
        LCD_WriteReg(0x0061,0x0001);//Enables the grayscale inversion of the image by setting REV=1.??????????????????????????????
        LCD_WriteReg(0x006a,0x0000);//不使用卷曲功能
        LCD_WriteReg(0x0080,0x0000);
        LCD_WriteReg(0x0081,0x0000);
        LCD_WriteReg(0x0082,0x0000);
        LCD_WriteReg(0x0083,0x0000);
        LCD_WriteReg(0x0084,0x0000);
        LCD_WriteReg(0x0085,0x0000);
             
        LCD_WriteReg(0x0090,0x0010);
        LCD_WriteReg(0x0092,0x0000);
        LCD_WriteReg(0x0093,0x0003);
        LCD_WriteReg(0x0095,0x0110);
        LCD_WriteReg(0x0097,0x0000);
        LCD_WriteReg(0x0098,0x0000);
                  
                   /*电源设置*/
        LCD_WriteReg(0x0010,0x0000);
        LCD_WriteReg(0x0011,0x0000);
        LCD_WriteReg(0x0012,0x0000);
        LCD_WriteReg(0x0013,0x0000);
        Delay_nms(200);
        LCD_WriteReg(0x0010,0x17b0);
        LCD_WriteReg(0x0011,0x0137);
        Delay_nms(50);
        LCD_WriteReg(0x0012,0x0139);
        Delay_nms(50);
        LCD_WriteReg(0x0013,0x1700);
        LCD_WriteReg(0x0029,0x000c);
        Delay_nms(50);
                  
        LCD_WriteReg(0x0020,0x0000);//GRAM水平起始位置
        LCD_WriteReg(0x0021,0x0000);//
                  
        LCD_WriteReg(0x0030,0x0000);
        LCD_WriteReg(0x0031,0x0507);
        LCD_WriteReg(0x0032,0x0104);
        LCD_WriteReg(0x0035,0x0105);
        LCD_WriteReg(0x0036,0x0404);
        LCD_WriteReg(0x0037,0x0603);
        LCD_WriteReg(0x0038,0x0004);
        LCD_WriteReg(0x0039,0x0007);
        LCD_WriteReg(0x003c,0x0501);
        LCD_WriteReg(0x003d,0x0404);
        //显示开启
        LCD_WriteReg(0x0007,0x0073);//写入0173是显示当前GRAM内容 写入0073是不显示当前

}
这是我的初始化代码,有谁能帮我看一下。

lanshuitianxia 发表于 2009-7-4 23:15:19

我贴个STM32的液晶驱动代码都是他们的EVAL板里的例程 有串行SPI驱动和并行FSMC驱动的
不知道对你有没有用 他们的液晶用的就是ILI9320
点击此处下载 ourdev_458461.rar(文件大小:15K) (原文件名:液晶驱动.rar)

maybe_it 发表于 2010-7-31 14:31:56

mark

cuikai12345 发表于 2010-7-31 15:10:34

mark
页: [1]
查看完整版本: arm+2.4寸tft驱动