[STC单片机] STC8H8K64U+RT6809CNN01/RT8889CNN03开发板+TFT彩屏参考代码

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

  20.         //单独显示RGB24脚位块
  21.         for(row=1;row<4;row++)
  22.         {
  23.                 for(n=0;n<8;n++)
  24.                 {
  25.                         BTE_Solid_Fill(0,canvas_image_width,8+block_width*n,row*60,fore_color,block_width,50);
  26.                         fore_color=fore_color>>1;
  27.                 }
  28.         }
  29.         
  30.         //显示红、绿、蓝渐进色条
  31.         block_width=LCD_Width/256;
  32.         for(row=1;row<4;row++)
  33.         {
  34.                 fore_color=0;
  35.                 for(n=0;n<256;n++)
  36.                 {
  37.                         BTE_Solid_Fill(0,canvas_image_width,block_width*n,(row+3)*60,fore_color<<(3-row)*8,block_width,50);
  38.                         fore_color++;        
  39.                 }
  40.         }
  41.         
  42.         delay_ms(3000);
  43. }

源代码下载:



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

29

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部