📄 cmd.c
字号:
cmdToMainLcd(0x02); ///Oscillation Mode Set
cmdToMainLcd(0x01);
cmdToMainLcd(0x026); ///DCDC & AMP ON/OFF Set
cmdToMainLcd(0x01);
cmdToMainLcd(0x026); ///DCDC & AMP ON/OFF Set
cmdToMainLcd(0x09);
cmdToMainLcd(0x026); ///DCDC & AMP ON/OFF Set
cmdToMainLcd(0x0B);
cmdToMainLcd(0x026); ///DCDC & AMP ON/OFF Set
cmdToMainLcd(0x0F);
cmdToMainLcd(0x010); ///Driver Output Mode Set
cmdToMainLcd(0x020);
cmdToMainLcd(0x020); ///DC-DC Select
cmdToMainLcd(0x05);
cmdToMainLcd(0x022); ///BIAS Select
cmdToMainLcd(0x011);
cmdToMainLcd(0x024); ///DCDC Clock Division Set
cmdToMainLcd(0x22);//(0x011);
cmdToMainLcd(0x028); ///Temp Compensation Set
cmdToMainLcd(0x01);
cmdToMainLcd(0x02A); ///Contrast Control 1
cmdToMainLcd(0x0Bf);
WaitTime(35);
cmdToMainLcd(0x02F); ///DDRAM Burst Mode On
cmdToMainLcd(0x030); ///Addressing Mode Set
cmdToMainLcd(0x01C);
cmdToMainLcd(0x032); ///Row Vector Mode Set
cmdToMainLcd(0x0f);
cmdToMainLcd(0x034); ///N-Line Inversion Set
//cmdToMainLcd(0x01f); //b0a
cmdToMainLcd(0x0d1); //b2a
cmdToMainLcd(0x040); //Entry Mode Set
cmdToMainLcd(0x000);
cmdToMainLcd(0x055); /// partial display mode Off and PDM 0;
cmdToMainLcd(0x00);
// outpw(0x800000+0x1C, 0x0333);
//BUS_DATA( 0x1C, 0x0333 );
//mainLcdWindow(0, 8, 159, 135); for s6b330b0a
mainLcdWindow(0, 0, 159, 127); //for s6b330b2a
cmdToMainLcd(0x51); //display on
WaitTime(35);
// mainLcdStart(0,0);
for(i = 0; i < 128*160; i++)
{
BUS_DATA_A2 = cGREEN; //display white
}
//mainLcdWindow(0, 0, 96, 127); //for s6b330b2a
//mainLcdStart(0,0);
}
void ClearDisp()
{ unsigned long i;
lcd_out(0x44,0xaf00); //0xaf00 source
lcd_out(0x45,0xdb00 ); //0xdb00 gate
lcd_out(0x21,0x00);//gate---source
index_out( 0x22 );
for(i=0;i<176*220;i++)data_out(0xffff);
}
void ShowPicture( int fileID, unsigned short LcdWidth, unsigned short LcdHeight )
{
unsigned long i,j, k, x, y, mode;
unsigned long dwSize;
unsigned short* img_buf;
unsigned short wWidth, wHeight,data;
unsigned char * img_buf1;
if( !IsExistImgFile( fileID, &dwSize, &wWidth, &wHeight ) )
{
if(( LcdWidth>= wWidth )&&( LcdHeight >= wHeight ))
{
data=(LcdWidth-wWidth)/2;
//lcd_out(0x44,(wWidth-1)<<8 );
lcd_out(0x44,((wWidth+data-1)<<8)+data ); //0xaf00 source
data=(LcdHeight-wHeight)/2;
//lcd_out(0x45,(wHeight-1)<<8 );
lcd_out(0x45,((wHeight+data-1)<<8)+data ); //0xdb00 gate
//lcd_out( 0x0021,0x0000 );
lcd_out(0x21,(data<<8)+(LcdWidth-wWidth)/2);//gate---source
index_out( 0x22 );
// index_out(0x2c);
for( i = 0; i< dwSize/512; i++ )
{
img_buf = GetImgBuf( i );
for( j = 0; j<256; j++ )
{
data_out( img_buf[j] );
}
}
if( dwSize%512 )
{
img_buf = GetImgBuf( i );
for( j = 0; j<(dwSize%512)/2; j++ )
{
data_out( img_buf[j] );
}
}
}//end if(( LcdWidth>= wWidth )&&( LcdHeight >= wHeight )))
}//end if( !IsExistImgFile( fileID, &dwSize, &wWidth, &wHeight ) )
else
{
SCI_Str( "\r\nDon't Show the picture!");
}
}
void ShowDemoPicture( unsigned short* buf, int lcd_width, int lcd_height, int img_width, int img_height, int other_color )
{
int x,y, pos;
unsigned short data;
index_out( 0x22 );
for( y = 0; y<lcd_height; y++ )
{
for( x = 0; x<lcd_width; x++ )
{
if( x > img_width || y > img_height )
data = other_color;
else
{
data= buf[y*img_width+x];
}
data_out( data );
}
}
}
void init_lcdPCF8839()
{ unsigned int i;
PORT.PADDR.BIT.PA0DDR = 1;
PORT.PADR.BIT.PA0DR = 0;
WaitTime( 200 );
PORT.PADR.BIT.PA0DR = 1;
WaitTime( 150 );
PORT.P1DDR.BIT.P15DDR = 1;
PORT.P1DR.BIT.P15DR = 1;
index_out(0x01); /* s/w reset */
WaitTime( 100 );
index_out(0xee); /* disable factory defaul */
//index_out(0x11); /* sleep out */
//index_out(0x11);
//index_out(0x29); /* display on */
index_out(0xc2); /* booster */
data_out(0x00);
index_out(0xc7); /* bias setting */
data_out(0x01);
index_out(0xb0); /* vpr setting */
data_out(0xba);
index_out(0x25); /* contrast setting */
data_out(0x3f);
index_out(0x3a); /* color format */
data_out(0x05);
index_out(0x03);
index_out(0x2a); /* x display area setting */
data_out(0x04);
data_out(0x83);
index_out(0x2b); /* y display area setting */
data_out(0x00);
data_out(0x7f);
index_out(0x36); /* display control */
data_out(0xC8);
index_out(0xc5); /* frame frequency */
data_out(0x05);
data_out(0x05);
data_out(0x05);
data_out(0x05);
data_out(0x05);
index_out(0xB3); /* FREQUENCY SETTING */
data_out(0x00);
index_out(0xc3); /* temperature conpensation */
data_out(0x74);
index_out(0xC4); /* temperature conpensation */
data_out(0x04);
index_out(0xb9); /* super frame */
index_out(0xc9); /* N-line */
data_out(0x13);
//index_out(0xb4); /* trs/brs */
index_out(0xb6); /* trs/brs */
index_out(0x13); /* normal display on */
//index_out(0x35); /* TE on */
//data_out(0x01);
index_out(0xf2); /* charge sharing */
data_out(0x00);
index_out(0xf3); /* charge sharing */
data_out(0x00);
index_out(0xf8); /* phase mixing */
data_out(0x06);
index_out(0x29);
index_out(0x11);
// while(PauseDisp){WaitTime( 200 );};
index_out(0x2c);
for(i=0;i<128*128;i++)
{
data_out(0xf800);
}
WaitTime( 1000 );
// while(PauseDisp){WaitTime( 200 );};
index_out(0x2c);
for(i=0;i<128*128;i++)
{
data_out(0x07e0);
}
WaitTime( 1000 );
// while(PauseDisp){WaitTime( 200 );};
index_out(0x2c);
for(i=0;i<128*128;i++)
{
data_out(0x001f);
}
WaitTime( 1000 );
index_out(0x2c);
for(i=0;i<128*128;i++)
{
// data_out(pic[i]);
}
WaitTime( 1000 );
//while(PauseDisp){WaitTime( 200 );
//end while
}
unsigned char InitS6B33B2( )
{
int i;
// PORT.PADDR.BIT.PA0DDR = 1;
// PORT.PADR.BIT.PA0DR = 0;
// WaitTime( 200 );
// PORT.PADR.BIT.PA0DR = 1;
// WaitTime( 150 );
// index_out(0x50);
// index_out(0xea);
// initial sequence
// WaitTime(35);
index_out(0x2C);
WaitTime(35);
index_out(0x02); ///Oscillation Mode Set
index_out(0x01);
index_out(0x026); ///DCDC & AMP ON/OFF Set
index_out(0x01);
index_out(0x026); ///DCDC & AMP ON/OFF Set
index_out(0x09);
index_out(0x026); ///DCDC & AMP ON/OFF Set
index_out(0x0B);
index_out(0x026); ///DCDC & AMP ON/OFF Set
index_out(0x0F);
index_out(0x010); ///Driver Output Mode Set
index_out(0x020);
index_out(0x020); ///DC-DC Select
index_out(0x05);
index_out(0x022); ///BIAS Select
index_out(0x011);
index_out(0x024); ///DCDC Clock Division Set
index_out(0x22);//(0x011);
index_out(0x028); ///Temp Compensation Set
index_out(0x01);
index_out(0x02A); ///Contrast Control 1
index_out(0x0c8);
WaitTime(35);
index_out(0x02F); ///DDRAM Burst Mode On
index_out(0x030); ///Addressing Mode Set
index_out(0x01C);
index_out(0x032); ///Row Vector Mode Set
index_out(0x0f);
index_out(0x034); ///N-Line Inversion Set
//index_out(0x01f); //b0a
index_out(0x0d1); //b2a
index_out(0x040); //Entry Mode Set
index_out(0x000);
index_out(0x055); /// partial display mode Off and PDM 0;
index_out(0x00);
// outpw(0x800000+0x1C, 0x0333);
// BUS_DATA( 0x1C, 0x0333 );
//mainLcdWindow(0, 8, 159, 135); for s6b330b0a
mainLcdWindow(0, 0, 159, 127); //for s6b330b2a
index_out(0x51); //display on
WaitTime(35);
mainLcdStart(0,0);
for(i = 0; i < 128*160; i++)
{
data_out(0x07e0); //display white
}
mainLcdWindow(0, 0, 95, 127); //for s6b330b2a
}
unsigned char InitS6B33B5( )
{
int i;
// PORT.PADDR.BIT.PA0DDR = 1;
// PORT.PADR.BIT.PA0DR = 0;
// WaitTime( 200 );
// PORT.PADR.BIT.PA0DR = 1;
// WaitTime( 150 );
// index_out(0x50);
// index_out(0xea);
// initial sequence
// WaitTime(35);
index_out(0x2C);
WaitTime(35);
index_out(0x02); ///Oscillation Mode Set
index_out(0x01);
index_out(0x026); ///DCDC & AMP ON/OFF Set
index_out(0x01);
index_out(0x026); ///DCDC & AMP ON/OFF Set
index_out(0x09);
index_out(0x026); ///DCDC & AMP ON/OFF Set
index_out(0x0B);
index_out(0x026); ///DCDC & AMP ON/OFF Set
index_out(0x0F);
index_out(0x010); ///Driver Output Mode Set
index_out(0x010);
index_out(0x020); ///DC-DC Select
index_out(0x05);
// index_out(0x022); ///BIAS Select
// index_out(0x011);
index_out(0x024); ///DCDC Clock Division Set
index_out(0x04);//(0x011);
index_out(0x028); ///Temp Compensation Set
index_out(0x00);
index_out(0x02A); ///Contrast Control 1
index_out(0x098);
WaitTime(35);
// index_out(0x02F); ///DDRAM Burst Mode On
index_out(0x030); ///Addressing Mode Set
index_out(0x01C);
index_out(0x032); ///Row Vector Mode Set
index_out(0x0E);
index_out(0x034); ///N-Line Inversion Set
//index_out(0x01f); //b0a
index_out(0x01D); //b2a
index_out(0x040); //Entry Mode Set
index_out(0x000);
index_out(0x055); /// partial display mode Off and PDM 0;
index_out(0x00);
// outpw(0x800000+0x1C, 0x0333);
// BUS_DATA( 0x1C, 0x0333 );
//mainLcdWindow(0, 8, 159, 135); for s6b330b0a
mainLcdWindow(0, 0, 95, 95); //for s6b330b2a
index_out(0x51); //display on
WaitTime(35);
for(i = 0; i < 96*24; i++)
{
data_out(0xF800); //display white
}
for(i = 0; i < 96*24; i++)
{
data_out(0x07e0); //display white
}
for(i = 0; i < 96*24; i++)
{
data_out(0x001F); //display white
}
for(i = 0; i < 96*24; i++)
{
data_out(0xFFFF); //display white
}
}
InitHD66766U( )
{
index_out(0x00);
index_out(0x00);
data_out(0x00);
data_out(0x01);
WaitTime( 50 );
index_out(0x00);
index_out(0x03);
data_out(0x55);
data_out(0x64);
index_out(0x00);
index_out(0x0C);
data_out(0x00);
data_out(0x04);
index_out(0x00);
index_out(0x04);
data_out(0x03);
data_out(0x60);
WaitTime( 250 );
index_out(0x00);
index_out(0x03);
data_out(0x5D);
data_out(0x64);
WaitTime( 250 );
index_out(0x00);
index_out(0x05);
data_out(0x02);
data_out(0x30);
index_out(0x00);
index_out(0x06);
data_out(0x00);
data_out(0x00);
index_out(0x00);
index_out(0x0B);
data_out(0x00);
data_out(0x00);
index_out(0x00);
index_out(0x01);
data_out(0x02);
data_out(0x13);
index_out(0x00);
index_out(0x02);
data_out(0x03);
data_out(0x0A);
index_out(0x00);
index_out(0x07);
data_out(0x00);
data_out(0x00);
index_out(0x00);
index_out(0x11);
data_out(0x00);
data_out(0x00);
index_out(0x00);
index_out(0x14);
data_out(0x9F);
data_out(0x00);
index_out(0x00);
index_out(0x15);
data_out(0x4F);
data_out(0x00);
index_out(0x00);
index_out(0x16);
data_out(0x7F);
data_out(0x00);
index_out(0x00);
index_out(0x17);
data_out(0x9F);
data_out(0x00);
index_out(0x00);
index_out(0x20);
data_out(0x00);
data_out(0x00);
index_out(0x00);
index_out(0x21);
data_out(0x00);
data_out(0x00);
index_out(0x00);
index_out(0x07);
data_out(0x00);
data_out(0x01);
index_out(0x00);
index_out(0x07);
data_out(0x00);
data_out(0x03);
WaitTime( 50 );
index_out(0x00);
index_out(0x22);
}
Write766u()
{ unsigned long i;
index_out(0x00);
index_out(0x16);
data_out(0x20);
data_out(0x00);
index_out(0x00);
index_out(0x17);
data_out(0x20);
data_out(0x00);
index_out(0x00);
index_out(0x21);
data_out(0x00);
data_out(0x00);
index_out(0x00);
index_out(0x22);
for(i=0;i<32*64;i++)data_out(0xff);
}
void AAT3113ON()
{
unsigned short i;
PORT.P1DDR.BIT.P15DDR = 1;// turn on backlight
PORT.P1DR.BIT.P15DR = 0;
WaitTime( 50 );
for(i=0;i<26;i++)
{
PORT.P1DR.BIT.P15DR = 0;
PORT.P1DR.BIT.P15DR = 1;
}
}
/*
void DisplayPic(unsigned char p)
{ unsigned short i;
switch(p)
{
case 0:
index_out(0x2c);
for(i=0;i<128*128;i++)
{
data_out(pic[i]);
}
break;
case 1:
index_out(0x2c);
for(i=0;i<128*128;i++)
{
data_out(pic1[i]);
}
break;
case 2:
index_out(0x2c);
for(i=0;i<128*128;i++)
{
data_out(pic2[i]);
}
break;
case 3:
index_out(0x2c);
for(i=0;i<128*128;i++)
{
data_out(pic3[i]);
}
break;
case 4:
index_out(0x2c);
for(i=0;i<128*128;i++)
{
data_out(pic4[i]);
}
break;
case 5:
index_out(0x2c);
for(i=0;i<128*128;i++)
{
data_out(pic5[i]);
}
break;
case 6:
index_out(0x2c);
for(i=0;i<128*128;i++)
{
data_out(pic6[i]);
}
break;
case 7:
index_out(0x2c);
for(i=0;i<128*128;i++)
{
data_out(pic8[i]);
}
break;
case 8:
index_out(0x2c);
for(i=0;i<128*128;i++)
{
data_out(0xf800);
}
break;
case 9:
index_out(0x2c);
for(i=0;i<128*128;i++)
{
data_out(0x07e0);
}
break;
case 10:
index_out(0x2c);
for(i=0;i<128*128;i++)
{
data_out(0x001f);
}
break;
default:
p=0xff;
break;
}
}*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -