【硬件部份】
一、硬件连接实物:
本例仍采用STC8H8K64U(或者STC8051U34K64等等)来做主控MCU,使用I2C通信方式,只需要2条线即可,接线极其简单!请看实际接线:
注:I2C接口上拉1~10K电阻。
二、I2C连接电路图:
RA8889和单片机的接口采用I2C,传输的前7位,是指I2C 的Spec 中定义的从属 (Slave) 端地址。前6 位代表RA8889 的I2C Device ID。接下來一位是A0,代表周期類型。
当A0 = 1,代表接下來的周期为读写数据周期;
当A0 = 0,代表接下來的周期为命令/状态周期。
Device ID共6位,可自由设定,设定XI2CA[5:0]/XDB[5:0]这几个引脚的高低电平即可,参考下图。读写周期类型分为四种,分别为:指令写入、状态读取、数据写入和数据读取,由低2位A0和WR位决定。
三、RA8889开发板一样的也要做变更:
(1)PS2~0: 跳接为11x
(2)开发板上之单片机103程序中,将DB6 ~ 7(即PE9~10)连接的GPIO设定为FLOATING状态,以便外接I2C使用。
【软件部份】
四、接口定义:
/* I2C IO口配置*/
sbit I2C_SDA = P2 ^ 4; //I2C数据线(接入RA8889/RA8876之DB6)
sbit I2C_SCK = P2 ^ 5; //I2C时钟(接入RA8889/RA8876之DB7)
sbit RA8889_RST = P2 ^ 3; //RA8889/RA8876复位脚
五、GPIO引脚配置:
STC8H8K64U单片机的GPIO引脚要做一下配置,这点与标准的51单片机有所不同,该接口作如此配置:
P2M0 = 0xff; P2M1 = 0x30; //设置P2.4~2.5为开漏【注意:这两脚需要上拉电阻 1~10K】,其它为推挽模式
六、程序演示画面参考SPI接口的视频:
该视频介绍的是使用SPI通信,换为I2C通信方式,效果一样,显示速度相近。
STC8H单片机通过RA8889驱动TFT彩屏之软件解说
七、源码下载:
请在PC端顶部获取下载链接;
或者至官方论坛进行下载。源文地址:
https://bbs.lcdvision.com.cn/forum.php?mod=viewthread&tid=51