我心飞扬 发表于 2025-4-23 19:35:34

学习《32位8051单片机原理及应用》视频总结笔记--打卡

情况介绍:

对电子技术有兴趣,单片机的知识也了解一些。
8位的51系列单片机应用很广,但是在深圳国芯人工智能公司这里看到支持32位/8位51指令集的MCU还是非常令人鼓舞的,性能很高。
这些日子跟着“《8051U深度入门到32位51大型实战视频》,【免费 + 包邮 送】实验箱@Ai8051U,100万套”中的视频学习了Ai8051U-32K64的MCU,对MCU有了更深的理解。
在官网和论坛中看相关信息,发现STC32G12K128是车规级的带两组CAN的芯片,教学视频关注度也很高,所以开始按照教学视频学习STC32G12K128这款MCU。
看到学习视频帖子中所说:“保姆级免费视频教程,只要你花时间学,就一定保证你会,专家免费答疑,单片机0基础开始,C语言0基础开始”,让我觉得这次学习过程应该是个轻松愉快的过程,既能学习新的知识技能,又能比较一下与Ai8051U-32K64的各自特点。

现在,

开始!

学习网址:视频教学:《32位8051单片机原理及应用》,一等奖2万, 送实验箱; 冲哥版

2025年4月23日。

我心飞扬 发表于 前天 13:56

《32位8051单片机原理及应用》教学视频--学习打卡8

第八集:蜂鸣器的应用

笔记:

1、认识蜂鸣器。
1.1 本质是电转声的器件,分无源有源蜂鸣器和有源蜂鸣器。
1.2 无源蜂鸣器内部不带震荡源,由电磁线圈和振动薄膜组成,或者由压电陶瓷片组成,直流信号无法令其发声,适当频率的交流信号才能使其发声。有源蜂鸣器在其内部增加了震荡源电路,一通电就会产生震荡信号使其发声。有源蜂鸣器要比无源蜂鸣器贵。

2、控制原理。
结合下面电路图,给P54引脚输出随时间变化的高低电平,使频率在可听声音范围内,就可使T2三极管不断通断,进而有变化的信号施加到BEEP1上,从而推动其发声。

3、蜂鸣器实战应用。

学习心得:

总结:

后记:

2025年4月30日。


我心飞扬 发表于 3 天前

《32位8051单片机原理及应用》教学视频--学习打卡7

第七集:按键点灯

笔记:

1、按键的原理。
1.1 按键的本质就是两个引脚之间的通断。
1.2 如图,按键SW17松开,P3.2高电平,按键按下,P3.2是低电平。

1.3 机械按键存在抖动问题,在程序中要进行处理。


2、按键的代码实现过程。
2.1 程序检测到按下按键就会执行功能代码A,没按下执行功能代码B。
代码如下:
if (0 == KEY)    //检测按键已经按下
{
    Delay_ms(10);    //延时10ms
    if (0 == KEY)    //再次检测按键按下
    {
      执行功能A;
    }
}
else    //检测到按键没按下
{
    执行功能B;
}
2.2 程序检测到按下按键,执行完功能A;等待按键松开的过程中重复执行功能B后;松开按键执行功能C。没检测到按键按下执行功能D。
代码如下:
if (0 == KEY)    //检测按键已经按下
{
    Delay_ms(10);    //延时10ms
    if (0 == KEY)    //再次检测按键按下
    {
      执行功能A;    //按键按下必执行的代码
      while (0 == KEY)    //等待按键松开
      {
            执行功能B;    //按键没松开时段内执行的代码
      }
      执行功能C;    //按键松开后执行的代码
    }
}
else    //没检测到按键按下
{
    执行功能D;
}

3、按键的应用。
3.1 按键按下LED点亮,松开熄灭。
此功能核心代码:
//------按下点亮,松开熄灭---------      
                if (0 == KEY1)      //判断按键有没有按下
                {
                        delay_ms(10);
                        if (0 == KEY1)
                        {
                              printf("按键P32已经按下\r\n");
                              P60 = 0;      //LED0点亮
                        }
                }
                else                //如果没有按下
                {
                        P60 = 1;      //LED0熄灭
                }
3.2 按键按下LED熄灭,松开点亮。
与上面代码类似,将点亮和熄灭语句对调即可。
3.3 按键按下一次,LED状态改变一次。
此功能核心代码:
//------按下一次,状态取反---------               
                if (0 == KEY2)      //判断按键有没有按下
                {
                        delay_ms(10);
                        if (0 == KEY2)      //按键确实按下了
                        {
                              while (0 == KEY2)      //如果按键一直是按下的,一直执行while
                              {
                              }
                              printf("按键P33已经按下,led取反一次\r\n");
                              P67 = ~P67;      //LED熄灭                              
                        }
                }
3.4 按键按下一次,LED往左边走一个。
此功能核心代码:
//------按下一次,灯网左边移动一个单位---------
                if (0 == KEY2)      //判断按键有没有按下
                {
                        delay_ms(10);
                        if (0 == KEY2)                //按键确实按下了
                        {
                              printf("按键P33已经按下,led左移一个\r\n");
                              LED_Data = ((LED_Data<<1) + 1);                //本来是直接输出P6,先计算,后输出
                              if (0XFF == LED_Data)
                                        LED_Data = 0xFE;
                              P6 = LED_Data;
                              while (0 == KEY2);                //如果按键一直是按下的,一直执行while
                        }
                }

4、数组的使用。
数组使用分为如下两步:
4 .1 定义。
类型 数组名称[长度] = {数值};
4.2 使用。
赋值:数组名称[索引] = 数值;
读取:变量 = 数组名称[索引];
4.3 长度与索引。


学习心得:

1、理解按键的电路连接情况才能对应出正确的程序逻辑。
2、电平的高低是GPIO口的对外的表现,端口寄存器的数值才是MCU可理解的东西。
3、理解MCU的逻辑框架,理解GPIO口的电路逻辑图,理解GPIO口的寄存器,用C语言将MCU核心逻辑功能通过寻址方法将它们串联起来,就对MCU有通透的理解了。

总结:

1、学习了按键的原理、电平概念、按键抖动的原因。
2、学习了按键防抖的措施和具体程序时序。
3、学习了数组的定义、使用,要注意数组的长度和索引的对应关系。

后记:

2025年4月30日。

我心飞扬 发表于 4 天前

《32位8051单片机原理及应用》教学视频--学习打卡6

第六集:LED闪烁和花式点灯

笔记:

1、基于Delay实现的LED闪烁。
注意:记住常更新AIapp-ISP下载软件、芯片手册等。
1.1 介绍LED闪烁的原理是LED连接的GPIO口上利用延时函数控制高低电平的输出。
1.2 定义主时钟,在main函数前编写Delay函数。(现在高效的方法是在AIapp-ISP下载软件中的工具中生成延时函数,将生成的延时函数复制到程序代码中,并按照LED闪烁的时序进行调用。)
1.3 在主循环中设置GPIO口的电平为低,并调用Delay函数,再设置GPIO口的电平为高,之后再调用Delay函数。
1.4 讲解while()循环及do-while()的用法,i--与--i的不同,#define的用法。

2、函数的使用。
在模块化编程里,函数使用分为如下三步:
2.1 函数定义
返回值 函数名称(入口参数)
{
    函数要执行的功能
}
@返回值:没有返回值就是void。
@函数名称:避开关键词,不重复,非特殊字符随便取。
@入口参数:类型+名称,多个参数“,”分开,空就写void。
2.2 函数声明
返回值 函数名称(入口参数);
2.3 函数调用
函数名称(入口参数);

3、新建文件,使用模块化编程。
新建xxx.c和xxx.h文件,这代表一个功能块。添加xxx.c文件到工程中,使用xxx.h文件时可以在工程中添加头文件的搜索路径。
3.1 xxx.h文件格式:
#ifndef __XXX_H
#define __XXX_H
//调用头文件
#include "头文件名称"
函数声明...
#endif
3.2 xxx.c文件格式:
#include “xxx.h”
函数定义...

学习心得:

1、对GPIO口的赋值等同于对高低电平的操作,同时也是对端口寄存器的读写操作。
2、程序对时序要求非常严格。

总结:

1、学习了LED闪烁的原理。
2、学习了Delay函数的编写方法。
3、学习了用代码如何实现LED闪烁的时序。
4、学习了while()循环及do-while()的用法,i--与--i的不同,#define的用法。
5、学习了函数的使用(定义、声明、调用)。
6、学习了新建xxx.c和xxx.h文件,将xxx.c文件添加到工程,添加xxx.h文件搜索路径到工程中。

后记:

2025年4月28日。

我心飞扬 发表于 4 天前

《32位8051单片机原理及应用》教学视频--学习打卡5

第五集:C语言运算符和进制数入门

笔记:

1、C语言 printf函数的实现。

1.1 在上节课基础上复制上节课工程文件,并打开。
1.2 在程序主循环中加入如下代码。

1.3 在if语句块中添加printf语句。

1.4 printf函数是C标准库stdio.h中定义的。





1.5 c语言中的转义字符。
所有的 ASCII码都可以用“\加数字” 来表示。而C语言中定义了一些字母前加“\"来表示常见的那些不能显示的ASCII码字符,如“\t”,“\n”等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。在Windows系统中我们输入回车时,输入的字符是“\r\n”,unix系统中回车为“\n”,而mac系统中回车的字符为“\r”。

1.6 ASCII码表。


2、数的进制:2进制、10进制、16进制。




3、C语言常用运算符。

3.1 算术运算符。

3.2 关系运算符。

3.3 逻辑运算符。

3.4 位运算符。

3.5 赋值运算符。

3.6 杂项运算符。


4、数据的基本类型。




学习心得:

1、c语言printf函数的格式化输出参数灵活、全面,适合多种数据类型,以不同格式输出显示。
2、c语言中数据最基本的是二进制,为表述方便产生十六进制。人之间交流常用十进制。它们之间的转换关系要记牢。
3、c语言中数据有多种类型,只有按照规则进行定义,计算机才能识别,并正确应用。
4、c语言中数据要通过运算符才能改变数据值或对数据进行比较。

总结:

1、学习了printf的格式化输出。
2、学习了2进制、10进制、16进制的定义、特点及转换方法。
3、学习了算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、杂项运算符。
4、学习了数据类型和数值范围。

后记:

2025年4月28日。

我心飞扬 发表于 2025-4-24 00:46:39

《32位8051单片机原理及应用》教学视频--学习打卡4

第四集:建立工程点亮第一颗LED

笔记:

1、LED点亮原理。
1.1 引入概念高低电平,电压=VCC就是高电平,电压=GND(一般是0V)就是低电平,在逻辑上和编程中分别用1(高电平)和0(低电平)来表示。
1.2 GPIO(general purpose intput output)是通用输入输出端口的英文简称,可以通过程序代码来读取GPIO输入电平,或者控制GPIO输出高低电平。
在硬件上用P0指代一组GPIO口,用P0.0指代P0组中的编号为0的GPIO口,用P0.1指代P0组中的编号为1的GPIO口,......,用P0.7指代P0组中的编号为7的GPIO口。
在程序中用P0指代一组GPIO口,用P00指代P0组中的编号为0的GPIO口,用P01指代P0组中的编号为1的GPIO口,......,用P07指代P0组中的编号为7的GPIO口。
其它P1、P2、......,同理。
1.3 参考试验箱的电路,LED的正极是接到Vcc上的,只要将LED的负极所接的端口输出低电平就可点亮LED。

2、新建工程。
按照芯片手册中新建工程步骤新建针对STC32G12K128的工程。

3、点亮第一个LED。
3.1 定义单独的一个引脚。例如:sbit P60 = P6^0;    //选择P0.0引脚
3.2 控制这个引脚输出电平。例如:P60 = 1;   //输出低电平
3.3 在程序开始部分设置系统初始化参数,将P4和P6口设置成准双向口,在程序主循环中让对应端口输出低电平。
3.4 编译无误后,在AIapp-ISP下载软件中将编译好的程序下载到MCU中运行。

4、实现自动下载工程。
每次下载要手工按照相应的步骤按下两个按键(P3.2键和电源键),比较麻烦。如果能编译后自动下载就好了。用户程序复位到系统区进行USB模式ISP下载的方法可实现不停电自动下载。
4.1 下载最新的USB库,解压后将对应的lib文件添加到工程中。
lib文件分USB_CDC和USB_HID两种驱动。
4.2 参考最新的USB库使用方法在程序代码中写下相应代码,并编译成功。
4.3 在AIapp-ISP下载软件中设置好相关选项。

4.4 最后“打开程序文件”-->“下载/编程”。成功完成后,将MCU重新上电,以后就可以实现自动下载工程。


学习心得:
1、MCU的GPIO口电平控制原理对应程序代码就是给端口赋值0或1。
2、通过AIapp-ISP下载软件实现自动下载工程很方便开发。
3、建立工程的步骤要记住并理解步骤里面为何要如此设置。
4、编程中的小技巧能提高效率,同MCU开发的相关知识一样,要日积月累。

总结:
1、学习了概念GPIO、高低电平以及LED灯的点亮原理,记牢端口寄存器表示方法和设置方法:PxM0,PxM1,Px,Pxn。
2、学习了软件工程的建立流程。
3、学习了AIapp-ISP下载软件下载一个可执行程序到MCU中。
4、学习了如何用USB_CDC和USB_HID库实现自动下载工程的方法。
5、学习了sbit的用法以及#include的用法。
6、学习了书写规范,包括:一行一句,大括号缩进(需要设置),缩进四格,注释完整等。
7、学习了搜索功能,快捷键为:CTRL+F。

后记:

2025年4月28日。


我心飞扬 发表于 2025-4-24 00:37:25

《32位8051单片机原理及应用》教学视频--学习打卡3

第三集:开发环境搭建和程序下载

笔记:

1、AIapp-ISP软件的下载。
1.1 AIapp-ISP软件是开发STC单片机的必备工具,它不仅能下载STC全系列单片机的程序,甚至集成了虚拟显示功能,范例程序程序,在线生成工具,驱动安装等等功能。此工具以前叫STC-ISP软件。
1.2 下载地址:https://www.stcai.com/gjrj
1.3 下载下来解开压缩包,直接运行里面的程序即可。(有些低版本操作系统需要装驱动)


2、STC32手册下载。
2.1 在AIapp-ISP软件下载。

2.2 到官网上下载。
下载地址:https://www.stcai.com/xpsc


3、PDF阅读器下载。
3.1 下载福昕阅读器或者WPS,并打开PDF文件。例如芯片手册。

4、学会PDF阅读器查阅手册。
4.1 学习查阅目录及详情、搜索功能,学会快速查阅章节。

5、跟着手册搭建C251开发环境。
参考以前发的帖子搭建开发环境。
网址:https://www.stcaimcu.com/forum.p ... id=16844&pid=157735

6、程序包的下载。
6.1 在AIapp-ISP软件下载实验箱程序包,并解压。

6.2 到官网上下载。
下载地址:https://www.stcai.com/syx


7、第一个工程的编译和下载。
7.1 在解压的实验箱程序包的目录中找到一个工程,并打开工程文件。

7.2 编译工程文件。

7.3 下载程序到试验箱。
连接实验箱到计算机,按照实验箱手册上下载软件前准备工作按住P32口的开关后点按电源开关,之后松开P32口的开关,使实验箱进入下载程序模式。标志是AIapp-ISP软件中出现如下图中所示:“(HID1)USB-Writer”接口。


学习心得:

1、开发环境的搭建是开发的基础,特别要注意软件参数的设置、引入新的头文件以及相关补丁是否正常安装。
2、整个过程包括:打开工程文件、代码编辑、编译、打开AIapp-ISP软件、连接实验箱、打开试验箱下载模式、设置下载参数、打开程序文件、下载程序。
3、每一步正确才能保证结果正确。
4、新的芯片手册以及示例代码参考价值很大。

总结:

1、重新复习了开发环境搭建和程序下载的整个过程。
2、开发中要多看芯片手册,并根据官方发布的消息及时更新芯片手册及相关程序或及时打补丁程序。

后记:

2025年4月23日。



我心飞扬 发表于 2025-4-23 21:02:19

《32位8051单片机原理及应用》教学视频--学习打卡2

第二集:了解硬件

笔记:

1、硬件介绍。
介绍了实验箱外围接口以及功能,还有这些功能对应的实际生活中的应用场景。



2、单片机资源介绍。
介绍的Flash、RAM的内容。


