找回密码
 立即注册
查看: 319|回复: 6

AI8051U学习打卡 |已送实验箱

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-02-27 08:36:24
已绑定手机

1

主题

6

回帖

43

积分

新手上路

积分
43
发表于 2025-2-25 09:44:46 | 显示全部楼层 |阅读模式
第一课  认识AI8051U开发系统


视频开头的的口号真是戳中人心:哪怕梦想让我们拼得遍体鳞伤,这一次我们也要勇往直前!
勇往直前!
勇往直前!
勇往直前!

硬件结构:
除主芯片不同外,硬件模块构成大致和手头的C51开发系统差不多,包含一下部分:
输入:IR接收、2X4矩阵键盘、16位ADC键盘、Mic、温湿度传感器、
输出:IR发射、示波器BNC、双声道音频输出、SPI/I2C OLED显示屏、8位数码管、TFT彩屏、8位LED、蜂鸣器;
通讯:USB双串口、Link 1D接口、485、
存储:TF卡槽、FLASH、EEPROM、
截图202502250925166531.jpg


Ai8051u特点:
1,Ai8051U-LQFP48封装结构
2,Ai8051U有TFPU@120MHz,  uS级硬件三角函数/浮点运算器;
3,Ai8051U的抗干扰强;
4,  Ai8051U自带高性能复位电路,无需外部复位;
5,  Ai8051U的内部时钟完全满足串口通信要求,包含4组串口;
6,Ai8051U-LQFP48有 QSPI, i8080/M6800-TFT 接口;
7,  Ai8051U的PWM支持硬件移相@120MHz,DMA 支持 外设直接到外设,P2P
8,Ai8051U自带 34K SRAM,64K Flash
9,Ai8051U自带硬件USB, 无需外部USB转换芯片

10,兼容89C52RC、12C5A60S2
11,16位PWM、12位ADC
截图202502250942417758.jpg
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-02-27 08:36:24
已绑定手机

1

主题

6

回帖

43

积分

新手上路

积分
43
发表于 2025-2-25 10:01:29 | 显示全部楼层
第二课 开发环境搭建以及LED控制代码编写

开发工具:
视频建议的Keil Arm软件已经安装,为了代码编辑的便利性自己还搭配了VS CODE提供效率
截图202502251002029047.jpg

1. 教学起始讲解了程序的主要结构 加载了专属的ai8051u.h的头文件,并生动的讲解了while循环语句的工作原理。
截图202502251005238149.jpg

2. 了解了IO口的配置,通过手册了解了IO口的工作模式,如何建立双向、推挽、高阻、开漏模式
截图202502251020006138.jpg

3. 编写LED0的点亮代码,和C51以及STM32类似,先定义端口状态再调用端口;
截图202502251030348795.jpg
4 探究:
如果想要LED0闪烁,可否按传统51的写法:P00=~P00配合延时函数 ?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-02-27 08:36:24
已绑定手机

1

主题

6

回帖

43

积分

新手上路

积分
43
发表于 2025-2-25 10:37:35 | 显示全部楼层
第三课 USB不停电下载

话说这个不停电下载是太香了,C51的开发板每次下载必须开关机一次才行,拨动开关都让我拨烂两个了。
以前学习STM32时还必须借助J-LINK才能做到不断电下载。

学习中。。。。
截图202502251050463402.jpg

理解main.c文件:
1. 加载stc32g和CDC模式的USB库文件;
2. 定义字符型的指针变量并分别赋值,第三个字符型变量USER_STCISPCMD赋值STC的内部命令;
3. main函数中,首先定义P_SW2寄存器进行位或运算并赋值可以访问XFR,定义P0-P7端口的状态为双向模式;
3. 调用库函数usb_init(),然后设定中断;
4. 通过while循环配置USB环境;
截图202502251054473983.jpg

代码练习:
截图202502251131552919.jpg

总结:
初步了解了中断地址、寄存器类型,通过官方的库文件实现了USB下载不需要开关机的操作。

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-02-27 08:36:24
已绑定手机

1

主题

6

回帖

43

积分

新手上路

积分
43
发表于 2025-2-25 11:35:27 | 显示全部楼层
第四课 C语言基础

之前有学过C语言,只是学过,还记得多少我自己都不清楚了,本节课重新温习了不同进制的数据结构和相互转换。
了解了数据基本类型和常用运算符。

收获的知识点:
1. 了解了STC自有函数printf_usb,并将C语言自带的函数printf替换为串口打印函数,使用方法大致和C语言函数printf类似;
2. 数据类型int、char、float、double、sfr等 所占用的字节长度、数值范围;
3. 算数运算符+、-、*、/、%、++、--的特点和用法;
4. 关系运算符==、!=、>、<、等用法;
5. 逻辑运算符&&、||、!用法;
6. 赋值运算符=、+=、-=、%=、<<=、&=、|=的用法;

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-02-27 08:36:24
已绑定手机

1

主题

6

回帖

43

积分

新手上路

积分
43
发表于 2025-2-25 12:25:43 | 显示全部楼层
第五课 GPIO

GPIO这四个字非常熟悉,英文构成只记得前面一个General,中间的P一直记为PROT,Purpose记住了

关于IO口的电压匹配问题,3.3V供电时外接5V的CMOS端口在一般情况下可以使用电平转换器件作为桥接缓冲时钟,如果涉及到通讯口还不太清楚。

GPIO的模式配置,如果是使用开漏模式,记得外加上拉电阻,上拉,切记。
截图202502251233004097.jpg

IO口设置为双向时,灌电流最大为20mA/io,外接电路时尽量利用低电平触发,如果一定要用高电平输出则需要使用推挽模式。
限流电阻尽量大于1K欧姆
截图202502251237078121.jpg

IO口的具体参数,比较常用的是红框内的配置,注意高低电平的限制要求。
截图202502251241305920.jpg

关于IO默认电平状态,以及上电、复位时IO口的一个状态全部都是为1,因此要避免使用高电平驱动的外设,否则开机瞬间会有动作。
截图202502251245232525.jpg

关于按键的配置,需要留意按键的机械抖动,一般需要在按键触发判断时加一个延时动作去除抖动然后再判断按键的状态
例如:
if(sw==0)
{
    delay(20);
    if(sw==0)
    {
      执行命令
      while(sw==0);
    }
}
截图202502251300181565.jpg

截图202502251245161318.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-02-27 08:36:24
已绑定手机

1

主题

6

回帖

43

积分

新手上路

积分
43
发表于 2025-2-25 13:12:30 | 显示全部楼层
第六课,定时器和中断


全部都支持8+16位的定时中断,这个挺好,比C51强大了很多。
   截图202502251317447894.jpg

主要目的是学中断,但意外的收获是特殊汉字的乱码问题解决办法,这个好评。
截图202502251330381377.jpg

定时器0的模型认识
截图202502251331487728.jpg

关于定时器计数器内部运行逻辑讲得非常详细,结合程序实例讲解如何进行分频处理,比其他作者的教学视频更容易理解其原理
截图202502251337573347.jpg
截图202502251341303457.jpg
截图202502251345048618.jpg

复习函数的基础知识,问题来了,在单片机开发中函数入口参数的使用技巧还是没搞太懂。
截图202502251349513821.jpg

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-02-27 08:36:24
已绑定手机

1

主题

6

回帖

43

积分

新手上路

积分
43
发表于 2025-2-25 14:01:59 | 显示全部楼层
第七课,定时器周期性任务调度


巩固定时器相关的知识,讲得很细致。
截图202502251415166290.jpg

虽然是学定时器,但是把C语言的基本用法if语句、for语句、数组等全部讲解清楚了。
截图202502251424466809.jpg

IO口轮询计数竟然还能这样使用,学到了。特意颠倒方便编写,后面调用时取反就实现了0X01到0XFE的转变,秒啊!
截图202502251442022021.jpg

解决了我设计闹钟时按键按下导致的显示中断问题
截图202502251449452516.jpg

不是一般的细致,学到这相当于入门了,接下来就是代码效率优化和具体功能实现了
截图202502251458186178.jpg
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-3 22:22 , Processed in 0.196930 second(s), 84 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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