1
120
1967
金牌会员
单片机AI8051U比STC32G更完善,特别是外设接口方面,而且兼容之前的8位和32位单片机,基本无缝替换挺好,关于改名,个人觉得STC更有个性一些,有种看连续剧,突然换主角的感觉,哈哈,STC配套烧录工具强大集调试于一身,演示的DEMO都有源码而且较简单对新手友好,不过视频中实验箱竟然没有自带喇叭?“手写计算器”这个示例挺惊讶的,开始我还以为只是一个按键计算器,没想到是手写算式就能自动给出答案,有意思!不亏是“AI”8051U!很强悍的一颗MCU,感谢老师的讲解,期待后续的学习!
使用道具 举报 送花
Ai8051U实验箱板载外设丰富,上一课以为没有任何发声装置,其实板子背面有一个蜂鸣器,官方对keil集成开发环境较友好,有代码包示例和配套工具等都可以到官网 https://www.stcai.com/gjrj 下载,要注意keil选择C251版本才能完全发挥8051U的强悍性能,烧录程序需要一直按住P32,再按OFF,松开OFF,松开P32进入下载模式,IRC频率设置的值需要到代码里面去查看(如果说没有代码呢?),感谢老师的讲解,期待后续的学习!
6
259
612
高级会员
我身上背着重重的壳努力往上爬
下载“AIapp-ISP-V6.95C 版”,双击打开出现报错,
版本 Windows 10 专业版 版本号 22H2 安装日期 2024/10/28 操作系统内部版本 19045.5131 体验 Windows Feature Experience Pack 1000.19060.1000.0
应该是后面的弹出网页报的,不影响使用,keil要配置的东西还挺多的,手册的重要性就体现出来了,keil这个代码编写体验真的太差了,默认没有自动完成提示等,网上看见有设置方法,但是我这个打开是空白的,后面再研究了,老师软硬都有讲解很细致,寄存器的配置有点头大,还好ISP软件能够完成自动配置,代码如果不写注释估计后面根本看不懂,不管了先跟着老师敲,熟能生巧,感谢老师的讲解,期待后续的学习!
主要是靠USB-CDC和板子通讯实现的自动下载,解放双手,对于操作寄存器的某一位的值用“或”运算,用十六进制的话没法快速计算出来还是得依靠计算器,USB-HID/CDC的代码STC官网可以下载,是以lib形式提供的,无法直接查看源代码(这里不太清楚为什么,老师说是为了安全?),不过就算能看也看不懂,这一课就接触USB了,我是没想到的,理解起来有点困难,还好只需要复制部分示例代码能跑起来就行,无需深入研究(老师也没深入讲解),后续再专门学习USB部分的教程,最后写好代码编译出现了一个警告
main.c(31): warning C150: 'xdata' pointer converted to 'edata' pointer
不知道是什么意思?感谢老师的讲解,期待后续的学习!
上一集不停电下载编译出现的警告,通过这集老师的提醒,成功解决了,原因是Memory Model没有选择XSmall!老师之前也讲过这一块的配置,忽略了,视频中printf部分代码有更新(keil复制代码的时候出现了乱码?),而且默认开启了,printf重定向到USB串口输出对以后的调试非常有利!要使用64位变量的话需要添加声明 #pragma float64 不知道会不会严重影响效率?合理使用 #define能大大的提高开发效率,这集主要是讲解的C语言基础,除了十六进制还不够熟练换算其它都还OK,感谢老师的讲解,期待后续的学习!
#pragma float64
#define
//使用串口“printf”打印信息需屏蔽以下两个定义 //#define PRINTF_SEGLED //printf输出重定向到ISP下载软件中的7段数码管 //#define PRINTF_HID //printf输出直接重定向到USB口(早期命名方式) #define PRINTF_USB //printf输出直接重定向到USB口(避免误解修改的命名方式,与PRINTF_HID效果一样)
GPIO是通用输入输出端口,引脚电压一般情况下不能超过电源电压太多(有些单片机好像兼容3.3V和5V),8051U准双向口灌电流20ma拉电流几百ua,就是用准双向口给外设供电只能输出几百ua的电流,超出可能烧毁单片机,之前就有群友直接用IO驱动大舵机,导致单片机烧毁,像使用数码管的时候要注意共阳、共阴的选择,按键消抖老师本集使用的是直接阻塞延时20ms的办法,后面会讲中断和定时器的实现,毕竟这样一阻塞其它事就干不了了(如屏幕显示),还有一种消抖方式就是硬件消抖加电容什么的,感谢老师的讲解,期待后续的学习!
之前keil乱码的问题解决了,把编辑器编码设置为 GB2312就可以了,还有代码不能含有 0xFD的问题我直接无语,这一不小心就会掉坑里了,谁能记住那么多字啊,keil真是问题多多,定时器在单核单片机上很重要,他可以在主循环执行中(比如延时)暂停下来去做别的事情,定时器代码和延时代码都能用ISP工具生成很方便,这个课后小练代码完成了,编译无错,不知道实际效果怎么样,感谢老师的讲解,期待后续的学习!
GB2312
0xFD
基于定时器实现的多任务调度,整理了代码文件结构,整体来说越来越像一个“应用”了,定时器任务列表每次都是遍历累积,不知道是否能运用一些数据结构减少遍历次数(比如时间堆),还有就是按键消抖一个按键就需要对应的变量和判断来进行处理,要是多个按键或者同时按键又要怎么处理呢?值得思考一下,感谢老师的讲解,期待后续的学习!
手里数码管和74HC595芯片很多,之前用74HC165做过一个小键盘,用单片机IO是可以直接点亮数码管的,74HC595串行输入并行输出移位寄存器芯片主要是用来扩充IO口的而且支持多级串联,其实驱动数码管算简单就是才开始段和位容易搞不清楚,写代码容易脑子混乱搞错,多位数码管不是同时显示的,是选中的那一位点亮,只是跳变得很快,所以肉眼看起来像同时显示的,感谢老师的讲解,期待后续的学习!
本版积分规则 发表回复 回帖后跳转到最后一页
|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )
GMT+8, 2025-6-29 12:51 , Processed in 0.147800 second(s), 107 queries .
Powered by Discuz! X3.5
© 2001-2025 Discuz! Team.