找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 3141|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

基于ST7565的LCD12864測試程序+視頻

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:224782 發(fā)表于 2019-8-8 11:41 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
據(jù)說ST756很坑,最近做項目正好遇到,果然被坑的不輕總結(jié)而言,不能求快,尤其是質(zhì)量不太好的屏幕模塊,快了就罷工



直接貼完整驅(qū)動函數(shù)(單片機(jī)是STC15LE5A32S2,指令按照使用手冊重新排寫的,可直接移植,基本不會出問題)
/************************底層驅(qū)動函數(shù)************************/
void ms_Delay_12864(unsigned int ms)//STC12, 11.0592M  
{     
    unsigned char j;  
    while(ms --)  
    for(j = 0; j < 30; j ++); //20us=0.02ms//                             
}

void Delay_Buff( )/*數(shù)據(jù)緩沖,根據(jù)具體實物改動(下載后不顯示可適當(dāng)加長延時)*/
{
        unsigned char i;
        
        for(i = 0; i < 35; i ++)//16
        {
                _nop_( );
        }
}
                                                                  
void LCD_Write_Reg(unsigned char Command)
{
        unsigned char i, j;
        
        CS = 0;
        RS = 0;
        SCL = 0;
        
        for(i = 0; i < 8; i ++)
        {
                j = Command;
                SCL = 0;
                SI = Command & 0x80;
                SCL = 1;
                Command = j << 1;
                Delay_Buff( );/*根據(jù)具體硬件改寫,某些硬件需要緩沖,有硬件緩沖時可取消延時*/
        }
        CS = 1;
        RS = 1;
}

void LCD_Write_Byte(unsigned char byte)
{
        unsigned char i, j;
        
        CS = 0;
        RS = 1;
        SCL = 0;
        
        for(i = 0; i < 8; i ++)
        {
                j = byte;
                SCL = 0;
                SI = byte & 0x80;
                SCL = 1;
                byte = j << 1;
                Delay_Buff( );/*根據(jù)具體硬件改寫,某些硬件需要緩沖,有硬件緩沖時可取消延時*/
        }
        CS = 1;
        RS = 0;
}

void LCD_Clear( )  
{  
        unsigned char i, j;
        
        for(i = 0; i < 8; i ++)     
        {  
                LCD_Write_Reg(0xb0 + i);               // (Page = 0xB0)//設(shè)置位置   
                LCD_Write_Reg(0x10);  
                LCD_Write_Reg(0x00);      
                for(j = 0; j < 132; j ++)            //發(fā)送數(shù)據(jù)   
                {   
                        LCD_Write_Byte(0);  
                }
        }  
}

void LCD_ALL( )  
{  
        unsigned char i, j;
        
        for(i = 0; i < 8; i ++)     
        {  
                LCD_Write_Reg(0xb0 + i);               // (Page = 0xB0)//設(shè)置位置   
                LCD_Write_Reg(0x10);  
                LCD_Write_Reg(0x00);      
                for(j = 0; j < 132; j ++)            //發(fā)送數(shù)據(jù)   
                {   
                        LCD_Write_Byte(0xff);  
                }
        }  
}

void LCD_Init( )//有效命令基本已羅列
{
        RST = 0;
        ms_Delay_12864(50);
        RST = 1;
        ms_Delay_12864(20);

        LCD_Write_Reg(0xe2);//軟件復(fù)位
        ms_Delay_12864(5);
        LCD_Write_Reg(0x2c);//電源控制0x28 ~ 0xf
        ms_Delay_12864(5);
        LCD_Write_Reg(0x2e);
        ms_Delay_12864(5);
        LCD_Write_Reg(0x2f);
        ms_Delay_12864(5);
        
        LCD_Write_Reg(0xa3);//偏壓比: 0xa2 >> 1/9, 0xa3 >> 1/7
        LCD_Write_Reg(0x23);//內(nèi)部電阻比例: 0x20 ~ 0x27
        
        LCD_Write_Reg(0x81);//設(shè)置內(nèi)部液晶電壓模式
        LCD_Write_Reg(0x1d);//L: 0x00 ~ 0x3f
        LCD_Write_Reg(0x24);//H: 0x21 ~ 0x27
        
        LCD_Write_Reg(0xf8);//設(shè)置升壓倍數(shù)
        LCD_Write_Reg(0x01);//0x00 >> 2 ~ 4倍, 0x01 >> 5倍, 0x03 >> 6倍
        
        LCD_Write_Reg(0x40);//從首行開始顯示
        LCD_Write_Reg(0xa6);//0xa6 >> 正顯, 0xa7 >> 反顯
        LCD_Write_Reg(0xc8);//0xc8 >> 反向掃描, 0xc0 >> 順序掃描
        LCD_Write_Reg(0xa0);//0xa0 >> 正常顯示, 0xa1 >> 左右鏡像
        LCD_Write_Reg(0xa4);//0xa4 >> 顯示全部點(diǎn)陣, 0xa5 >>不顯示全部點(diǎn)陣
        LCD_Write_Reg(0xac);//0xac >> 靜態(tài)圖標(biāo)顯示, 0xad >> 無靜態(tài)圖標(biāo)

        LCD_Write_Reg(0xaf);//0xaf >> 顯示開, 0xae >> 顯示關(guān)
        
        LCD_Clear( );
}
/************************************************************************/

附件里有視頻、模塊說明書和ST7565操作指令表:
LCD12864-ST7565.zip (18.82 MB, 下載次數(shù): 102)

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:584814 發(fā)表于 2020-3-4 15:54 | 只看該作者
重復(fù)下載會累加扣分,網(wǎng)站源碼應(yīng)該調(diào)整。
回復(fù)

使用道具 舉報

板凳
ID:224782 發(fā)表于 2020-3-18 10:51 | 只看該作者
man1234567 發(fā)表于 2020-3-4 15:54
重復(fù)下載會累加扣分,網(wǎng)站源碼應(yīng)該調(diào)整。

下自己的也要扣分
回復(fù)

使用道具 舉報

地板
ID:138343 發(fā)表于 2020-5-10 17:28 | 只看該作者
看樣子是spi驅(qū)動的,下載來看看
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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