找回密码
 立即注册
查看: 351|回复: 1

AI8051U学习打卡日历

[复制链接]
已绑定手机

1

主题

0

回帖

15

积分

新手上路

积分
15
发表于 2024-12-4 13:14:49 | 显示全部楼层 |阅读模式

第一集-序

8051U强在哪里? 1.屏幕显示和视频播放(flash编程器) 2.IIS录放音==已测试 3.PWM DMA 4.频谱分析仪(上位机) 5.手写计算器 6.QSPI,PWM移相,硬件乘除,单精度浮点

AI8051U简介:

Ai8051U,USB 型 1T 8051,支持32位和8位指令集,RMB2.3管脚兼容天王级别的:89C52RC,12C5A60S2要兼容 8位805.1指令集,可以用 Keil C51/IAR/SDCC 编译器

===就相当于更强大的.8H8K64U

要兼容 32位8051指令集;可以用 Keil C251 编译器,双核兼容设计

===就相当于更强大的 32G12K128,32G8K6434K SRAM(2K edata, 32K xdata) ,64K Flash TFPU@120MHz, 硬件浮点/硬件三角函数 运算器

DMA支持PWM,DMA支持外设直接到外设,P2P

120MHZ-PWM支持硬件移相,16位PWM;

真12位ADCUSB,4组串口,12位ADC,轨到轨比较器QSPI, SPI, I2S,12C,TFT-i8080/M6800 接口

PDIP40,LOFP44,LOFP48

第二集-实验箱介绍

老师介绍了AI8051实验箱丰富的外设和调试工具 ISP

a7d7c9232616e4f011ef6730febeb57.png

第三集-点亮第一个LED

三个部分:

1.keil文件的创建和配置

2.硬件介绍:

点亮led的原理,以及实验箱上LED的硬件电路图。

3.为什么能点亮LED:

分析了IO口的配置原理。

第四集:点亮三个灯+USB不停电下载。

第五集:C语言基础

一。C语言 USB-CDC串网之printf函数的实现

1.打开USB库中的PRINTF HID宏定义(去掉//)

2.理解PRINTF的函数原型的定义#define printf printf hidint printf hid (const char *fmt, ...);

参数fmt -- 是格式控制字符串,包含了两种类型的对象:普通字符和转换说明

转换说明简介:

1.类型:根据不同的 fmt 字符串,函数可能需要一系列的附加参数,每个参数包含了一个要被插入的值,替换了'fmt 参数中指定的每个'% 标签。关于附加参数,既可以是变量,也可以是常量。 2.位置: printf()'函数的普通字符和转换说明放在”"双引号内,附加参数放在双引号外,每个附加参数之间用逗号隔开。

3.数量:printf() 的附加参数与转换说明符是一一对应关系,如果有 n个转换说明符,printf()的参数就应该有n+1个。如果参数个数少于对应的转换说明符,转换说明符printf() 可能会输出内存中的任意值。

二。数的进制“2进制 8进制 10进制 16进制

三。数据类型:

image.png

四。常用运算符

image.png

image.png

第六集:IO口输入输出

GPlO (General Purpose l/O'Ports)意思为通用输入/输出端口,通俗地说,就是一些引脚,可以通过它们输出高低电平或者通过它们读入引脚的状态-是高电平或是低电平,

高电平就是指接近于电源正极电压的电平:也叫逻辑 .“1” 单片机输出高电平就是输出VCC电压,输出低电平就是输出GND的电压。

例程:按键输入检测

原理:没按案件时高电平,按下按键是低电平,通过检测IO口的电平变化实现对LED灯的控制。

注意:机械按键按下时会有抖动,一般在20ms以内,因此在写代码时要消抖。

第七集:IO口定时器中断

老师通过生活实例解释了中断的意义,于是引入中断的概念。

定时器的介绍:

(1)用于计时系统,可实现软件计时,或者使程序每隔一固定时间完成一项操作

(2)替代长时间的Delay,提高程序的运行效率和处理速度(可以打断主循环)

定时器的应用:

任务1:LED灯三秒取反一次,这期间任意时刻按下按钮,串口打印按键次数。

任务2:灯按一下点亮三秒后熄灭,

任务3:救护车灯控制器,按下报警按钮,红蓝交替闪烁(LED1和LED2表示红和蓝灯);再按一下报警按钮,红蓝灯停止。

通过这个案例,老师讲解了定时器的用法和相关寄存器的配置,我终于学会看寄存器了

函数的定义,声明,调用:

个人理解:

  1. 函数定义:
    • 函数定义是指创建一个新的函数,为其指定名称、输入参数和函数体。
    • 函数定义指明了函数的功能和行为。
    • 函数定义使用关键字(如 "function" 在 JavaScript 中)来声明函数。
  2. 函数声明:
    • 函数声明是指在程序中引入一个函数,声明其名称、参数和返回类型。
    • 函数声明告知编译器或解释器这个函数的存在,但不定义函数体。
    • 函数声明通常出现在函数定义之前,以便其他部分的代码可以调用该函数。
  3. 函数调用:
    • 函数调用是指在代码中显式地执行一个函数。
    • 函数调用包括使用函数名称,并提供所需的参数。
    • 函数调用会导致函数体被执行,并返回结果。
1 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:174
  • 最近打卡:2025-05-08 09:20:12
已绑定手机

90

主题

963

回帖

2332

积分

超级版主

积分
2332
QQ
发表于 2024-12-4 13:22:47 | 显示全部楼层

很用心的Ai8051U教学视频学习笔记,期待您更加精彩的点评。

恭喜您提前获赠Ai8051U实验箱,今日会给您顺丰免费包邮寄出。

期待您在论坛上给大持续分享测试心得,一起前进

热线19952583534
www.STCAI.com
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-9 02:22 , Processed in 0.116251 second(s), 58 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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