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

📄 ra8806.c

📁 320x240驱动程序(网上搜集资料).rar
💻 C
📖 第 1 页 / 共 3 页
字号:
//Function:
//==============================================================================
void SEG_DIR_0_319(void)
{
	uchar temp;
	
	LCD_CmdWrite(MISC);
	temp = LCD_DataRead();
	temp &= cClrb1;
	LCD_CmdWrite(MISC);
	LCD_DataWrite(temp);
}

//==============================================================================
//Subroutine:	SEG_DIR_319_0
//Function:
//==============================================================================
void SEG_DIR_319_0(void)
{
	uchar temp;
	
	LCD_CmdWrite(MISC);
	temp = LCD_DataRead();
	temp |= cSetb1;
	LCD_CmdWrite(MISC);
	LCD_DataWrite(temp);
}

//==============================================================================
//Subroutine:	COM_DIR_0_239
//Function:
//==============================================================================
void COM_DIR_0_239(void)
{
	uchar temp;
	
	LCD_CmdWrite(MISC);
	temp = LCD_DataRead();
	temp &= cClrb0;
	LCD_CmdWrite(MISC);
	LCD_DataWrite(temp);
}

//==============================================================================
//Subroutine:	COM_DIR_239_0
//Function:
//==============================================================================
void COM_DIR_239_0(void)
{
	uchar temp;
	
	LCD_CmdWrite(MISC);
	temp = LCD_DataRead();
	temp |= cSetb0;
	LCD_CmdWrite(MISC);
	LCD_DataWrite(temp);
}

//==============================================================================
//Subroutine:	Scroll_Dir_LR_TB
//Function:
//==============================================================================
void Scroll_Dir_LR_TB(void)
{
	uchar temp;
	
	LCD_CmdWrite(ADSR);
	temp = LCD_DataRead();
	temp &= cClrb2;
	LCD_CmdWrite(ADSR);
	LCD_DataWrite(temp);
}

//==============================================================================
//Subroutine:	Scroll_Dir_RL_BT
//Function:
//==============================================================================
void Scroll_Dir_RL_BT(void)
{
	uchar temp;
	
	LCD_CmdWrite(ADSR);
	temp = LCD_DataRead();
	temp |= cSetb2;
	LCD_CmdWrite(ADSR);
	LCD_DataWrite(temp);
}

//==============================================================================
//Subroutine:	Horizontal_Scroll
//Function:
//==============================================================================
void Horizontal_Scroll(void)
{
	uchar temp;
	
	LCD_CmdWrite(ADSR);
	temp = LCD_DataRead();
	temp &= cClrb1;
	LCD_CmdWrite(ADSR);
	LCD_DataWrite(temp);
}

//==============================================================================
//Subroutine:	Vertical_Scroll
//Function:
//==============================================================================
void Vertical_Scroll(void)
{
	uchar temp;
	
	LCD_CmdWrite(ADSR);
	temp = LCD_DataRead();
	temp |= cSetb1;
	LCD_CmdWrite(ADSR);
	LCD_DataWrite(temp);
}

//==============================================================================
//Subroutine:	Scroll_Enable
//Function:
//==============================================================================
void Scroll_Enable(void)
{
	uchar temp;
	
	LCD_CmdWrite(ADSR);
	temp = LCD_DataRead();
	temp |= cSetb0;
	LCD_CmdWrite(ADSR);
	LCD_DataWrite(temp);
}

//==============================================================================
//Subroutine:	Scroll_Disable
//Function:
//==============================================================================
void Scroll_Disable(void)
{
	uchar temp;
	
	LCD_CmdWrite(ADSR);
	temp = LCD_DataRead();
	temp &= cClrb0;
	LCD_CmdWrite(ADSR);
	LCD_DataWrite(temp);
}

