- 打卡等级:偶尔看看II
- 打卡总天数:24
- 最近打卡:2025-06-06 08:02:44
已绑定手机
注册会员
- 积分
- 110
|
第一集 序言
以前有自学过单片机,后面因遇到些瓶颈,无法突破,很庆幸竟然偶然看到深圳国芯,冲哥的视频讲解视频,下面这句话让我重拾信心,这次一定要坚持下去,感谢国芯,感谢冲哥的引导。
借此免费实验箱活动还有视频教程来记录自己的学习过程。
Ai8051U-LQFP48 比普通 M0/M3,比 32F103C8T6 强太多的地方:
1,Ai8051U有TFPU@120MHz, 算力比他强, uS级硬件三角函数/浮点运算器;
2,Ai8051U的抗干扰比他强;
3, Ai8051U的内部复位是专业级的复位电路,彻底省外部复位;
4, Ai8051U的内部时钟完全满足串口通信要求,4组串口;
5,Ai8051U-LQFP48有 QSPI, i8080/M6800-TFT 接口,32F103C8T6没有;
6, Ai8051U的PWM支持硬件移相@120MHz
7,Ai8051U是 34K SRAM, DMA 支持 外设直接到外设,P2P
8,Ai8051U是 自带硬件USB, 1个芯片就能直接USB连接电脑仿真/下载,全球唯一
第二集 硬件及工具介绍
1.试验箱配件的讲解
2.各功能模块讲解
3.编程软件及相关配套软件
4.下载测试程序
第三集 点亮一个LED灯
删除之前的所有的keil版本,然后下载网友共享的C251 MDK版本是用于STM32系列单片机编程 C51版本是用于传统的51单片机编程 C251版本用于STCAI8051U单片机编程
|
1.创建空工程
2.添加头文件
3.编辑代码及编译(端口配置)
#include <ai8051u.h> //头文件
void main(void)
{
P0M0=0X00;
P0M1=0X00; //P0端口设置为准双向口
P4M0=0X00;
P4M1=0X00; //P1端口设置为准双向口
P40=0;
while(1)
{
P00=0;
}
}
第四集 USB不停电下载
1.实验对比演示
2.下载所需文件(STC官网-软件工具-库函数-USB库文作3.移植关键部分到工程:
3.1 添加头文件
3.2 USB初始化函数(ib+.h库实现)
3.3 命令参数
3.4 打开P SW2寄存器和IE2寄存器(只打开一个位!)
完整程序如下:
#include "ai8051u.h" //调用头文件
#include "stc32_stc8_usb.h" //调用头文件
char *USER_DEVICEDESC = NULL;
char *USER_PRODUCTDESC = NULL;
char *USER_STCISPCMD = "@STCISP#";
void main(void)
{
P_SW2 |= 0x80; //B7位写1,使能访问XFR
P0M1 = 0x00; P0M0 = 0x00;
P1M1 = 0x00; P1M0 = 0x00;
P2M1 = 0x00; P2M0 = 0x00;
P3M1 = 0x00; P3M0 = 0x00;
P4M1 = 0x00; P4M0 = 0x00;
P5M1 = 0x00; P5M0 = 0x00;
P6M1 = 0x00; P6M0 = 0x00;
P7M1 = 0x00; P7M0 = 0x00;
usb_init(); //USB CDC 接口配置
IE2 |= 0x80; //使能USB中断
EA = 1; //IE |= 0X80;
while (DeviceState != DEVSTATE_CONFIGURED); //等待USB完成配置
while(1)
{
if (bUsbOutReady)
{
USB_SendData(UsbOutBuffer,OutNumber); //发送数据缓冲区,长度(接收数据原样返回, 用于测试)
usb_OUT_done();
}
P40 = 0; //P40端口输出0V
P00 = 0; //P00端口输出0V
P02 = 0; //P02端口输出0V
//P01 = 0; //P01端口输出0V
//
}
}
第五集 C语音基础
1.C语言 USB-CDC串口之printf函数的实现
2.数的进制:2进制、10进制、16进制
3.数据的基本类型
4.C语言常用运算符
第六集 IO输入输出配置
1.什么是GPIO:
2.按键输入检测
3.课后小练
第七集 定时器中断
1.定时器的介绍
定时器作用:
(1)用于计时系统,可实现软件计时,或者使程序每隔一固定时间完成一项操作
(2)替代长时间的Delay,提高程序的运行效率和处理速度(可以打断主循环)
2.定时器的应用
3.函数的定义、声明、调用
|
-
|