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

標題: 51單片機+LCD12864串行顯示程序 [打印本頁]

作者: 美琴的備胎    時間: 2021-5-24 14:07
標題: 51單片機+LCD12864串行顯示程序
如題,論壇里串行顯示LCD12864的例程,要不就是不清晰,甚至有錯誤,網上一些資料或者要會員(我不說是哪家),要不就是有誤。我的這個程序是我親測可用的,接線也很明確。供壇友們下載。
附圖,實際操作圖

單片機程序節選
/********************************************************************
* 名稱 : delay()
* 功能 : 延時,延時時間為 100us * t。這是通過軟件延時,有一定誤差。
* 輸入 : t
* 輸出 : 無
***********************************************************************/
void delay(unsigned int t)
{
    unsigned int i,j;
    for(i=0; i<t;  i++)
    for(j=0; j<10; j++);
}

/********************************************************************
* 名稱 : sendbyte()
* 功能 : 按照液晶的串口通信協議,發送數據
* 輸入 : zdata
* 輸出 : 無
***********************************************************************/
void sendbyte(unsigned char zdata)
{
    unsigned int i;
    for(i=0; i<8; i++)
    {
        if((zdata << i) & 0x80)
        {
            SID = 1;
        }
        else
        {
            SID = 0;
        }
        SCLK = 0;
        SCLK = 1;
    }
}

/********************************************************************
* 名稱 : write_com()
* 功能 : 寫串口指令
* 輸入 : cmdcode
* 輸出 : 無
***********************************************************************/
void write_com(unsigned char cmdcode)
{
    CS = 1;
    sendbyte(0xf8);
    sendbyte(cmdcode & 0xf0);
    sendbyte((cmdcode << 4) & 0xf0);
    delay(2);
}

/********************************************************************
* 名稱 : write_data()
* 功能 : 寫串口指令
* 輸入 : cmdcode
* 輸出 : 無
***********************************************************************/
void write_data(unsigned char Dispdata)
{
    CS = 1;
    sendbyte(0xfa);
    sendbyte(Dispdata & 0xf0);
    sendbyte((Dispdata << 4) & 0xf0);
    delay(2);
}

/********************************************************************
* 名稱 : lcdinit()
* 功能 : 初始化函數
* 輸入 : cmdcode
* 輸出 : 無
***********************************************************************/
void lcdinit()
{  
//    RST = 0;
//    delay(100);
//    RST = 1;
//    delay(20000);
    write_com(0x30);
    delay(50);
    write_com(0x0c);
    delay(50);
}


代碼下載: 串行12864.zip (26 KB, 下載次數: 301)

作者: lyMarvin    時間: 2021-5-24 16:04
感謝有你,謝謝分享!
作者: tean    時間: 2021-7-20 15:13
這個怎么顯示變量數字
作者: 美琴的備胎    時間: 2022-2-7 09:32
tean 發表于 2021-7-20 15:13
這個怎么顯示變量數字

把數字拆開放到數組里試試

作者: zzzllq    時間: 2022-6-29 21:48
超級有用,感謝樓主
作者: ywd683    時間: 2022-8-4 05:41
感謝有你,謝謝分享!
作者: 紅燒魚頭    時間: 2022-11-11 10:08
最后是不是少了把CS拉低的語句?
作者: mengsiu    時間: 2022-11-11 11:02
我以前也用12864的顯示屏,也是用串行方式驅動。
現在我喜歡用一個19264的屏,SPI的,10塊錢一個。





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