【硬件部份】
一、硬件连接实物:
本例仍采用STC8H8K64U这颗来做主控MCU,使用I2C通信方式,只需要2条线即可,接线极其简单!请看实际接线:
二、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程序中,将DB67(即PE910)连接的GPIO设定为FLOATING状态,以便外接I2C使用。
【软件部份】
四、接口定义:
/* I2C IO口配置*/
sbit I2C_SDA = P2 ^ 7; //I2C数据线(接入RA8889/RA8876之DB6)
sbit I2C_SCK = P2 ^ 6; //I2C时钟(接入RA8889/RA8876之DB7)
sbit RA8889_RST = P2 ^ 5; //RA8889/RA8876复位脚
五、GPIO引脚配置:
STC8H8K64U单片机的GPIO引脚要做一下配置,这点与标准的51单片机有所不同,单片机的P2.7作为I2C_SDA,接到RA8889/RA8876的SDA输出,故该接口作如此配置:
P2M0 = 0x7F; //设置P2.7为双向口模式,其它为推挽输出模式,该脚为I2C_SDA
P2M1 = 0x00;
六、程序演示画面参考SPI接口的视频:
该视频介绍的是使用SPI通信,换为I2C通信方式,效果一样,显示速度相近。请参考来人上一篇SPI源代码的贴子。
七、源码下载:
*附件:STC8H_RA8889_I2C_v1.2a.zip[]()
审核编辑 黄宇
-
彩屏
+关注
关注
0文章
48浏览量
21610 -
51单片机
+关注
关注
270文章
5682浏览量
121402 -
源码
+关注
关注
8文章
599浏览量
28736
发布评论请先 登录
相关推荐
评论