这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » 国产MCU » 学习AI8051开发板例程:37AI8051的不断电下载功能

共2条 1/1 1 跳转至

学习AI8051开发板例程:37AI8051的不断电下载功能

高工
2026-03-19 10:25:05     打赏

    使用AI8051的软复位功能功能,实现芯片的不断电下载;

    AI8051单片机的“不断电下载”功能,更新程序时,无需再手动断电、重新上电,整个过程在软件里就能自动完成,极大地提升了开发和调试的效率。

    这个功能主要通过USB方式实现,也可以通过特定的硬件工具配合串口来完成

    这是AI8051U最方便、最常用的方法,只需一根USB线连接电脑即可。关键在于在用户程序中集成一段特殊的“下载监控代码”。当电脑端的下载软件发送指令时,这段代码会“温柔地”复位单片机,使其进入下载模式,而整个过程电源始终保持接通。

    实现起来也很简单,主要有两种途径:

    使用官方工具自动生成(最简单):官方提供的 AiCube 图形化配置工具,可以一键生成包含“USB不停电下载”功能的工程代码框架。你只需要在工具中勾选相关选项,生成的代码就直接支持该功能,无需手动添加任何代码。

    手动添加官方库文件:如果习惯自己写代码,可以从官网下载最新的 USB库文件,然后将库中的关键代码(如USB初始化、命令处理等)复制到你的主程序中。代码核心逻辑是在收到下载命令后,

    关闭USB外设、将相关引脚(P30, P31)设置为高阻态,模拟USB断开,然后通过 IAP_CONTR = 0x60 软指令复位进入系统ISP区域。

二:实现步骤:

        准备软件:前往官网下载最新版的 AIapp-ISP 或 AiCube 软件。

        创建工程:打开AiCube,新建一个工程。在配置界面中找到并开启 “USB不停电下载” 或类似选项。

        生成与编译:点击生成代码,然后用Keil等编译器编译工程,得到HEX或BIN文件。

        首次下载:第一次使用,需要先通过传统的“按住P3.2按键 -> 上电 -> 松开按键”的方式,将生成的程序烧录进AI8051U。

        体验便捷:首次烧录成功后,之后每次修改完代码,只需在ISP软件中点击“下载”,就能自动完成,全程无需再碰任何按键

三:软件代码

    复位标志寄存器

37-2.png

    SWRSTF:软复位标志

    读0:无意义

    读1:当前的复位是由软件写SWRST(IAP_CONTR.5)所触发(用户程序复位默认值为1)

    写0:无效果

    写1:清除SWRST标志位

3.1  程序初始化

    WTST = 0;   //设置程序指令延时参数,赋值为0可将CPU执行指令的速度设置为最快
    EAXFR = 1;  //扩展寄存器(XFR)访问使能
    CKCON = 0;  //提高访问XRAM速度

    RSTFLAG |= 0x04;

3.2  P3.2 按键处理函数

void KeyResetScan(void)
{
    if(!P32)
    {
        if(!Key_Flag)
        {
            Key_cnt++;
            if(Key_cnt >= 1000)		//连续1000ms有效按键检测
            {
                Key_Flag = 1;		//设置按键状态,防止重复触发

//                USBCON = 0x00;      //清除USB设置(程序进行过USB配置的话需要先清除)
//                USBCLK = 0x00;
//                IRC48MCR = 0x00;
                
                delay_ms(10);
                IAP_CONTR = 0x60;   //触发软件复位,从ISP开始执行(软件复位会重新置位RSTFLAG,进入ISP后不需要判断P3.2电平)
                while (1);
            }
        }
    }
    else
    {
        Key_cnt = 0;
        Key_Flag = 0;
    }
}

3.2 下载之后,当按键P3.2时候,软件可以识别到 USB-writer

37-1.png





关键词: AI8051     不断电下载    

院士
2026-03-19 17:53:48     打赏
2楼

学习了,谢谢分享。


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]