ZYF芯 发表于 2026-2-26 17:18:31

Ai8051U视频学习记录

第一集 序言

介绍了Ai8051u的优势点及具体应用:
①屏幕显示和视频播放(flash编程器),利用8080并口使用自带的TFT屏驱动;
②I2S录放音,Ai8051u自带I2S音频总线;
③PWM_DMA,可用作数字显示LED矩阵应用,相比STC32G用SPI+DMA实现起来更为高效;
④频谱分析仪(上位机)的实现,用到了I2S录音功能,可以实现快速FFT数据刷新;
⑤手写计算器的实现,识别手写数字,功能向AI靠近;
⑥QSPI,PWM移相,硬件乘除,单精度浮点。


Ai8051u可以兼容早期芯片,如89C52RC和12C5A60S2;可以兼容8位指令集、32位指令集,可以替代8H8K64U、32G12K128、32G12K64;具有34K的SRAM和64Kflash,有PWM硬件移相功能等。

芯映芯 发表于 2026-2-27 08:31:46

要 做到 USB不停电下载;
要 尝试 AiCube 图形化自动配置生成程序工具;
推荐优先看的:
printf_usb("Hello World !\r\n")及
USB不停电下载, 演示视频链接:
https://www.stcaimcu.com/thread-19077-1-1.html

下载 最新的 AiCube-ISP-V6.96S 或以上版本软件 !
深圳国芯人工智能有限公司-工具软件

下载 最新的 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


推荐优先看的 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

ZYF芯 发表于 2026-2-27 14:08:10

第二集 硬件及工具介绍

介绍了AI8051U实验箱V1.2的硬件,其中包括了立体声输入输出录音功能、OLED显示屏、TFT彩屏、掉电检测电压调节、红外接收发射等功能,需要注意矩阵键盘和ADC键盘的区别,T0T1和INT0 INT1的区别(这些在后续课程中会详细说明)
介绍了所需的软件及工具,keil编程软件、ISP软件及相关拓展插件和代码包手册。
跟随视频连接好实验箱和电脑,根据按下P32→按下POWER→松开POWER→松开P32的顺序进入下载模式,下载好第一个程序来点亮跑马灯。其中可从keil文件的main文件中找到所需主频。

点亮的跑马灯:


ZYF芯 发表于 2026-3-2 14:51:55

第三集 点亮第一颗LED 学习了如何新建工程,推荐使用 #include “文件名.h” 形式的头文件。编写点亮第一颗LED的文件,理解点亮原理(设置P40和P00端口输出电压为0V,即可联通开关和第一个LED)。点亮了第一颗LED:同理添加P05端口输出电压为0V,可以控制第六个LED。ISP软件中有针对I/O口配置的便捷选择并且可以复制对应的配置代码。



ZYF芯 发表于 2026-3-3 14:48:38

第四集 USB不停电下载这节课学习如何给自己的工程文件添加USB不停电下载功能,手动进入下载模式的方法前面两节课已经提到过了。关于USB-CDC和USB-HID模式,视频中建议使用CDC模式。 如何移植关键部分到工程文件中:①   添加头文件,有中断方式和查询方式。其中中断方式是执行一行语句就执行一次中断文件,查询方式是执行一个循环的程序就执行一次查询文件,相较而言查询方式更加高效。②   USB初始化函数(lib+.h库实现)③   命令参数④   打开P_SW2寄存器和IE2寄存器,只打开EA位和EUSB位(置1) 下面是命令参数时参考的规格书截取:可以看到USB中断涉及到EUSB和EA两个开关,需要给它们都置1打开开关。给第三课的程序添加好USB不停电下载功能,如下:再在ISP软件中按如下方式设置,便可给工程加上USB不停电下载功能,可以更高效地检测工程。



ZYF芯 发表于 2026-3-4 14:38:40

第五集 c语言基础1.C语言 USB-CDC串口之printf函数的实现注意:#define 替换名被替换名   关注%d,%u,%s,\t,\r,\n,ASCII码2.数的进制:2进制、10进制、16进制注意:如何换算进制3.数据的基本类型注意:每个变量类型所对应的数值长度,尤其是unsigned char(0~+255);signed char(-128~+127);unsignedshort(0~+65535);signed short(-32768~+32767)4.C语言常用运算符注意:0为假,非0为真。If等判断语句要用到真假的概念。



ZYF芯 发表于 2026-3-5 15:11:26

第六集I/O输入输出1、什么是GPIOGPIO:通用输入输出端口,可以通过它们输出高低电平/读入引脚的状态是高(低)电平高电平:接近于Vcc的电平,也叫逻辑“1”高电平→输出Vcc电压低电平→输出GND电压,“0”VDD对地电压→Vcc的电压范围IO对地电压→IO口电压范围IO四个工作模式:准双向口(常用)、推挽输出、高阻输入、开漏模式输入低电平≤V1L1,输入高电平≥V1H1,具体数值看手册和施密特触发器状态2、按键输入检测原理:没按下开关是高电平,按下是低电平代码实现原理:程序直接读取按键的IO电平即可,一般使用“==”机械按键按下或松开有抖动,会让高低电平检测不稳定,一般在20ms之内
3、课内任务任务1:按下P32按钮灯亮,松开P32按钮灯灭任务2:按下P32按钮灯灭,松开P32按钮灯亮任务3:按一下灯亮,按一下灯灭
ISP软件中有自动生成延时代码的功能:



ZYF芯 发表于 2026-3-6 16:49:37

第七集 定时器中断1、定时器的介绍8051是单核的,同一时间只能执行一个事情,没有特殊情况不能打断,所以要引入定时器打断。定时器作用:(1)用于计时系统,可实现软件计时,或者使程序每隔一固定时间完成一项操作                   (2)替代长时间的delay,提高程序的运行效率和处理速度(可打断主循环)2、定时器的应用任务1:LED3秒取反一次,这期间任意时刻按下按钮,串口打印按键次数任务2:灯按一下亮3s后熄灭任务3:两颗LED模拟急救车灯用ISP软件可以生成定时函数时钟太快,可以对时钟进行分频(TM0PS),还是太快使用AUXR进行12分频。GATE置0,TR0置1可以启动定时器。
16位自动重载定时器本质是从设定值数到65536(溢出)之后置位一次标志位,如果使能ET0就可以进入中断。3、函数的定义、声明、调用定义:定义了函数的具体功能声明:在头文件或被调用前使用,定义在调用后面,要在前面声明
调用:在需要调用的地方直接使用函数名


ZYF芯 发表于 2026-3-10 10:02:17

第八集 定时器周期性调度任务1、周期性任务介绍数组的使用(1)定义:类型 名称[长度] = { 数值 };(2)使用:赋值:名称[索引] = 数值                            For语句的使用任务1:用一个定时器实现这个任务。LED1实现0.3秒取反一次,LED2实现0.6秒取反一次,LED3 0.9秒取反一次注意:通过一个变量计数,假设这个变量1ms自加一次,加到300即为300ms,加到600就是600ms;计数到达后重新清0。任务2:数组点亮LED,实现流水灯注意:LED是0点亮,1熄灭;数组长度需要把握好;流水灯移动的时间。任务3:按键1按一下,LED通过数组移动一下。注意:按键不能在通过while判断是否按下松开了;可以通过按键按下计数。检测到按键连续按下,按键计数变量+1,只要松开一下,计数清0,计数累积到50ms的时候判定为按下。实现串口打印+按键切换+LED指示任务,同时独立进行                              2、文件的创建(.c和.h)创建程序文件三步,把硬件需要的初始化弄一个config.c      (1)新建文件并保存               (2)添加到工程      (3)添加引用路径.h文件创建格式:方框里是文件名称(__XXX_H) .c文件创建格式:#include “xxx.h”函数定义添加文件一定要记得引用新的文件夹路径和添加到工程里。可以将主程序、功能程序、IO口任务程序分开放入不同的.c.h文件中,在需要使用时调用。3、结构体的介绍4、结构体数据的周期性任务调度 任务4:按键1按一下,LED通过数组移动一下,用虚拟LED显示;定时器驱动的多任务单独运行



ZYF芯 发表于 2026-3-11 14:26:47

第九集 数码管1.    数码管介绍外观:本质来说不同样式的数码管都是通过点亮内部的LED来显示的,只要面板做好了,理论可以显示任意的字符或者图案。类型:共阴(负极连一起)或者共阳(正极连一起)。“AS”代表单色,而“BS”代表双色。实验箱使用共阴数码管。2.数码管显示原理                              3.数码管静态显示任务1:数码管静态的显示一个数字 注意:利用原理调用LED工作 4.    数码管动态显示任务2:数码管显示“12345678”任务3:数码管显示“00-00-00”分别代表时分秒 ,每过1秒钟秒+1;具体的控制的流程如图所示,N表示有几个数码管。其中需要注意每个延时不能太短,我们这边程序就以1ms为准,且需要保证总共一个循环结束的时间不能大于20ms,因为人眼的视觉不容易分辨出50HZ以上的动态刷新。 5.虚拟显示——LED和数码管


页: [1] 2
查看完整版本: Ai8051U视频学习记录