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

📄 r61505.c

📁 c51 编写的 2.4" TFT驱动程序 r61505 ic
💻 C
字号:
#include<reg51.h>
#include<intrins.h>

#define  Uint  unsigned int
#define  Uchar  unsigned char
sbit RS=P3^0;
sbit rd=P3^1;
sbit RW=P3^4; 
sbit res=P3^2; 

void WCOM(unsigned char hibyte,unsigned char lobyte);
void WDAT(unsigned char hibyte,unsigned char lobyte);
void DAT(unsigned char hibyte,unsigned char lobyte);

void Delay400Ms(void);
void Delay5Ms(void);
void Reset();
void display0();
void display1();
void display2();
void display();

void main (void)
{

rd=1;
//Delay5Ms();
//res=0;
//Delay5Ms();
res=1;
Delay5Ms();

Reset();Delay5Ms();
do	{
RW=0;	 
display();
Delay400Ms();Delay400Ms();Delay400Ms();Delay400Ms();Delay400Ms();Delay400Ms();
display0();
Delay400Ms();Delay400Ms();Delay400Ms();Delay400Ms();Delay400Ms();Delay400Ms();
display1();
Delay400Ms();Delay400Ms();Delay400Ms();Delay400Ms();Delay400Ms();Delay400Ms();
display2();
Delay400Ms();Delay400Ms();Delay400Ms();Delay400Ms();Delay400Ms();Delay400Ms();
		  }while(1);	
}



void Reset()
{  
//power on   
WCOM(0x00,0x07);WDAT(0x00,0x01);
 Delay5Ms();	
WCOM(0x00,0x17);WDAT(0x00,0x01); 
 Delay5Ms();	
WCOM(0x00,0x10);WDAT(0x17,0xa0); 
 Delay5Ms();	
WCOM(0x00,0x11);WDAT(0x00,0x04); ////0334
 Delay5Ms();	
WCOM(0x00,0x12);WDAT(0x02,0x18); 
 Delay5Ms();	
WCOM(0x00,0x13);WDAT(0x08,0x00); 
 Delay5Ms();	
WCOM(0x00,0x29);WDAT(0x00,0x0f); 
 Delay5Ms();	
WCOM(0x00,0x12);WDAT(0x02,0x38); 
 Delay5Ms();	
//mode set
//WCOM(0x00,0x03);WDAT(0x02,0x00);
 Delay5Ms();
WCOM(0x00,0x09);WDAT(0x00,0x08);
 Delay5Ms();	
WCOM(0x00,0x0a);WDAT(0x00,0x08);
 Delay5Ms();	
//WCOM(0x00,0x0c);WDAT(0x01,0x11);
 
WCOM(0x00,0x0d);WDAT(0x00,0x08);
 Delay5Ms();	
/*
WCOM(0x00,0x30);WDAT(0x03,0x02);//GAMMA
WCOM(0x00,0x31);WDAT(0x03,0x03);//GAMMA
WCOM(0x00,0x32);WDAT(0x02,0x03);//GAMMA
WCOM(0x00,0x33);WDAT(0x02,0x02);//GAMMA
WCOM(0x00,0x34);WDAT(0x02,0x02);//GAMMA

WCOM(0x00,0x35);WDAT(0x03,0x03);//GAMMA
WCOM(0x00,0x36);WDAT(0x00,0x00);//GAMMA
WCOM(0x00,0x37);WDAT(0x03,0x02);//GAMMA
WCOM(0x00,0x38);WDAT(0x03,0x03);//GAMMA
WCOM(0x00,0x39);WDAT(0x02,0x03);//GAMMA

WCOM(0x00,0x3a);WDAT(0x02,0x02);//GAMMA
WCOM(0x00,0x3b);WDAT(0x02,0x02);//GAMMA
WCOM(0x00,0x3c);WDAT(0x03,0x03);//GAMMA
WCOM(0x00,0x3d);WDAT(0x00,0x00);//GAMMA
*/
WCOM(0x00,0x60);WDAT(0x27,0x00);
 Delay5Ms();	
WCOM(0x00,0x95);WDAT(0x02,0x11);
 Delay5Ms();	
WCOM(0x00,0x97);WDAT(0x07,0x00);
 Delay5Ms();	
WCOM(0x00,0x98);WDAT(0x00,0x03);
Delay5Ms();	
//display on
WCOM(0x00,0x07);WDAT(0x00,0x21);
Delay5Ms();
WCOM(0x00,0x07);WDAT(0x00,0x61);
Delay5Ms();
WCOM(0x00,0x07);WDAT(0x01,0x73);//0173
 
}

void display()//////////////////
{ Uint i;
WCOM(0x00,0x20);WDAT(0x00,0x00);
WCOM(0x00,0x21);WDAT(0x00,0x00);
WCOM(0x00,0x22);RS=1;
 for (i=0;i<19200;i++) 
{   DAT( 0x00, 0x00) ;  DAT( 0x00, 0x00) ; } 
 for (i=0;i<19200;i++) 
{   DAT( 0x00, 0x00) ;  DAT( 0x00, 0x00) ; } RS=0;
}


void display1()//////////////////
{ Uint i;
WCOM(0x00,0x20);WDAT(0x00,0x00);
WCOM(0x00,0x21);WDAT(0x00,0x00);
WCOM(0x00,0x22);RS=1;
 for (i=0;i<19200;i++) 
{   DAT( 0xff, 0xff) ;  DAT( 0xff, 0xff) ; }   
 for (i=0;i<19200;i++) 
{   DAT( 0x00, 0x00) ;  DAT( 0x00, 0x00) ; }RS=0; 
}

void display2()//////////////////
{ Uint i;
WCOM(0x00,0x20);WDAT(0x00,0x00);
WCOM(0x00,0x21);WDAT(0x00,0x00);
WCOM(0x00,0x22);RS=1;
 for (i=0;i<25600;i++) 
{   DAT( 0xf8, 0x1f) ;}  
 for (i=0;i<25600;i++) 
{   DAT( 0xf8, 0x00) ;} 
 for (i=0;i<25600;i++) 
{   DAT( 0xff, 0xe0) ;}RS=0;   
}
void display0()//////////////////
{ Uint i;
WCOM(0x00,0x20);WDAT(0x00,0x00);
WCOM(0x00,0x21);WDAT(0x00,0x00);
WCOM(0x00,0x22);RS=1;
 for (i=0;i<25600;i++) 
{   DAT( 0x07, 0xff) ;}  
 for (i=0;i<25600;i++) 
{   DAT( 0x07, 0xff) ;} 
 for (i=0;i<25600;i++) 
{   DAT( 0x07, 0xff) ;}  RS=0; 
}



      
void WCOM(unsigned char hibyte,unsigned char lobyte) 
 { 
    RS=0;
RW=0;
P2=hibyte;
P1=lobyte;_nop_();  _nop_();  _nop_();  _nop_();
RW=1;
 RS=1;
}


void WDAT(unsigned char hibyte,unsigned char lobyte) 
{	
 RS=1;   
RW=0;
P2=hibyte;
P1=lobyte;_nop_();  _nop_();  _nop_();  _nop_();
RW=1;
 RS=0;
}

void DAT(unsigned char hibyte,unsigned char lobyte) 
{	
    
//RW=0;
P2=hibyte;
P1=lobyte;
//RW=1;
}



void Delay5Ms(void)///////////////
{Uint i = 2000;while(i--);}  

void Delay400Ms(void)/////////////
{   Uint i = 30;
    Uint j;
 while(i--)   
    {j=999; while(j--);};
 } 

⌨️ 快捷键说明

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