📄 320240_r61505u.c.bak
字号:
/*********************************************************/
/* SPECFICATION : TFT2.0 DEMO PROGRAM */
/* MASTER DOT MATRIXS : 320RGB*240 */
/* MASTER DRIVER IC : R61505U */
/* DESIGN : CHENJS */
/* DATA TYPE : 16 BITS (MATER&SLAVER) */
/* DATA : 2006-12-20 */
/* REV : 0.1 */
/*********************************************************/
#include "reg52.h"
#include "intrins.h"
#include "absacc.h"
#define DataL P0
#define DataH P2
#define Contr P3
#define memic_id P1
sbit key1=P1^7;
sbit key2=P1^6;
sbit key3=P1^5;
sbit Rs=P3^0;
sbit Wr=P3^1;
sbit Rd=P3^2;
sbit Reset=P3^4;
sbit Csm=P3^3;
sbit sc=P3^6;
sbit RGB_DB0=P3^5;
sbit ce1=P1^3;
sbit ce2=P1^4;
char code DX516[3] _at_ 0x3b;
void DisplayMainFrame();
void ColorMainBar2();
int rd_data2,rd_data1;
void Delay(int i)
{
int j,k;
for(k=0;k<i;k++)
for(j=0;j<200;j++)
{
_nop_();
_nop_();
_nop_();
}
}
void mainlcd_send_command(char compr2,char compr1)
{
Rs=0x00;
Rd=0x01;
// RGB_DB0=0x00;
DataL=compr1;
DataH=compr2;
// Csm=0x00;
Wr=0x00;
Wr=0x01;
// Csm=0x01;
}
void mainlcd_send_data(char Datapr2,char Datapr1)
{
Rs=0x01;
Rd=0x01;
DataL=Datapr1;
// RGB_DB0=0x00;
DataH=Datapr2;
Wr=0x00;
Wr=0x01;
// Csm=0x01;
}
void read_R61505U_data()
{
// Contr=0xff;
sc=0x00;
Wr=0x01;
Rs=0x01;
// Csm=0x00;
// Rd=0x00;
// Csm=0x00;
_nop_();
_nop_();
Rd=0x00;
_nop_();
_nop_();
Rd=0x01;
_nop_();
_nop_();
rd_data2=DataH; //P2口
rd_data1=DataL; //P0口
// Csm=0x01;
sc=0x01;
}
void read_id()
{
mainlcd_send_command(0x00,0x00); //0x00,0x00
read_R61505U_data();
if((rd_data2==0x93)&&(rd_data1==0x20))
// if((rd_data2==0x15)&&(rd_data1==0x05))
DisplayMainFrame();
else
ColorMainBar2();
}
void R61505U_address(char hsa,char hea,char vsah,char vsal,char veah,char veal,char ad8h,char ad9h,char ad9l)
{
mainlcd_send_command(0x00,0x50); mainlcd_send_data(0x00,hsa);
mainlcd_send_command(0x00,0x51); mainlcd_send_data(0x00,hea);
mainlcd_send_command(0x00,0x52); mainlcd_send_data(vsah,vsal);
mainlcd_send_command(0x00,0x53); mainlcd_send_data(veah,veal);
mainlcd_send_command(0x00,0x20); mainlcd_send_data(0x00,ad8h);
mainlcd_send_command(0x00,0x21); mainlcd_send_data(ad9h,ad9l);
mainlcd_send_command(0x00,0x22);
}
void ScrMainFullColor(unsigned char color1,unsigned char color2)
{
int i,j;
// Csm=0x00;
R61505U_address(0x00,0xef,0x00,0x00,0x01,0x3f,0x00,0x00,0x00);
for(i=0;i<320;i++)
{
for(j=0;j<240;j++)
{
mainlcd_send_data(color1,color2);
}
}
}
void DisplayMainFrame()
{
int i,j;
// Csm=0x00;
// R61505U_address(0x00,0xef,0x00,0x00,0x01,0x3f,0x00,0x00,0x3f);
mainlcd_send_command(0x00,0x22);
for(i=0;i<240;i++)
{
mainlcd_send_data(0xFF,0xFF);
}
for(i=0;i<318;i++)
{
mainlcd_send_data(0xFF,0xFF);
for(j=0;j<238;j++)
{
mainlcd_send_data(0x00,0x00);
}
mainlcd_send_data(0xFF,0xFF);
}
for(i=0;i<240;i++)
{
mainlcd_send_data(0xFF,0xFF);
}
}
void ColorMainBar1()
{
int i,j,k;
// Csm=0x00;
R61505U_address(0x00,0xef,0x00,0x00,0x01,0x3f,0x00,0x00,0x00);
for(i=0;i<320;i++)
{
for(j=0;j<80;j++)
{
mainlcd_send_data(0xF8,0x00);
}
for(k=0;k<80;k++)
{
mainlcd_send_data(0x07,0xE0);
}
for(k=0;k<80;k++)
{
mainlcd_send_data(0x00,0x1F);
}
}
}
void ColorMainBar2()
{
int i,j,k,l;
R61505U_address(0x00,0xef,0x00,0x00,0x01,0x3f,0x00,0x00,0x00);
mainlcd_send_command(0x00,0x22);
for(i=0;i<107;i++)
{
for(l=0;l<240;l++)
{
mainlcd_send_data(0xF8,0x00);
}
}
for(j=0;j<106;j++)
{
for(l=0;l<240;l++)
{
mainlcd_send_data(0x07,0xE0);
}
}
for(k=0;k<107;k++)
{
for(l=0;l<240;l++)
{
mainlcd_send_data(0x00,0x1F);
}
}
}
void MemMainColor(int k, int xline, int ycol)
{
int i,j;
Csm=0x00;
for(i=0;i<ycol;i++)
{
for(j=0;j<xline;j++)
{
mainlcd_send_data(XBYTE[k++],XBYTE[k++]);
}
}
}
void key_function1()
{
unsigned char key_flag1=0;
// if(!key1) key_flag1=1;
do
{
if(!key1) key_flag1=1;
Delay(10);
}
while(key_flag1==0);
Delay(30);
key_flag1=0;
}
void men_photo1()
{
memic_id=0xe8;
MemMainColor(0x0000,240,136);
memic_id=0xe9;
MemMainColor(0x0000,240,136);
memic_id=0xee;
MemMainColor(0x0000,240,48);
}
void men_photo2()
{
memic_id=0xea;
MemMainColor(0x0000,240,136);
memic_id=0xeb;
MemMainColor(0x0000,240,136);
memic_id=0xee;
MemMainColor(0x5A00,240,48);
}
void men_photo3()
{
memic_id=0xec;
MemMainColor(0x0000,240,136);
memic_id=0xed;
MemMainColor(0x0000,240,136);
memic_id=0xef;
MemMainColor(0x0000,240,48);
}
void main_R61505U_initial()
{
//************* Start Initial Sequence **********//
mainlcd_send_command(0x00,0x00); mainlcd_send_data(0x00,0x00);
mainlcd_send_command(0x00,0x00); mainlcd_send_data(0x00,0x00);
mainlcd_send_command(0x00,0x00); mainlcd_send_data(0x00,0x00);
mainlcd_send_command(0x00,0x00); mainlcd_send_data(0x00,0x00);
mainlcd_send_command(0x00,0xb0); mainlcd_send_data(0x00,0x00); //freq= Hz
mainlcd_send_command(0x00,0x00); mainlcd_send_data(0x00,0x00); Delay(50);
mainlcd_send_command(0x00,0x07); mainlcd_send_data(0x00,0x00); Delay(50);
mainlcd_send_command(0x00,0x12); mainlcd_send_data(0x00,0x00); Delay(50);
mainlcd_send_command(0x00,0x70); mainlcd_send_data(0x27,0x00);
mainlcd_send_command(0x00,0x08); mainlcd_send_data(0x04,0x05);
/*************************** gamma setting ************************************/
mainlcd_send_command(0x00,0x30); mainlcd_send_data(0x00,0x00);
mainlcd_send_command(0x00,0x31); mainlcd_send_data(0x01,0x05);
mainlcd_send_command(0x00,0x32); mainlcd_send_data(0x00,0x04);
mainlcd_send_command(0x00,0x33); mainlcd_send_data(0x00,0x07); //PRP1[2:0],PRP0[2:0]
mainlcd_send_command(0x00,0x34); mainlcd_send_data(0x01,0x05);
mainlcd_send_command(0x00,0x35); mainlcd_send_data(0x00,0x01);
mainlcd_send_command(0x00,0x36); mainlcd_send_data(0x07,0x07);
mainlcd_send_command(0x00,0x37); mainlcd_send_data(0x07,0x00); //PRN1[2:0],PRN0[2:0]
mainlcd_send_command(0x00,0x38); mainlcd_send_data(0x03,0x00);
mainlcd_send_command(0x00,0x39); mainlcd_send_data(0x00,0x00);
/***************************************************************************/
mainlcd_send_command(0x00,0x15); mainlcd_send_data(0x00,0x01);
mainlcd_send_command(0x00,0x10); mainlcd_send_data(0x66,0xb0);
mainlcd_send_command(0x00,0x11); mainlcd_send_data(0x01,0x47); Delay(30); //VC=;
mainlcd_send_command(0x00,0x12); mainlcd_send_data(0x01,0x0a); Delay(30);
mainlcd_send_command(0x00,0x13); mainlcd_send_data(0x9E,0x23); Delay(30);
mainlcd_send_command(0x00,0x01); mainlcd_send_data(0x01,0x00);
mainlcd_send_command(0x00,0x02); mainlcd_send_data(0x07,0x00);
mainlcd_send_command(0x00,0x03); mainlcd_send_data(0x40,0x30);
#ifdef _REV_
mainlcd_send_command(0x00,0x71); mainlcd_send_data(0x00,0x01);
#else
mainlcd_send_command(0x00,0x71); mainlcd_send_data(0x00,0x00);
#endif
mainlcd_send_command(0x00,0x90); mainlcd_send_data(0x01,0x08);
mainlcd_send_command(0x00,0x91); mainlcd_send_data(0x00,0x00);
mainlcd_send_command(0x00,0x92); mainlcd_send_data(0x00,0x00);
mainlcd_send_command(0x00,0x09); mainlcd_send_data(0x00,0x00);
mainlcd_send_command(0x00,0x80); mainlcd_send_data(0x00,0x00);
mainlcd_send_command(0x00,0x81); mainlcd_send_data(0x00,0x00);
mainlcd_send_command(0x00,0x82); mainlcd_send_data(0x01,0x3f);
mainlcd_send_command(0x00,0x83); mainlcd_send_data(0x00,0x00);
mainlcd_send_command(0x00,0x84); mainlcd_send_data(0x00,0x00);
mainlcd_send_command(0x00,0x85); mainlcd_send_data(0x01,0x3f);
mainlcd_send_command(0x00,0x50); mainlcd_send_data(0x00,0x00);
mainlcd_send_command(0x00,0x51); mainlcd_send_data(0x00,0xef);
mainlcd_send_command(0x00,0x52); mainlcd_send_data(0x00,0x00);
mainlcd_send_command(0x00,0x53); mainlcd_send_data(0x01,0x3f);
//display on
mainlcd_send_command(0x00,0x10); mainlcd_send_data(0x76,0xb0); Delay(20);//
mainlcd_send_command(0x00,0x12); mainlcd_send_data(0x11,0x18); Delay(20);//
mainlcd_send_command(0x00,0x07); mainlcd_send_data(0x32,0x33);
}
main()
{
DataH=0xff;
DataL=0xff;
// Contr=0xff;
memic_id=0xff;
sc=0x01;
Csm=0x00;
Reset=0x00;
Delay(25);
Reset=0x01;
Delay(25);
main_R61505U_initial();
read_id();
key_function1();
while(1)
{
ScrMainFullColor(0xF8,0x00);
key_function1();
ScrMainFullColor(0x07,0xE0);
key_function1();
ScrMainFullColor(0x00,0x1F);
key_function1();
ScrMainFullColor(0x00,0x00);
key_function1();
ScrMainFullColor(0xFF,0xFF);
key_function1();
DisplayMainFrame();
key_function1();
ColorMainBar1();
key_function1();
men_photo1();
key_function1();
men_photo2();
key_function1();
men_photo3();
key_function1();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -