📄 mcg-g9867dfsw-5w-e.txt
字号:
/**************************Color_lcd.h***********************************/
#define LCD_data PTAD
#define CS PTGD_PTGD2
#define RS PTGD_PTGD1
#define WR PTGD_PTGD0
void Delayms(unsigned char de)
{
while(de--)
__RESET_WATCHDOG();
}
void LCD_WriteCommand(unsigned char cmd1)
{
PTGD=0X00;
LCD_data=cmd1;
__RESET_WATCHDOG();
WR=1;
CS=1;
Delayms(12);
}
void LCD_WriteDouCommand(unsigned char cmd1,unsigned char cmd2)
{
LCD_WriteCommand(cmd1);
LCD_WriteCommand(cmd2);
}
void LCD_WriteData(char data1)
{
PTGD=0X02;
LCD_data=data1;
__RESET_WATCHDOG();
WR=1;
CS=1;
Delayms(12);
}
void LCD_DispINTByte(unsigned int intb)
{
unsigned char i;
for(i=0;i<16;i++)
{
if(intb&0x8000)
{
LCD_WriteData(0xe0);
LCD_WriteData(0xe0);
}
else
{
LCD_WriteData(0x18);
LCD_WriteData(0x18);
}
intb<<=1;
}
}
/*void LCD_DispWord_Column(unsigned char x,unsigned char y,unsigned char f_color,unsigned char b_color,const unsigned int *wb)
{
unsigned char i;
unsigned char row;
//LCD_WriteDouCommand(0x10,2); //Column address
//LCD_WriteDouCommand(0x70,0x63); //Row address
LCD_WriteDouCommand(0xF5,x); //y start address |
LCD_WriteDouCommand(0xF7,y+15); //y end address |
LCD_WriteDouCommand(0xF4,y); //x start address -
LCD_WriteDouCommand(0xF6,x+15); //x end address -
row=x+y*16;
for(i=0;i<row;i++)
{
LCD_WriteData(b_color);
LCD_WriteData(b_color);
}
for(i=0;i<16;i++)
{
LCD_DispINTByte(f_color,b_color,wb[i]);
}
}*/
void fill(unsigned char n)
{
unsigned char i;
for(i=0;i<=n;i++)
{
LCD_WriteData(0x18);
LCD_WriteData(0x18);
}
}
void LCD_WelcomePage(const unsigned int *w1,const unsigned int *w2,const unsigned int *w3,const unsigned int *w4,const unsigned int *w5,const unsigned int *w6,const unsigned int *w7,const unsigned int *w8)
{
unsigned char i;
LCD_WriteDouCommand(0xF5,0); //y start address |
LCD_WriteDouCommand(0xF7,66); //y end address |
LCD_WriteDouCommand(0xF4,0); //x start address -
LCD_WriteDouCommand(0xF6,97); //x end address -
for(i=0;i<16;i++)
{
fill(65);
LCD_DispINTByte(w1[i]);
LCD_DispINTByte(w2[i]);
}
for(i=0;i<16;i++)
{
fill(65);
LCD_DispINTByte(w3[i]);
LCD_DispINTByte(w4[i]);
}
for(i=0;i<16;i++)
{
fill(65);
LCD_DispINTByte(w5[i]);
LCD_DispINTByte(w6[i]);
}
for(i=0;i<16;i++)
{
fill(65);
LCD_DispINTByte(w7[i]);
LCD_DispINTByte(w8[i]);
}
}
void LCD_Init(void)
{
unsigned char i;
unsigned char j;
LCD_WriteCommand(0xE2); //System Reset
Delayms(50);
LCD_WriteCommand(0xA3); //Set Line Rate
LCD_WriteCommand(0xC0); //Set LCD Mapping Control
LCD_WriteCommand(0xE9); //Bias Ratio
LCD_WriteCommand(0x28); //Panel
LCD_WriteCommand(0x2f); //Pump
LCD_WriteDouCommand(0x81,190); //Set Contrast
LCD_WriteCommand(0xD1); //Color Pattern
LCD_WriteCommand(0xD4); //Color Mode:256 color
LCD_WriteDouCommand(0xf1,66); //Set COM End
//LCD_WriteDouCommand(0xF2,0); //Partial start and end address
//LCD_WriteDouCommand(0xF3,60);
//LCD_WriteCommand(0x86); //Enable Partial
//Window start and end address
LCD_WriteDouCommand(0xF4,0); //x start address -
LCD_WriteDouCommand(0xF5,0); //y start address |
LCD_WriteDouCommand(0xF6,97); //x end address -
LCD_WriteDouCommand(0xF7,66); //y end address |
LCD_WriteDouCommand(0x10,0); //Column address
LCD_WriteDouCommand(0x70,0x60); //Row address
LCD_WriteCommand(0x89); //RAM Address Control,
LCD_WriteCommand(0xc2); //Mirror X
LCD_WriteCommand(0xf9); //Enable Window progam
//LCD_WriteCommand(0xa7); //Set All Pixel ON
LCD_WriteCommand(0xaf); //Set Display Enable
Delayms(5);
for(i=0;i<=66;i++)
for(j=0;j<=97;j++)
{
LCD_WriteData(0x18); //Set bottom color
LCD_WriteData(0x18);
}
LCD_WriteDouCommand(0xF4,0); //Window start and end address
LCD_WriteDouCommand(0xF5,0);
LCD_WriteDouCommand(0xF6,63);
LCD_WriteDouCommand(0xF7,63);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -