第一节视频心得体会:
首先,其强大的功能令人印象深刻。它在屏幕显示与视频播放方面表现卓越,借助 flash 编程器能够实现丰富的视觉呈现。IIS 录放音功能拓展了其在音频领域的应用,而 PWM DMA 可驱动多达 1000 颗 WS2812 彩灯,这对于需要大量彩灯控制的项目极具吸引力。频谱分析仪和手写计算器功能更是体现了它的多元性与专业性。同时,QSPI、PWM 移相、硬件乘除以及单精度浮点等功能,为复杂的计算与数据处理提供了有力支持。


其硬件资源也相当丰富,34K SRAM(2K edata,32K xdata)和 64K Flash 为数据存储与程序运行提供了充足空间。TFPU@120MHz 的硬件浮点和三角函数运算器可加速数学运算,DMA 对 PWM 以及外设直接到外设的支持,还有 120MHz - PWM 支持硬件移相、16 位 PWM 和真 12 位 ADC 等,再加上多种接口如 USB、4 组串口、QSPI、SPI、I2S、I2C 以及 TFT - i8080/M6800 接口等。
第二节
通过这第一课的学习,我深刻感受到 STC AI8051U 芯片的强大魅力与无限潜力,渴望进一步挖掘它在实际项目中的更多价值。

在学习 STC AI8051U 的第二课过程中,对开发板硬件以及相关软件安装与程序下载的学习让我对整个开发体系有了更深入的理解和认识。

开发板硬件资源极为丰富,立体声、OLED 显示屏、TFT 彩屏可构建多样交互界面;话筒录音与耳机输出完善音频链路;SPI/I2C 等接口便于外联设备;流水灯、数码管利于调试;矩阵键盘、ADC 键盘提供多种输入;TF 卡插座、EEPROM 用于存储;还有 USB 接口与各类传感器等。
通过这一课的学习,我不仅对开发板的硬件架构和功能有了透彻的了解,还掌握了开发所需软件的安装与程序下载方法,这为后续深入学习 STC AI8051U 的编程与应用开发奠定了坚实的基础。
第三节

这节课让我清楚地了解到新建工程的步骤,包括创建空工程需参考手册6.5章节,添加头文件要结合手册6.4章节使用ISP软件。当输入给定代码并编译后,就能实现点亮LED这一基础操作。这看似简单的操作却是后续更复杂开发的基石,让我对硬件编程有了更直观的感受,明白了程序是如何通过代码控制硬件实现功能的,为进一步探索芯片功能打下了良好基础。
第四节

通过实验对比演示,能直观地看到相关操作的效果。在操作过程中,明白了要从STC官网下载软件工具中的库函数和USB库文件,这是实现功能的重要前提。而移植关键部分到工程的步骤十分关键,包括添加头文件、用tiLib +.h库实现USB初始化函数、配置命令参数,以及正确打开P_SW2寄存器和IE2寄存器。这一系列操作让我对USB不停电下载的原理和实现方式有了清晰的认识,体会到了硬件操作中细节的重要性。
第五节

在USB - CDC串口实现printf函数方面,明白了如何将C语言标准输出适配到硬件接口,这对调试很有帮助。
数的进制部分,复习了2进制、10进制、16进制的转换方法,在嵌入式开发中处理数据时非常重要。
对于数据基本类型,了解了不同类型在内存中的存储和应用场景,在资源有限的嵌入式开发中要合理选择。
最后,C语言常用运算符的学习,让我掌握了运算符的用法和优先级,有助于编写精确控制硬件的程序。这一课为后续开发奠定了坚实的C语言基础。
第六节
第六课主要围绕 I/O 输入输出展开。首先,对 GPIO 有了清晰的认识。GPIO 即通用输入 / 输出端口,是芯片与外部设备进行交互的关键接口。通过这些端口,可以控制输出高低电平或者读取引脚的电平状态。


在按键输入检测部分,通过电路图直观地了解了按键与芯片引脚的连接方式。明白了未按下按键时引脚为高电平,按下时为低电平这一原理。并且,学习到代码实现按键输入检测的原理很简单,程序只需直接读取按键 I/O 的电平,一般使用 “==” 进行判断即可。此外,课程中的 I/O 口相关寄存器表格。它是软件控制硬件的桥梁,通过对寄存器的配置,可以实现对 I/O 口的精确控制。
第七节
第七课主要介绍了定时器。从一个实际问题引入:当LED三秒闪烁时,这三秒内按下按键却无反应,原因是MCU单核同一时间只能执行一件事。由此引出定时器中断这个解决办法。

第八节
第八课主要讲解了定时器周期性调度任务。


周期性任务介绍,给出了一个具体任务,即使用一个定时器让LED1每0.3秒取反一次,LED2每0.6秒取反一次,LED3每0.9秒取反一次。这展示了如何利用定时器来实现不同频率的周期性操作。文件的创建(.c和.h),了解到在处理这些任务时需要创建.c和.h文件。这是进行程序开发的基础步骤,.c文件用于存放函数的实现代码,.h文件用于存放函数的声明和相关结构体等的定义。结构体的介绍,结构体的引入为组织和管理数据提供了方便。在周期性任务调度中,合理地使用结构体可以更好地对任务相关的数据进行封装和操作。结构体数组的周期性任务调度,学习了如何通过结构体数组来实现多个周期性任务的调度。这是一种高效且灵活的方式,能够同时管理多个具有不同参数和执行频率的任务。
对文件创建和结构体的应用有了更深入的理解,这有助于我在后续编写更复杂的程序时能够更好地组织代码和数据,提高代码的可读性和可维护性。