电子说
引言
本期文章介绍如何通过瑞佑的RA8889芯片,仅仅使用一个功能的接口函数,轻松拿捏液晶仪表指针的转动,实现液晶汽车仪表盘指针的转动,以及LCD液晶仪表盘所需显示的信息:如车速、油量、灯光提示、以及各种报警灯等等的显示。
下面我们进入车载液晶仪表的Demo程序,了解下RA8889如何非常简单的实现指针的转动效果,以下是keil开发环境界面,指针转动的函数代码在Car_demo()内。

如下图代码解析:

设定步骤:
1. Main_Image_Start_Address:设定显示视窗(即看到屏上显示的区域)从SDRAM的地址 0 开始;
2. IDEC_Destination_Start_Address :设定JPG图片写入SDRAM地址从 0 开始,也就是图层1;
3. BTE_Solid_Fill 是填充矩形颜色的API功能函数,这里填充黑色,起到清屏的效果。
4. avi_demo_800x640_full 播放开机视频,把视频在FLASH存放的地址,以及视频大小填入到AVI_NAND() ;API接口函数中即可播放视频。
5. SPI_NAND_initial_JPG_AVI() ; 初始化NAND FLASH,定位 BUS1、 CS2上的FLASH,为保存JPEG图片做准备。
6. JPG_NAND();读取NAND FLASH 中图片的接口函数API,_CS3[Car_BG].start_addr参数代表车载仪表背景图在FLASH中的地址,_CS3[Car_BG].img_size :JPEG大小 ;canvas_image_width:选择默认即可。最后两个参数表示图片显示在屏上的坐标。
7. BTE_Memory_Copy();通俗来说就是复制粘贴的功能,这里配置是把车载仪表背景图复制到图层3备用。
8. 设定以下调用JPG_NAND();API函数读取的FLASH图片放到指定图层,这里设定读取存放到图层2中。
9. number_i参数代表的是0-9数字小icon图标。预先把小icon放置到备用图层。
如下图代码解析:

1. 显示档位把档位P、N、R、S从FLASH中读取到RA8889 SDRAM的缓冲区做备用。
2. 读取仪表背景图到SDRAM的显示区显示
3. 把备用在图层2的数字复制到显示区显示,使用BTE_Memory_Copy 接口函数。
操作完以上功能,液晶屏如下图:

如下图代码解析:

1. 给速度设定初始值。
2. meter_needle 代表放在FLASH中的图片数据,_CS3[meter_needle].start_addr 使用结构体的方式调用对应的参数。该结构体使用瑞佑公司的Iamge Tool 工具会自动生成。
3. PIP 接口函数,使用该功能实现弹窗的效果(换挡位)。
4. 模拟速度数字变动,如下截图

使用BTE_Memory_Copy 接口函数,把预先存放在SDRAM缓冲区的数字图片复制粘贴到显示,实现数字的跳动。
以下是反复使用JPG_NAND接口函数调用指针JPEG图片,实现指针的转动,非常简单且容易上手,即可快速实现车载液晶仪表盘的方案。

指针转动的介绍就到这里,回顾一下,使用瑞佑的RA8889液晶控制芯片来实现汽车液晶仪表盘方案,仅仅用了几条接口函数就可以实现,方案简单,容易,开发更是省时省力。
接下来的文章会介绍RA8889驱动控制不同LCD液晶屏时,所要调整的部分。

审核编辑 黄宇
全部0条评论
快来发表一下你的评论吧 !