亚洲春色中文字幕久久久-三上亚,91精品国产亚一区二区三区,久久久九色综合亚洲成色777,涩涩视频下载,国产午夜亚洲精品午夜鲁丝片,国产精品A一区二区三区腾讯导航,影音先锋色情AV在线看片,蜜臀国产在线视频,极品少妇高潮啪啪无码吴梦梦 ,精品人妻无码一区二区三区手机版

標(biāo)題: STM8L驅(qū)動(dòng)ST7567A-12864LCD屏 [打印本頁(yè)]

作者: xiaobin119    時(shí)間: 2019-3-15 14:39
標(biāo)題: STM8L驅(qū)動(dòng)ST7567A-12864LCD屏
這幾天搞了一個(gè)LCD屏,供應(yīng)商給的代碼賊多問(wèn)題,自己調(diào)通了。驅(qū)動(dòng)粘貼出來(lái)。
#define A0_UP GPIO_SetBits(GPIOC,GPIO_Pin_0)  
#define A0_DOWN GPIO_ResetBits(GPIOC,GPIO_Pin_0)

#define CS_UP GPIO_SetBits(GPIOB,GPIO_Pin_4)  
#define CS_DOWN GPIO_ResetBits(GPIOB,GPIO_Pin_4)

#define RST_UP GPIO_SetBits(GPIOB,GPIO_Pin_7)  
#define RST_DOWN GPIO_ResetBits(GPIOB,GPIO_Pin_7)

#define SCLK_UP GPIO_SetBits(GPIOB,GPIO_Pin_5)  
#define SCLK_DOWN GPIO_ResetBits(GPIOB,GPIO_Pin_5)

#define SDA_UP GPIO_SetBits(GPIOB,GPIO_Pin_6)  
#define SDA_DOWN GPIO_ResetBits(GPIOB,GPIO_Pin_6)


/*
********************************************************************************
*                              內(nèi)部靜態(tài)函數(shù)定義
********************************************************************************
*/                    
       
/*
********************************************************************************
*                              全局函數(shù)定義
********************************************************************************
*/
/******************************************************************************
* 名          稱:  delay_us
* 功          能:  
* 入口參數(shù):  無(wú)
* 出口參數(shù):  無(wú)
*******************************************************************************/
void delay_us(char us_value)        //delay about 1 us
{
        while(us_value--)
        {
                nop();
                nop();
                nop();
        }
}
/******************************************************************************
* 名          稱:  delay_ms
* 功          能:  
* 入口參數(shù):  無(wú)
* 出口參數(shù):  無(wú)
*******************************************************************************/
void delay_ms(int ms_value)        //delay about 1 ms
{
        int k;

        for(k=0;k<ms_value;k++)
        {
                delay_us(200);
        }
}
/******************************************************************************
* 名          稱:  delay_ms
* 功          能:  
* 入口參數(shù):  無(wú)
* 出口參數(shù):  無(wú)
*******************************************************************************/
void wr_cmd(char x)
{   
        unsigned char ii,DA;
        SCLK_DOWN;
        CS_DOWN;
        nop();
        A0_DOWN;
        DA=x;
        for(ii=0;ii<8;ii++)
        {
                if((DA&0x80)==0x80)
                SDA_UP;
                else  SDA_DOWN;
                SCLK_UP;
                nop();nop();nop();nop();
                SCLK_DOWN;
                DA=DA<<1;
        }
        CS_UP;
        nop();
}
/******************************************************************************
* 名          稱:  wr_data
* 功          能:  
* 入口參數(shù):  無(wú)
* 出口參數(shù):  無(wú)
*******************************************************************************/
void        wr_data(unsigned char x)
{      
        unsigned char ii,DA;
        SCLK_DOWN;
        CS_DOWN;nop();
            A0_UP;
        DA=x;
        for(ii=0;ii<8;ii++)
        {
            if((DA&0x80)==0x80)
            SDA_UP;
            else  SDA_DOWN;
            SCLK_UP;
            nop();nop();nop();nop();
            SCLK_DOWN;
            DA=DA<<1;
         }
        CS_UP;nop();

}
/******************************************************************************
* 名          稱:  初始化LCD
* 功          能:  初始化IO口
* 入口參數(shù):  無(wú)
* 出口參數(shù):  無(wú)
*******************************************************************************/
void lcd_init(void)
{
        GPIO_Init(GPIOB,GPIO_Pin_7,GPIO_Mode_Out_PP_Low_Fast);
        GPIO_Init(GPIOB,GPIO_Pin_6,GPIO_Mode_Out_PP_Low_Fast);
        GPIO_Init(GPIOB,GPIO_Pin_5,GPIO_Mode_Out_PP_Low_Fast);
        GPIO_Init(GPIOB,GPIO_Pin_4,GPIO_Mode_Out_PP_Low_Fast);
        GPIO_Init(GPIOC,GPIO_Pin_0,GPIO_Mode_Out_PP_Low_Fast);
        GPIO_Init(GPIOC,GPIO_Pin_1,GPIO_Mode_Out_PP_Low_Fast);
        RST_UP;
        delay_ms(10);
        RST_DOWN;
        delay_ms(50);
        RST_UP;
        delay_ms(10);
        wr_cmd(0xe3);
        wr_cmd(0xA2);
        wr_cmd(0xA0);
        wr_cmd(0xc8);
        wr_cmd(0x2c);
        wr_cmd(0x2e);
        wr_cmd(0x2F);

        wr_cmd(0X25);//對(duì)比度微調(diào)
        wr_cmd(0x81);
        wr_cmd(constr);

        wr_cmd(0xAF);
        wr_cmd(0x40);
        delay_ms(10);       



}
/******************************************************************************
* 名          稱:  disp_panxl
* 功          能:  
* 入口參數(shù):  無(wú)
* 出口參數(shù):  無(wú)
*******************************************************************************/

