找回密码
 立即注册
查看: 301|回复: 10

Ai8051U学习

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2025-12-27 18:29:21
已绑定手机

4

主题

7

回帖

54

积分

注册会员

积分
54
发表于 2025-12-17 21:22:38 | 显示全部楼层 |阅读模式
学习了不停电下载,更加方便快捷了。
屏幕截图 2025-12-17 211427.png
屏幕截图 2025-12-17 211427.png
屏幕截图 2025-12-17 212210.png
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2025-12-27 18:29:21
已绑定手机

4

主题

7

回帖

54

积分

注册会员

积分
54
发表于 2025-12-17 21:29:43 | 显示全部楼层

Ai8051U学习

点亮第一颗灯清晰明了,学习效率高。
屏幕截图 2025-12-17 212720.png
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:324
  • 最近打卡:2026-02-12 09:05:32

835

主题

1万

回帖

2万

积分

管理员

积分
22170
发表于 2025-12-17 21:38:49 | 显示全部楼层
要 做到 USB不停电下载
要 尝试 AiCube 图形化自动配置生成程序工具
推荐优先看的:  
printf_usb("Hello World !\r\n")
USB不停电下载, 演示视频链接:
https://www.stcaimcu.com/thread-19077-1-1.html

下载 最新的 AiCube-ISP-V6.96J 或以上版本软件 !

深圳国芯人工智能有限公司-工具软件

下载 最新的 USB库函数,永远用最新的 USB库函数 !
深圳国芯人工智能有限公司-库函数
下载 最新的 用户手册 !
下载 最新的 上机实践指导书 !

下载 最新的 Ai8051U 用户手册
https://www.stcaimcu.com/data/download/Datasheet/AI8051U.pdf

下载 最新的 Ai8051U 实验指导书,
AiCube 图形化自动配置生成程序工具使用说明
https://www.stcaimcu.com/data/do ... %AF%BC%E4%B9%A6.pdf


上面是 小李 演示:Ai8051U, printf_usb("Hello World !\r\n")及usb不停电下载@AiCube之图形化程序自动生成


上面是 小赵 演示:Ai8051U, printf_usb("Hello World !\r\n")及usb不停电下载@AiCube之图形化程序自动生成
回复

使用道具 举报 送花

  • 打卡等级:常住居民I
  • 打卡总天数:61
  • 最近打卡:2026-02-07 11:52:53
已绑定手机

14

主题

125

回帖

924

积分

版主

积分
924
发表于 2025-12-18 09:18:56 | 显示全部楼层
请勿重复开贴!!!学习打卡开一个帖子,在同一个帖子下面回复即可,以免被后台监测删除重复贴感谢配合!!!
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2025-12-27 18:29:21
已绑定手机

4

主题

7

回帖

54

积分

注册会员

积分
54
发表于 2025-12-23 21:35:43 | 显示全部楼层
认真学习
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2025-12-27 18:29:21
已绑定手机

4

主题

7

回帖

54

积分

注册会员

积分
54
发表于 2025-12-23 21:41:24 | 显示全部楼层
定时器学习,了解原理,用于控制led灯
屏幕截图 2025-12-19 145901.png
屏幕截图 2025-12-19 145919.png
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2025-12-27 18:29:21
已绑定手机

4

主题

7

回帖

54

积分

注册会员

积分
54
发表于 2025-12-24 14:48:57 | 显示全部楼层
学习Ai8051U定时器中断,核心是吃透定时+中断的联动逻辑,关键在寄存器精准配置,且中断服务函数需轻量化。

从理论到实践,我深刻体会到:寄存器配置无小事,一个位的遗漏(如未开总中断)就会导致功能失效;中断服务函数不能冗余,否则会阻塞主程序,这两点是嵌入式定时功能实现的核心要点。
屏幕截图 2025-12-19 145901.png (181.35 KB, 下载次数: 0)


屏幕截图 2025-12-19 145919.png (143.46 KB, 下载次数: 0)




回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2025-12-27 18:29:21
已绑定手机

4

主题

7

回帖

54

积分

注册会员

积分
54
发表于 2025-12-24 14:51:11 | 显示全部楼层
第二课硬件学习
屏幕截图 2025-12-21 232022.png
屏幕截图 2025-12-21 232053.png
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2025-12-27 18:29:21
已绑定手机

4

主题

7

回帖

54

积分

注册会员

积分
54
发表于 2025-12-24 14:53:52 | 显示全部楼层
学习AI8051U单片机定时器周期性调度任务,核心是掌握定时器模式配置、初值计算与中断服务函数编写。通过定时器中断替代软件延时,既能实现任务精准周期性调度,又能释放CPU资源处理其他事务,深刻体会到嵌入式系统“精准控时”与“高效运行”的设计逻辑。
屏幕截图 2025-12-22 221838.png
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2025-12-27 18:29:21
已绑定手机

4

主题

7

回帖

54

积分

注册会员

