51单片机驱动控制彩屏系列讲座
第二讲:单片机STC89C52+RA8889驱动控制彩屏 代码移植介绍
文件 | 说明 |
---|---|
RA8889.c | 底层API程序 |
RA8889_API.c | 用户层API程序(可选) |
RA8889_MCU_IF.c | MCU通信函数 |
UserDef.h | 参数配置:屏参、频率等 |
重点要移植的代码是RA8889.c,这份程序可以根据功能需求进行裁切移植,而RA8889_API.c这份是API接口程序,代码多,根据实际功能需求进行裁切。RA8889_MCU_IF.c则可以根据实际通信方式进行选择裁切。
UserDef.h 配置相关参数、宏定义,另外还有一份delay.c,这里的延时函数需要用户根据自己的主频进行调整。根据51单片机,移植好了核心代码放在 RA8889_01_Kernel 文件架里面:
上一讲已针对51基础功能进行了基础移植,并根据51单片机进行优化,该代码使用的是AT070TN92兼容屏,若您手上的液晶屏是其它型号,要变更屏的参数配置Set_LCD_Panel(),不清楚可以在本bbs论坛留言。
使用Keil来编辑时,程序添加到项目中:
路径包含:
/* SPI初始化 */
SPI4_Init();
/* RA8889硬件复位 */
SPI_RST = 1;
delay_ms(1);
SPI_RST = 0;
delay_ms(1);
SPI_RST = 1;
/* RA8889初始化 */
RA8889_Initial();
这样初始化也就做完了,接下来单片机就可以开始绘图了。
/* 画矩形填充 */
Foreground_color_16M(0x0);
Square_Start_XY(0,0);
Square_End_XY(799,479);
Start_Square_Fill();
RA8889内建图形驱动引擎,可以绘制各种几何图形:方形,三角形,圆形,椭圆形等等,您可以根据需求再从RA8889标准参考程序里面找到RA8889.c,根据功能进行裁剪。
/* 内建文字显示测试 */
Foreground_color_16M(0xFFFFFF);
Goto_Text_XY(124,30);
Show_String("Solution: 89C52 + RA8889.");
Goto_Text_XY(124,60);
Show_String("RA8889 is an efficient TFT LCD CONTROLLER.");
Goto_Text_XY(124,90);
Show_String("It has an embedded decoder for JPG and AVI.");
在移植时,有可能不成功,这里介绍一点经验:
审核编辑 黄宇
全部0条评论
快来发表一下你的评论吧 !