?? c1335_driver.c
字號:
}
WriteCMD(SCROLL);//C1335=0x44;
for(i=0;i<10;i++)
{
WriteDATA(SCROLL_PARAM[i]);//D1335 = SCOLL_PARA_TABLE10[i];
}
WriteCMD(HDOT_SCR); //C1335=0x5A; //HDOTSET
WriteDATA(0); //D1335=0x00;
WriteCMD(OVLAY); //C1335=0x5B; //OYLAY
WriteDATA(0x04); //D1335=0x00;
WriteCMD(CSR_FORM); //C1335=0x5D; //CSRFORM
WriteDATA(7); //D1335=0x07;
WriteDATA(7); //D1335=0x07;
WriteCMD(CSR_DIR_R);//C1335=0x4C; //CLR DRAM
WriteCMD(CSR_W); //C1335=0x46;
WriteDATA(0); //D1335=0x00;
WriteDATA(0); //D1335=0x00;
WriteCMD(MEM_WRITE);//C1335=0x42;
for(i=0;i<0x2800;i++)
{
WriteDATA(0); //D1335=0x20;
}
WriteCMD(DISP_ON); //cmd_write (LCDDISPON);
WriteDATA(0x14); //data_write (0x54);
}
//********************************************************************
void ClearLCD( unsigned char ZoneBase,
unsigned char X,
unsigned char Y,
unsigned char XLength,
unsigned char YLength)
{
unsigned char i,j;
unsigned int XYtemp;
WriteCMD(CSR_DIR_D);
for(i=0;i<XLength;i++)
{
XYtemp = (Y) * 40 + X+i + ZoneBase*256;
WriteCMD(CSR_DIR_D);
WriteCMD(CSR_W);
WriteDATA((unsigned char)XYtemp);
WriteDATA((unsigned char)(XYtemp >> 8));
WriteCMD(MEM_WRITE);
for(j=0;j<YLength;j++)
WriteDATA(0);
}
}
/*
// 第一顯示區向下滾動
void RollDown( void )
{
unsigned int iTemp = paraP9*15*16+BasePart2*256;
unsigned char jj = 15;// 演示32次
// WriteCommand( DispOn ); // 寫入指令DISP ON/OFF代碼,后續參數:
// WriteData( 0x44 ); // 00 00 01 00顯示1區開顯示,其余層關閉
while(jj--) {
iTemp -= paraP9*16;
WriteCMD( SCROLL); // 設定顯示區域起始地址
WriteDATA( 0 ); // 寫入參數
WriteDATA( 0 ); // 寫入參數
WriteDATA( 0XF0 ); // 寫入參數
WriteDATA( (unsigned char)(iTemp & 0xff) ); // 寫入參數
WriteDATA( (unsigned char)(iTemp /256) ); // 寫入參數
DelayMS(400); // 調延時子程序
}
WriteCMD( SCROLL ); // 設定顯示區域起始地址
WriteDATA( 0 ); // 寫入參數
WriteDATA( 0 ); // 寫入參數
DelayMS(60);
}
// 第二顯示區向上滾動
void RollUp( void )
{
unsigned int iTemp=BasePart2*256;
unsigned char jj = 15; // 演示30次
// WriteCommand( DispOn ); // 寫入指令DISP ON/OFF代碼,后續參數:
// WriteData( 0x44 ); // 00 00 01 00顯示1區開顯示,其余層關閉
while(jj--)
{
iTemp += paraP9*16;
WriteCMD( SCROLL ); // 設定顯示區域起始地址
WriteDATA( 0 ); // 寫入參數
WriteDATA( 0 ); // 寫入參數
WriteDATA( 0XF0 ); // 寫入參數
WriteDATA( (unsigned char)(iTemp & 0xff) ); // 寫入參數
WriteDATA( (unsigned char)(iTemp /256) ); // 寫入參數
DelayMS(400); // 調延時子程序
}
}
*/
/*=================================================================**
**函 數 名:void PutPixel(unsigned int X,unsigned char Y,unsigned char attr);**
**功能介紹:在(x,y)坐標繪制一個點。x=[0,319],y=[0,239] **
**傳人參數:attr是 (1)畫點,(0)消點 **
===================================================================
void PutPixel(unsigned int X,unsigned char Y,unsigned char attr)
{
unsigned char ucTemp;
unsigned int XYtemp;
XYtemp = (Y) * 40 + (unsigned char)(X >> 3) + BasePart2*256;
WriteCMD(CSR_DIR_D);
WriteCMD(CSR_W);
WriteDATA((unsigned char)XYtemp);
WriteDATA((unsigned char)(XYtemp >> 8));
WriteCMD(MEM_READ);
ucTemp = ReadDataLcm();
if(attr)
ucTemp |= OnlyBitTable[(unsigned char)X & 0x07];
else
ucTemp &= ~OnlyBitTable[(unsigned char)X & 0x07];
WriteCMD(CSR_W);
WriteDATA((unsigned char)XYtemp);
WriteDATA((unsigned char)(XYtemp >> 8));
WriteCMD(MEM_WRITE);
WriteDATA(ucTemp);
}*/
/*=================================================================**
**函 數 名:void PutPixel(unsigned int X,unsigned char Y,unsigned char attr);**
**功能介紹:在(x,y)坐標繪制一個點。x=[0,319],y=[0,239] **
**傳人參數:attr是 (1)畫點,(0)消點 **
===================================================================
void DrawRect(unsigned int X,unsigned char Y,unsigned char attr)
{
unsigned char i,j;
for(j=0;j<2;j++)
for(i=0;i<40;i++)
PutPixel(X+i,Y+j,attr);
for(j=22;j<24;j++)
for(i=0;i<40;i++)
PutPixel(X+i,Y+j,attr);
for(i=0;i<2;i++)
for(j=0;j<24;j++)
PutPixel(X+i,Y+j,attr);
for(i=38;i<40;i++)
for(j=0;j<24;j++)
PutPixel(X+i,Y+j,attr);
}*/
/*======================================================================**
**函 數 名:void DispHZ_24_24(uchar *addr,uchar LineX,uchar RowY); **
**功能介紹:顯示 2 區圖形方式顯示16*16漢字 **
**傳人參數:漢字字符串地址 *addr,定位坐標LineX(0~239),RowY(0~39) **
** **
**======================================================================
void DispHZ_24_24( unsigned char *addr,
unsigned char Y0,
unsigned char X0,
unsigned char color)
{
DispBitmap(addr, Y0, X0, color,24);
DispBitmap(addr+24, Y0, X0+1, color,24);
DispBitmap(addr+24+24, Y0, X0+2, color,24);
}*/
/*======================================================================**
**函 數 名:void DispBitmap(uchar *addr,uchar LineX,**
uchar RowY,unsigned char Length);**
**功能介紹:顯示 3 區圖形方式顯示Length*8的位圖 **
**傳人參數:漢字字符串地址 *addr,定位坐標LineX(0~239),RowY(0~39) **
** **
**======================================================================*/ /*
void DispBitmapZone1( unsigned char *addr,
unsigned char Y,
unsigned char X,
unsigned char color,
unsigned char Length)
{
unsigned char i;
unsigned int XYtemp;
i = color;
XYtemp = Y * 40 + X+BasePart1*256; //計算顯示位置
WriteCMD(CSR_DIR_D);
WriteCMD(CSR_W);
WriteDATA((unsigned char)XYtemp);
WriteDATA((unsigned char)(XYtemp >> 8));
WriteCMD(MEM_WRITE);
for(i=0;i<Length;i++,addr++)
{
if(!color) WriteDATA(*addr);
else WriteDATA(~(*addr));
}
}*/
/*======================================================================**
**函 數 名:void DispHZ_24_24(uchar *addr,uchar LineX,uchar RowY); **
**功能介紹:顯示 3 區圖形方式顯示16*16漢字 **
**傳人參數:漢字字符串地址 *addr,定位坐標LineX(0~239),RowY(0~39) **
** **
**======================================================================*/ /*
void DispHZ_24_24Zone1( unsigned char *addr,
unsigned char Y0,
unsigned char X0,
unsigned char color)
{
DispBitmapZone1(addr, Y0, X0, color,24);
DispBitmapZone1(addr+24, Y0, X0+1, color,24);
DispBitmapZone1(addr+24+24, Y0, X0+2, color,24);
}
/*======================================================================**
**函 數 名:Disp_ASCII(uchar *addr,uchar LineX,uchar RowY,bit Inverse); **
**功能介紹:顯示 2 區圖形方式顯示ASCII,要求以'\0'結尾 **
**傳人參數:ASCII字符串地址 *addr,定位坐標LineX(0~239),RowY(0~39) **
** -----(bit)Inverse,正常顯示(0),反白顯示(1) --- **
========================================================================*
void DispASCIIStr( unsigned char *addr,
unsigned char X,
unsigned char Y,
unsigned char color)
{
unsigned int p;
for ( ;*addr != 0;addr++,X++ )
{
p = (*addr - 0x20)*16 ;
DispCHAR_16x8(ASCII_16+p,X,Y,color); //DispCHAR_16x8(&Ascii_16[p],Y0,X0,color);
}
}
*/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -