AceLumb 发表于 2025-1-20 14:11:23

《8051U深度入门到32位51大型实战教学视频》的第一天(共7天)

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

Ai8051U的强项:
1.完整的IIS录放音;
2.优化了QSPI的一些Flash芯片的读写能力(更好地进行大容量视频的播放);
3.通过浮点乘除单元更好地支持频谱分析仪(上位机);
4.新功能:PWM移相、硬件乘除、单精度浮点、手写计算器…

实例:
强项第2点:有较高帧率的屏幕显示,对图片、文本的高清晰度显示且旋转显示刷新速度快

强项第1点:清晰的声音录放且声音可调节(注意这里频率改36.864,然后如果接线路输出的话要接音响的输入口)
强项第3点:附图

angmall 发表于 2025-1-31 18:51:52

<p>每个人学习打卡以回复形式发到同一个帖,不要新开帖</p>

AceLumb 发表于 2025-2-3 16:52:46

第二天

(原帖已删)

本次课程学习了8051U的硬件模块组成以及编程软件(包括拓展)的环境搭建
板子的正反面硬件部分如下图:

推荐编程元件

板子的工作手册下载网页:

ISP以及拓展插件:

ps:下载地址都在官网的8051U的板子介绍界面

头文件配置:

AceLumb 发表于 2025-2-3 17:08:06

第三天

(原帖已删)


如果创建工程以及(添加头文件利用ISP软件)单文件编译和所有文件编译,在编译软件中可以寻找这两个图标:

查看手册可以利用书签方面查询手册:

根据手册操作进行创建和设置:


此处一定要勾选上下面这个图片的选项,这个是让代码以HEX格式烧录到单片机:


关于头文件的使用:


然后下载烧录显示结果如图:



I/O以及代码原理解释可以查看手册13章:

AceLumb 发表于 2025-2-3 17:20:33

第四天

(原帖已删除)


针对需要不断手动按p32(断电)下载更新编写程序的问题的解决办法,即自动匹配第一次下载的串口
首先需要下载usb库文件和例程文件(在stc官网下载):

CDC和HID文件需要和ISP软件设置对应:


usb代码:

命令参数代码:

XFR寄存器代码:


注意:“|=”语段相当于赋值与原值同为只要有1即输出1,即或的逻辑关系。

原理解析(来自手册):

AceLumb 发表于 2025-2-3 17:28:55

第五天

(原帖已删)


printf函数的实现,在上次程序使用的“stc32_stc8_usb.h”头文件把下面图片中“//#define PRINTF_HID”语句前面的“//去掉即可”

define 的用法:define <原函数名><替换函数名>
int printf_hid(const char *fmt,…)其中fmt是格式控制字符串包含普通字符和转换说明
USB_ CDC可以任意的波特率进行传输

%格式符 常用:

/转义符 常用:

标志:

数据基本类型:

运算符:

AceLumb 发表于 2025-2-3 17:47:44

第六天

(原帖已删)


GPIO:(General Purpose I/O Ports)意思为通用输入/输出端口,通俗地说,就是一些引脚,可以通过它们输出高低电平或者通过它们读入引脚的状态-是高电平或是低电平。
高电平:指接近于电源正极电压的电平;也叫逻辑“1”。
单片机输出高电平为VCC电压,低电平为GND电压。

拉电流和灌电流示意图:

按键抖动示意图,导致不可能做到引脚一次变化,是多次抖动后趋于稳定:

WTST=0; //设置程序指令延时参数,赋值为0可将CPU执行指令的速度设置为最快。
EAXFR=1; //扩展寄存器(XFR)访问使能。
CKCON=0; //提高访问XRA M速度

whlie语句在消抖按键中的作用:阻断按下按键后输出端口重复取反

AceLumb 发表于 2025-2-3 17:53:43

第七天

(原帖已删)

单核CPU同时只能执行一条语句,也就是采用下段代码时做不到按钮和定时器同时有效运行:

定时器作用:
(1)用于计时系统,可实时软件计时,或者使程序每隔一固定时间完成一项操作
(2)代替长时间的Delay,提高程序的运行效率和处理速度(可以打断主循环)

通过查阅手册可以看到Ai8051U支持16和24位两个模式,我们可以在ISP软件生成对应的定时器参考代码


\xfd可以解决Keil软件中编译0xFD的问题,在手册附录详细可见:

我们可以通过修改TMOPS参数来设置系统时钟到定时器时钟的转换比率:

(定时器0的16位模式原理图同上)

也可以使用AUXR进行二次分频:
页: [1]
查看完整版本: 《8051U深度入门到32位51大型实战教学视频》的第一天(共7天)