积分
54
发表于 2025-12-27 18:29:21 | 显示全部楼层
  1. #include "config.h"                     //默认已包含stdio.h、intrins.h等头文件
  2. u16 Bandgap;
  3. //<<AICUBE_USER_INCLUDE_BEGIN>>
  4. // 在此添加用户头文件包含  
  5. //<<AICUBE_USER_INCLUDE_END>>
  6. //<<AICUBE_USER_GLOBAL_DEFINE_BEGIN>>
  7. // 在此添加用户全局变量定义、用户宏定义以及函数声明  
  8. //<<AICUBE_USER_GLOBAL_DEFINE_END>>
  9. ////////////////////////////////////////
  10. // 项目主函数
  11. // 入口参数: 无
  12. // 函数返回: 无
  13. ////////////////////////////////////////
  14. void main(void)
  15. {
  16.     //<<AICUBE_USER_MAIN_INITIAL_BEGIN>>
  17.     // 在此添加用户主函数初始化代码  
  18.     //<<AICUBE_USER_MAIN_INITIAL_END>>
  19.         u16 vol;
  20.     SYS_Init();
  21.     //<<AICUBE_USER_MAIN_CODE_BEGIN>>
  22.     // 在此添加主函数中运行一次的用户代码  
  23.     //<<AICUBE_USER_MAIN_CODE_END>>
  24.     while (1)
  25.     {
  26.         USBLIB_OUT_Done();              //查询方式处理USB接收的数据
  27.                 vol = ADC_Convert(0);                         // 调用自动生成的 ADC 转换函数
  28.         Bandgap = ADC_Convert(15);                 // 读取内部基准 ADC(15通道)
  29.         vol = (u16)((u32)vol * 119 / Bandgap); // 相对电压值计算
  30.         printf_usb("Analog Voltage: %0.2fV\r\n",(float)vol/100); // 打印电压值
  31.         delay_ms(500);
  32.                
  33.         //<<AICUBE_USER_MAIN_LOOP_BEGIN>>
  34.         // 在此添加主函数中用户主循环代码  
  35.         //<<AICUBE_USER_MAIN_LOOP_END>>
  36.     }
  37. }
  38. ////////////////////////////////////////
  39. // 系统初始化函数
  40. // 入口参数: 无
  41. // 函数返回: 无
  42. ////////////////////////////////////////
  43. void SYS_Init(void)
  44. {
  45.     EnableAccessXFR();                  //使能访问扩展XFR
  46.     AccessCodeFastest();                //设置最快速度访问程序代码
  47.     AccessIXramFastest();               //设置最快速度访问内部XDATA
  48.     IAP_SetTimeBase();                  //设置IAP等待参数,产生1us时基
  49.     //<<AICUBE_USER_PREINITIAL_CODE_BEGIN>>
  50.     // 在此添加用户预初始化代码  
  51.     //<<AICUBE_USER_PREINITIAL_CODE_END>>
  52.     P0M0 = 0x00; P0M1 = 0x00;           //初始化P0口为准双向口模式
  53.     P1M0 = 0x00; P1M1 = 0x00;           //初始化P1口为准双向口模式
  54.     P2M0 = 0x00; P2M1 = 0x00;           //初始化P2口为准双向口模式
  55.     P3M0 = 0x00; P3M1 = 0x00;           //初始化P3口为准双向口模式
  56.     P4M0 = 0x00; P4M1 = 0x00;           //初始化P4口为准双向口模式
  57.     P5M0 = 0x00; P5M1 = 0x00;           //初始化P5口为准双向口模式
  58.     CLK_Init();                         //时钟模块初始化
  59.     ADC_Init();                         //ADC初始化
  60.     delay_ms(1);
  61.     USBLIB_Init();                      //USB库初始化
  62.     delay_ms(1);
  63.     //<<AICUBE_USER_INITIAL_CODE_BEGIN>>
  64.     // 在此添加用户初始化代码  
  65.     //<<AICUBE_USER_INITIAL_CODE_END>>
  66.     EnableGlobalInt();                  //使能全局中断
  67. }
  68. ////////////////////////////////////////
  69. // 微秒延时函数
  70. // 入口参数: us (设置延时的微秒值)
  71. // 函数返回: 无
  72. ////////////////////////////////////////
  73. void delay_us(uint16_t us)
  74. {
  75.     do
  76.     {
  77.         NOP(34);                        //(MAIN_Fosc + 500000) / 1000000 - 6
  78.     } while (--us);
  79. }
  80. ////////////////////////////////////////
  81. // 毫秒延时函数
  82. // 入口参数: ms (设置延时的毫秒值)
  83. // 函数返回: 无
  84. ////////////////////////////////////////
  85. void delay_ms(uint16_t ms)
  86. {
  87.     uint16_t i;
  88.     do
  89.     {
  90.         i = MAIN_Fosc / 6000;
  91.         while (--i);
  92.     } while (--ms);
  93. }
  94. //<<AICUBE_USER_FUNCTION_IMPLEMENT_BEGIN>>
  95. // 在此添加用户函数实现代码  
  96. //<<AICUBE_USER_FUNCTION_IMPLEMENT_END>>
复制代码
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-2-12 18:05 , Processed in 0.141553 second(s), 82 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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