打印
[STC单片机]

STC8H8K64U+RT6809CNN01/RT8889CNN03开发板+TFT彩屏参考代码

[复制链接]
1186|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
harchy|  楼主 | 2024-10-27 19:30 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
硬件:RT8H8K001 + RT6809CNN01/RT8889CNN03开发板 +  TFT彩屏


【代码说明】

(1)该代码采用SPI-4,通信接口定义:
        P0.4                SPI_SS                        RA8889片选                DB[4] (XnSCS)
        P0.5                SPI_MISO                接RA8889的SDO        DB[5] (XSSDO)
        P0.6                SPI_MOSI                接RA8889的SDI        DB[6] (XSSDI)
        P0.7                SPI_SCK                        SPI时钟                        DB[7] (XSSCL)
        P4.5                RA8889_RST                RA8889硬件复位        

(2)开发板只焊接一颗FLASH,运行程序时请先将flash.bin烧录在FLASH。(请特别注意该点!!!)
        RT6809CNN01,片选选择BUS1,CS1
        RT8889CNN03,片选选择BUS1,CS2

(3)核心文件存放在RA8889_01_Kernel文件夹下:
        RA8889_51.c                 为底层接口文件
        RA8889_API_51.c         为用户层接口文件
        RA8889_MCU_IF.c         为单片机接口文件(通信接口定义及通信函数)
        UserDef.h                         为用户自定义参数文件
        delay.c                                延迟函数,请根据单片机的主频修正

(4)演示以下常用功能:
        Introduction();                                //文字介绍
        Geometry_Demo();                        //几何绘图演示
        Show_JPG();                                        //调用FLASH的JPG图片显示
        Show_BMP();                                        //调用FLASH的BMP图片显示
        Fade_in_Fade_out();                        //图片淡入淡出演示
        Show_AVI();                                        //调用FLASH的AVI影片播放
        Show_PNG();                                        //调用FLASH的PNG图片显示
        Check_LCD_Connection();                //用于检查LCD接线

(5)参考代码中,Check_LCD_Connection(void);用于检查LCD接线函数,特别有用!
        若个别接线不良,运行该函数可以很容易找到具体哪根线路出问题:


Check_LCD_Connection函数代码:
/*****************************************************************
  * [url=home.php?mod=space&uid=247401]@brief[/url]  检查LCD的RGB接线是否正常
  * @param  无
  * @retval 无
  * [url=home.php?mod=space&uid=536309]@NOTE[/url]   分别显示RGB各脚为1的图形,过渡不连续说明该脚异常
  ****************************************************************/
void Check_LCD_Connection (void)
{
        unsigned long fore_color=0x800000;
        unsigned int block_width=(LCD_Width-16)/8;
        unsigned int n,row=1;
        
        BTE_Solid_Fill(0,canvas_image_width,0,0,color16M_black,LCD_Width,LCD_Height);
        Foreground_color_16M(color16M_white);
        Select_Font_Height_WxN_HxN_ChromaKey_Alignment(24,2,2,1,0);                        //设定文字格式,放大两倍
        Goto_Text_XY(8,10);
        Show_String("Check LCD Connection:");
        
        Select_Font_Height_WxN_HxN_ChromaKey_Alignment(24,1,1,1,0);                        //设定文字格式

        //单独显示RGB24脚位块
        for(row=1;row<4;row++)
        {
                for(n=0;n<8;n++)
                {
                        BTE_Solid_Fill(0,canvas_image_width,8+block_width*n,row*60,fore_color,block_width,50);
                        fore_color=fore_color>>1;
                }
        }
        
        //显示红、绿、蓝渐进色条
        block_width=LCD_Width/256;
        for(row=1;row<4;row++)
        {
                fore_color=0;
                for(n=0;n<256;n++)
                {
                        BTE_Solid_Fill(0,canvas_image_width,block_width*n,(row+3)*60,fore_color<<(3-row)*8,block_width,50);
                        fore_color++;        
                }
        }
        
        delay_ms(3000);
}

源代码下载:
RT8H8K001_RT6809CNN01_RT8889CNN03_AT070_SPI4.zip (887.54 KB)


使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

25

帖子

0

粉丝