找回密码
 立即注册
查看: 1003|回复: 13

学习《Ai8051U教学视频》 打卡贴

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:151
  • 最近打卡:2025-05-06 21:55:02

2

主题

73

回帖

306

积分

中级会员

积分
306
发表于 2024-12-8 19:45:08 | 显示全部楼层 |阅读模式

学习《Ai8051U教学视频》发表七集 以上学习心得,送强大的 Ai8051U实验箱

昨天,一口气看完了冲哥新课程,今天,边看边写学习笔记

哪怕梦想让我们拼的遍体鳞伤,这一次我们也要勇往直前

回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:151
  • 最近打卡:2025-05-06 21:55:02

2

主题

73

回帖

306

积分

中级会员

积分
306
发表于 2024-12-8 23:26:59 | 显示全部楼层

看了视频教学第一集 序言,从三个方向得到新收获:

一、屏幕显示和视频播放上带来的能性提升

AIi8051U相较于之前的32G系列,在屏幕显示和视频播放方面,它优化了QSPI Flash芯片读写功能,使得大容量视频播放的质量有了质的飞跃。这一改进让实现复杂的图形界面和多媒体应用更轻松。

今后,可尝试对于一些类似于老人视频播放机的Linux极简应用,改使用Ai8051U方案尝试。

二、实用功能的增强

除了性能上的提升,Ai8051U还增加了许多实用的功能。 PWM与DMA的无缝结合,以及新增的频谱分析仪功能。这些新特性不仅让开发变得更加便捷,也为开发者提供了更多创造性的空间。

特别是手写计算器的应用演示,展示了如何通过硬件浮点运算单元来处理复杂计算任务,使单片机的应用范围进一步扩大接近ARM 超越ARM。

三、兼容性与灵活性

Ai8051U可使用251编译器支持现代32位指令集,还能使用51编译器兼容早期的8051指令集。这意味着对于那些已经拥有旧版开发板的用户来说,可以无缝过渡到新版单片机而无需重新设计整个系统架构。这种向后兼容的能力极大地降低了学习成本和技术门槛,促进了新技术的快速普及。

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:151
  • 最近打卡:2025-05-06 21:55:02

2

主题

73

回帖

306

积分

中级会员

积分
306
发表于 2024-12-8 23:48:53 | 显示全部楼层

第二课 硬件及工具介绍

这一课 从四个方面详细讲述了实验箱的外观和内部结构,包括USB接口、USB-blink下载烧录调试工具、USB转双串口等。接着讲解了实验箱的功能,如卡插座、示波器输入、放音输出、话筒录音等。然后介绍了主芯片Ai8051U的特性和功能,以及T0T1、INT0 、INT1等按键的作用。最后讲解了软件安装和编程过程,包括安装keil编程软件、下载ISP软件、添加头文件、下载keil中断扩展插件,并演示了如何下载并运行第一个程序——点灯程序,以此作为单片机的入门实验。

  1. 课程介绍
    • 这是一堂关于Ai8051单片机深度入门的实战视频课程。
    • 课程强调动手实践,并围绕官方发行的Ai8051U实验箱展开。
  2. 硬件介绍
    • 实验箱包含PCB板、短路帽、数据线等组件。
    • 硬件特性包括USB接口(Type A和Type C)、USB转双串口芯片、TF卡插座、示波器输入端子、音频输出、麦克风录音、OLED屏、流水灯、数码管、TFT彩屏、掉电检测电路、红外接收头、矩阵键盘、ADC键盘、主控芯片(Ai8051U)、复位键、电源键、QSPI Flash、LCD对比度调节、RTC电池、晶振、温度传感器、蜂鸣器、SP3485通信芯片、存储芯片等。
  3. 软件安装与配置
    • 推荐使用KEIL uVision编程环境进行开发。
    • 需要下载并安装ISP烧录工具用于程序下载到单片机。
    • 添加单片机型号对应的头文件以支持特定的MCU型号。
    • 安装中断向量扩展插件以处理更多的中断。
    • 下载实验箱代码包及使用手册,帮助理解和使用实验箱。
  4. 首个实验
    • 第一个实验是通过P0口实现跑马灯效果,以此验证单片机的基本功能。
    • 演示了如何选择正确的单片机型号、进入下载模式、选择合适的波特率和运行频率,以及成功下载程序后观察到预期的硬件反应。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:151
  • 最近打卡:2025-05-06 21:55:02

2

主题

73

回帖

306

积分

中级会员

积分
306
发表于 2024-12-9 07:51:51 | 显示全部楼层

第三课 点亮第一颗LED

Ai8051u深度入门到32位51大型实战视频的第三集,讲解了如何新建一个工程、添加头文件、编写并编译代码以点亮第一颗LED灯。

首先展示了如何创建空工程、设置项目路径和名称、选择单片机型号,并详细解释了如何通过ISP软件添加头文件。

接着,通过编写和编译代码,实现了P0.0端口的LED灯点亮。视频还解释了代码的原理和端口配置方法,并介绍了如何使用配置工具快速设置端口模式。

最后,视频鼓励同学尝试点亮板子上的其他LED灯以加深理解。

新建工程

1.创建空工程:选择“新建工程”,按照手册六点五章节的步骤进行操作,设置项目路径和项目名称,选择单片机型号。

2.添加头文件:利用ISP软件结合手册六点四章节,学习头文件的用法,推荐使用双引号引用当前文件夹下的头文件。

3.输入代码:在项目中新建main.c文件,输入简单的代码,包括头文件引用和main函数。

4.编译代码:使用软件中的编译图标进行编译,选择单个文件编译或全部文件编译。

点亮LED

1.配置IO口:将P0和P4端口配置为准双向口,通过P0M0和P0M1寄存器进行配置。

2.输出低电平:将P0和P4端口的所有引脚输出低电平,以点亮连接的LED灯。

3.编译下载:编译代码并下载到单片机,通过ISP软件选择正确的单片机型号和端口进行下载。

4.测试结果:观察摄像头或开发板上的LED灯是否点亮,调整代码和配置直到成功点亮LED。

LED点亮原理

1.电路原理:通过电源正极、开关、LED灯和电源负极构成简单电路,开关打开时LED灯点亮。

2.单片机控制:单片机通过输出低电平到P0和P4端口,控制三极管开关打开,从而点亮LED灯。

3.箭头方向:箭头从高电压指向低电压,表示开关打开的方向。

IO寄存器操作

1.端口模式寄存器:通过P0M0和P0M1寄存器配置P0端口的模式,设置为准双向口。

2.端口数据寄存器:通过直接赋值的方式,将P0和P4端口输出低电平,点亮LED灯。

3.二进制和十六进制:了解二进制和十六进制的转换方法,以及在代码中的表示形式。

IO模式配置工具

1.配置工具:利用公司的配置工具,快速生成IO口的配置代码。

2.选择模式:通过勾选需要的模式,生成对应的配置代码,复制并粘贴到项目中。

重点内容在视频中定位:

设置项目路径 01:45

设置项目模式 04:51

添加头文件的方法 06:34

代码缩进和注释的设置方法 10:07

主函数的作用 12:04

点亮LED灯的原理 18:50

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:151
  • 最近打卡:2025-05-06 21:55:02

2

主题

73

回帖

306

积分

中级会员

积分
306
发表于 2024-12-9 07:53:55 | 显示全部楼层

第四课 USB不停电下载

8051u深度入门系列视频第四集,主题为USB不停电下载技术。视频首先回顾了上一集LED点亮程序下载的繁琐过程,并提出了通过USB实现不停电下载的新方法,以简化编程过程。视频详细介绍了实现不停电下载的技术步骤,包括库文件的下载与安装、代码的移植与编译,以及利用USB功能进行程序下载的操作。此外,还特别强调了选择合适的库文件和寄存器设置的重要性,以确保程序的正确运行。通过演示和实践操作,可以掌握利用USB不停电下载技术进行单片机程序开发的方法,提高开发效率。

USB不停电下载的实现方法 01:23

下载所需文件

1.STC官网地址:stc.3sct.com。 2.软件工具库函数USB库文件下载:在软件工具库函数中找到USB库文件并下载

库文件解压与查看

1.下载完成后的文件解压:解压到当前文件夹。 2.库文件内容:包括演示代码和库文件。

选择合适的库文件

1.CDC和HID的区别:建议使用CDC。 2.库文件选择:根据所选的8位和32位文件选择相同位数的库文件。

工程文件编译与检查

1.上一节课的代码:确保复制过来的代码没有问题。 2.添加头文件:复制所需的头文件到工程中。

USB初始化函数的作用 12:40

初始化函数与命令参数

1.USB初始化函数:USB_Init。 2.端口设置:将所有端口设置为准双向口。 3.命令参数:包括产品代码和自定义命令。

头文件与库文件的复制

1.头文件复制:复制所需的头文件到工程中。 2.库文件复制:复制库文件到工程中。

中断允许寄存器的设置方法 24:48

中断允许寄存器IE2

1.IE2寄存器:中断允许寄存器,用于打开USB中断。 2.EA寄存器:总中断开关,所有中断都需要经过EA开关。

USB完成配置与不停电下载实现

1.USB完成配置:等待USB完成配置后,实现不停电下载。 2.数据发送:接收到的数据自动发送回去,实现不停电下载。

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:151
  • 最近打卡:2025-05-06 21:55:02

2

主题

73

回帖

306

积分

中级会员

积分
306
发表于 2024-12-9 07:59:56 | 显示全部楼层

第五课 C语言基础

冲哥在这一课,围绕USB-CDC串口中的printf函数实现、数的进制转换(二、十、十六进制)、数的基本类型及C语言常用运算符等四个核心内容展开。重点介绍了printf函数在单片机开发中的应用,如何通过USB库宏定义实现printf功能,并解析了printf函数的原型及其使用效果。同时,解释了进制转换的基本概念和操作,说明了数的基本类型及其对应变量的长度。对C语言中的常用运算符进行了详细讲解,包括算术运算符、关系运算符、逻辑运算符等,并通过实例演示了它们的使用方法和作用。最后,对单片机串口通信中的USB-CDC串口特性进行了简要说明,并展示了如何通过printf实现数据的发送与接收。

  • 分段总结

    00:00C语言基础知识

    1.C语言在单片机开发中的重要性及其与后续课程的关系。

    2.C语言基础知识的主要内容:USB_CDC串口、printf函数的实现、数的进制(二进制、十进制、十六进制)、数的基本类型、C语言的常用运算符。

    00:43USB_CDC串口与printf函数的实现

    1.USB_CDC串口的功能:通过USB接口进行数据通信,支持任意波特率。

    2.printf函数的实现:通过重定向到get_printf_HID函数,实现变量的类型打印。

    3.printf函数的原型:包含格式控制字符串(普通字符和转换说明符)。

    4.转换说明符:如%s(字符串)、%d(十进制整数)等。

    5.普通字符:直接复制到标准输出。

    6.特殊转义符:如\n(换行)、\t(水平制表符)。

    02:43printf函数的使用示例

    1.printf函数的位置:可以放在接收数据或发送数据的代码中。

    2.示例代码:通过USB_CDC串口接收数据并打印返回结果。

    3.编译和下载:确保lib文件已添加,避免停电下载问题。

    16:03数的进制转换

    1.二进制、十进制和十六进制的转换方法。

    2.二进制转十进制:按位权加权求和。

    3.十进制转十六进制:除以16取余数。

    4.十六进制转十进制:按位权加权求和。

    18:04变量的基本类型

    1.变量的定义:包括变量类型和变量名称。

    2.常用变量类型:如unsigned char(无符号字符)、int(整数)、float(浮点数)等。

    3.变量类型的长度:如unsigned char为8位,int为16位或32位。

    4.变量类型的定义域:在大括号内的变量只能在该大括号内使用。

    22:00运算符及其用法

    1.算术运算符:加、减、乘、除、取余。

    2.关系运算符:等于、不等于、大于、小于、大于等于、小于等于。

    3.逻辑运算符:与、或、非。

    4.位运算符:左移、右移、按位与、按位或、按位异或、取反。

    5.赋值运算符:如+=、-=、*=、/=等。

    33:13if条件语句

    1.if语句的语法:if(条件) {语句块} else {语句块}。

  • 2.条件判断:条件为真时执行第一个语句块,条件为假时执行第二个语句块。

  • 3.条件运算符:如==(等于)、!=(不等于)、>(大于)、<(小于)等。

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:151
  • 最近打卡:2025-05-06 21:55:02

2

主题

73

回帖

306

积分

中级会员

积分
306
发表于 2024-12-9 08:01:40 | 显示全部楼层

第六课 IO输入输出

  • 摘要

    冲哥在这一课围绕单片机IO输入输出进行讲解,详细介绍了gp IO(通用输入输出端口)的概念、高电平和低电平的定义与区别,以及单片机IO口的四种模式(准双向口、推挽输出、高阻输入和开漏模式)。还探讨了按键输入检测原理,包括如何通过单片机IO端口检测按键状态,并讨论了按键抖动现象及其解决方法。此外,视频演示了如何编写代码实现按键控制LED灯亮灭的功能,包括如何处理按键抖动,以及延时函数的运用。最后,布置了课后小练习,加深单片机IO输入输出操作的理解和应用。

  • 分段总结

    00:00课程介绍和目标

    1.介绍了课程的主要内容,包括C语言基础和单片机课程。

    2.提出了本节课的主要任务:了解按键输入检测和GPIO(通用输入输出端口)的概念。

    00:34GPIO引脚功能

    1.GPIO引脚可以输入或输出高低电平。

    2.高电平接近电源正极电压,低电平接近电源负极电压。

    3.单片机输出高电平时为VCC电压,输出低电平时为GND电压。

    4.高电平也称为逻辑高(1),低电平称为逻辑低(0)。

    5.电源电压为3.3V时,逻辑高为3.3V,逻辑低为0V。

    6.引脚电压不能超过极限电压,如VCC引脚不能超过5.5V,其他引脚不能超过5.8V。

    02:52单片机IO口模式

    1.单片机IO口有四种模式:准双向口、推挽输出、高阻输入和开漏模式。

    2.准双向口:惯电流小,可输入输出。

    3.推挽输出:可输出20mA电流,常用于点灯等应用。

    4.高阻输入:输入电流小,适用于输入信号。

    5.开漏模式:需要外部上拉电阻,适用于需要外部控制的场景。

    04:11IO口电压范围

    1.输入低电平:小于0.99V,取决于施密特触发器的状态。

    2.输入高电平:大于1.18V或1.09V,取决于施密特触发器的状态。

    3.施密特触发器:使能后,输入电压需在特定范围内才能触发。

    05:56按键输入检测

    1.按键按下时,引脚电压接地,从高电平变为低电平。

    2.通过检测引脚电压变化来判断按键是否按下。

    3.实验箱上的电路:P3.2引脚通过300Ω电阻接地,按键按下时引脚电压为低。

    18:40按键消抖

    1.按键按下时会有抖动,导致多次触发。

    2.通过延时20毫秒来消除抖动。

    3.使用软件延时函数来实现延时。

    25:17延时函数实现

    1.使用软件延时计算器生成20毫秒延时函数。

  • 2.将系统频率、指令集和延时时间输入计算器,生成延时函数代码。

  • 3.将生成的代码复制到项目中,实现延时功能。

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:151
  • 最近打卡:2025-05-06 21:55:02

2

主题

73

回帖

306

积分

中级会员

积分
306
发表于 2024-12-9 08:04:47 | 显示全部楼层

第七课 定时器中断

  • 摘要

    这一课到了Ai8051u深度入门到32位单片机实战,讲解了定时器中断的应用与实现。用一个实际案例开场,妈妈炒菜时让儿子每分钟塞一根木头进火中,引出单核CPU执行任务时无法同时处理其他任务的问题。进而引出定时器的概念及其两大作用:计时与替代长时间延时以提高运行效率。视频通过详细解释代码与演示操作,教授如何利用定时器实现LED灯按需点亮与熄灭,同时处理按键输入的功能。此外,还探讨了函数定义、声明和调用的重要性,并通过实例展示了如何通过定时器实现更复杂的功能,如救护车灯的交替闪烁控制。最后提出课后练习,利用定时器设计电子功德箱等实际应用。

  • 00:00定时器中断引入

1.通过妈妈炒菜儿子烧火的例子引入定时器中断的概念。

