欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5442|回復(fù): 0
收起左側(cè)

STM8L驅(qū)動ST7567A-12864LCD屏

[復(fù)制鏈接]
ID:491448 發(fā)表于 2019-3-15 14:39 | 顯示全部樓層 |閱讀模式
這幾天搞了一個LCD屏,供應(yīng)商給的代碼賊多問題,自己調(diào)通了。驅(qū)動粘貼出來。
#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ù):  無
* 出口參數(shù):  無
*******************************************************************************/
void delay_us(char us_value)        //delay about 1 us
{
        while(us_value--)
        {
                nop();
                nop();
                nop();
        }
}
/******************************************************************************
* 名          稱:  delay_ms
* 功          能:  
* 入口參數(shù):  無
* 出口參數(shù):  無
*******************************************************************************/
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ù):  無
* 出口參數(shù):  無
*******************************************************************************/
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ù):  無
* 出口參數(shù):  無
*******************************************************************************/
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ù):  無
* 出口參數(shù):  無
*******************************************************************************/
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);//對比度微調(diào)
        wr_cmd(0x81);
        wr_cmd(constr);

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



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

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ù):  無
* 出口參數(shù):  無
*******************************************************************************/
void clr_screen(void)
{
    disp_panxl(0x00,0x00);
}
/******************************************************************************
* 名          稱:  Draw_panxel
* 功          能:  
* 入口參數(shù):  無
* 出口參數(shù):  無
*******************************************************************************/
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ū)動芯片datasheet

字模提取V21.rar

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

取模軟件

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表