学习心得:
1、实验箱上外围电路对应着相应的功能,对内对应着具体的IO口。
2、不同的思路能用不同的电路及程序实现。例如不同的按键实现方法。
3、要看参数手册。

总结:
1、学习了实验箱的功能及应用场景。
2、从参数手册中可以看到MCU有什么能力。

后记:

2025年4月23日。

我心飞扬 发表于 2025-4-23 20:51:29

《32位8051单片机原理及应用》教学视频--学习打卡1

第一集:认识单片机

笔记:

讲师介绍:是有10年MCU开发经验的冲哥。

1、什么是单片机。
单片机(Single-Chip Microcomputer)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。
单片机又称单片微控制单元(器)(MicroController Unit:MCU),它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。
单片机的逻辑结构如图:


介绍了STC公司功能强大的STC32G12K128单片机,以及封装方式。

2、单片机能做什么。
单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。


3、新手常见问题。


4、学习建议。


学习心得:
1、单片机虽然使用很长时间了,但是还是有很大的使用空间。
2、简单,低功耗,方便应用开发。
3、虽然上面的截图很老了,但是最基础的逻辑结构没变,后来的高性能芯片也多数在此基础上革新、进化而来。
4、理解基础逻辑结构,对牢固掌握单片机知识,快速理解相关内容帮助很大。

总结:
1、学习了单片机的定义,大致的组成、功能、特点。
2、学习了单片机的应用范围。
3、如何学习单片机,要学基础,多练习,会查手册。

后记:
学了一点儿Ai8051U-32K64的内容,现在再学STC32G12K128,有些内容也算是复习了。

2025年4月23日。

国芯人工智能 发表于 2025-4-23 19:38:00

学习《32位8051单片机原理及应用》视频总结笔记

背景介绍

作为一名对电子技术有浓厚兴趣的学习者,我对单片机的基础知识已有一定了解。8位的51系列单片机在市场上应用广泛,但在深圳国芯人工智能公司推出的支持32位/8位51指令集的MCU(如Ai8051U-32K64)让我感到非常振奋。这些MCU不仅性能强大,还具备更高的灵活性和扩展性,为开发者提供了更多的可能性。

学习过程

最近,我通过观看《8051U深度入门到32位51大型实战视频》系列教程,深入学习了Ai8051U-32K64这款MCU。该系列视频不仅详细介绍了MCU的基本原理,还通过实战案例展示了其在实际应用中的强大功能。通过这一系列的学习,我对MCU的理解更加深入,尤其是在32位架构下的性能优势和开发技巧方面。

在官网和论坛中,我发现STC32G12K128这款车规级MCU也备受关注。它具备两组CAN总线接口,适用于汽车电子等高可靠性领域。因此,我决定按照教学视频开始学习STC32G12K128这款MCU,以进一步扩展我的知识面。

学习资源

学习视频帖子中提到:“保姆级免费视频教程,只要你花时间学,就一定保证你会,专家免费答疑,单片机0基础开始,C语言0基础开始。”这让我对这次学习过程充满信心。我相信,通过系统的学习和实践,我不仅能够掌握新的知识和技能,还能比较Ai8051U-32K64和STC32G12K128这两款MCU的各自特点。

学习计划

1. 基础知识学习:首先,我将通过视频教程系统地学习32位8051单片机的基本原理,包括其架构、指令集、外设接口等。
2. 实战案例:在掌握基础知识后,我将通过实战案例进一步巩固所学内容,特别是如何在具体项目中应用这些知识。
3. 专家答疑:在学习过程中,我将充分利用专家答疑的机会,解决遇到的疑难问题,确保学习效果。
4. 比较分析:最后,我将对Ai8051U-32K64和STC32G12K128这两款MCU进行详细的比较分析,总结它们各自的优势和适用场景。

总结

通过这次学习,我希望能够全面掌握32位8051单片机的原理和应用,特别是在高性能和高可靠性领域的应用。同时,我也期待通过比较不同MCU的特点,为未来的项目选择最合适的硬件平台打下坚实的基础。

2025年4月23日。

学习网址:视频教学:《32位8051单片机原理及应用》,一等奖2万, 送实验箱; 冲哥版

[本文内容由国芯人工智能辅助生成,仅供参考]
页: [1]
查看完整版本: 学习《32位8051单片机原理及应用》视频总结笔记--打卡