培训网站建设的背景,自己弄一个网站要多少钱,h5网站开发流程,网站建设方案调查分析报告本篇介绍单片机使用硬件I2C方式控制RA8889驱动彩屏。 提供STC8H8K64U和STC8051U34K64的参考代码。
【硬件部份】STC8H8K64U/STC8051U34K64 RA8889开发板 7寸TFT 800x480
1. 实物连接图#xff1a;STC8H8K64URA8889开发板#xff0c;使用P2口I2C接口#xff1a; 2.实物连…本篇介绍单片机使用硬件I2C方式控制RA8889驱动彩屏。 提供STC8H8K64U和STC8051U34K64的参考代码。
【硬件部份】STC8H8K64U/STC8051U34K64 RA8889开发板 7寸TFT 800x480
1. 实物连接图STC8H8K64URA8889开发板使用P2口I2C接口 2.实物连接图STC8051U34K64RA8889开发板使用P2口I2C接口 3.RA8889的I2C电路连接图 4.RA8889开发板的接口说明I2C接口主要使用到DB6(SDA)和DB7(SCK) 5.单片机的引脚图STC8H8K64U 6.单片机的引脚图STC8051U34K64 7. STC8H8K64U与RA8889开发板详细连接说明 8. STC8051U34K64与RA8889开发板详细连接说明 【软件部份】
9. STC8H8K64U与RA8889的连接
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡STC8H8K64U硬件接线≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ [P2.4]I2C_SDA — 接RA8889的SDA DB[6] (XSDA) [P2.5]I2C_SCK ---- 接RA8889的SCL DB[7] (XSCL) [P2.3]GPIO ---- RA8889的复位 RA8889_RST ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ 在RA8889_MCU_IF.h文件中进行配置定义
/* 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复位脚10. STC8051U34K64与RA8889的连接
≡≡≡≡≡≡≡≡≡≡≡≡≡≡STC8051U34K64硬件接线≡≡≡≡≡≡≡≡≡≡≡≡≡≡ [P2.3]I2C_SDA — 接RA8889的SDA DB[6] (XSDA) [P2.4]I2C_SCK ---- 接RA8889的SCL DB[7] (XSCL) [P2.2]GPIO ---- RA8889的复位 RA8889_RST ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ 在RA8889_MCU_IF.h文件中进行配置定义
/* I2C IO口配置*/
sbit I2C_SDA P2 ^ 3; //I2C数据线接入RA8889/RA8876之DB6
sbit I2C_SCK P2 ^ 4; //I2C时钟接入RA8889/RA8876之DB7
sbit RA8889_RST P2 ^ 2; //RA8889/RA8876复位脚11. STC8H8K64U配置IO口
在main.c中配置I2C的IO口 P2M0 0xff; P2M1 0x30; //设置P2.4~2.5为开漏【注意这两脚需要上拉电阻 1~10K】其它为推挽模式12. STC8051U34K64配置IO口
在main.c中配置I2C的IO口
P2M0 0xff; P2M1 0x18; //设置P2.3~2.4为开漏【注意这两脚需要上拉电阻 1~10K】其它为推挽模式13. STC8H8K64U的I2C初始化
在RA8889_MCU_IF.c文件中设定I2C初始化
/* I2C初始化 */
void I2C_Initial(void)
{P_SW2 | 0x80; //扩展寄存器(XFR)访问使能P_SW2 | 0x10; //I2C选择P2.5/SCK,P2.4/SDA, 00:P1.5,P1.4; 01:P2.5,P2.4; 10:P7.7,P7.6; 11:P3.2,P3.3I2CCFG 0xE0; //使能I2C 主机模式 MSSPEED[5:0]100000b32I2C总线速度Fosc/2/(MSSPEED*24)在12MHz时当前通信速度约88KHzI2CMSST 0x00; //I2C主机状态寄存器清0
}14. STC8051U34K64的I2C初始化
在RA8889_MCU_IF.c文件中设定I2C初始化
/* I2C初始化 */
void I2C_Initial(void)
{P_SW2 | 0x80; //扩展寄存器(XFR)访问使能P_SW2 | 0x00; //I2C选择P2.4/SCK,P2.3/SDA, 00:P2.4,P2.3; 01:P1.5,P1.4; 10:N.A.; 11:P3.2,P3.3I2CCFG 0xE0; //使能I2C 主机模式 MSSPEED[5:0]32。 I2C总线速度Fosc/2/(MSSPEED*24)在12MHz时当前通信速度约88KHzI2CPSCR 0x00; //I2C时钟分频高位 MSSPEED[13:6]0I2CMSST 0x00; //I2C主机状态寄存器清0
}***注意二者对I2C接口定义不同寄存器要求也略微不同故初始化有轻微差异实际使用时务必要注意同时头文件也要注意引用。
15. RA8889开发板的补充说明
1PS[2:0]跳线I2C通信方式请配置为11x:
2要将RA8889_Demo文件夹内的RA8889_Demo_F103_8080_SPI_floating_firmware.hex下载到开发板上通过开发板上的MCU将RA8889的MCU接口配置为I2C同时将I2C的硬件地址配置为111111。
【源码下载】
请到原文下载。