標(biāo)題: 51單片機(jī)STC8H8K64U通過(guò)RA8889/RA8876如何控制彩屏(I2C源碼下載) [打印本頁(yè)]

作者: harchy    時(shí)間: 2024-6-28 16:02
標(biāo)題: 51單片機(jī)STC8H8K64U通過(guò)RA8889/RA8876如何控制彩屏(I2C源碼下載)
本帖最后由 harchy 于 2024-7-19 10:39 編輯

文章導(dǎo)引:

(1)51單片機(jī)(STC8051U34K64)RA8889_SPI4參考代碼(v1.3)
(2)51單片機(jī)STC8H8K64U通過(guò)RA8889/RA8876如何控制彩屏(I2C源碼下載)
(3)51單片機(jī)(STC8H8K64U/STC8051U34K64)_RA8889_8080參考代碼(v1.3)

單片機(jī)實(shí)際不限,這里采用的STC最新、主推的型號(hào),比如STC8H8K64U、STC8051U34K64進(jìn)行實(shí)驗(yàn)測(cè)試,您可以換用不同型號(hào)。目前測(cè)試這兩個(gè)系列,顯示速度均相當(dāng)不錯(cuò),軟件設(shè)計(jì)也是極為簡(jiǎn)單。各篇文章下方均提供源碼供參考下載。

RA8889是一款瑞佑科技推出的高性能液晶控制芯片,單片機(jī)下指令即可,可以驅(qū)動(dòng)最高1366x768等液晶屏,其內(nèi)建JEPG解碼引擎,圖形驅(qū)動(dòng)引擎,因此顯示速度相當(dāng)不錯(cuò),是單片機(jī)擴(kuò)展彩屏UI的好搭檔。也有低階的型號(hào)比如RA8871M,RA8873M等,可根據(jù)實(shí)際需求選擇。


本例提供軟件模擬I2C通信代碼,下方簡(jiǎn)單做一下介紹。

【硬件部份】

一、硬件連接實(shí)物:
本例仍采用STC8H8K64U這顆來(lái)做主控MCU,使用I2C通信方式,只需要2條線即可,接線極其簡(jiǎn)單!請(qǐng)看實(shí)際接線:



二、I2C連接電路圖:
RA8889和單片機(jī)的接口采用I2C,傳輸?shù)那?位,是指I2C 的Spec 中定義的從屬 (Slave) 端地址。前6 位代表RA8889 的I2C Device ID。接下來一位是A0,代表周期類型。
當(dāng)A0 = 1,代表接下來的周期為讀寫(xiě)數(shù)據(jù)周期;
當(dāng)A0 = 0,代表接下來的周期為命令/狀態(tài)周期。
Device ID共6位,可自由設(shè)定,設(shè)定XI2CA[5:0]/XDB[5:0]這幾個(gè)引腳的高低電平即可,參考下圖。讀寫(xiě)周期類型分為四種,分別為:指令寫(xiě)入、狀態(tài)讀取、數(shù)據(jù)寫(xiě)入和數(shù)據(jù)讀取,由低2位A0和WR位決定。



三、RA8889開(kāi)發(fā)板一樣的也要做變更:
(1)PS2~0: 跳接為11x


(2)開(kāi)發(fā)板上之單片機(jī)103程序中,將DB67(即PE910)連接的GPIO設(shè)定為FLOATING狀態(tài),以便外接I2C使用。

【軟件部份】
四、接口定義:
  1. /* I2C IO口配置*/
  2. sbit I2C_SDA  = P2 ^ 4;         //I2C數(shù)據(jù)線(接入RA8889/RA8876之DB6)
  3. sbit I2C_SCK  = P2 ^ 5;         //I2C時(shí)鐘(接入RA8889/RA8876之DB7)
  4. sbit RA8889_RST  = P2 ^ 3;         //RA8889/RA8876復(fù)位腳
復(fù)制代碼

五、GPIO引腳配置:
STC8H8K64U單片機(jī)的GPIO引腳要做一下配置,這點(diǎn)與標(biāo)準(zhǔn)的51單片機(jī)有所不同,單片機(jī)的P2.7作為I2C_SDA,接到RA8889/RA8876的SDA輸出,故該接口作如此配置:
  1.         P2M0 = 0xff; P2M1 = 0x30;                //設(shè)置P2.4~2.5為開(kāi)漏【注意:這兩腳需要上拉電阻 1~10K】,其它為推挽模式
復(fù)制代碼

六、源碼下載:
STC8H_RA8889_I2C_v1.3.7z (14.4 MB, 下載次數(shù): 14)






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