xupota 发表于 2025-1-13 18:10:58

《8051U深度入门到32位51大型实战教学视频》打卡第一集

看到新的AI8051U,超极想入手,我本身是声学行业,对频谱分析特别需要,期待8051U的频谱分析,能在工作中有所应用。



AI8051U的AI功能也非常期待。STC32G12K128的贪吃蛇正在自动成长,非常在AI8051U芯片上跑自动贪吃蛇的壮举。

xupota 发表于 2025-4-1 18:37:02

今天学的第6集

冲哥现在讲解比之前的32G128K要详细很多,特别解释GPIO。特别解释了按下,松开,延时,消抖等技术。

xupota 发表于 2025-4-2 18:50:21

第七集

今天主要知识点:
1 8051是单核MCU;
2 串口打印:printf("state:%d\r\n",(int)state);
3 定时器初始化放在EA=1之前;
4 全局变量;
5 xfd汉字;
6 函数在调用前,要先声明;
7 TR0=1;开启Timer0,TR0=0;关闭Timer0

xupota 发表于 2025-4-4 21:03:28

第8集
知识点非常多,最重要的是介绍了结构体的概念及应用,第一见到结构体的实际应用。
1 程序中变量名/函数名大小写,中英文符号等需特别注意;
2大括号成对出现;
3串口接收分包显示的作用及设置;
4周期性任务用定时器实现;
5 for 语句的具体应用;
6 shift+tab可前进一步,tab可后退一步;
7 0111 1111 按位取反(~)的灵活应用;
8 如何用计数方式替代while()语句;
9 .c文件和.h文件的建创及使用方式;
10.结构体的定义及使用;这个知识点才是超级重点,估计后面在AI的程序中,会有很多类似的知识点,比如结构体,共用体等等。

xupota 发表于 2025-4-5 21:10:48

第9集
1 数码管的显示原理及应用、分类;
2 74HC595的驱动原理;
3 字模工具,数码字符数据
4 重新定义引脚名称 #define
5 虚拟接口;
6 重要的还是上一节课的多任务处理。

另外,Ai8051U的教学视频深度与广度较之前的STC32G12K128有非常大的提升,细节问题非常多。程序的写法也比之前的STC32G12K128要灵活很多。

xupota 发表于 2025-4-11 22:24:39

第10集虚拟显示LED和数码管

关键AI_usb.h头文件

虚拟LED的功能
1控制DIP40的各个管脚上LED的状态            void LED40_SendData(BYTE *dat,BYTE size);   
BYTE cod;cod=0x0f;cod=0x12;cod=0x34;cod=0x56;cod=0x78;LED40_SendData(cod,5);//修改P0口状态为12,P1口状态为34,P2口状态为56,P3口状态为78.

2 控制DIP40的指定组管脚上的LED的状态   void LED40_SetPort(BYTE port,BYTE dat);         LED40_SetPort(0,0x55);//设置P0口输出55H
3 控制DIP40指定管脚输出高电平               void LED40_SetBit(BYTE port,BYTE bt);             LED40_Setbit(4,5);//设置P4.5口输出高电平
4 控制DIP40指定管脚输出低电平               void LED40_ClrBit(BYTE port,BYTE bt);            LED40_ClrBit(4,5);//设置P4.5口输出低电平

虚拟数码管显示功能
1 在数码管上显示字符串                                 int SEG7_ShowString(const char *fmt,...);         SEG7_ShowString(%081x",0x1234abcdL);
2 在数码管上显示4字节长整型数                     void SEG7_ShowLong(long n,char radix);//n:长整型数,radix:进制    SEG7_ShowLong(0x98765432,16);
3 在数码管上显示IEEE754格式单精度浮点数   void SEG7_ShowFloat(float f);//f:浮点数SEG7_ShowFloat(3.14159);
4 在数码管上直接显示所给的段码                  void SEG7_ShowCode(BYTE *cod);//cod 段码
BYTE cod;
cod=0x3f;
cod=0x06;
cod=0x5b;
cod=0x4f;
cod=0x66;
cod=0x6d;
cod=0x7d;
cod=0x27;
SEG7_ShowCode(cod);//显示76543210

xupota 发表于 2025-4-12 20:58:42

第11集

按键识别原理
端口默认为高电平,实时读取到引脚为低电平时,表示按下。
矩阵式键盘可用扫描法,识别按键。
第一步 P0.0-P0.3(列)输出低电平,P0.6-P0.7(行)输出高电平。如果有按键按下,按下的那一行的IO就会变成低电平,就可以判断出哪一行按下了。
第二步 P0.0-P0.3(列)输出高电平,P0.6-P0.7(行)输出低电平。如果有按键按下,按下的那一行的IO就会变成高电平,就可以判断出哪一列按下了。
第三步 行列组合一下,就可以判断出是哪个按键按下了

注意事项:
1 矩阵式按键不适合于组合键,容易误判断。
2 实际程序中,可以定义一个变量,记录按键对应的值。比如K0=0,K1=1,,,
3 在按键的功能代码中,可以通过判断按键值来执行相应的动作。
4 注意消抖同样,注意按键值还原。
5 注意程序的可移值性,重新定义端品名称。

xupota 发表于 2025-4-13 09:35:22

第12集

系统复位
目的:确保系统处于正确状态,避免不确定行为,初始化系统,保证程序正常开始执行。
复位方法:
1 硬件复位:上电复位;
    如果对开机时间没有严格要求,建议勾选“上电复位使用较长延时”。如果需要快速开机,建议将P3.2,P3.3至少接一个上拉5.1K电阻到VCC。
“下次冷启动时,P3.2/P3.3为0/0才可下载程序”,这个勾不用选,除非有特殊要求。
2硬件复位:低压复位;
   需勾选“允许低压复位(禁止低压中断)”勾许后,当VCC电压低于设置的低压检测电压时,MCU会产生低压复位。如果不勾选,允许低压复位选项,当VCC电压低于设置的低压检测电压时,MCU会产生低压中断标志。如果使能了低压中断的话,就会产生低压中断。
3 硬件复位:复位脚复位
RST/P4.7 低电平复位
通常情况下P4.7作为普通IO口,不具备低压复位功能。除非把“复位脚用作IO口”
4 硬件复位:看门狗复位WDT_CONTR
   程序有USB功能,记得先加USB复位

5 软件复位:
   IAP_CONTR=0x60;//下载模式
   IAP_CONTR=0x28;
   IAP_CONTR=0x20;//复位模式

总结:因设备系纺的复杂性,可能会出现某些不确定因素,当系统出现某种未知的错误的时候,我们可以通过复位操作来确保设备工作在已知的状态,使其能够正确运行。前提:设备的硬件没有损坏。

xupota 发表于 2025-4-13 10:26:47

第13集中断

中断的特点:
1 系统优先响应中断级别最高的中断请求;
2 可以从低级中断服务程序中跳转执行高级中断请求,完成后,再返回低级中断服务程序。
3每一个中断源都可以独立控制;
4中断优优先级可以用程序控制;
5每一个中断源都有固定的中断号,interrupt 2.

xupota 发表于 2025-4-13 21:25:20

第14集
I/O中断
普通I/O均可以中断,不是传统的外部中断。

AI8051U系列:I/O串口均可中断,中断优先级4级(0-3),均具备I/O中断唤醒动能。
4种中断模式:下降沿中断/上升沿中断/低电平中断/高电平中断。第组I/O口都有独立的中断入口地位,且每个I/O可独立设置中断模式。

特别情况,如果要同时检测某个信号的上升沿和下降沿,可将此信号同时连接到两个I/O,其中一个I/O检测此信号的上升沿,另外一个I/O检测此信号的下降沿即可。

I/O中断有如下优点:
1 支持所有I/O口;
2 可以任意配置上升沿/下降沿/高电平/低电平;
缺点:
1 I/O中断同时只能支持一种中断模式。外部中断0和1可以同时支持上升/下降沿中断(可以用两个I/O端口实现双边沿检测)
2 每组I/O的8个位共用一个中断号,产生中断请求信号后,需要判断是哪个I/O口的发出的中断请求;

中断的用法:
1 选择合适的中断模式:上升沿/下降沿/高电平/低电平
2 中断使能 PnINTE.x端口中断使能控制位   0:关闭Pn.x中断功能    1: 使能Pn.x中断功能
3中断标志位寄存器(PxINTF) PnINTF.x端口中断请求标志位。0:没有中断请求;1 :有中断请求。若使能中断,则会昌入中断服务程序。标志位需软件清0.
4 中断号的处理,下载插件 or 使用13号中断请求。
5端口中断优先级控制寄存器。

特别注意,若有调整其中任何一个默认的中断优先级,则需要重新指定所有的中断的优先级。比如调整P4的I/O中断级为最高,则用于计时的T0或者T1的默认优先级也需要调整。否则,程序会跑偏。
页: [1] 2
查看完整版本: 《8051U深度入门到32位51大型实战教学视频》打卡第一集