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

📄 lcm_au20.c.svn-base

📁 多个厂家的LCD 驱动程序
💻 SVN-BASE
字号:

#include "iMagicApi.h"
#include "LCM.h"
#include "UtilLcd.h"

//=================================================
//This file is for AU2.0"--H020HN01V1 PANEL MODULE
//
//=================================================

#if (defined(_PRIMARY_LCM_AU20) || defined(_SECONDARY_LCM_AU20))

void AU20_LCM_PowerOn(void)
{
    LCM_WriteCmd(0x10,0x0000);
    LCM_WriteCmd(0x11,0x0000);
    LCM_WriteCmd(0x12,0x0000);
    LCM_WriteCmd(0x13,0x0000);

    LCM_WriteCmd(0x11,0x0000);
    LCM_WriteCmd(0x13,0x141C);
    LCM_WriteCmd(0x12,0x0008);

    LCM_WriteCmd(0x10,0x0004);
    LCM_WriteCmd(0x10,0x0004);

    LCM_WriteCmd(0x11,0x0000);
    LCM_WriteCmd(0x10,0x0044);
    LCM_WriteCmd(0x12,0x0018);

    __TIMER_DELAY(50);

    LCM_WriteCmd(0x10,0x0404);
    LCM_WriteCmd(0x13,0x341C);
    LCM_WriteCmd(0x01,0x011B);
    LCM_WriteCmd(0x02,0x0700);
    LCM_WriteCmd(0x03,0x7030);
    LCM_WriteCmd(0x04,0x0000);
    LCM_WriteCmd(0x05,0x0000);
    LCM_WriteCmd(0x07,0x0003);
    LCM_WriteCmd(0x08,0x0202);
    LCM_WriteCmd(0x09,0x0008);
    LCM_WriteCmd(0x0B,0x0000);
    LCM_WriteCmd(0x0C,0x0001);

    LCM_WriteCmd(0x23,0x0000);
    LCM_WriteCmd(0x24,0x0000);
    LCM_WriteCmd(0x21,0x0000);
    LCM_WriteCmd(0x40,0x0000);
    LCM_WriteCmd(0x41,0x00EF);
    LCM_WriteCmd(0x42,0xDB00);
    LCM_WriteCmd(0x43,0xDB00);
    LCM_WriteCmd(0x44,0xAF00);
    LCM_WriteCmd(0x45,0xDB00);

    __TIMER_DELAY(100);

    LCM_WriteCmd(0x10,0x4440);
    LCM_WriteCmd(0x07,0x0037);
}



void AU20_LCM_DisplayOn(void)
{
    LCM_WriteCmd(0x11,0x0000);
    LCM_WriteCmd(0x13,0x1417);
    LCM_WriteCmd(0x12,0x0006);
    LCM_WriteCmd(0x10,0x0004);
    LCM_WriteCmd(0x10,0x0004);
    LCM_WriteCmd(0x11,0x0110);
    LCM_WriteCmd(0x10,0x0044);
    LCM_WriteCmd(0x12,0x001A);
    __TIMER_DELAY(40);
    LCM_WriteCmd(0x10,0x0140);
    LCM_WriteCmd(0x13,0x3417);
    LCM_WriteCmd(0x10,0x4140);
    LCM_WriteCmd(0x07,0x0005);
    __TIMER_DELAY(32);
    LCM_WriteCmd(0x07,0x0025);
    LCM_WriteCmd(0x07,0x0027);
    __TIMER_DELAY(32);
    LCM_WriteCmd(0x07,0x0037);

    LCM_WriteCmd(0x21,0x0000);
}



void AU20_LCM_DisplayOff(void)
{
    LCM_WriteCmd(0x07,0x0036);

    __TIMER_DELAY(32);

    LCM_WriteCmd(0x07,0x0026);

    __TIMER_DELAY(32);

    LCM_WriteCmd(0x07,0x0004);
    LCM_WriteCmd(0x10,0x0400);
    LCM_WriteCmd(0x12,0x0008);
    LCM_WriteCmd(0x13,0x141C);
}



void AU20_LCM_StandbyOn(void)
{
    LCM_WriteCmd(0x10,0x0401);
}



void AU20_LCM_StandbyOff(void)
{
    LCM_WriteCmd(0x00,0x0001);
    LCM_WriteCmd(0x10,0x0400);
}



void AU20_LCM_AddressRefresh(void)
{
    LCM_WriteCmd(0x21,0x0000);
    LCM_WRITE_ADR=0x22;
    __TIMER_DELAY(50);
}



void AU20_LCM_Init(U08 bTargetLCM)
{
    iMagic_Release(bTargetLCM);
    AU20_LCM_PowerOn();
    AU20_LCM_DisplayOn();
}



void AU20_LCM_Update(U08 bTargetLCM, U16 *pu16Buffer)
{
    unsigned short i,j;

    iMagic_Release(bTargetLCM);
    AU20_LCM_AddressRefresh();

    LCM_WRITE_ADR = 0x22;
    BBP_ShortDelay(_LCM_RW_DELAY_TIME);

    for (i=0;i<220;i++)
    {
        for(j=0;j<176;j++)
        {
            LCM_WRITE_DAT = *(pu16Buffer + i * 176 + j);
            BBP_ShortDelay(_LCM_RW_DELAY_TIME);
        }
    }

    //iMagic_DisableBypass();
}



void AU20_LCM_RamAddress(U08 bTargetLCM, U16 wrow, U16 wcolumn)
{
    U16  waddr;

    waddr = (wcolumn << 8) | (wrow & 0xFF);
    LCM_WriteCmd(0x21, waddr);
    LCM_WRITE_ADR = 0x22;
    BBP_ShortDelay(_LCM_RW_DELAY_TIME);
}

#endif                // #ifdef _LCM_AU20

⌨️ 快捷键说明

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