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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5342|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 色橹橹欧美在线观看视频高清 | 91久久| 国产午夜精品一区二区三区嫩草 | 午夜精品久久久久久不卡欧美一级 | 色婷婷av一区二区三区软件 | 午夜寂寞影院在线观看 | 精品视频一区二区三区四区 | 精品乱码一区二区三四区 | 免费观看一级特黄欧美大片 | 蜜桃免费一区二区三区 | 999精品在线观看 | 黄色男女网站 | 国产日韩一区二区三区 | 精品无码三级在线观看视频 | 成人午夜影院 | 狠狠色狠狠色综合日日92 | 亚洲成人一区二区 | 久久综合久久自在自线精品自 | 精品欧美乱码久久久久久1区2区 | 精品欧美视频 | 欧美日韩国产在线 | 黄色av网站在线免费观看 | 久久福利 | 久久久久久久久久久福利观看 | 黄a网| 久久久久久九九九九 | 精品中文在线 | 久久久久久久久国产 | 97av视频 | 99精品免费 | 狠狠av| 日本精品久久久久久久 | 成人久久18免费网站 | 日韩成人在线电影 | 97色免费视频 | 国产午夜在线 | 国产精品久久久久久久久久了 | 成人h动漫精品一区二区器材 | 国产剧情久久 | 干干干日日日 | 黄色毛片免费看 |