AI8051U学习心得
第一集重点:AI8051U的优势,又便宜又强大。 第二集 重点:功能强大的AI8051U实验箱,很期待。第三集:重点:KEIL5 C251环境设置 ,32位AI8051U的IO口与老的89C51不同,有四种工作模式,需要初始化。学习一定要自己写一遍代码,上机实验。
第四集 USB不停电下载
重点:程序下载: ISP下载时,点击了ISP上的下载后,是没有反应的,还需要按一下实验箱上的P32,再按下电源OFF按键,才会进入USB-Writer,然后点击ISP上的下载才真正的进入下载过程。
快速的方法:选择->收到用户命令后。。。,勾选如图的几个选项,扫描串口中的选项会自动选择如图所示的选项,第一次还是需要第一步手动下载,后面程序有改变,编译后就可以自动下载了。当然要勾选上ISP最左下角的选项
需要移植USB的库文件和头文件,要注意:新的库文件,已经与视频上讲的不同。USER_DEVICEDESC,USER_PRODUCTDESC,USER_STCISPCMD进行定义, 如已定义,请删除。
还需要在主函数中添加命令:usb_init(); USB初始化 P_SW2最高位设置为1,允许访问XFR寄存器,使能EA总中断....根据视频进行添加
视频30分钟时,屏蔽57,函数未调用的警告,赞!这是第一次看到。
推荐优先看的 printf_usb("Hello World !\r\n")及usb不停电下载, 演示视频链接
本坛转发时,要去掉中括号后的第一个“-”,就可以将视频帖到其他帖子中
https://v.stcai.com/sv/1c5eec2-197fcd9b766/1c5eec2-197fcd9b766.mp4
上面是 小李 演示:Ai8051U, printf_usb("Hello World !\r\n")及usb不停电下载@AiCube之图形化程序自动生成
https://v.stcai.com/sv/1fce8086-197cf2b9dd4/1fce8086-197cf2b9dd4.mp4
上面是 小赵 演示:Ai8051U, printf_usb("Hello World !\r\n")及usb不停电下载@AiCube之图形化程序自动生成 神农鼎 发表于 2025-8-7 08:51
推荐优先看的 printf_usb("Hello World !\r\n")及usb不停电下载, 演示视频链接
本坛转发时,要去掉中括号后 ...
感谢指导。谢谢。 第五集 C语言基础这一集还好,基本上是知道的。慢慢在编程中再巩固吧。
第六集 GPIO的相关知识
这是基础中的基础,跟STM32的GPIO一样的。这个还好理解 。老师讲的非常好。继续努力学习。
第七节 定时器
定时器!太重要了。平时记时要用它,PWM也要用它。很多的案例与它相关。
代替Delay,提高程序运行效率。
1.怎么数?选择工作模式TMOK
2.数多快?设置频率
3.数到多少?设定初值
4.数完举手!配置中断
5.启动
第七集 定时器
复习一下C51的定时器设定:
1.选择定时器和工作模式:配置TMOD(Timer Mode)
2.设置时钟源和分频
3.装初值(设定溢出时间)
4.配置中断
5.启动定时器
#include <AI8051U.H>
void Timer0_Init(void) {
// 1. 选择模式和工作方式 (16位定时器)
TMOD &= 0xF0; // 清除定时器0的模式位 (保留定时器1的设置)
TMOD |= 0x01; // 设置定时器0为模式1 (16位)
// 2. 设置时钟源为1T模式 (假设AUXR的T0x12在bit7)
AUXR |= 0x80; // T0x12 = 1
// 3. 装入初值 (1ms @ 12MHz 1T)
TH0 = 0xD1; // 初值高8位
TL0 = 0x20; // 初值低8位
// 4. 配置中断
ET0 = 1; // 使能定时器0中断 (在IE寄存器)
EA = 1; // 开启总中断 (在IE寄存器)
// 5. 启动定时器
TR0 = 1; // 启动定时器0 (在TCON寄存器)
}
// 定时器0中断服务函数
void Timer0_ISR(void) interrupt 1 {
// 用户代码:定时时间到后执行的任务...
// 如果是模式1(16位),需要重新装载初值
TH0 = 0xD1; // 重装高8位
TL0 = 0x20; // 重装低8位
}
页:
[1]
2