久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5451|回復: 0
收起左側

STM8L驅動ST7567A-12864LCD屏

[復制鏈接]
ID:491448 發表于 2019-3-15 14:39 | 顯示全部樓層 |閱讀模式
這幾天搞了一個LCD屏,供應商給的代碼賊多問題,自己調通了。驅動粘貼出來。
#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)


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

        for(k=0;k<ms_value;k++)
        {
                delay_us(200);
        }
}
/******************************************************************************
* 名          稱:  delay_ms
* 功          能:  
* 入口參數:  無
* 出口參數:  無
*******************************************************************************/
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
* 功          能:  
* 入口參數:  無
* 出口參數:  無
*******************************************************************************/
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口
* 入口參數:  無
* 出口參數:  無
*******************************************************************************/
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);//對比度微調
        wr_cmd(0x81);
        wr_cmd(constr);

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



}
/******************************************************************************
* 名          稱:  disp_panxl
* 功          能:  
* 入口參數:  無
* 出口參數:  無
*******************************************************************************/

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
* 功          能:  
* 入口參數:  無
* 出口參數:  無
*******************************************************************************/
void clr_screen(void)
{
    disp_panxl(0x00,0x00);
}
/******************************************************************************
* 名          稱:  Draw_panxel
* 功          能:  
* 入口參數:  無
* 出口參數:  無
*******************************************************************************/
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, 下載次數: 86, 下載積分: 黑幣 -5

驅動芯片datasheet

字模提取V21.rar

256.05 KB, 下載次數: 44, 下載積分: 黑幣 -5

取模軟件

評分

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

查看全部評分

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕高清视频 | 国产精品v | 国产69精品久久99不卡免费版 | 久久精品国产一区二区三区 | 婷婷激情在线 | av在线电影网站 | 亚洲综合区| 成年网站在线观看 | 国产剧情久久 | 成年视频在线观看 | 日韩一区二区三区视频 | 国产精品入口麻豆www | 欧美日韩一区二区三区四区五区 | 在线91 | 精精国产xxxx视频在线播放 | 理伦毛片 | 日韩午夜 | 国产在线精品一区二区三区 | 亚洲精品www久久久 www.蜜桃av | 天堂视频免费 | 日韩欧美三区 | 日韩中文一区 | 欧美性大战久久久久久久蜜臀 | 国产免费自拍 | 国产精品美女久久久久aⅴ国产馆 | 精品日韩一区二区三区 | 成人在线一区二区 | 成人免费观看男女羞羞视频 | 午夜视频导航 | 高清黄色网址 | 天堂va在线观看 | av看看| 怡红院免费的全部视频 | 国产精品一区二区三区久久 | 91伊人 | 欧美一级在线 | 超碰人人爱 | 欧美综合一区 | 成人亚洲精品久久久久软件 | 久久国产精品-国产精品 | 日本又色又爽又黄的大片 |