找回密码
 立即注册
查看: 478|回复: 7

AI8051U学习记录贴

[复制链接]
已绑定手机

1

主题

6

回帖

49

积分

新手上路

积分
49
发表于 2025-12-15 22:24:31 | 显示全部楼层 |阅读模式
在大学一直用的89C52,前些天在立创公众号上无意间发现51系列已经进化到32位,遂有兴趣再搞个耍耍,顺便再做点小玩意。
AI8051U第一弹_序言
从视频上看,比89C52进步的不是一丁半点啊,直接下载、屏幕刷新率、FFT运算能力、录放音能力,甚至手写计算都支持了。期待开发出更多的玩法!
截图202512152224184079.jpg
回复

使用道具 举报 送花

865

主题

1万

回帖

2万

积分

管理员

积分
25128
发表于 2025-12-15 22:59:52 | 显示全部楼层
要 做到 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之图形化程序自动生成
回复

使用道具 举报 送花

已绑定手机

1

主题

6

回帖

49

积分

新手上路

积分
49
 楼主| 发表于 2025-12-19 23:17:18 | 显示全部楼层
AI8051U第二弹_环境配置及原理图
先说环境配置,跟C51没什么两样,下SDK,安装,一气呵成。
BUT!我记得几年前的ISP下载软件打开时会获取UAC授权,目前这个版本的不会。此部分会影响到KEIL安装在C盘默认路径下的同学,在导入头文件时,明明选择的路径正确且KEIL也处于关闭状态,但是ISP提示导入失败。错误提示如下图:
截图202512192249012618.jpg
出现这个问题时,只需要将ISP关闭,重新右键选择管理员模式打开,授权后重新操作即可导入头文件。也建议宏晶在更新下一版ISP时,在添加头文件的位置做一下说明。


书归正题
玩单片机,不看datesheet就是耍流氓,芯片不了解,属于瞎玩!有一说一,宏晶这两年出的数据手册是越来越大,越来越详细,简直是一本教科书。
AI8051U这颗单片机资源真是丰富啊,5年前想要这么丰富的外设,价格得比这颗翻几番,4级中断、6个16位定时器、高速串口、PWM输出、硬件SPI、RTC时钟(建议使用外部晶振)、TFPU、DMA等等,妥妥的性价比神片。哦对,还有USB直接下载,之前的8051系列,人手备一只调试模块(CH340),这片子直接省略,方便太多了。直接核心板走起!

从STC小铺下单擎天柱核心板,顺丰包邮8块钱,隔日达。PS:论坛可以免费送,加客户经理微信或者QQ,提供信息就可以了,主要是我懒,哈哈哈哈。

板子到手,紫色的小板子,挺精致的
擎天柱正面
截图202512192310216630.jpg
擎天柱背面
截图202512192311178468.jpg
上电!开机!流水灯!
截图202512192312174156.jpg

不得不说,还是得点灯!

下集开始点灯!
哦对,忘了擎天柱的原理图了,这个在擎天柱的DEMO包里,各位进入下一讲前,一定一定得下载DEMO包,查找原理图,玩板子不看原理图,就如海市蜃楼,只有表面功夫。

擎天柱原理图

擎天柱原理图

回复

使用道具 举报 送花

已绑定手机

1

主题

6

回帖

49

积分

新手上路

积分
49
 楼主| 发表于 2026-8-15 19:09:41 | 显示全部楼层
历时半年,终于又有空来更新帖子了,打工人身不由己
这次更新一下擎天柱的P2口点灯。
首先,新建工程,打开keil,点击project,后点击new uvision project,选择储存的路径后点保存。
截图202608151844135989.jpg 截图202608151844502867.jpg
之后先设置工程参数,点击魔法棒工具
截图202608151846158196.jpg
依次设置时钟频率XTAL、CPU工作模式:251 native、内存模式:XSmall、ROM模式:Large;并勾选上4KByte中断模式字。
截图202608151846451494.jpg
之后来到OUTPUT页面,勾选上Create HEXfile文件,用于生成HEX文件,下载到单片机中。
截图202608151847071195.jpg
以上步骤按照8051U的Datasheet设置非常方便,接下来就是写代码了。

我还是习惯直接在工程上直接新增文件,减少操作。在Source Group 1上点右键 截图202608151853024477.jpg
选择Add new item to Group 截图202608151853555474.jpg ,
新增文件到该工程中,这里选择C文件,然后填入文件名称,点Add即可。
截图202608151854541448.jpg

接下来还有一步,就是将头文件搬到当前文件夹下,这里要表扬下STC,通过ISP软件可以直接将头文件写到目标文件夹!
打开ISP软件,点红框中的右箭头,点到最后,能看到头文件的标签,点他!
截图202608151857245637.jpg

之后选择单片机系列,KEIL中用的头文件,点保存文件,在弹出的对话框中选择该工程的文件夹下。
至此,前期工作已完成,你可以写程序了!!

截图202608151859445516.jpg 先贴上代码。
include包含头文件,main函数执行,函数内先对P2口工作模式做设定,设定为准双向口,再用死循环点亮P2口的灯(我这个是隔一亮一);
友情提示,使用哪组I/O口取决于你的板子!不要完全照抄!
当然也吐槽下,为什么擎天柱只给了P2口一组灯,其余的有焊盘没灯

好,代码写完了,接下来就是编译、下载
点击build,等待程序编译 截图202608151904308497.jpg ,最下边的输出框提示".\Objects\demo" - 0 Error(s), 0 Warning(s).,就证明编译成功了,如果这个地方有错误,需要回去检查你的程序是否有问题。

接下来再次打开ISP软件,选择程序文件地址,再按住P32,短按POWER,松开P32后ISP已经识别到板子了,点下载即可,
截图202608151907589549.jpg
截图202608151909166854.jpg

至此,点灯完成!

回复

使用道具 举报 送花

已绑定手机

1

主题

6

回帖

49

积分

新手上路

积分
49
 楼主| 发表于 2026-9-6 00:36:04 | 显示全部楼层
今天有空,更新下USB不停电下载;
跟着教程走,方法还是很简单的,这次就不放截图了;
需要提醒几点:
1、网站上的USB库更新还是比较频繁的,请各位下载的时候一定一定要看压缩包里的使用说明;
2、以2026/7/29的库文件来看,stc32_stc8_usb.h和ai_usb.h并没有什么区别;
3、我们本次用的是CDC库文件,需要找到stc_usb_cdc_32g.LIB并增加到keil工程下;
4、下载的时候一定要勾选上下次下载使用HID接口进行ISP下载,要不一直下载不成功
截图202609060030185021.jpg
5、其实这个版本的库文件也是支持自定义下载命令的,如上,我已经改成了“verygood”,方法也很简单,在USB初始化函数后增加set_usb_ispcmd函数即可,该函数已在stc32_stc8_usb.h或ai_usb.h文件中定义;
     更改完下载命令后,首次下载仍然需要使用原有命令,确保单片机中的程序进行替换。

最后再吐槽一点,请版主看到后反馈给FAE大大,完善下USB库文件的说明,包含库内函数的用法与用途、各个库文件的用途,更清晰怎么使用
回复

使用道具 举报 送花

已绑定手机

1

主题

6

回帖

49

积分

新手上路

积分
49
 楼主| 发表于 昨天 01:38 | 显示全部楼层
今天有空,再来更新一节,定时器中断:
冲哥讲的还是很仔细的,先演示效果,再讲解原理;
AI8051U比89系列多了一个TMxPS分频,在编写程序时可以灵活运用,就比如教程结尾需要生成不同的定时时间,只用改这个分频系数就可以实现。
还是很方便的; 截图202609230134236031.jpg

推荐大家先去手册里查询下中断号,冲哥在视频讲解的时候没有解释中断号的来源,对于单片机来说,进入不同的中断有对应的中断号,也是根据中断号来找到相应的处理函数的
具体在数据手册的第763页
截图202609230136316204.jpg
发现了个问题,上节使用的自定义下载有点问题,还在排查中,现象是点击下载后,一直卡在等待HID-ISP ..中。等找到问题来更新

回复

使用道具 举报 送花

已绑定手机

1

主题

6

回帖

49

积分

新手上路

积分
49
 楼主| 发表于 昨天 02:23 | 显示全部楼层
深夜再加更一次
上回说到增加自定义下载口令后不停电下载无效的情况,经过4个小时的奋战,终于找到了问题所在
根本原因是在自定义下载口令及USB初始化前,必须先对I/O口进行初始化设置,否则不会成功。

另外友情提示,自定义下载口令一定要放在USB初始化前;

即:

                GPIO_init();
                set_usb_ispcmd("verygood");
                usb_init();


这次查故障中用STCAI助手还是挺好的,它帮忙查找了最新的库文件、查找站内帖子,判断可能出现的问题,当然,最后的结果还是给AI反馈了。
截图202609230222249159.jpg

回复

使用道具 举报 送花

已绑定手机

1

主题

6

回帖

49

积分

新手上路

积分
49
 楼主| 发表于 昨天 23:59 | 显示全部楼层
今天再来更新一节:定时器任务调度

这节非常好,让单核CPU实现了多任务的能力,本质上是CPU的分时复用法。
主要分几步:
1、确定系统运行节拍,就是多长时间执行一次任务;
2、确定每个任务的执行周期;
3、建立任务调度结构体,含任务运行标志、任务执行周期、重装任务执行周期、任务函数;
4、建立任务执行数组,将需要运行的任务,按照结构体的元素进行罗列;
5、建立任务标记函数,在每个系统节拍到来时,判断执行哪个函数;
6、在主函数中完成任务执行,并清掉任务执行标志。

以上是大致的运行逻辑,这里只适合于少量、运行时间短的任务,如果任务量大或者单个任务时长超过系统节拍,就会造成任务错乱,无法正常执行。
我问了STC AI,给出了几个方法:
1、按周期分组:创建不同的任务执行周期组,减少中断中的任务扫描时长;
2、时间轮 /到期队列(更专门的调度结构),有点复杂,还在研究;
3、事件驱动 /主动登记(按需唤醒)省CPU,但是占用RAM多;

还是推荐周期分组的方式,更简单,系统开销最小。
总之,有哪些不懂的,其实可以问STC AI了,甚至可以把代码丢给它,让它判断问题所在。
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-9-24 20:26 , Processed in 0.073989 second(s), 72 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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