//==============================================================================
//Subroutine:	Clock_Output_Enable
//Function:
//==============================================================================
void Clock_Output_Enable(void)
{
	uchar temp;
	
	LCD_CmdWrite(MISC);
	temp = LCD_DataRead();
	temp |= cSetb6;
	LCD_CmdWrite(MISC);
	LCD_DataWrite(temp);
}

//==============================================================================
//Subroutine:	Clock_Output_Disable
//Function:
//==============================================================================
void Clock_Output_Disable(void)
{
	uchar temp;
	
	LCD_CmdWrite(MISC);
	temp = LCD_DataRead();
	temp &= cClrb6;
	LCD_CmdWrite(MISC);
	LCD_DataWrite(temp);
}

//==============================================================================
//Subroutine:	XCLK_Speed_x1
//Function:
//==============================================================================
void XCLK_Speed_x1(void)
{
	uchar temp;
	
	LCD_CmdWrite(MISC);
	temp = LCD_DataRead();
	temp &= cClrb2;
	LCD_CmdWrite(MISC);
	LCD_DataWrite(temp);
}

//==============================================================================
//Subroutine:	XCLK_Speed_x0d5
//Function:
//==============================================================================
void XCLK_Speed_x0d5(void)
{
	uchar temp;
	
	LCD_CmdWrite(MISC);
	temp = LCD_DataRead();
	temp |= cSetb2;
	LCD_CmdWrite(MISC);
	LCD_DataWrite(temp);
}


//==============================================================================
//Subroutine:	Gray_Mode
//Function:
//==============================================================================
void Gray_Mode(void)
{
	uchar temp;
	
	LCD_CmdWrite(MAMR);
	temp = LCD_DataRead();
	temp &= cClrb6;
	temp &= cClrb5;
	temp &= cClrb4;
	LCD_CmdWrite(MAMR);
	LCD_DataWrite(temp);
}

//==============================================================================
//Subroutine:	Enable_LongKey
//Function:
//==============================================================================
void Enable_LongKey(void)
{
	uchar temp;

	LCD_CmdWrite(KSCR1);	
	temp = LCD_DataRead();
	temp |= cSetb3;
	LCD_CmdWrite(KSCR1);
	LCD_DataWrite(temp);
}

//==============================================================================
//Subroutine:	Only_Show_Page2
//Function:
//==============================================================================
void Only_Show_Page2(void)
{
	uchar temp;
	
	LCD_CmdWrite(MAMR);
	temp = LCD_DataRead();
	temp &= cClrb6;
	temp |= cSetb5;
	temp &= cClrb4;
	LCD_CmdWrite(MAMR);
	LCD_DataWrite(temp);
}

//==============================================================================
//Subroutine:	Only_Show_Page1
//Function:
//==============================================================================
void Only_Show_Page1(void)
{
	uchar temp;
	
	LCD_CmdWrite(MAMR);
	temp = LCD_DataRead();
	temp &= cClrb6;
	temp &= cClrb5;
	temp |= cSetb4;
	LCD_CmdWrite(MAMR);
	LCD_DataWrite(temp);
}

//==============================================================================
//Subroutine:	Show_Two_Layer
//Function:
//==============================================================================
void Show_Two_Layer(void)
{
	uchar temp;
	
	LCD_CmdWrite(MAMR);
	temp = LCD_DataRead();
	temp &= cClrb6;
	temp |= cSetb5;
	temp |= cSetb4;
	LCD_CmdWrite(MAMR);
	LCD_DataWrite(temp);
}

//==============================================================================
//Subroutine:	XOR_Two_Layer
//Function:
//==============================================================================
void XOR_Two_Layer(void)
{
	uchar temp;
	
	LCD_CmdWrite(MAMR);
	temp = LCD_DataRead();
	temp &= cClrb3;
	temp |= cSetb2;
	LCD_CmdWrite(MAMR);
	LCD_DataWrite(temp);
}

//==============================================================================
//Subroutine:	Reverse_Block
//Function:
//==============================================================================
void Reverse_Block(uchar XP, uchar YP)
{
	uchar i;
	LCD_Graphic();
	LCD_GotoXY(XP,YP);
	
	for(i=0;i<16;i++)
	{
		LCD_CmdWrite(0xb0);
		LCD_DataWrite(0xff);
		LCD_DataWrite(0xff);
		LCD_GotoXY(XP,YP+i+1);
	}
}

//==============================================================================
//Subroutine:	Access_2Page
//Function:
//==============================================================================
void Access_Page0(void)
{
	uchar temp;
	
	LCD_CmdWrite(MAMR);
	temp = LCD_DataRead();
	temp &= cClrb1;
	temp &= cClrb0;
	LCD_CmdWrite(MAMR);
	LCD_DataWrite(temp);
}

//==============================================================================
//Subroutine:	Access_Page2
//Function:
//==============================================================================
void Access_Page2(void)
{
	uchar temp;
	
	LCD_CmdWrite(MAMR);
	temp = LCD_DataRead();
	temp |= cSetb1;
	temp &= cClrb0;
	LCD_CmdWrite(MAMR);
	LCD_DataWrite(temp);
}

//==============================================================================
//Subroutine:	Access_Page1
//Function:
//==============================================================================
void Access_Page1(void)
{
	uchar temp;
	
	LCD_CmdWrite(MAMR);
	temp = LCD_DataRead();
	temp &= cClrb1;
	temp |= cSetb0;
	LCD_CmdWrite(MAMR);
	LCD_DataWrite(temp);
}

//==============================================================================
//Subroutine:	Access_2Page
//Function:
//==============================================================================
void Access_2Page(void)
{
	uchar temp;
	
	LCD_CmdWrite(MAMR);
	temp = LCD_DataRead();
	temp |= cSetb1;
	temp |= cSetb0;
	LCD_CmdWrite(MAMR);
	LCD_DataWrite(temp);
}

//==============================================================================
//Subroutine:	Two_Layer_OR
//Function:
//==============================================================================
void Two_Layer_OR(void)
{
	uchar temp;
	
	LCD_CmdWrite(MAMR);
	temp = LCD_DataRead();
	temp &= cClrb3;
	temp &= cClrb2;
	LCD_CmdWrite(MAMR);
	LCD_DataWrite(temp);
}

//==============================================================================
//Subroutine:	Two_Layer_XOR
//Function:
//==============================================================================
void Two_Layer_XOR(void)
{
	uchar temp;
	
	LCD_CmdWrite(MAMR);
	temp = LCD_DataRead();
	temp &= cClrb3;
	temp |= cSetb2;
	LCD_CmdWrite(MAMR);
	LCD_DataWrite(temp);
}

//==============================================================================
//Subroutine:	Two_Layer_NOR
//Function:
//==============================================================================
void Two_Layer_NOR(void)
{
	uchar temp;
	
	LCD_CmdWrite(MAMR);
	temp = LCD_DataRead();
	temp |= cSetb3;
	temp &= cClrb2;
	LCD_CmdWrite(MAMR);
	LCD_DataWrite(temp);
}

//==============================================================================
//Subroutine:	Two_Layer_XOR
//Function:
//==============================================================================
void Two_Layer_AND(void)
{
	uchar temp;
	
	LCD_CmdWrite(MAMR);
	temp = LCD_DataRead();
	temp |= cSetb3;
	temp |= cSetb2;
	LCD_CmdWrite(MAMR);
	LCD_DataWrite(temp);
}


//==============================================================================
//Subroutine:	LCD_PrintStr 1
//Function:		
//==============================================================================
void LCD_PrintStrD100ms(uchar *ptr, uchar x, uchar y, uchar time)
{
	LCD_GotoXY(x, y);
	
	while(*ptr != 0)
	{
		LCD_DataWrite(*ptr);
		ptr++;
		Delay100ms(time);
	}
}

//==============================================================================
//Subroutine:	LCD_PrintStr 2
//Function:		
//==============================================================================
void LCD_PrintStr(uchar *ptr, uchar cXSize)
{
	uchar temp;

	LCD_CmdWrite(0xB0);
	for(temp=0 ; temp<cXSize ; temp++)
	{
		LCD_DataWrite(*ptr);
		Delay2us(50);
		ptr++;
	}
}

//==============================================================================
//Subroutine:	LCD_PrintStr 2
//Function:		
//==============================================================================
void LCD_PrintStr_Delay_100us(uchar *ptr, uchar cXSize, uchar Delay_time)
{
	uchar temp;

	LCD_CmdWrite(0xB0);
	for(temp=0 ; temp<cXSize ; temp++)
	{
		LCD_DataWrite(*ptr);
		Delay100us(Delay_time);
		ptr++;
	}
}

//==============================================================================
//Subroutine:	LCD_PrintStr 2
//Function:		
//==============================================================================
void LCD_PrintStr_Delay_100ms(uchar *ptr, uchar cXSize, uchar Delay_time)
{
	uchar temp;

	LCD_CmdWrite(0xB0);
	for(temp=0 ; temp<cXSize ; temp++)
	{
		LCD_DataWrite(*ptr);
		Delay100ms(Delay_time);
		ptr++;
	}
}


//==============================================================================
//Subroutine:	Bold
//Function:
//==============================================================================
void LCD_Bold(void)
{
	uchar temp;
	
	LCD_CmdWrite(WCCR);
	temp = LCD_DataRead();
	temp |= cSetb4;
	LCD_CmdWrite(WCCR);
	LCD_DataWrite(temp);
}

void LCD_NoBold(void)
{
	uchar temp;
	
	LCD_CmdWrite(WCCR);
	temp = LCD_DataRead();
	temp &= cClrb4;
	LCD_CmdWrite(WCCR);
	LCD_DataWrite(temp);
}

//==============================================================================
//Subroutine:	Inv
//Function:
//==============================================================================
void LCD_Inv(void)
{
	uchar temp;
	
	LCD_CmdWrite(WCCR);
	temp = LCD_DataRead();
	temp |= cSetb5;				
	LCD_CmdWrite(WCCR);
	LCD_DataWrite(temp);
}

void LCD_NoInv(void)
{
	uchar temp;

	LCD_CmdWrite(WCCR);
	temp = LCD_DataRead();
	temp &= cClrb5;				
	LCD_CmdWrite(WCCR);
	LCD_DataWrite(temp);
}

//==============================================================================
//Subroutine:	GInv
//Function:
//==============================================================================
void LCD_GInv(void)
{
	uchar temp;

	LCD_CmdWrite(WLCR);	
	temp = LCD_DataRead();
	temp |= cSetb0;
	LCD_CmdWrite(WLCR);
	LCD_DataWrite(temp);
}

void LCD_NoGInv(void)
{
	uchar temp;
	
	LCD_CmdWrite(WLCR);
	temp = LCD_DataRead();
	temp &= cClrb0;
	LCD_CmdWrite(WLCR);
	LCD_DataWrite(temp);
}

//==============================================================================
//Subroutine:	Set_Bit_Order
//Function:
//==============================================================================
void Set_Bit_Order(void)
{
	uchar temp;

	LCD_CmdWrite(ADSR);	
	temp = LCD_DataRead();
	temp |= cSetb3;
	LCD_CmdWrite(ADSR);
	LCD_DataWrite(temp);
}

void Clr_Bit_Order(void)
{
	uchar temp;

	LCD_CmdWrite(ADSR);	
	temp = LCD_DataRead();
	temp &= cClrb3;
	LCD_CmdWrite(ADSR);
	LCD_DataWrite(temp);
}
//==============================================================================
//Subroutine:	Show Hex
//Function:		
//==============================================================================
void Print_Hex(uchar buf)
{
	uchar temp;
	temp=buf;
	temp = (temp >>4) & 0x0F;

⌨️ 快捷键说明

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