AiCube 试用 - 创建流水灯工程

打印 上一主题 下一主题

主题 1631|帖子 1631|积分 4893

AiCube 试用 - 创建流水灯工程

本文先容了 Aiapp-ISP 仿真调试平台软件的 AiCube 工具,实现流水灯工程的快速创建的主要流程。
下载运行

下载 最新版 AIapp-ISP 软件;
解压并打开该软件,右侧操作界面选择并进入 Keil 仿真设置 标签项;
仿真设置

选择目标单片机型号 - 添加型号和头文件到 Keil - 选择 Keil 安装目录文件夹 - 确定,提示添加乐成;

创建项目

菜单栏点击 AiCube 标签,进入 项目创建助手

参数配置

选择目标单片机型号 - 填写项目名称 - 设置保存路径 - 点击下一步,进入参数配置界面

左侧为功能参数选择窗口,展开 外设 选项,选择 端口,根据硬件勾选目标引脚(这里利用 P2 系列 IO 引脚);
此时右侧窗口出现相应的配置选项,通过下拉菜单即可实现模式设置;
生成工程

点击创建项目,此时查看目标路径发现 AiCube 工具创建的工程文件,包罗 Keil 文件、库文件夹等标准工程格式;

双击打开生成的 Keil 文件,
  1. // 文件名称: main.c
  2. // 文件描述:
  3. // 文件版本: V1.0
  4. // 修改记录:
  5. //   1. (2025-04-03) 创建文件
  6. #include "config.h"                     //默认已包含stdio.h、intrins.h、ai_usb.h等头文件
  7. // 项目主函数
  8. // 入口参数: 无
  9. // 函数返回: 无
  10. void main(void)
  11. {
  12.     SYS_Init();
  13.     while (1)
  14.     {
  15.     }
  16. }
  17. // 系统初始化函数
  18. // 入口参数: 无
  19. // 函数返回: 无
  20. void SYS_Init(void)
  21. {
  22.     EnableAccessXFR();                  //使能访问扩展XFR
  23.     AccessCodeFastest();                //设置最快速度访问程序代码
  24.     AccessIXramFastest();               //设置最快速度访问内部XDATA
  25.     IAP_SetTimeBase();                  //设置IAP等待参数,产生1us时基
  26.     P0M0 = 0x00; P0M1 = 0x00;           //初始化P0口为准双向口模式
  27.     P1M0 = 0x00; P1M1 = 0x00;           //初始化P1口为准双向口模式
  28.     P2M0 = 0x00; P2M1 = 0x00;           //初始化P2口为准双向口模式
  29.     P3M0 = 0x00; P3M1 = 0x00;           //初始化P3口为准双向口模式
  30.     P4M0 = 0x00; P4M1 = 0x00;           //初始化P4口为准双向口模式
  31.     P5M0 = 0x00; P5M1 = 0x00;           //初始化P5口为准双向口模式
  32.     P6M0 = 0x00; P6M1 = 0x00;           //初始化P6口为准双向口模式
  33.     P7M0 = 0x00; P7M1 = 0x00;           //初始化P7口为准双向口模式
  34.     CLK_Init();                         //时钟模块初始化
  35.     PORT2_Init();                       //P2初始化
  36. }
  37. // 毫秒延时函数
  38. // 入口参数: ms (设置延时的毫秒值)
  39. // 函数返回: 无
  40. void delay_ms(uint16_t ms)
  41. {
  42.     uint16_t i;
  43.     do
  44.     {
  45.         i = MAIN_Fosc / 6000;
  46.         while (--i);
  47.     } while (--ms);
  48. }
  49. // 时钟初始化函数
  50. // 入口参数: 无
  51. // 函数返回: 无
  52. void CLK_Init(void)
  53. {
  54.     CLK_SYSCLK_Divider(10);             //切换主时钟前先将系统时钟降频
  55.     HIRC_40M();                         //选择内部预置的频率
  56.     CLK_MCLK_HIRC();                    //选择内部高精度HIRC作为主时钟
  57.     CLK_MCLK2_BYPASS();                 //旁路MCLK2,直接使用MCLK选择
  58.     CLK_SYSCLK_Divider(1);              //设置系统时钟分频系数
  59.     CLK_HSIOCK_MCLK();                  //选择MCLK主时钟作为高速外设时钟源
  60.     CLK_HSIOCK_Divider(1);              //设置高速外设时钟预分频系数
  61.     CLK_SPICLK_Divider(1);              //设置SPI时钟预分频系数
  62.     CLK_I2SCLK_Divider(1);              //设置I2S时钟预分频系数
  63.     CLK_PWMACLK_Divider(1);             //设置PWMA时钟预分频系数
  64.     CLK_PWMBCLK_Divider(1);             //设置PWMB时钟预分频系数
  65.     CLK_TFPUCLK_Divider(1);             //设置TFPU时钟预分频系数
  66. }
  67. // P2口初始化函数
  68. // 入口参数: 无
  69. // 函数返回: 无
  70. void PORT2_Init(void)
  71. {
  72.     SetP2nQuasiMode(BIT_ALL);           //设置P2为准双向口模式
  73.     DisableP2nPullUp(BIT_ALL);          //关闭P2内部上拉电阻
  74.     DisableP2nPullDown(BIT_ALL);        //关闭P2内部下拉电阻
  75.     DisableP2nSchmitt(BIT_ALL);         //使能P2施密特触发
  76.     SetP2nSlewRateNormal(BIT_ALL);      //设置P2一般翻转速度
  77.     SetP2nDrivingNormal(BIT_ALL);       //设置P2一般驱动能力
  78.     SetP2nDigitalInput(BIT_ALL);        //使能P2数字信号输入功能
  79. }
复制代码
代码包含延时函数 delay_ms 、IO 口初始化和时钟配置函数。
这里可以编译一下工程,确保无误

编译后自动生成主函数调用的头文件。
代码修改

实现流水灯功能,必要添加如下关键代码
  1. #define n 9
  2. unsigned char code LED[n]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff}; // 定义 P2 组的输出电平
  3. void main(void)
  4. {
  5.     SYS_Init();
  6.     while (1)
  7.     {
  8.         u8 i;
  9.                 for(i=0;i<n;i++)
  10.                 {
  11.                         P2 = LED[i];
  12.                         delay_ms(100); // 调用已定义的延时函数
  13.                 }
  14.     }
  15. }
复制代码
编译工程

修改代码并保存后,重新编译工程,确保无误。
点击魔术棒,选择 Output,检查是否勾选创建 HEX 文件选项(默认已勾选,好评)

固件烧录

生成的 HEX 烧录固件位于 Objects 文件夹下,
硬件毗连单片机和电脑,可接纳如下两种方式


  • USB转串口工具
  • 拉低 P32 并重新上电
Aiapp-ISP 软件选择目标芯片型号,设置串口,打开程序文件,选择CPU指令模式为 32-Bit ,IRC频率 40MHz (确保与 AiCube 设置的参数保持同等)
点击 下载/编程 按钮,待烧录竣事,程序自动运行。

结果

流水灯,间隔 100 毫秒

开发板详见:Ai8051U - JLC
总结

本文先容了 Aiapp-ISP 仿真调试平台软件的 AiCube 工具,实现快速工程创建和应用的主要流程,为 STC 系列单片机的快速开发和应用提供了参考。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

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

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

民工心事

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表