📄 cmd.c
字号:
for(i=0; i<TARGET_Y_DISP_BOTTOM/16; i++){
if(i==(i/2)*2){
for(j=0; j<TARGET_X_BYTE_SIZE/2; j++){
lcd_out(R766_RAM_Data, cCYAN);
lcd_out(R766_RAM_Data, cYELLOW);
}
}
else{
for(j=0; j<TARGET_X_BYTE_SIZE/2; j++){
lcd_out(R766_RAM_Data, cYELLOW);
lcd_out(R766_RAM_Data, cCYAN);
}
}
}
for(i=0; i<TARGET_Y_DISP_BOTTOM/16; i++){
if(i==(i/2)*2){
for(j=0; j<TARGET_X_BYTE_SIZE/2; j++){
lcd_out(R766_RAM_Data, cCYAN);
lcd_out(R766_RAM_Data, cMAGENTA);
}
}
else{
for(j=0; j<TARGET_X_BYTE_SIZE/2; j++){
lcd_out(R766_RAM_Data, cMAGENTA);
lcd_out(R766_RAM_Data, cCYAN);
}
}
}
for(i=0; i<TARGET_Y_DISP_BOTTOM/16; i++){
if(i==(i/2)*2){
for(j=0; j<TARGET_X_BYTE_SIZE/2; j++){
lcd_out(R766_RAM_Data, cWHITE);
lcd_out(R766_RAM_Data, cMAGENTA);
}
}
else{
for(j=0; j<TARGET_X_BYTE_SIZE/2; j++){
lcd_out(R766_RAM_Data, cMAGENTA);
lcd_out(R766_RAM_Data, cWHITE);
}
}
}
for(i=0; i<TARGET_Y_DISP_BOTTOM/16; i++){
if(i==(i/2)*2){
for(j=0; j<TARGET_X_BYTE_SIZE/2; j++){
lcd_out(R766_RAM_Data, cWHITE);
lcd_out(R766_RAM_Data, cBLACK);
}
}
else{
for(j=0; j<TARGET_X_BYTE_SIZE/2; j++){
lcd_out(R766_RAM_Data, cBLACK);
lcd_out(R766_RAM_Data, cWHITE);
}
}
}
break;
case 5: /* Color Tile Checker */
lcd_out(R766_RAM_WriteMask, 0x0000);
col = 0;
for(k=0; k<16; k++){
for(j=0; j<16; j++){
for(i=0; i<10; i++){
lcd_out(R766_RAM_AddressSet, TARGET_START_ADDRESS - (i*TARGET_X_BYTE_WIDTH + j*8 + k*TARGET_X_BYTE_WIDTH*10));
/* J*4 */
/* Case of 8bit data
send_fill(R766_RAM_Data, col<<8|col, 4); */
send_fill(R766_RAM_Data, col<<3|col, 8);
}
col = col+0x0821;
}
}
break;
}
}
unsigned char CMD = 0;
unsigned char Dispatch( unsigned char CMD )
{
return 0;
}
void cmdToMainLcd(unsigned char addr)
{
BUS_INDEX_A2 = 0;
BUS_DATA_A2 = addr;
BUS_INDEX_A2 = 1;
}
void mainLcdWindow(unsigned short sax, unsigned short say, unsigned short eax, unsigned short eay)
{
cmdToMainLcd(0x42); ///X-address Area Set
cmdToMainLcd(sax);
cmdToMainLcd(eax);
cmdToMainLcd(0x43); ///Y-address Area Set
cmdToMainLcd(say);
cmdToMainLcd(eay);
}
void mainLcdStart(unsigned short sax, unsigned short say)
{
cmdToMainLcd(0x42);
cmdToMainLcd(sax);
cmdToMainLcd(0x9f);
cmdToMainLcd(0x43);
cmdToMainLcd(say);
cmdToMainLcd(0x7f);
}
unsigned char init_m3v( )
{
int i;
PORT.PADDR.BIT.PA0DDR = 1;
PORT.PADR.BIT.PA0DR = 0;
WaitTime( 200 );
PORT.PADR.BIT.PA0DR = 1;
WaitTime( 150 );
cmdToMainLcd(0x50);
cmdToMainLcd(0xea);
// initial sequence
WaitTime(35);
cmdToMainLcd(0x2C);
WaitTime(35);
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
}
}
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
}
/*
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 + -