📄 4042e.c
字号:
//*****************************************************
//LCD Function program
//Author:Carson Lee
//Date:2006.6.15
//*****************************************************
#include "..\inc\44blib.h"
#include "..\inc\44b.h"
#include "..\inc\def.h"
extern int WriteCmd(unsigned short RegAddress);
extern int WriteData(unsigned short RegData);
extern int Lcd_Delay(unsigned short t);
extern int Reset(void);
//void DisplayDMA(void);
//unsigned char const picture[77824];
unsigned char picture[40960];
void Display(void)
{
int i,j,k;
unsigned int temp=0;
WriteCmd(0x30);
WriteCmd(0x15);
WriteData(0x0);
WriteData(127);
WriteCmd(0x75);
WriteData(0x00);
WriteData(127);
WriteCmd(0x5c);
// while(1)
// {
for(i=0;i<128;i++)
for(j=0;j<128;j++)
{
WriteData(0xf8);
WriteData(0x00);
}
/* Lcd_Delay(60000);
Lcd_Delay(60000);
Lcd_Delay(60000);*/
Lcd_Delay(60000);
Lcd_Delay(60000);
for(i=0;i<128;i++)
for(j=0;j<128;j++)
{
WriteData(0x07);
WriteData(0xe0);
}
/* Lcd_Delay(60000);
Lcd_Delay(60000);
Lcd_Delay(60000);*/
Lcd_Delay(60000);
Lcd_Delay(60000);
for(i=0;i<128;i++)
for(j=0;j<128;j++)
{
WriteData(0x00);
WriteData(0x1f);
}
/* Lcd_Delay(60000);
Lcd_Delay(60000);
Lcd_Delay(60000);*/
Lcd_Delay(60000);
Lcd_Delay(60000);
/*
// rI_ISPC=BIT_ZDMA0;
// rINTMSK=~(BIT_GLOBAL | BIT_ZDMA0);
for(k=0;k<17;k++)
{
ReadMap(picture,k);
Lcd_Delay(60000);
DisplayDMA();
Lcd_Delay(60000);
}
*/
/* for(k=0;k<60;k++)
{
ReadMap(picture,k);
for(temp=0;temp<01;temp++)
for(i=0;i<128;i++)
for(j=0;j<128;j++)
{ WriteData(picture[256*i+j*2]);
WriteData(picture[256*i+j*2+1]);
}
Lcd_Delay(60000);
Lcd_Delay(60000);
Lcd_Delay(60000);
Lcd_Delay(60000);
Lcd_Delay(25000);
// }
}*/
}
void LCD_init(void)
{
Reset();
WriteCmd(0x30);//EXT = 0
WriteCmd(0x04);
WriteData(0x3e);
WriteCmd(0x94);//sleep out
WriteCmd(0xd1);//OSC on
WriteCmd(0xca);//display control
WriteData(0x00);//CL dividing ratio = 0
WriteData(0x1f);//duty
WriteData(0x00);//N-Line
WriteCmd(0xbb);//com scan direc. = 0~65 / 131~66
WriteData(0x01);
WriteCmd(0x31);//EXT = 1
WriteCmd(0x32);//OSC freq
WriteData(0x07);//booster effic.
WriteData(0x01);//bias
WriteData(0x00);//vcomL
WriteCmd(0x30);//EXT = 0
WriteCmd(0x81);//EC control
WriteData(0x05);
WriteData(0x04);//vop[8:6]
WriteCmd(0x20);//power control
WriteData(0x0b);//D0 = regulator / D1 = follwer / D3 = booster
WriteCmd(0x07);
WriteData(0x19);//mode_select_1001e
WriteCmd(0x31);//EXT = 1
WriteCmd(0xcd);
WriteData(0x00);//EEPROM Enable
Lcd_Delay(1000);
Lcd_Delay(1000);
WriteCmd(0xfd);//EEPROM read
Lcd_Delay(1000);
Lcd_Delay(1000);
WriteCmd(0xcc);//EEPROM disable
WriteCmd(0x30);//EXT = 0
WriteCmd(0xa7);//inverse display
WriteCmd(0xbc);//data scan direc.
WriteData(0x00);//address direc.
WriteData(0x01);//BGR
WriteData(0x01);//gray scale
WriteCmd(0xaf);//display on
WriteCmd(0x15);//column range
WriteData(0x00);//start
WriteData(127);//end
WriteCmd(0x75);//page range
WriteData(0x00);//start
WriteData(127);//end
WriteCmd(0x31);//EXT = 1
WriteCmd(0x34); //dither on
/*Reset();
WriteCmd(0x30);
WriteCmd(0x04);
WriteData(0x3e);
WriteCmd(0x31);
WriteCmd(0xf4);
WriteData(0x58);//VCO_mode
WriteCmd(0x30);
WriteCmd(0x94);
WriteCmd(0xd1);
WriteCmd(0xca);
WriteData(0x00);//VCO_mode
WriteData(0x1f);//vcomH
WriteData(0x1a);//vcomL
WriteCmd(0x31);
WriteCmd(0xf3);
WriteData(0x00);//mode_select_3
WriteCmd(0x30);
WriteCmd(0xbb);
WriteData(0x00);
WriteCmd(0x31);
WriteCmd(0x32);
WriteData(0x00);
WriteData(0x01);
WriteData(0x00);
WriteCmd(0x30);
WriteCmd(0x81);
WriteData(0x05);
WriteData(0x04);
WriteCmd(0x20);
WriteData(0x0b);
WriteCmd(0x60);
Lcd_Delay(6000);
WriteCmd(0x31);
WriteCmd(0xcd);
WriteData(0x00);
Lcd_Delay(6000);
WriteCmd(0xfd);
Lcd_Delay(6000);
WriteCmd(0xcc);
WriteCmd(0x30);
WriteCmd(0xa6);//a7
WriteCmd(0xbc);
WriteData(0x03);
WriteData(0x01);
WriteData(0x01);
WriteCmd(0xaf);
WriteCmd(0x15);
WriteData(0x04);
WriteData(131);
WriteCmd(0x75);
WriteData(0x04);
WriteData(131);
WriteCmd(0x31);
WriteCmd(0x20);
WriteData(0x00);
WriteData(0x02);
WriteData(0x04);
WriteData(0x06);
WriteData(0x08);
WriteData(0x10);
WriteData(0x12);
WriteData(0x14);
WriteData(0x16);
WriteData(0x18);
WriteData(0x20);
WriteData(0x22);
WriteData(0x24);
WriteData(0x26);
WriteData(0x28);
WriteData(0x30);
WriteCmd(0x21);
WriteData(0x00);
WriteData(0x02);
WriteData(0x04);
WriteData(0x06);
WriteData(0x08);
WriteData(0x10);
WriteData(0x12);
WriteData(0x14);
WriteData(0x16);
WriteData(0x18);
WriteData(0x20);
WriteData(0x22);
WriteData(0x24);
WriteData(0x26);
WriteData(0x28);
WriteData(0x30);
WriteData(0x04);
WriteData(0x06);
WriteData(0x08);
WriteData(0x10);
WriteData(0x12);
WriteData(0x14);
WriteData(0x16);
WriteData(0x18);
WriteData(0x20);
WriteData(0x22);
WriteData(0x24);
WriteData(0x26);
WriteData(0x28);
WriteData(0x30);
WriteCmd(0x22);
WriteData(0x00);
WriteData(0x02);
WriteData(0x04);
WriteData(0x06);
WriteData(0x08);
WriteData(0x10);
WriteData(0x12);
WriteData(0x14);
WriteData(0x16);
WriteData(0x18);
WriteData(0x20);
WriteData(0x22);
WriteData(0x24);
WriteData(0x26);
WriteData(0x28);
WriteData(0x30);
WriteCmd(0x23);
WriteData(0x00);
WriteData(0x02);
WriteData(0x04);
WriteData(0x06);
WriteData(0x08);
WriteData(0x10);
WriteData(0x12);
WriteData(0x14);
WriteData(0x16);
WriteData(0x18);
WriteData(0x20);
WriteData(0x22);
WriteData(0x24);
WriteData(0x26);
WriteData(0x28);
WriteData(0x30);
WriteCmd(0x30);*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -