📄 t4317a.c
字号:
LCD_BlockWrite_IC(Win_Startx,Win_Endx,Win_Starty,Win_Endy);
for(i=0;i<Lcd_Length*2/8;i++)
for(j=0;j<Lcd_Width;j++)
{
WriteData(BLACK>>8);
WriteData(BLACK);
}
for(i=0;i<Lcd_Length/8;i++)
{
for(j=0;j<Lcd_Width*3/8;j++)
{
WriteData(BLACK>>8);
WriteData(BLACK);
}
for(j=0;j<Lcd_Width*2/8;j++)
{
WriteData(GRAY>>8);
WriteData(GRAY);
}
for(j=0;j<Lcd_Width*3/8;j++)
{
WriteData(BLACK>>8);
WriteData(BLACK);
}
}
for(i=0;i<Lcd_Length/8;i++)
for(j=0;j<Lcd_Width;j++)
{
WriteData(BLACK>>8);
WriteData(BLACK);
}
for(i=0;i<Lcd_Length/8;i++)
for(j=0;j<Lcd_Width;j++)
{
WriteData(WHITE>>8);
WriteData(WHITE);
}
for(i=0;i<Lcd_Length/8;i++)
{
for(j=0;j<Lcd_Width*3/8;j++)
{
WriteData(WHITE>>8);
WriteData(WHITE);
}
for(j=0;j<Lcd_Width*2/8;j++)
{
WriteData(GRAY>>8);
WriteData(GRAY);
}
for(j=0;j<Lcd_Width*3/8;j++)
{
WriteData(WHITE>>8);
WriteData(WHITE);
}
}
for(i=0;i<Lcd_Length*2/8;i++)
for(j=0;j<Lcd_Width;j++)
{
WriteData(WHITE>>8);
WriteData(WHITE);
}
delay(t);
}
void Display_GrayScale_32(uint t)
{
uint i,j,k,temp;
LCD_BlockWrite_IC(Win_Startx,Win_Endx,Win_Starty,Win_Endy);
for(i=0;i<32;i++)
for(j=0;j<Lcd_Length/32;j++)
{
for(k=0;k<Lcd_Width/4;k++)
{
WriteData((0xf800-0x0800*i)>>8);
WriteData(0xf800-0x0800*i);
}
for(k=0;k<Lcd_Width/4;k++)
{
WriteData((0x20*2*i)>>8);
WriteData(0x20*2*i);
}
for(k=0;k<Lcd_Width/4;k++)
{
WriteData((0x001f-i)>>8);
WriteData(0x001f-i);
}
for(k=0;k<Lcd_Width/4;k++)
{
WriteData(((0x0800+0x20*2+1)*i)>>8);
WriteData((0x0800+0x20*2+1)*i);
}
}
delay(t);
}
void Display_Pic(uint t)
{
uint i,j,temp;
LCD_BlockWrite_IC(Win_Startx,Win_Endx,Win_Starty,Win_Endy);
for(i=0;i<128;i++)
{
for(j=0;j<128;j++)
{
WriteData(Pic[128*2*i+2*j]);
WriteData(Pic[128*2*i+2*j+1]);
}
}
delay(t);
}
void Display_GrayScale(uint t)
{
uint i,j,k,L;
LCD_BlockWrite_IC(Win_Startx,Win_Endx,Win_Starty,Win_Endy);
for(i=0;i<128/2;i++)
for(j=0;j<8;j++)
for(k=0;k<128/8;k++)
{
L=4*j;
WriteData(((0x0800+0x20*2+1)*L)>>8);
WriteData((0x0800+0x20*2+1)*L);
}
for(i=0;i<128/2;i++)
for(j=8;j>0;j--)
for(k=0;k<128/8;k++)
{
L=4*(j-1);
WriteData(((0x0800+0x20*2+1)*L)>>8);
WriteData((0x0800+0x20*2+1)*L);
}
delay(t);
}
void Display_2(uint t)
{
uchar i,j;
LCD_BlockWrite_IC(Win_Startx,Win_Endx,Win_Starty,Win_Endy);
for(i=0;i<128/16;i++)
for(j=0;j<128/16;j++)
{
DspAscII8X16(16*i,16*j,BLACK,"2");
}
delay(t);
}
void Display_DspAscII(uint t)
{
DspAscII8X16(0,0,RED,"T4317A00.c");
DspAscII8X16(0,16,RED,"4317A test");
DspAscII8X16(0,32,RED,"ST7637");
DspAscII8X16(0,48,RED,"128*128 ");
DspAscII8X16(0,64,RED,"80-08bit");
DspAscII8X16(0,80,RED,"HAPPY");
DspAscII8X16(0,96,RED,"2007.08.21");
delay(t);
}
void Fine_Tune_Vop(void )
{
uchar i;
Display_GrayScale(1000);
WriteCmd(0x29);// Display On
while(1)
{
if(ADD==0)
WriteCmd(0xC1);
if(SUB==0)
WriteCmd(0xC2);
delay(50);
}
}
void MTP_Writing(void)
{
WriteCmd(0x00D9); // Keep Frame Rate
WriteData(0x0040); //
WriteCmd(0x00E4); //MTP,OTP selection
WriteData(0x0058); // Select MTP
WriteCmd(0x00E5); // Set MTP writing setup
WriteData(0x000C);
WriteCmd(0x00E0); // Read/write mode setting
WriteData(0x0020); // Set Write mode
delay(100); // Delay 100ms
WriteCmd(0x00E2); // Write active
delay(100); // Delay 100ms
WriteCmd(0x00E1); // Cancel control
Contrast_Test(1000);
delay(50); // delay 50ms
}
void int_0(void) interrupt 0 //EXT0 (P3.2)
{
MTP_Writing();
}
main()
{
uchar contrast=0x3f;
IE=0x81; //ext0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -