📄 ra8806.c
字号:
}
//==============================================================================
//Subroutine: LCD_GotoXY
//Function: LCD Cursor X-Y
//==============================================================================
void LCD_GotoXY(uchar x, uchar y)
{
LCD_CmdWrite(CURX);
LCD_DataWrite((x & B0011_1111));
Delay2us(1);
LCD_CmdWrite(CURY);
LCD_DataWrite((y & B1111_1111));
Delay2us(1);
}
//==============================================================================
//Subroutine: LCD_Graphic
//Function:
//==============================================================================
void LCD_Graphic(void)
{
uchar temp;
LCD_CmdWrite(WLCR);
temp = LCD_DataRead();
temp &= cClrb3;
LCD_CmdWrite(WLCR);
LCD_DataWrite(temp);
}
void LCD_Text(void)
{
uchar temp;
LCD_CmdWrite(WLCR);
temp = LCD_DataRead();
temp |= cSetb3;
LCD_CmdWrite(WLCR);
LCD_DataWrite(temp);
}
//==============================================================================
//Subroutine: LCD_Cursor_Inc
//Function:
//==============================================================================
void LCD_Cursor_Inc(void)
{
uchar temp;
LCD_CmdWrite(WCCR);
temp = LCD_DataRead();
temp &= cClrb7;
LCD_CmdWrite(WCCR);
LCD_DataWrite(temp);
}
void LCD_Cursor_No_Inc(void)
{
uchar temp;
LCD_CmdWrite(WCCR);
temp = LCD_DataRead();
temp |= cSetb7;
LCD_CmdWrite(WCCR);
LCD_DataWrite(temp);
}
//==============================================================================
//Subroutine: LCD_Cursor_Inc
//Function:
//==============================================================================
void LCD_GB_Sel(void)
{
uchar temp;
LCD_CmdWrite(WLCR);
temp = LCD_DataRead();
temp |= cSetb4;
LCD_CmdWrite(WLCR);
LCD_DataWrite(temp);
}
//==============================================================================
//Subroutine: LCD_Cursor_Inc
//Function:
//==============================================================================
void Reverse_Data(void)
{
uchar temp;
LCD_CmdWrite(WCCR);
temp = LCD_DataRead();
temp |= cSetb5;
LCD_CmdWrite(WCCR);
LCD_DataWrite(temp);
}
//==============================================================================
//Subroutine: LCD_Cursor_Inc
//Function:
//==============================================================================
void NoReverse_Data(void)
{
uchar temp;
LCD_CmdWrite(WCCR);
temp = LCD_DataRead();
temp &= cClrb5;
LCD_CmdWrite(WCCR);
LCD_DataWrite(temp);
}
//==============================================================================
//Subroutine: Cursor_Shift_Direct_HV
//Function:
//==============================================================================
void Cursor_Shift_Direct_HV(void)
{
uchar temp;
LCD_CmdWrite(MAMR);
temp = LCD_DataRead();
temp &= cClrb7;
LCD_CmdWrite(MAMR);
LCD_DataWrite(temp);
}
//==============================================================================
//Subroutine: Cursor_Shift_Direct_VH
//Function:
//==============================================================================
void Cursor_Shift_Direct_VH(void)
{
uchar temp;
LCD_CmdWrite(MAMR);
temp = LCD_DataRead();
temp |= cSetb7;
LCD_CmdWrite(MAMR);
LCD_DataWrite(temp);
}
//==============================================================================
//Subroutine: SEG_DIR_0_319
//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);
}
//==============================================================================
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -