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

📄 ra8803.c

📁 RA8803 DRIVER
💻 C
📖 第 1 页 / 共 4 页
字号:
 
#include <reg52.h>
#include <intrins.h>
#include <absacc.h>


typedef unsigned char uchar;
typedef unsigned int uint;


sbit RST=P1^3;
sbit CS=P1^4;
sbit GO=P3^3;
sbit busy=P3^4;
/************************************************************************************/
unsigned char code TAB[];  

void Delayms(uint s)
{
    uint a,b;
	for(a=0;a<s;a++)
	for(b=225;b!=0;b--);
}

void Wait()
{  
    while(1)
    {   
        if(GO==0)
        {
            Delayms(150);
			while(~GO);
            return;
        }
    }
}	 
//-------------------------------------------------------------------------------
void WriteCommand(uchar add,uchar cmd)
{
    CS=0;
	XBYTE[0xf000]=add; 
	CS=1;
	Delayms(3);
	CS=0;
	XBYTE[0xf000]=cmd;
	CS=1;
	Delayms(3);
}

//-------------------------------------------------------------------------------
void WriteData(uchar d)
{   
    CS=0;
    while(busy);
	XBYTE[0xf200]=d;
	CS=1;
}

      
void LCMInitial() 
{
    CS=0;
    RST=1;  
	Delayms(10);
    RST=0;
	Delayms(100);
	RST=1;
	CS=1;
	Delayms(80);
	WriteCommand(0x01,0xF1);//system clock	
	WriteCommand(0x02,0x02);//advance power setup register
	WriteCommand(0x03,0x80);//advance display setup register
	WriteCommand(0x10,0x28);//cursor control register
	WriteCommand(0x11,0xf0);//distance of word or lines register
	WriteCommand(0x12,0x91);//memory access mode register
	
	WriteCommand(0x21,0X27);//display window right register
	WriteCommand(0x31,0Xef);//display window bottom register
	WriteCommand(0x41,0x00);//display window left register
	WriteCommand(0x51,0x00);//display window top register

	WriteCommand(0x20,0X27);//active window right register
	WriteCommand(0x30,0XEF);//active window bottom register
	WriteCommand(0x40,0x00);//active window left register
	WriteCommand(0x50,0x00);//active window top register

	WriteCommand(0x61,0x00);//shift action rang begin segment register
	WriteCommand(0x71,0x00);//shift action rang begin comon register
	WriteCommand(0x72,0x3f);//shift action rang end comon register
	WriteCommand(0x80,0x00);//blink time register
	WriteCommand(0x90,0x06);//shift clock control register

	WriteCommand(0x81,0x0c);//frame rate polarity change at common_a register
	WriteCommand(0xc0,0x00);//touch panel conrol register
	WriteCommand(0xa0,0x0B);
	WriteCommand(0xa1,0x00);//key scan control register

   	WriteCommand(0xf0,0xa0);//font control register
	WriteCommand(0xd0,0x07);

 	WriteCommand(0x00,0xc5);//display modle 
	WriteCommand(0x60,0x00);//cursor position x register
	WriteCommand(0x70,0x00);//cursor position y register

}	

Display_v(uchar d)
{	
    uchar v,h; 
    WriteCommand(0x00,0xc5);//display modle 
	WriteCommand(0x60,0x00);//cursor position x register
	WriteCommand(0x70,0x00);//cursor position y register  
	for(h=0;h<240;h++)
	for(v=0;v<40;v++)
	WriteData(d);
	Wait();
}

Display_h(uchar d1,uchar d2)
{	
    uchar v,h; 
    WriteCommand(0x00,0xc5);//display modle 
	WriteCommand(0x60,0x00);//cursor position x register
	WriteCommand(0x70,0x00);//cursor position y register  
	for(h=0;h<240;h++)
	for(v=0;v<40;v++)
        h%2==0?WriteData(d1):WriteData(d2);  
	Wait();
}

Display_bmp(uchar *ptr)
{	
    uchar v,h; 
    WriteCommand(0x00,0xc5);//display modle 
	WriteCommand(0x60,0x00);//cursor position x register
	WriteCommand(0x70,0x00);//cursor position y register  
	for(h=0;h<40;h++)
	for(v=0;v<240;v++)
	WriteData(*ptr++);
	Wait();
}	      

void main()
{
    LCMInitial();
	while(1)
	{
	    Display_v(0xff);
	    Display_v(0x00);
	    Display_v(0x55);
	    Display_v(0xaa);
	    Display_h(0x00,0xff);
	    Display_h(0xff,0x00);
	    Display_h(0xaa,0x55);
	    Display_h(0x55,0xaa);
		Display_bmp(TAB);
    }
	
}


unsigned char code TAB[]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

⌨️ 快捷键说明

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