【结果在17楼】假期在家,翻了一下抽屉,找到一片拆机的手机屏,屏号TFT8K1480FPC-A1-E,找不到资料,但是分析了一下,感觉排线管脚和市面上的ILI9325驱动的屏差不多,于是就用51单片机飞线来试了一下,结果发现可以点亮,但是怎么都无法全屏完整点亮,图片中的下半截无论怎么改程序都是白屏,上半截会随上电后随机出现不同的位置或宽度。
,屏的分辨率是240RGB*320程序里我原本是打算将240分成6份做成彩条图案,结果出来的结果好像是翻了90度,整了两天了,没啥进展,怀疑是初始化程序不符合,特发帖看看谁遇到过,讨论一下·!
初始化程序如下:
LCD_WR_REG_DATA(0x0001, 0x0100); // 0100 set SS and SM bit
LCD_WR_REG_DATA(0x0002, 0x0700); // 0700 set 1 line inversion
LCD_WR_REG_DATA(0x0003, 0x1030); // 1030set GRAM write direction and BGR=1.
LCD_WR_REG_DATA(0x0004, 0x0000); // 0000 Resize register
LCD_WR_REG_DATA(0x0008, 0x0202); // 0202set 前沿后沿消隐时间
LCD_WR_REG_DATA(0x0009, 0x0000); // set non-display area refresh cycle ISC[3:0]
LCD_WR_REG_DATA(0x000A, 0x0000); // FMARK function
LCD_WR_REG_DATA(0x000C, 0x0000); //0000 RGB interface setting
LCD_WR_REG_DATA(0x000D, 0x0000); // Frame marker Position
LCD_WR_REG_DATA(0x000F, 0x0000); // RGB interface polarity
//Power On sequence
LCD_WR_REG_DATA(0x0010, 0x0000); // SAP, BT[3:0], AP, DSTB, SLP, STB
LCD_WR_REG_DATA(0x0011, 0x0007); // DC1[2:0], DC0[2:0], VC[2:0]
LCD_WR_REG_DATA(0x0012, 0x0000); //0000 VREG1OUT voltage
LCD_WR_REG_DATA(0x0013, 0x0000); // VDV[4:0] for VCOM amplitude
LCD_WR_REG_DATA(0x0007, 0x0001);
delayms(100); // Dis-charge capacitor power voltage
LCD_WR_REG_DATA(0x0010, 0x1690); //1690 SAP, BT[3:0], AP, DSTB, SLP, STB
LCD_WR_REG_DATA(0x0011, 0x0227); //0227 Set DC1[2:0], DC0[2:0], VC[2:0]
delayms(10); // Delay 50ms
LCD_WR_REG_DATA(0x0012, 0x001D); //009D 设置Vci的放大频率为(1.6 1.9)适用于输出VREG1OUT极
delayms(10); // Delay 50ms
LCD_WR_REG_DATA(0x0013, 0x1900); // 1900VDV[4:0] for VCOM amplitude设置Vcom的电压振幅
LCD_WR_REG_DATA(0x0029, 0x0025); // 0025 VCM[5:0] for VCOMH设置内部VcomH电压
LCD_WR_REG_DATA(0x002B, 0x000D); // 000D Set Frame Rate帧速率和色彩控制(R2Bh)
delayms(10); // Delay 50ms
LCD_WR_REG_DATA(0x0020, 0x0000); // GRAM horizontal Address设置地址计数器初始值(AC)。
LCD_WR_REG_DATA(0x0021, 0x0000); // GRAM Vertical Address
// ----------- Adjust the Gamma Curve ----------//
LCD_WR_REG_DATA(0x0030, 0x0007);//0007伽马控制
LCD_WR_REG_DATA(0x0031, 0x0303);//0303
LCD_WR_REG_DATA(0x0032, 0x0003);//0003
LCD_WR_REG_DATA(0x0035, 0x0206);//0206
LCD_WR_REG_DATA(0x0036, 0x0008);//0008
LCD_WR_REG_DATA(0x0037, 0x0406);//0406
LCD_WR_REG_DATA(0x0038, 0x0304);//0304
LCD_WR_REG_DATA(0x0039, 0x0007);//0007
LCD_WR_REG_DATA(0x003C, 0x0602);//0602
LCD_WR_REG_DATA(0x003D, 0x0008);//0008
//------------------ Set GRAM area 水平和垂直位置的RAM地---------------//
LCD_WR_REG_DATA(0x0050, 0x0000); // Horizontal GRAM Start Address
LCD_WR_REG_DATA(0x0051, 0x00EF); // 00ef Horizontal GRAM End Address
LCD_WR_REG_DATA(0x0052, 0x0000); // Vertical GRAM Start Address
LCD_WR_REG_DATA(0x0053, 0x013F); // 013F Vertical GRAM Start Address
LCD_WR_REG_DATA(0x0060, 0x2700); // A700 Gate Scan Line//320线A7下到上。27上到下
LCD_WR_REG_DATA(0x0061, 0x0000); // 0001 NDL,VLE, REV 使图像的灰度反转
LCD_WR_REG_DATA(0x006A, 0x0000); // 0000 set scrolling line
//-------------- Partial Display Control ---------//
LCD_WR_REG_DATA(0x0080, 0x0000);//局部影像1的显示位置
LCD_WR_REG_DATA(0x0081, 0x0000);//局部影像1的RAM开始地址
LCD_WR_REG_DATA(0x0082, 0x0000);//局部影像1的RAM结束地址
LCD_WR_REG_DATA(0x0083, 0x0000);
LCD_WR_REG_DATA(0x0084, 0x0000);//局部影像2的RAM开始/结束地
LCD_WR_REG_DATA(0x0085, 0x0000);
//-------------- Panel Control -------------------//
LCD_WR_REG_DATA(0x0090, 0x001F);//0010 16CLOCKS设置内部时钟运行模式中1H(线)时钟的数目
LCD_WR_REG_DATA(0x0092, 0x0000);//0600当显示操作与内部时钟信号同步时,设置门(栅极)输出非重叠期。
LCD_WR_REG_DATA(0x0007, 0x0133); // 0133 262K color and display ON
彩条程序如下:
//显示彩条
void LCD_Test()
{
u16 i,j;
Address_set(0,0,239,319);
for(i=0;i<240;i++)
for(j=0;j<320;j++)
{
if(i>199) LCD_WR_DATA8(0x07,0Xe0);
else if(i>159)LCD_WR_DATA8(0x07,0Xff);
else if(i>119)LCD_WR_DATA8(0xf8,0X00);
else if(i>79) LCD_WR_DATA8(0xf8,0X1f);
else if(i>39) LCD_WR_DATA8(0xff,0Xe0);
else LCD_WR_DATA8(0xFF,0XFF);
}
}
[ 此帖被11211在2014-02-05 17:29重新编辑 ]