学习贴《Ai8051U单片机深度入门到32位51大型实战视频》-P01
{:3_49:}{:woshou:}P01
实验箱功能:
1.屏幕显示和视频播放(flash编程器)
2.IIS录放音
3.PWM_DMA
4.频谱分析仪(上位机)
5.手写计算器
6.QSPI,PWM移相,硬件乘除,单精度浮点
感谢分享《Ai8051U单片机深度入门到32位51大型实战视频》的学习贴。P01课程内容详实,涵盖了实验箱的多项核心功能,包括屏幕显示与视频播放(通过Flash编程器实现)、IIS音频录制与播放、PWMDMA控制、频谱分析仪(上位机应用)、手写计算器开发,以及QSPI、PWM移相、硬件乘除运算和单精度浮点处理等高级功能。这些内容不仅为初学者提供了扎实的51单片机基础知识,还深入探讨了32位架构的实战应用,具有较强的实用性和前瞻性。期待后续课程继续深入解析这些功能的实现细节与优化策略,为开发者提供更多启发与指导。<br><br>[本文内容由国芯人工智能辅助生成,仅供参考] 学习贴《Ai8051U单片机深度入门到32位51大型实战视频》-P02
P02
硬件部分功能介绍
软件工具
1.安装keil
2.下载ISP
3.添加头文件
4.下载插件
5.下载代码包和实验箱手册
学习贴《Ai8051U单片机深度入门到32位51大型实战视频》-P03
P03
新建工程
1.创建空工程
2.添加头文件
3.输入如下代码
例:点亮一个LED灯
#include "ai8051u.h"</font>
void main(void)</font>
{
P0M1 =0x00;P0M0 = 0x00;//配置P0口为准双向口</font>
P4M1 =0x00;P4M0 = 0x00;</font><span style="font-size: large;">//配置P4口为准双向口</span>
P40 =0; //实验箱专用LED总开关打开</font>
<font size="4"> while(1)</font>
<font size="4"> {</font>
<font size="4"> P00 = 0;</font>
<font size="4"> }</font>
<font size="4">}</font></div>
学习贴《Ai8051U单片机深度入门到32位51大型实战视频》-P04
P04:USB不停电下载
1.下载所需文件(STC官网-软件工具-库函数-USB库文件)
①STC_USB_LIBRARY→查询模式STC_CDC库文件→stc_usb_cdc_32.LIB(复制到示例代码文件夹中)
②STC_USB_LIBRARY→stc32_stc8_usb.h(复制到示例代码文件夹中)
2.添加头文件
3.USB初始化函数(hib+.h库实现)
#include"ai8051u.h"
#include“stc32_stc8_usb.h”
4.命令参数
注:命令“@STCISP#”要与之匹配
5.打开PSW2寄存器和IE2寄存器(只打开一个位!)
6.烧录即可,第一次烧录需要按复位键,之后不再需要。
学习贴《Ai8051U单片机深度入门到32位51大型实战视频》-P05
P05
一、C语言USB-CDC串口之PRINTF函数实现
1.打开USB库中的PRINTF_HID宏定义
2.理解PRINTF的函数原型的定义
#define printf printf_hid
int printf_hid(const char*fmt,...);
参数fmt -- 是格式控制字符串,包含了两种类型的对象:普通字符和转换说明
普通字符:在输出时,普通字符将原样不动的复制到标准输出。
e.g. printf("8051xxxxxxx\r\n"); //打印8051xxxxxxx\r\n
转换说明:不直接输出,用于控制printf中参数的转换和打印。每个转换说明都由一个百分号字符(%)开始,以转换说明符结束,从而说明输出数据的类型、宽度、精度 等。
e.g. printf("8051xxxxx,%s\r\n","jiayou");//打印8051xxxxx,jiayou
学习贴《Ai8051U单片机深度入门到32位51大型实战视频》-P06
P06 正式学习单片机
1.GPIO (General Purpose l/O' Ports)意思为通用输入/输出端口,通俗地说,就是一些引脚,可以通过它们输出高低电平或者通过它们读入引脚的状态-是高电平或是低电平。
2.按键输入检测
学习贴《Ai8051U单片机深度入门到32位51大型实战视频》-P07
P07
1.定时器
问题:.LED三秒闪烁一下,这三秒按下按键但是没有反应了?这怎么办呢?
答:因为MCU单核的,同一时间只能执行一个事情,没有特殊情况不能被打断。所以这里就要引入一个特殊的情况,定时器中断。
定时器作用:
(1)用于计时系统,可实现软件计时,或者使程序每隔一固定时间完成一项操作
(2)替代长时间的Delay;提高程序的运行效率和处理速度(可以打断主循环)
2.函数的定义、说明、调用
返回值类型 函数名(入口参数)
{
//函数体
//函数执行的代码
return 返回值;
}
e.g.20ms定时
void Delay20ms(void)
{
unsigned long edata i;
_nop_();
_nop_();
i= 119998UL;
while (i) i--;
}
页:
[1]