2.单核CPU的特点是每次只能执行一个任务,没有特殊情况不能被打断。

3.定时器中断可以打断正在执行的任务,执行预定操作后再回到原任务。

01:13定时器的应用

1.定时器用于计时,可以实现软件计时和周期性操作。

2.定时器可以替代长时间的delay,提高运行效率和处理速度。

3.定时器中断可以打断主循环,执行预定操作后再回到主循环。

04:14LED 3秒闪烁和按键计数

1.使用定时器实现LED 3秒闪烁。

2.在定时器中断中处理按键计数,实现按键次数串口打印。

3.通过ISP软件生成定时器初始化和中断函数。

16:03定时器的配置

1.配置TM0PS寄存器,设置系统时钟。

2.选择12T模式,进行12分屏。

3.设置CT位,选择内部计数器。

4.设置GATE位,选择定时器启动方式。

5.配置定时器零的隐藏寄存器和计数器。

6.设置TF0位,开启定时器中断。

28:00函数定义、声明和调用

1.函数定义包括返回值类型、函数名和入口参数。

2.函数声明在调用之前,告诉编译器函数的索引位置。

3.函数调用包括函数名、小括号和分号。

4.函数定义、声明和调用的例子。

32:54任务二:灯按一下点亮,三秒后熄灭

1.通过按键初始化定时器,实现灯的点亮和熄灭。

2.在定时器中断中关闭定时器,实现灯的熄灭。

3.通过ISP软件生成定时器初始化和中断函数。

35:22任务三:红蓝灯交替闪烁

1.通过按键控制红蓝灯的交替闪烁。

2.使用全局变量记录运行状态,实现灯的交替闪烁。

3.在定时器中断中切换灯的状态。

4.通过ISP软件生成定时器初始化和中断函数。

41:09课后练习:电子功德箱

1.通过按键切换功德模式,实现单倍和双倍功德。

2.在定时器中断中处理功德计数和LED灯的点亮时间。

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:151
  • 最近打卡:2025-05-06 21:55:02

2

主题

73

回帖

306

积分

中级会员

积分
306
发表于 2024-12-9 08:07:18 | 显示全部楼层

第八课 定时器周期性调度任务

摘要

  • 本课讲述了在编程环境中对代码进行编辑、优化和调用的综合过程。首先指出在特定位置添加代码,并删除不必要部分以精简代码。接着,展示了在已有技术变量基础上定义新变量,并说明了变量在特定条件下的调用过程。然后,强调了延时函数的重要性,并展示了其在不同执行位置的效果。此外,还讨论了按键检测功能及函数的定义和调用。最后,提到了头文件的使用,以实现代码的模块化和重用,提高代码的可维护性和可读性。

00:08编程错误与定时器应用

编程常见错误包括大小写、中英文符号及括号缺失,定时器用于周期性任务,实现LED不同频率闪烁。

10:47周期性任务与数组应用

实现LED灯周期性闪烁,引入数组简化代码,提高功能精度。

22:25编程for循环与数组应用

for循环执行固定次数,数组元素自增并用于流水灯控制。

34:49单片机流水灯与按键控制

单片机实现流水灯效果,按键控制数组移动,并避免按键抖动问题。

47:01C语言文件与结构体任务调度

C语言讲解点c点h文件划分,函数声明定义,及结构体数组任务调度实现。

58:16任务调度与系统函数解析

讲解任务结构体定义,通过官方案例理解任务状态,实现系统任务调度与计时功能。

01:11:09周期性任务调度系统讲解

讲解定时器驱动多任务系统,实现LED闪烁及按键单击功能。

刚好有个农业气雾培项目,客户需求精确的控制多个设备,全天循环定时启停应用,期待这个定时器周期性调度功能使用其中

哪怕梦想让我们拼的遍体鳞伤,这一次我们也要勇往直前

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:151
  • 最近打卡:2025-05-06 21:55:02

2

主题

73

回帖

306

积分

中级会员

积分
306
发表于 2024-12-9 12:17:31 | 显示全部楼层

哪怕梦想让我们拼的遍体鳞伤,这一次我们也要勇往直前

回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-6 22:13 , Processed in 0.130581 second(s), 110 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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