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

📄 6963._c

📁 液晶驱动程序
💻 _C
字号:
/*******************************************************************************
**                      T6963C液晶驱动 RT240128
**                         MAGE16L 8M
********************************************************************************
**创 建 人:杨如峰
**文 件 名:240128.c
**创建日期:2005-11-17 
**版 本 号:yrf0422
*******************************************************************************/
#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(uint time)
{
        uint i;
        while(time--)
           for(i=0;i<1000;i++);
              
}
/***********************************************************************************/
void lcd_wd(uchar lcd_data)/*写数据*/
{
        LCD_DDR          = 0X00;
        LCD_CODE_P      &= ~(BIT(LCD_RD) | BIT(LCD_CE));
        /*LCD_CODE_P       = 0XF9;*/
        while((LCD_DATA & 0X03) != 0X03);
        LCD_RD_H;
        LCD_CD_L;
        LCD_RW_L;
        /*LCD_CODE_P       = 0XF2;*/
        LCD_DDR          = 0XFF;
        LCD_PORT         = lcd_data;
        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      = 0XF9;*/
        while((LCD_DATA & 0X03) != 0X03);
        LCD_RD_H;
		LCD_CD_H;
        LCD_RW_L;
        /*LCD_CODE_P       = 0XFA;*/
        LCD_DDR          = 0XFF;
        LCD_PORT         = lcd_code;
        LCD_CODE_P       |= (BIT(LCD_RW) | BIT(LCD_RD) | BIT(LCD_CD) | BIT(LCD_CE));
}
/***********************************************************************************/
void lcd_wc3(uchar lcd_code,uchar lcd_data1,uchar 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_wc3(0x40,0,0);     //设置文本显示区首地址
        lcd_wc3(0x41,30,0);    //设置文本显示区宽度
        lcd_wc3(0x42,0,0);     //设置图形显示区首地址
        lcd_wc3(0x43,30,0);    //设置图形显示区宽度
		lcd_wc(0x80);          //设置显示模式为逻辑“或”模式
        lcd_wc(0x98);          //开显示,图形显示
}
/***********************************************************************************/
void lcd_clear(uchar lcd_data)
{
        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(lcd_data);/* Write display data */
                }
        }                               
        lcd_wc(0xb2);                    /* Awroff (auto reset) */
		lcd_wc3(0x24,0,0);               /* 设置地址指针 */
}
/***********************************************************************************/
void lcd_print(uchar x,uchar y,uchar 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);
		lcd_wc3(0x24,0,0);               /* 设置地址指针 */
}

⌨️ 快捷键说明

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