⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 7210.c

📁 Nokia 7210 IC PCF8833 TEST CODE
💻 C
字号:
/*-------------------------------------------------------------------------- 
Nokia 7210  IC PCF8833

I2c device address: 

Resolution: 130x130 8bpp 4096/65536 colors 9-bit data 
Pinout: 
pin1 Vlogic (1,8 V) 
pin2 _Reset 
pin3 Sdta 
pin4 Sclk 
pin5 _Cs 
pin6 Vlcd (2,8 V) 
pin7 Nc 
pin8 Gnd 
pin9 Vled- 
pin10 Vled+ (6 V) 
---------------------------------------------------------------------------*/ 
#include<reg52.h>
#include<delay.c>

extern unsigned char code GIRL[];
extern unsigned char code CharLib_CHN[];

#define BKCLR 0XFFF 
#define RED 0X00F 
#define YELLOW 0X0FF 
#define BLUE 0XF00 
#define GREEN 0X0F0 
#define BLACK 0X000 
#define WHITE 0XFFF 

sbit RST =P3^7; 
sbit SDATA =P1^7; 
sbit SCLK =P1^6; 
sbit CS =P3^1; 
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%          set Instructions                %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
void LcdWriCmd(unsigned char cmd) 
{ 
	unsigned char i; 

	SCLK=0; 
	CS=1; 
	CS=0; 

	SDATA=0; 
	SCLK=1;
	SCLK=0; 
	for(i=0;i<8;i++) 
	{ 
		SDATA=0x80&cmd; 
		SCLK=1;
		SCLK=0; 
		cmd<<=1; 
	} 
	CS=1; 
} 
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%          set Data                        %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
void LcdWriData(unsigned char Data) 
{ 
	unsigned char i; 

	SCLK=0; 
	CS=1; 
	CS=0; 

	SDATA=1; 
	SCLK=1;
	SCLK=0; 

	for(i=0;i<8;i++) 
	{ 
		SDATA=0x80&Data; 
		SCLK=1;
		SCLK=0; 
		Data<<=1; 
	} 
	CS=1; 
}
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%          set Intial                      %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
void LcdInit() 
{ 
	unsigned int i=0; 

	CS=0;
	RST=0;
	delay(500); 
	RST=1; 

	LcdWriCmd(0x11);  //Sleep_Out 
	LcdWriCmd(0x29);  //DisplayOn 
	LcdWriCmd(0x03);  //Booster On 

	LcdWriCmd(0x36);  //Set Memory access control 
	LcdWriData(0x90); //Rotate the screen 180 degree 

	LcdWriCmd(0x3a); 
	LcdWriData(0x05); 

	LcdWriCmd(0x2c); 
	for(i=0;i<33800;i++) //Clear the screen 
	{ 
		LcdWriData(0xff); 
		LcdWriData(0xff); 
	} 
} 
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%          set Window                      %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
void LcdSetWindow(unsigned char left,unsigned top,unsigned char right,unsigned char bottom) 
{ 
	LcdWriCmd(0x2a); 
	LcdWriData(left+1); 
	LcdWriData(right+1); 

	LcdWriCmd(0x2b); 
	LcdWriData(top+1); 
	LcdWriData(bottom+1); 
} 
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%          set Display Bmp                 %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
void LcdDrawBmp(unsigned char x,unsigned char y,unsigned char *BmpMitrix) 
{ 
	unsigned int Width,Height; 
	unsigned int i; 

	Width=*BmpMitrix; 
	Height=*(BmpMitrix+1); 
	LcdSetWindow(x,y,x+Width-1,y+Height-1); 

	LcdWriCmd(0x2c); 
	for(i=1;i<=(Width*Height);i++) 
	{ 
		LcdWriData(*(BmpMitrix+i*2)); 
		LcdWriData(*(BmpMitrix+i*2+1)); 
	} 
} 
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%          set Display main                %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
void main() 
{ 
	LcdInit(); 
	LcdDrawBmp(24,20,GIRL); 
	LcdDrawBmp(34,0,CharLib_CHN); 
	while(1) 
	{ 
	} 
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -