找回密码
 立即注册
查看: 487|回复: 8

AiCube@AIapp-ISP V6.95M - 创建流水灯工程 !32位51世界强大的辅助开发工具

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:519
  • 最近打卡:2025-05-01 08:15:57
已绑定手机
已实名认证

46

主题

161

回帖

474

积分

中级会员

积分
474
发表于 2025-4-3 23:31:02 | 显示全部楼层 |阅读模式

AiCube@Ai8051U 试用 - 创建流水灯工程

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

image.png

下载运行

下载最新版 AIapp-ISP 软件;

解压并打开该软件,右侧操作界面选择并进入 Keil 仿真设置 标签项;

仿真设置

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

Keil_MCU_add.jpg

创建项目

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

AiCube_build.jpg

参数配置

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

AiCube_config.jpg

左侧为功能参数选择窗口,展开 外设 选项,选择 端口,根据硬件勾选目标引脚(这里使用 P2 系列 IO 引脚);

此时右侧窗口出现相应的配置选项,通过下拉菜单即可实现模式设置;

生成工程

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

AiCube_generate.jpg

双击打开生成的 Keil 文件,

////////////////////////////////////////
// 文件名称: main.c
// 文件描述: 
// 文件版本: V1.0
// 修改记录:
//   1. (2025-04-03) 创建文件
////////////////////////////////////////

#include "config.h"                     //默认已包含stdio.h、intrins.h、ai_usb.h等头文件

////////////////////////////////////////
// 项目主函数
// 入口参数: 无
// 函数返回: 无
////////////////////////////////////////
void main(void)
{
    SYS_Init();

    while (1)
    {
    }
}

////////////////////////////////////////
// 系统初始化函数
// 入口参数: 无
// 函数返回: 无
////////////////////////////////////////
void SYS_Init(void)
{
    EnableAccessXFR();                  //使能访问扩展XFR
    AccessCodeFastest();                //设置最快速度访问程序代码
    AccessIXramFastest();               //设置最快速度访问内部XDATA
    IAP_SetTimeBase();                  //设置IAP等待参数,产生1us时基

    P0M0 = 0x00; P0M1 = 0x00;           //初始化P0口为准双向口模式
    P1M0 = 0x00; P1M1 = 0x00;           //初始化P1口为准双向口模式
    P2M0 = 0x00; P2M1 = 0x00;           //初始化P2口为准双向口模式
    P3M0 = 0x00; P3M1 = 0x00;           //初始化P3口为准双向口模式
    P4M0 = 0x00; P4M1 = 0x00;           //初始化P4口为准双向口模式
    P5M0 = 0x00; P5M1 = 0x00;           //初始化P5口为准双向口模式
    P6M0 = 0x00; P6M1 = 0x00;           //初始化P6口为准双向口模式
    P7M0 = 0x00; P7M1 = 0x00;           //初始化P7口为准双向口模式

    CLK_Init();                         //时钟模块初始化
    PORT2_Init();                       //P2初始化
}

////////////////////////////////////////
// 毫秒延时函数
// 入口参数: ms (设置延时的毫秒值)
// 函数返回: 无
////////////////////////////////////////
void delay_ms(uint16_t ms)
{
    uint16_t i;

    do
    {
        i = MAIN_Fosc / 6000;
        while (--i);
    } while (--ms);
}


////////////////////////////////////////
// 时钟初始化函数
// 入口参数: 无
// 函数返回: 无
////////////////////////////////////////
void CLK_Init(void)
{
    CLK_SYSCLK_Divider(10);             //切换主时钟前先将系统时钟降频

    HIRC_40M();                         //选择内部预置的频率

    CLK_MCLK_HIRC();                    //选择内部高精度HIRC作为主时钟
    CLK_MCLK2_BYPASS();                 //旁路MCLK2,直接使用MCLK选择

    CLK_SYSCLK_Divider(1);              //设置系统时钟分频系数

    CLK_HSIOCK_MCLK();                  //选择MCLK主时钟作为高速外设时钟源
    CLK_HSIOCK_Divider(1);              //设置高速外设时钟预分频系数

    CLK_SPICLK_Divider(1);              //设置SPI时钟预分频系数
    CLK_I2SCLK_Divider(1);              //设置I2S时钟预分频系数
    CLK_PWMACLK_Divider(1);             //设置PWMA时钟预分频系数
    CLK_PWMBCLK_Divider(1);             //设置PWMB时钟预分频系数
    CLK_TFPUCLK_Divider(1);             //设置TFPU时钟预分频系数
}

////////////////////////////////////////
// P2口初始化函数
// 入口参数: 无
// 函数返回: 无
////////////////////////////////////////
void PORT2_Init(void)
{
    SetP2nQuasiMode(BIT_ALL);           //设置P2为准双向口模式

    DisableP2nPullUp(BIT_ALL);          //关闭P2内部上拉电阻
    DisableP2nPullDown(BIT_ALL);        //关闭P2内部下拉电阻
    DisableP2nSchmitt(BIT_ALL);         //使能P2施密特触发
    SetP2nSlewRateNormal(BIT_ALL);      //设置P2一般翻转速度
    SetP2nDrivingNormal(BIT_ALL);       //设置P2一般驱动能力
    SetP2nDigitalInput(BIT_ALL);        //使能P2数字信号输入功能
}

代码包含延时函数 delay_ms 、IO 口初始化和时钟配置函数。

这里可以编译一下工程,确保无误

AiCube_build_project.jpg

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

代码修改

实现流水灯功能,需要添加如下关键代码

#define n 9
unsigned char code LED[n]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff}; // 定义 P2 组的输出电平
void main(void)
{
    SYS_Init();

    while (1)
    {
        u8 i;
        for(i=0;i<n;i++)
        {
            P2 = LED[i];
            delay_ms(100); // 调用已定义的延时函数
        }
    }
}

编译工程

修改代码并保存后,重新编译工程,确保无误。

进入 Keil 软件,点击魔术棒,选择 Output,检查是否勾选创建 HEX 文件选项(默认已勾选,好评)

Keil_Options.jpg

固件烧录

生成的 HEX 烧录固件位于 Objects 文件夹下,

硬件连接单片机和电脑,可采用如下两种方式

  • USB 转串口工具
  • 拉低 P32 并重新上电

Aiapp-ISP 软件选择目标芯片型号,设置串口,打开程序文件,选择CPU指令模式为 32-Bit ,IRC频率 40MHz (确保与 AiCube 设置的参数保持一致);

点击 下载/编程 按钮,待烧录结束,程序自动运行。

firmware_download.jpg

效果

流水灯,间隔 100 毫秒

flow-LED.gif

开发板详见:https://oshwhub.com/jinleili/ai8051-multi-function-learning-b

总结

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

2 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
MCU开发者和爱好者
回复

使用道具 举报 送花

3

主题

1160

回帖

1031

积分

等待验证会员

积分
1031
发表于 2025-4-3 23:33:00 | 显示全部楼层
AiCube 试用 - 创建流水灯工程  

本文详细介绍了如何利用 Aiapp-ISP 仿真调试平台中的 AiCube 工具,快速创建流水灯工程的主要流程。AiCube 作为一款高效的项目创建助手,能够显著简化单片机项目的开发过程,尤其适用于初学者和快速原型开发。以下是具体操作步骤及技术细节的解析。  

1. 下载与运行  
首先,用户需下载最新版本的 Aiapp-ISP 软件。解压后运行该软件,进入主界面。在右侧操作界面中,选择并进入 Keil 仿真设置 标签项。此步骤为后续的仿真调试环境配置奠定基础。  

2. 仿真设置  
在 Keil 仿真设置 界面中,用户需选择目标单片机型号,并将其型号和头文件添加到 Keil 环境中。具体操作为:  
选择目标单片机型号;  
添加型号和头文件到 Keil;  
选择 Keil 安装目录文件夹;  
点击 确定,系统将提示添加成功。  

此步骤确保仿真环境与目标硬件的一致性,为后续的项目开发提供准确的仿真支持。  

3. 创建项目  
在菜单栏中点击 AiCube 标签,进入 项目创建助手 界面。AiCube 作为项目创建的核心工具,能够快速生成标准化的工程文件,极大提升开发效率。  

4. 参数配置  
在项目创建助手界面中,用户需完成以下参数配置:  
选择目标单片机型号;  
填写项目名称;  
设置保存路径;  
点击 下一步,进入参数配置界面。  

在参数配置界面中,左侧为功能参数选择窗口。用户需展开 外设 选项,选择 端口,并根据硬件需求勾选目标引脚(本文以 P2 系列 IO 引脚为例)。此时,右侧窗口将显示相应的配置选项,用户可通过下拉菜单完成模式设置。  

5. 生成工程  
完成参数配置后,点击 创建项目 按钮。AiCube 将自动生成标准化的工程文件,包括 Keil 文件、库文件夹等。用户可在目标路径中查看生成的文件,确保工程结构完整。  

6. 工程文件解析  
双击打开生成的 Keil 文件,用户可查看项目的主程序文件(如 main.c)。以下为文件内容的简要解析:  
  1. c
  2. ////////////////////////////////////////
  3. // 文件名称: main.c
  4. // 文件描述: 流水灯工程主程序
  5. // 文件版本: V1.0
  6. // 修改记录:
  7. //   1. (2025-04-03) 创建文件
  8. ////////////////////////////////////////
  9. include "config.h"  // 默认已包含 stdio.h、intrins.h、aiusb.h 等头文件
  10. ////////////////////////////////////////
  11. // 项目主函数
  12. int main(void) {
  13.     // 初始化端口配置
  14.     P2M0 = 0x00;  // 设置 P2 端口为推挽输出模式
  15.     P2M1 = 0x00;
  16.     while (1) {
  17.         // 实现流水灯效果
  18.         P2 = 0x01;  // 点亮第一个 LED
  19.         Delayms(200);  // 延时 200ms
  20.         P2 = 0x02;  // 点亮第二个 LED
  21.         Delayms(200);
  22.         P2 = 0x04;  // 点亮第三个 LED
  23.         Delayms(200);
  24.         // 依次类推,实现流水灯效果
  25.     }
  26. }
复制代码

上述代码展示了流水灯工程的核心逻辑。通过配置端口模式和编写循环控制代码,用户可实现 LED 灯的流水效果。  

7. 总结  
AiCube 工具通过简化的操作流程和标准化的工程生成,显著降低了单片机项目的开发门槛。本文以流水灯工程为例,详细介绍了从仿真设置到工程生成的全过程,为用户提供了实用的参考。未来,AiCube 将继续优化功能,支持更多硬件平台和复杂应用场景,助力开发者高效完成项目开发。

[本文内容由国芯人工智能辅助生成,仅供参考]
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15609
发表于 2025-4-3 23:53:21 | 显示全部楼层
帮用 AiCube 再来个 USB的应用,赠送 Ai8051U 实验箱 感谢楼主

截图202504032352094637.jpg
https://www.stcaimcu.com/data/download/Datasheet/AI8051U.pdf

截图202504032353002937.jpg
【新提醒】还是从 【Hello World !】 开始,《单片机原理及应用》入门[url=home.php?mod=space&uid=30331]@Ai8051U - 51 发烧友,UAC,极致音频,大国工匠,艺术人生,乐林漫步 国芯技术交流网站 - AI32位8051交流社区[/url]
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:381
  • 最近打卡:2025-05-01 08:27:28
已绑定手机

10

主题

146

回帖

458

积分

中级会员

积分
458
发表于 2025-4-4 16:26:26 | 显示全部楼层
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:197
  • 最近打卡:2025-05-01 00:11:02

0

主题

10

回帖

120

积分

注册会员

积分
120
发表于 2025-4-5 00:13:33 | 显示全部楼层
好东西啊
回复

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:84
  • 最近打卡:2025-05-01 08:09:28

0

主题

31

回帖

101

积分

注册会员

积分
101
发表于 2025-4-5 20:48:00 | 显示全部楼层
试用了,确实方便省事.希望能有更多的芯片加入进来.
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:519
  • 最近打卡:2025-05-01 08:15:57
已绑定手机
已实名认证

46

主题

161

回帖

474

积分

中级会员

积分
474
发表于 2025-4-9 17:16:18 | 显示全部楼层

点评

感谢  详情 回复 发表于 2025-4-9 20:02
MCU开发者和爱好者
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15609
发表于 2025-4-9 20:02:52 | 显示全部楼层
liji*** 发表于 2025-4-9 17:16
已测试,详见:
AiCube 试用 - USB 打印 Hello World - AiCube@AIapp-ISP 最新版本, 强大的32位8051辅助开 ...

感谢
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:135
  • 最近打卡:2025-05-01 08:09:26
已绑定手机

2

主题

82

回帖

194

积分

注册会员

积分
194
发表于 2025-4-10 08:49:28 | 显示全部楼层
底层硬件配置,完全可以用AiCube 工具完成。
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-1 20:05 , Processed in 0.143832 second(s), 110 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表