📄 240128.c
字号:
/*******************************************************************************
T6963C液晶驱动 RT240128
MAGE88 16M
*******************************************************************************/
#include "CONFIG.H"
#define LCD_LEFT 0
#define LCD_TOP 0
#define LCD_RIGHT 239
#define LCD_BOTTOM 127
#define LCD_DELAY 0
/******************************************************************************/
void lcd_delay(unsigned int time)
{
unsigned int i;
while(time--)
{
i=1000;
while(--i);
}
}
/***********************************************************************************/
void lcd_wd(uchar lcd_data)/*写数据*/
{
LCD_DDR = 0x00;
LCD_CODE_P &= ~(BIT(LCD_RD) | BIT(LCD_CE));
LCD_CODE_P |= (BIT(LCD_RW) | BIT(LCD_CD));
while( (LCD_DATA & 0x03) != 0x03 );
LCD_RD_H;NOP();NOP();NOP();NOP();NOP();NOP();
LCD_CD_L;NOP();NOP();NOP();NOP();NOP();NOP();
LCD_RW_L;NOP();NOP();NOP();NOP();NOP();NOP();
LCD_DDR = 0XFF;
LCD_PORT = lcd_data;NOP();NOP();NOP();NOP();NOP();NOP();NOP();
LCD_CODE_P |= (BIT(LCD_RW) | BIT(LCD_RD) | BIT(LCD_CD) | BIT(LCD_CE));
}
/***********************************************************************************/
void lcd_wc(uchar lcd_code)/*写命令*/
{
LCD_DDR = 0X00;
LCD_CODE_P &= ~(BIT(LCD_RD) | BIT(LCD_CE));
LCD_CODE_P |= (BIT(LCD_RD) | BIT(LCD_CE));
while( (LCD_DATA & 0X03) != 0X03 );
LCD_RD_H;NOP();NOP();NOP();NOP();NOP();NOP();
LCD_CD_H;NOP();NOP();NOP();NOP();NOP();NOP();
LCD_RW_L;NOP();NOP();NOP();NOP();NOP();NOP();
LCD_DDR = 0XFF;
LCD_PORT = lcd_code;NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();
LCD_CODE_P |= (BIT(LCD_RW) | BIT(LCD_RD) | BIT(LCD_CD) | BIT(LCD_CE));
}
/***********************************************************************************/
void lcd_wc3(unsigned char lcd_code,unsigned char lcd_data1,unsigned char lcd_data2)
{
lcd_wd(lcd_data1);
lcd_wd(lcd_data2);
lcd_wc(lcd_code);
}
/******************************************************************************/
void lcd_init(void)
{
LCD_RES_H;
LCD_RES_L;
lcd_delay(15);
LCD_RES_H;
lcd_wc(0x80); //设置显示模式为逻辑“或”模式
lcd_wc(0x98); //开显示
lcd_wc3(0x40,0,0); //设置文本显示区首地址
lcd_wc3(0x41,30,0); //设置文本显示区宽度
lcd_wc3(0x42,0,0); //设置图形显示区首地址
lcd_wc3(0x43,30,0); //设置图形显示区宽度
}
/******************************************************************************/
void lcd_clear(unsigned char lcd_data)
{
unsigned char i,j;
lcd_wc(0x98); //打开图形显示,关闭文本显示
lcd_wc3(0x24,0,0); //设置地址指针
lcd_wc(0xb0); //设置自动写数据
for(i=0;i<128;i++)
{
for(j=0;j<30;j++)
{
lcd_wd(lcd_data); //Write display data
}
}
lcd_wc(0xb2); //Awroff (auto reset)
}
/******************************************************************************/
void lcd_print(unsigned char x,unsigned char y,unsigned char lcd_data)
{
lcd_wc(0x98);
lcd_wc3(0x24,x,y);
lcd_wc(0xb0);
lcd_wd(lcd_data);
lcd_wc(0xb2);
}
/******************************************************************************/
void lcd_print240128(cchar *str)
{
uchar i,j;
lcd_wc(0x98);
lcd_wc3(0x24,0,0);
lcd_wc(0xb0);
for(i=0;i<128;i++)
{
for(j=0;j<30;j++)
{
lcd_wd(*str++);
}
}
lcd_wc(0xb2);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -