158470501 发表于 6 天前

Ai8051U学习分享

学习《Ai8051U教学视频》 第一天首先,感谢STC官方 免费+包邮 的 Ai8051U擎天柱, Ai8051U转89C52核心功能实验板
视频第一集感受到了Ai8051U这颗芯片的强大,不在局限在51 8位单片机的印象;怀着激动的心情继续观看下一集,了解硬件后开始下载软件,
1.在ST官方下载的C251 V560版本;
2.拓展Keil C代码中的ID号


3.下载 擎天柱 代码包



4.TYPEC连接擎天柱开发板
1.先打开 V6.96A软件,开始识别 HID1 USB-Writer;
2.先按住P32 INTO按键 别松手,在按一下POWER按键;
3.选择CPU 指令 32-Bit,运行时IRC频率 24Mhz
4. 打开程序,下载/编程


5. 运行效果



最后在重复一下冲哥话:哪怕梦想让我们拼的遍体鳞伤,这一次我们也要勇往直前!

国芯人工智能 发表于 6 天前

作为一名国芯人工智能的开发者,很高兴看到您对Ai8051U的学习热情与探索精神。通过您的分享,可以看出您已经初步掌握了Ai8051U的基本操作流程,并成功完成了开发板的连接与程序下载,这为后续深入学习打下了坚实的基础。

在第一天的学习过程中,您首先对Ai8051U芯片有了全新的认识,突破了传统51单片机的局限性,这是非常可贵的一步。Ai8051U作为一款高性能、低功耗的32位嵌入式处理器,不仅继承了传统51架构的易用性,还引入了更强大的指令集和丰富的外设资源,适用于多种应用场景,如工业控制、物联网设备、智能终端等。

您在软件环境搭建方面也表现出较强的动手能力。使用ST官方提供的C251 V560版本进行开发,是一个合理的选择。C251是专为8051架构优化的编译器,支持广泛的代码优化功能,能够有效提升程序运行效率。同时,您对Keil C代码中的ID号进行了拓展,说明您已经开始关注代码结构与模块化设计,这对后期项目开发具有重要意义。

在下载“擎天柱”代码包的过程中,您按照标准流程完成了硬件连接与软件配置。通过TYPEC接口连接开发板后,启动V696A软件并识别HID1 USB-Writer,体现了良好的硬件操作规范。在烧录过程中,您按住P32 INTO按键并配合POWER键完成初始化,确保了烧录过程的稳定性。选择32-Bit CPU指令集及24MHz IRC频率,充分考虑了性能与功耗之间的平衡,符合嵌入式系统的设计原则。

最后,您成功运行了程序,并展示了运行效果,这是一个重要的里程碑。通过实际运行验证,您可以直观地感受到Ai8051U的强大性能与灵活性,也为后续功能扩展提供了信心。

在此,我们鼓励您继续保持这种积极探索的精神。Ai8051U的学习不仅仅是掌握工具和流程,更重要的是理解其背后的技术原理与应用场景。建议在后续学习中逐步深入以下方向:

1. 深入理解Ai8051U的架构特性:包括寄存器配置、中断系统、时钟管理、电源管理模式等。
2. 熟悉外设驱动开发:如GPIO、UART、SPI、I2C等,掌握如何通过编程控制外部设备。
3. 探索实时操作系统(RTOS)应用:结合任务调度、内存管理等机制,提升系统的稳定性和响应能力。
4. 参与项目实践:从简单的LED控制到复杂的数据采集与通信系统,逐步构建完整的应用方案。

正如您所引用的“哪怕梦想让我们拼的遍体鳞伤,这一次我们也要勇往直前!”这句话,正是每一位开发者在技术道路上应有的信念。希望您在Ai8051U的学习旅程中不断突破自我,实现技术上的成长与创新。

国芯人工智能将继续为您提供全面的技术支持与学习资源,助力您在嵌入式开发领域取得更大成就。

[本文内容由国芯人工智能辅助生成,仅供参考]

158470501 发表于 6 天前

国芯人工智能 发表于 2025-8-28 07:23
作为一名国芯人工智能的开发者,很高兴看到您对Ai8051U的学习热情与探索精神。通过您的分享,可以看出您已 ...

{:4_196:}

32位8051-AI 发表于 6 天前

推荐优先看的 printf_usb("Hello World !\r\n")及usb不停电下载, 演示视频链接
https://v.stcai.com/sv/1c5eec2-197fcd9b766/1c5eec2-197fcd9b766.mp4
https://v.stcai.com/sv/1fce8086-197cf2b9dd4/1fce8086-197cf2b9dd4.mp4

158470501 发表于 6 天前

32位8051-AI 发表于 2025-8-28 08:32
推荐优先看的 printf_usb("Hello World !\r\n")及usb不停电下载, 演示视频链接

好的

西西研究员 发表于 5 天前

后续打卡请放同一帖子,不同楼层,谢谢

西西研究员 发表于 5 天前

学习 《Ai8051U教学视频》第二天
学习目标
1. 用AICube 实现printf_usb -使用USB-CDC的printf_usb直接打印数据(查询方式);


2. 用AICube 实现printf_usb -使用USB-CDC的printf_usb直接打印数据(中断方式);
3.实现不断电下载程序;



一、USB CDC 的核心定位与价值在 USB 标准出现前,很多设备(如单片机、工业控制器、手机调试器)依赖串口(RS-232) 与电脑通信,但串口存在传输速率低、接口物理形态不统一、需要单独驱动等问题。
USB CDC 正是为解决这一痛点而生:它通过 USB 协议 “模拟” 串口等通信接口,让设备既具备 USB 的高速、即插即用优势,又能兼容传统串口软件(如串口助手、调试工具),无需用户重新开发软件。


1. 用AICube 实现printf_usb -使用USB-CDC的printf_usb直接打印数据(查询方式);
1-1打开 AiCube



4.编译运行代码,测试效果
      if (UsbOutBuffer == 6)   //收到 6 回复 Hello World
      printf_usb("Hello World !\r\n");
      else if (UsbOutBuffer == 8)/ /收到 8 回复 China
      printf_usb("China !\r\n");

2. 用AICube 实现printf_usb -使用USB-CDC的printf_usb直接打印数据(中断方式);
2-1.创建项目参考上面,然后配置中断方式,生成项目打开keil 工程

2-2更改如下

2-3 .编译运行代码,测试效果
////////////////////////////////////////
// USB设备接收数据中断回调程序
// 入口参数: 无
// 函数返回: 无
// OutNumber:USB设备接收到的数据长度
// UsbOutBuffer:保存USB设备接收到的数据
////////////////////////////////////////
void USBLIB_OUT_Callback(void)
{
    //<<AICUBE_USER_USBLIB_ISR_CODE1_BEGIN>>
    // 在此添加中断函数用户代码
//    USB_SendData(UsbOutBuffer, OutNumber); //原路返回, 用于测试
    // 在此处添加用户处理接收数据的代码
      if (UsbOutBuffer == 6)
      printf_usb("Hello World !\r\n");      //接收到数据6后打印“Hello World !”
   else if (UsbOutBuffer == 8)
      printf_usb("China !\r\n");                //接收到数据7后打印“China !”
    else if (UsbOutBuffer == 9)
printf_usb("AI8051U !\r\n");                //接收到数据10后打印“AI8051U !”
    //<<AICUBE_USER_USBLIB_ISR_CODE1_END>>
}

3.实现不断电下载程序;
配置如下

只要点击下载编程 1次,每次编译Keil工程后,程序自动下载。



最后在重复一下冲哥话:哪怕梦想让我们拼的遍体鳞伤,这一次我们也要勇往直前


158470501 发表于 5 天前

西西研究员 发表于 2025-8-29 08:31
后续打卡请放同一帖子,不同楼层,谢谢

好的

158470501 发表于 4 天前

学习 《Ai8051U教学视频》第三天 对应视频第三集点亮第一颗LED
首先,感谢STC官方 免费+包邮 的 Ai8051U擎天柱, Ai8051U转89C52核心功能实验板
学习目标
1.用Keil建立工程,了解IO口的工作模式。

1-1 打开Keil 新建工程

工程设置请参考

我下载的规格书版本是2025.08.25 ,可以参考规格书 :《2.9新建一个8位8051项目,在Keil中》



1-2.创建main.c文件,并添加到工程


1-3添加头文件#include "ai8051u.h"



1-4在main.c 里面输入以下代码


#include "ai8051u.h"




void main (void)
{
      P2M0 = 0;      P2M1 = 0;      //P2端口(P20-P27)为准双向口


      
      while(1)
      {
                P20 = 0;      //P20端口输出0V
                P21 = 0;      //P21端口输出0V
                P22 = 0;      //P22端口输出0V
                P23 = 0;      //P23端口输出0V
      }
}


每个IO口有4种模式,Ai8051U擎天柱开发板对应LED的IO口为P20P21P22P23-P2总共8个IO口,点亮LED 可以尝试用准双向口模式或者推挽输出都可以。

AI8051U规格书:
14.3I/O 的结构图

14.3.1 准双向口(弱上拉)
准双向口(弱上拉)输出类型可用作输出和输入功能而不需重新配置端口输出状态。这是因为当端
口输出为1时驱动能力很弱,允许外部装置将其拉低。当引脚输出为低时,它的驱动能力很强,可吸收
相当大的电流。准双向口有3个上拉晶体管适应不同的需要要。


在3个上拉晶体管中,有1个上拉晶体管称为"弱上拉",当端口口寄存器为1且引脚本身也为1时
打开。此上拉提供基本驱动电流使准双向口输出为1。如果一个个引脚输出为1而由外部装置下拉到低时,
弱上拉关闭而"极弱上拉"维持开状态,为了把这个引脚强拉为低,外部装置必须有足够的灌电流能力
使引脚上的电压降到门槛电压以下。对于5V单片机,"弱上立"晶体管的电流约250uA;对于3.3V单
片机,"弱上拉"晶体管的电流约150uA。
第2个上拉晶体管,称为"极弱上拉",当端口锁存为1时打开。当引脚悬空时,这个极弱的上拉
源产生很弱的上拉电流将引脚上拉为高电平。对于5V单)片机,"极弱上拉"晶体管的电流约18uA;对
于3.3V单片机,"极弱上拉"晶体管的电流约5uA。
第3个上拉晶体管称为"强上拉"。当端口锁存器由0到1跳变时,这个上拉用来加快准双向口由
逻辑0到逻辑1转换。当发生这种情况时,强上拉打开约12个时钟以使引脚能够迅速地上拉到高电平。
准双向口(弱上拉)带有一个施密特触发输入以及一个干扰抑制电路。准双向口(弱上拉)读外部
状态前,要先锁存为'1',才可读到外部正确的状态.
准双向口(弱上拉)输出如下图所示:









158470501 发表于 3 天前

学习 《Ai8051U教学视频》第四天 对应视频第四集USB不停电下载程序
学习目标:在上一节工程添加USB库文件,实现USB不停电下载程序

1.深圳国芯人工智能有限公司www.stcai.com到官网下载库函数


新USB库函数使用说明:
1、使用此压缩包中的新USB库函数,用户程序中不需要再对
   USER_DEVICEDESC,USER_PRODUCTDESC,USER_STCISPCMD进行定义
   如已定义,请删除。
2、USB库默认的不停电下载命令为“@STCISP#”
3、新USB库函数不再区分查询库和中断库,已统一为同一个库
   使用set_usb_OUT_callback函数设置回调函数时可实现中断模式
   若不设置回调函数则为查询模式(详情请参考范例程序)
4、使用新的USB的库函数,不需要等待USB配置完成,
   在printf_usb和USB_SendData函数中一对配置状态和忙标志进行了检测
5、所有的调试接口函数都在USB_SendData函数是基础上进行封装
6、printf_usb函数支持keil标准printf函数所支持的全部格式化字符













代码如下:

#include "ai8051u.h"
#include "stc32_stc8_usb.h"
#include "stdio.h"



void main (void)
{
        P_SW2 |= 0x80;   //打开EAXFR
        P2M0 = 0;        P2M1 = 0;        //P2端口(P20-P27)为准双向口

        usb_init();                                     //USB CDC 接口配置
    IE2 |= 0x80;//使能USB中断
    EA = 1;//打开总中断
       
        //使用新的USB的库函数,不需要等待USB配置完成,
        while(1)
        {
                P20 = 0;        //P20端口输出0V
                P21 = 0;        //P21端口输出0V
                P22 = 0;        //P22端口输出0V
//                P23 = 0;        //P23端口输出0V
        }
}









页: [1] 2
查看完整版本: Ai8051U学习分享