📄 demom.c
字号:
#include<aduc836.h>
#include<intrins.h>
#include<userdef.h>
#include<ra8806reg.h>
sbit bWRZ = P3^4;
sbit bRDZ = P3^5;
sbit bCSZ = P3^7;
sbit bA0 = P1^1;
sbit bRST = P1^0;
sbit DATA_BUS=P0;
void Delay2us(uchar Counter)
{
while(--Counter);
}
//==============================================================================
//Subroutine: Delay100us
//==============================================================================
void Delay100us(uchar Counter)
{
while(Counter--)
{ Delay2us(150);
}
}
//==============================================================================
//Subroutine: Delay1ms
//==============================================================================
void Delay1ms(uchar Counter)
{
while(Counter--)
{ Delay100us(11);
}
}
//==============================================================================
//Subroutine: Delay10ms
//==============================================================================
void Delay10ms(uchar Counter)
{
while(Counter--)
{ Delay1ms(11);
}
}
//==============================================================================
//Subroutine: Delay100ms
//==============================================================================
void Delay100ms(uchar Counter)
{
while(Counter--)
{ Delay1ms(101);
}
}
void LCD_Reset(void)
{
bRST = 0;
Delay100ms(5);
bRST = 1;
Delay100ms(2);
}
void LCD_CmdWrite(uchar cmd)
{
// LCD_ChkBusy();
// DATA_BUS = cmd;
bCSZ = 0;
bA0 = 1;
// DATA_BUS = cmd;
bWRZ = 0;
DATA_BUS = cmd;
// Delay2us(3);
bWRZ = 1;
// bCSZ = 0;
bCSZ = 1;
DATA_BUS = 0xff;
}
void LCD_DataWrite(uchar Data)
{
// LCD_ChkBusy();
// DATA_BUS = Data;
bCSZ = 0;
bA0 = 0;
// DATA_BUS = Data;
bWRZ = 0;
DATA_BUS = Data;
bWRZ = 1;
// bCSZ = 0;
bCSZ = 1;
DATA_BUS = 0xff;
}
uchar LCD_DataRead(void)
{
uchar Data;
bWRZ = 1;
bCSZ = 0;
bA0 = 0;
// Data = DATA_BUS;
bRDZ = 0;
Data = DATA_BUS;
bRDZ = 1;
// bCSZ = 0;
bCSZ = 1;
return(Data);
}
void LCD_Initial(void)
{
LCD_CmdWrite(WLCR); //[00H] , Default --> 0x00
LCD_DataWrite(0x00);
LCD_CmdWrite(MISC); //[01H] , Default --> 0x00
LCD_DataWrite(0x00);
LCD_CmdWrite(ADSR); //[03H] , Default --> 0x00
LCD_DataWrite(0x00);
LCD_CmdWrite(INTR); //[0FH] , Default --> 0x00
LCD_DataWrite(0x00);
LCD_CmdWrite(WCCR); //[10H] , Default --> 0x00
LCD_DataWrite(0x00);
LCD_CmdWrite(CHWI); //[11H] , Default --> 0x00
LCD_DataWrite(0x00);
LCD_CmdWrite(MAMR); //[12H] , Default --> 0x11
LCD_DataWrite(0x11);
LCD_CmdWrite(AWRR); //[20H] , Default --> 0x27
LCD_DataWrite(0x27);
LCD_CmdWrite(DWWR); //[21H] , Default --> 0x27
LCD_DataWrite(0x27);
LCD_CmdWrite(AWBR); //[30H] , Default --> 0xEF
LCD_DataWrite(0xef);
LCD_CmdWrite(DWHR); //[31H] , Default --> 0xEF
LCD_DataWrite(0xef);
LCD_CmdWrite(AWLR); //[40H] , Default --> 0x00
LCD_DataWrite(0x00);
LCD_CmdWrite(AWTR); //[50H] , Default --> 0x00
LCD_DataWrite(0x00);
LCD_CmdWrite(CURX); //[60H] , Default --> 0x00
LCD_DataWrite(0x00);
LCD_CmdWrite(BGSG); //[61H] , Default --> 0x00
LCD_DataWrite(0x00);
LCD_CmdWrite(EDSG); //[62H] , Default --> 0x00
LCD_DataWrite(0x00);
LCD_CmdWrite(CURY); //[70H] , Default --> 0x00
LCD_DataWrite(0x00);
LCD_CmdWrite(BGCM); //[71H] , Default --> 0x00
LCD_DataWrite(0x00);
LCD_CmdWrite(EDCM); //[72H] , Default --> 0x00
LCD_DataWrite(0x00);
LCD_CmdWrite(BTMR); //[80H] , Default --> 0x00
LCD_DataWrite(0x00);
LCD_CmdWrite(ITCR); //[90H] , Default --> 0x00
LCD_DataWrite(0x00);
LCD_CmdWrite(KSCR1); //[A0H] , Default --> 0x00
LCD_DataWrite(0x00);
LCD_CmdWrite(KSCR2); //[A1H] , Default --> 0x00
LCD_DataWrite(0x00);
LCD_CmdWrite(KSDR0); //[A2H] , Default --> 0x00
LCD_DataWrite(0x00);
LCD_CmdWrite(KSDR1); //[A3H] , Default --> 0x00
LCD_DataWrite(0x00);
LCD_CmdWrite(KSDR2); //[A3H] , Default --> 0x00
LCD_DataWrite(0x00);
// LCD_CmdWrite(MWCR); //[B0H] , Default --> NA
// LCD_CmdWrite(MRCR); //[B1H] , Default --> NA
// LCD_CmdWrite(TPCR); //[C0H] , Default --> 0x00
// LCD_DataWrite(0x00);
// LCD_CmdWrite(TPXR); //[C1H] , Default --> 0x00
// LCD_DataWrite(0x00);
// LCD_CmdWrite(TPYR); //[C2H] , Default --> 0x00
// LCD_DataWrite(0x00);
// LCD_CmdWrite(TPZR); //[C3H] , Default --> 0x00
// LCD_DataWrite(0x00);
LCD_CmdWrite(PCR); //[D0H] , Default --> 0x00
LCD_DataWrite(0x00);
LCD_CmdWrite(PDCR); //[D1H] , Default --> 0x00
LCD_DataWrite(0x00);
LCD_CmdWrite(PNTR); //[E0H] , Default --> 0x00
LCD_DataWrite(0x00);
LCD_CmdWrite(FNCR); //[F0H] , Default --> 0x00
LCD_DataWrite(0x00);
LCD_CmdWrite(FVHT); //[F1H] , Default --> 0x00
LCD_DataWrite(0x00);
}
void LCD_ON(void)
{
uchar temp;
LCD_CmdWrite(WLCR);
temp = LCD_DataRead();
temp |= cSetb2;
LCD_CmdWrite(WLCR);
LCD_DataWrite(temp);
}
void main(void)
{
Delay10ms(1);
LCD_Reset();
LCD_Initial();
LCD_ON();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -