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

📄 ra8820.c

📁 RA8820 DRIVER
💻 C
字号:
/*jcg160160a02-01.c*/
#include <stdio.h>
#include <INTRINS.H>
#include <REG52.H>

#include"jcg160160a.txt"
#include"jcg160160b.txt"
#include"jcg160160c.txt"
#include"jcg160160d.txt"
sbit RST=P1^4;
sbit CS1= P1^3;
sbit E= P1^0;
sbit RW=P1^1;
sbit RS=P1^2;

#define LCD_Command P0
#define LCD_Data    P0


void DelayXms(unsigned int i)
{
	unsigned char a;
	unsigned int b;
   	for(b=0;b<i;b++)
        for(a=0;a<255;a++);
}

void DelayXs(unsigned char i)
{
	unsigned char a;
   	for(a=0;a<i;a++)
        DelayXms(1000);
}

void LCD_Reset(void)  
{
//CS1=0;
//CS2=1;
RST = 1;
DelayXms(20);//10
RST = 0;
DelayXms(30);//50
RST = 1;
DelayXms(50);//150

}

void LCD_CmdWrite(unsigned char Cmd_Data)  
{
/*LCD_ChkBusy();   */          //Call LCD_ChkBusy to Check Busy Bit
LCD_Command = Cmd_Data;

//CS1=0;
RST=1;
RS=1;
RW=0;

E=1;
_nop_();
_nop_();
E=0;
_nop_();
_nop_();

RW=1;
RS=1;

}

void LCD_DataWrite(unsigned char Data_Data)  
{
/*LCD_ChkBusy();*/       //Call LCD_ChkBusy to Check Busy Bit
LCD_Data = Data_Data;

//CS1=0;
RST=1;
RS=0;
RW=0;
//E=0;

E=1;
_nop_();
_nop_();
E=0;
_nop_();
_nop_();

RW=1;
RS=1;
}

unsigned char LCD_CmdRead(unsigned char REG_Addr)  
{
unsigned char REG_READ;
LCD_CmdWrite(REG_Addr);

RST = 1;
RW=1;
RS=1;
//CS1=0;

E=1;
_nop_();
REG_READ = LCD_Command;
_nop_();
E=0;
RS=1;
return REG_READ;
}

void LCD_CursorX(unsigned char Cursor)  
{
LCD_CmdWrite(0x60);
LCD_CmdWrite(Cursor);
} 

void LCD_CursorY(unsigned char Cursor)  
{
LCD_CmdWrite(0x70);
LCD_CmdWrite(Cursor);
}

void LCD_Clear(void)  
{
    unsigned char REG_TMP;
    LCD_CmdWrite(0xE0);LCD_CmdWrite(0x00);
    REG_TMP = LCD_CmdRead(0xF0);
    REG_TMP &= (0xF7); 
    REG_TMP |= (0x08);
    LCD_CmdWrite(0xF0);
    LCD_CmdWrite(REG_TMP);
    DelayXms(1);
} 

void writebmp(unsigned char *bmp) 
{    
  unsigned char i,j;
    
      DelayXms(20);
       LCD_Clear();
        LCD_CmdWrite(0x0);
	LCD_CmdWrite(0xC5);
       for(i=0;i<160;i++)
	{    LCD_CursorX(0x00);
		LCD_CursorY(i);
		 for(j=0;j<20;j++)
		 {  
		  LCD_DataWrite(*bmp++);
		  
		 }
	}
	DelayXs(10);
}








init()
{
	CS1=0;
    LCD_Reset();
    DelayXms(50);

    LCD_CmdWrite(0x00);LCD_CmdWrite(0xC1); /*LCD Controller register*/
    LCD_CmdWrite(0x08);LCD_CmdWrite(0x4F); /*4f.Misc register*/
    LCD_CmdWrite(0x10);LCD_CmdWrite(0x23); /*Cursor Controller*/ 
    LCD_CmdWrite(0x18);LCD_CmdWrite(0x10); /*cursor size register*/

    LCD_CmdWrite(0x20);LCD_CmdWrite(0x13); /*Active windows set default*/
    LCD_CmdWrite(0x30);LCD_CmdWrite(0x9F); /*Active windows set default*/
    LCD_CmdWrite(0x40);LCD_CmdWrite(0x00); /*Active windows set default*/
    LCD_CmdWrite(0x50);LCD_CmdWrite(0x00); /*Active windows set default*/

    LCD_CmdWrite(0x28);LCD_CmdWrite(0x13); /*display windows set*/
    LCD_CmdWrite(0x38);LCD_CmdWrite(0x9F); /*display windows set*/
    LCD_CmdWrite(0x48);LCD_CmdWrite(0x00); /*display windows set*/
    LCD_CmdWrite(0x58);LCD_CmdWrite(0x00); /*display windows set*/

    LCD_CmdWrite(0x60);LCD_CmdWrite(0x00); /*cursor  position  X register*/
    LCD_CmdWrite(0x70);LCD_CmdWrite(0x00); /*cursor  position  Y register*/

    LCD_CmdWrite(0x80);LCD_CmdWrite(0x23); /*Cursor Controller time*/
    LCD_CmdWrite(0x90);LCD_CmdWrite(0x1D); /*21 shift clock control register*/

    LCD_CmdWrite(0xB0);LCD_CmdWrite(0x13); /*intx default*///13
    LCD_CmdWrite(0xA0);LCD_CmdWrite(0x00); /*intr*/
    LCD_CmdWrite(0xB8);LCD_CmdWrite(0x9F); /*inty default*/


    LCD_CmdWrite(0xC0);LCD_CmdWrite(0xF0); /*touch panel control register*/
    LCD_CmdWrite(0xD0);LCD_CmdWrite(0x23); /*LCD contrast adjust register*/
    LCD_CmdWrite(0xE0);LCD_CmdWrite(0x00); /*pattern dta register*/ 
    LCD_CmdWrite(0xF0);LCD_CmdWrite(0xA8); /*font control register*/ 

    LCD_Clear();

    LCD_CmdWrite(0x10);LCD_CmdWrite(0x3b);
    LCD_CmdWrite(0x10);LCD_CmdWrite(0x2b);
}

void main(void)
{



init();

while(1)
{
writebmp(jcg160160a);
writebmp(jcg160160b);
writebmp(jcg160160c);
writebmp(jcg160160d);
}
}

⌨️ 快捷键说明

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