void disp_panxl(unsigned char dat1,unsigned char dat2)
{
        unsigned char ii,jj;
        wr_cmd(0x40);
        for(ii=0;ii<4;ii++)
        {
                wr_cmd(SBP+ii);       
                wr_cmd(0x10);
                wr_cmd(0x00+QSS);                  
                for(jj=0;jj<64;jj++)
                        {
                                wr_data(dat1);
                                wr_data(dat2);
                              }
        }
        for(ii=0;ii<4;ii++)
        {
                wr_cmd(XBP+ii);       
                wr_cmd(0x10);                  
                wr_cmd(0x00+QSS);                  
                for(jj=0;jj<64;jj++)
                        {
                                wr_data(dat1);
                                wr_data(dat2);
                              }
        }
                  
}
/******************************************************************************
* 名          稱:  clr_screen
* 功          能:  
* 入口參數(shù):  無(wú)
* 出口參數(shù):  無(wú)
*******************************************************************************/
void clr_screen(void)
{
    disp_panxl(0x00,0x00);
}
/******************************************************************************
* 名          稱:  Draw_panxel
* 功          能:  
* 入口參數(shù):  無(wú)
* 出口參數(shù):  無(wú)
*******************************************************************************/
void Draw_panxel(uint8_t start_Row,uint8_t start_COL_H,uint8_t start_COL_L,const unsigned char * data)
{
    unsigned char jj,col;
    uint8_t draw[64];
    memcpy_user(draw,data,64);
    for(col = 0;col < 4;col ++)
    {
        wr_cmd(start_Row+col);
        wr_cmd(start_COL_H);
        wr_cmd(start_COL_L);
        for(jj =0;jj<16;jj++)
        {
            wr_data(draw[jj+ col*16]);
        }
    }
}

ST7567A_V1.1.pdf

1.59 MB, 下載次數(shù): 86, 下載積分: 黑幣 -5

驅(qū)動(dòng)芯片datasheet

字模提取V21.rar

256.05 KB, 下載次數(shù): 44, 下載積分: 黑幣 -5

取模軟件






歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1