找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STC單片機(jī)調(diào)試接口驅(qū)動LCD12864 源程序

[復(fù)制鏈接]
ID:78835 發(fā)表于 2022-12-8 17:57 | 顯示全部樓層 |閱讀模式
最近看STC的下載軟件更新了, 里面居然有一些調(diào)試接口。今天研究了一下,成功驅(qū)動起來了。使用的是STC8G1K17,其他單片機(jī)亦可。
51hei截圖_20221208175116.png

可以寫入自定義的字符或者圖片,也可以寫入內(nèi)置的漢字。用法和液晶基本一樣,只不過STC是通過串口驅(qū)動。
STC官網(wǎng)有驅(qū)動的例子,結(jié)合官網(wǎng)給的例子,自己修改了一下。
這個LCD取模是逐行式,順向,高位在前。
主要使用了這2個函數(shù):
/***********************************************************
函數(shù)結(jié)果:STCISP_LCD12864_PosString
備  注:
命令格式: 4CH 43H 44H 80H 03H A7H X Y
命令說明:  
1~4字節(jié):         命令頭
5字節(jié):         后面有效數(shù)據(jù)長度
6字節(jié):         功能選擇(A7H顯示字符串)
7字節(jié):         開始顯示字符串的X坐標(biāo)(列號,范圍0~7)
8字節(jié):         開始顯示字符串的Y坐標(biāo)(行號,范圍0~3)
***********************************************************/
void STCISP_LCD12864_PosString(uint8_t X,uint8_t Y, char *String)
{
    STCISP_LCD12864_SetBuf(strlen(String) + 1, String);//發(fā)送到緩沖區(qū)
    STCISP_LCD12864_SetHeader();
    MyLCD.STCISP_UartTxBuf[4] = 3;//有效數(shù)據(jù)長度
    MyLCD.STCISP_UartTxBuf[5] = 0xA7;//功能選擇(A7H顯示字符串)
    MyLCD.STCISP_UartTxBuf[6] = X;
    MyLCD.STCISP_UartTxBuf[7] = Y;

    Uart_COM1_WR_NByte(8,(uint8_t *)&MyLCD.STCISP_UartTxBuf[0]);
}
/***********************************************************
函數(shù)結(jié)果:STCISP_LCD12864_PosArray
備  注:
命令格式: 4CH 43H 44H 80H 05H A8H X Y FillHigh FillWide
命令說明:  
1~4字節(jié):         命令頭
5字節(jié):         后面有效數(shù)據(jù)長度
6字節(jié):         功能選擇(A8H顯示圖片)
7字節(jié):         開始顯示圖片的X坐標(biāo)(列號,范圍0~7)
8字節(jié):         開始顯示圖片的Y坐標(biāo)(行號,范圍0~3)
9字節(jié):         圖片的寬度(列數(shù),范圍1~8)
10字節(jié):        圖片的高度(行數(shù),范圍1~64)
***********************************************************/
void STCISP_LCD12864_PosArray(uint8_t X , uint8_t FillWide , uint8_t Y , uint8_t FillHigh , uint8_t *Array)
{        
    STCISP_LCD12864_SetBuf((uint16_t)(FillHigh*(FillWide*2UL)), Array);//發(fā)送到緩沖區(qū)
    STCISP_LCD12864_SetHeader();
    MyLCD.STCISP_UartTxBuf[4] = 5;//有效數(shù)據(jù)長度
    MyLCD.STCISP_UartTxBuf[5] = 0xA8;//功能選擇(A8H顯示圖片)
    MyLCD.STCISP_UartTxBuf[6] = X;
    MyLCD.STCISP_UartTxBuf[7] = Y;
    MyLCD.STCISP_UartTxBuf[8] = FillWide;
    MyLCD.STCISP_UartTxBuf[9] = FillHigh;

    Uart_COM1_WR_NByte(10,(uint8_t *)&MyLCD.STCISP_UartTxBuf[0]);
}

附件有完整Keil代碼工程: STC8G1K17.zip (89.49 KB, 下載次數(shù): 21)




評分

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

查看全部評分

回復(fù)

使用道具 舉報

ID:961114 發(fā)表于 2022-12-9 09:54 | 顯示全部樓層
樓主有沒有開天斧 可以去官方申請一套 包郵送  很大方
回復(fù)

使用道具 舉報

ID:78835 發(fā)表于 2022-12-9 10:47 | 顯示全部樓層
STC莊偉 發(fā)表于 2022-12-9 09:54
樓主有沒有開天斧 可以去官方申請一套 包郵送  很大方

沒哦,在官網(wǎng)申請嗎?
回復(fù)

使用道具 舉報

ID:1042619 發(fā)表于 2022-12-9 16:08 | 顯示全部樓層
濤qq623942603 發(fā)表于 2022-12-9 10:47
沒哦,在官網(wǎng)申請嗎?

您@我頭像,我來給您安排
回復(fù)

使用道具 舉報

ID:433219 發(fā)表于 2022-12-9 17:08 | 顯示全部樓層
就當(dāng)是st7920串行液晶用了
回復(fù)

使用道具 舉報

ID:1042619 發(fā)表于 2022-12-10 12:04 | 顯示全部樓層
謝謝樓主精彩分享,目前OLED12864相對更流行。可以淺試我們STC8H8K64U核心功能學(xué)習(xí)板里面的OLED12864范例程序:
    STC8H8K64U-ISP OLED12864.JPG.12.png
STC8H8K64U開天斧OLED12864程序.jpg.png



回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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