jkernet 发表于 2024-12-12 21:16:32

《Ai8051U教学视频》学习心得-打卡

<h3>第一课《序言》</h3>
<p>单片机AI8051U比STC32G更完善,特别是外设接口方面,而且兼容之前的8位和32位单片机,基本无缝替换挺好,关于改名,个人觉得STC更有个性一些,有种看连续剧,突然换主角的感觉,哈哈,STC配套烧录工具强大集调试于一身,演示的DEMO都有源码而且较简单对新手友好,不过视频中实验箱竟然没有自带喇叭?“手写计算器”这个示例挺惊讶的,开始我还以为只是一个按键计算器,没想到是手写算式就能自动给出答案,有意思!不亏是“AI”8051U!很强悍的一颗MCU,感谢老师的讲解,期待后续的学习!</p>
<p><img src="data/attachment/forum/202412/12/212004jmsv53bmvv3274ev.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/12/212609n83ilu3h8l35u648.png" alt="image.png" title="image.png" /></p>

jkernet 发表于 2024-12-13 23:03:07

<h3>第二集 硬件及工具介绍</h3>
<p>Ai8051U实验箱板载外设丰富,上一课以为没有任何发声装置,其实板子背面有一个蜂鸣器,官方对keil集成开发环境较友好,有代码包示例和配套工具等都可以到官网 <a href="https://www.stcai.com/gjrj" title="啊">https://www.stcai.com/gjrj</a> 下载,要注意keil选择C251版本才能完全发挥8051U的强悍性能,烧录程序需要一直按住P32,再按OFF,松开OFF,松开P32进入下载模式,IRC频率设置的值需要到代码里面去查看(如果说没有代码呢?),感谢老师的讲解,期待后续的学习!</p>
<p><img src="data/attachment/forum/202412/13/224638hlclslojllj7vrvg.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/13/224610bxaese227bdxe6k7.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/13/230201qhhmhv6fmihvv79v.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/13/230250nv353mz3k33mrpa3.png" alt="image.png" title="image.png" /></p>

白水大虾2016 发表于 2024-12-14 09:41:15

<p>我身上背着重重的壳努力往上爬<img alt="ciya" class="emoji" src="https://www.stcaimcu.com/static/image/smiley/default/ciya.gif" title="ciya" /></p>

jkernet 发表于 2024-12-14 23:58:57

<h3>第三集 点亮第一颗LED</h3>
<p>下载“AIapp-ISP-V6.95C 版”,双击打开出现报错,</p>
<p>版本        Windows 10 专业版<br />
版本号        22H2<br />
安装日期        ‎2024/‎10/‎28<br />
操作系统内部版本        19045.5131<br />
体验        Windows Feature Experience Pack 1000.19060.1000.0</p>
<p>应该是后面的弹出网页报的,不影响使用,keil要配置的东西还挺多的,手册的重要性就体现出来了,keil这个代码编写体验真的太差了,默认没有自动完成提示等,网上看见有设置方法,但是我这个打开是空白的,后面再研究了,老师软硬都有讲解很细致,寄存器的配置有点头大,还好ISP软件能够完成自动配置,代码如果不写注释估计后面根本看不懂,不管了先跟着老师敲,熟能生巧,感谢老师的讲解,期待后续的学习!</p>
<p><img src="data/attachment/forum/202412/14/224113ndd2bbzarsl9offr.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/14/232216kawegg4gsco7ocag.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/14/232847nsfo3hu3o3fimjzm.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/14/235240fk0x2vzl0rf0rtim.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/14/235724skbjapo5jony5kv9.png" alt="image.png" title="image.png" /></p>

jkernet 发表于 2024-12-15 22:43:37

<h3>第四集 USB不停电下载</h3>
<p>主要是靠USB-CDC和板子通讯实现的自动下载,解放双手,对于操作寄存器的某一位的值用“或”运算,用十六进制的话没法快速计算出来还是得依靠计算器,USB-HID/CDC的代码STC官网可以下载,是以lib形式提供的,无法直接查看源代码(这里不太清楚为什么,老师说是为了安全?),不过就算能看也看不懂,这一课就接触USB了,我是没想到的,理解起来有点困难,还好只需要复制部分示例代码能跑起来就行,无需深入研究(老师也没深入讲解),后续再专门学习USB部分的教程,最后写好代码编译出现了一个警告</p>
<p><code>main.c(31): warning C150: &#39;xdata&#39; pointer converted to &#39;edata&#39; pointer</code></p>
<p>不知道是什么意思?感谢老师的讲解,期待后续的学习!</p>
<p><img src="data/attachment/forum/202412/15/223620rzji2zz1hkr3h3hu.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/15/224140s9g8z2j84k849l8x.png" alt="image.png" title="image.png" /></p>

jkernet 发表于 2024-12-16 23:14:11

<h3>第五集 C语言基础</h3>
<p>上一集不停电下载编译出现的警告,通过这集老师的提醒,成功解决了,原因是Memory Model没有选择XSmall!老师之前也讲过这一块的配置,忽略了,视频中printf部分代码有更新(keil复制代码的时候出现了乱码?),而且默认开启了,printf重定向到USB串口输出对以后的调试非常有利!要使用64位变量的话需要添加声明 <code>#pragma float64</code> 不知道会不会严重影响效率?合理使用 <code>#define</code>能大大的提高开发效率,这集主要是讲解的C语言基础,除了十六进制还不够熟练换算其它都还OK,感谢老师的讲解,期待后续的学习!</p>
<pre><code>//使用串口“printf”打印信息需屏蔽以下两个定义
//#define PRINTF_SEGLED         //printf输出重定向到ISP下载软件中的7段数码管
//#define PRINTF_HID            //printf输出直接重定向到USB口(早期命名方式)
#define PRINTF_USB            //printf输出直接重定向到USB口(避免误解修改的命名方式,与PRINTF_HID效果一样)
</code></pre>
<p><img src="data/attachment/forum/202412/16/221612wk76n81744pnn86p.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/16/221735ow3k30u83xp737rw.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/16/225725prcbznbsvo8v1xt9.png" alt="image.png" title="image.png" /></p>

jkernet 发表于 2024-12-17 23:03:49

<h3>第六集 I/O输入输出</h3>
<p>GPIO是通用输入输出端口,引脚电压一般情况下不能超过电源电压太多(有些单片机好像兼容3.3V和5V),8051U准双向口灌电流20ma拉电流几百ua,就是用准双向口给外设供电只能输出几百ua的电流,超出可能烧毁单片机,之前就有群友直接用IO驱动大舵机,导致单片机烧毁,像使用数码管的时候要注意共阳、共阴的选择,按键消抖老师本集使用的是直接阻塞延时20ms的办法,后面会讲中断和定时器的实现,毕竟这样一阻塞其它事就干不了了(如屏幕显示),还有一种消抖方式就是硬件消抖加电容什么的,感谢老师的讲解,期待后续的学习!</p>
<p><img src="data/attachment/forum/202412/17/225645cuj86zprjjznmfjx.png" alt="image.png" title="image.png" /></p>

jkernet 发表于 2024-12-18 23:10:31

<h3>第七集 定时器中断</h3>
<p>之前keil乱码的问题解决了,把编辑器编码设置为 <code>GB2312</code>就可以了,还有代码不能含有 <code>0xFD</code>的问题我直接无语,这一不小心就会掉坑里了,谁能记住那么多字啊,keil真是问题多多,定时器在单核单片机上很重要,他可以在主循环执行中(比如延时)暂停下来去做别的事情,定时器代码和延时代码都能用ISP工具生成很方便,这个课后小练代码完成了,编译无错,不知道实际效果怎么样,感谢老师的讲解,期待后续的学习!</p>
<p><img src="data/attachment/forum/202412/18/230858y844udae797ed87d.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/18/213843qn423843jj4nj1i1.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/18/213903l9sjorocvjqjzrxo.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/18/230838ikrkkk8yyf8s5rpy.png" alt="image.png" title="image.png" /></p>

jkernet 发表于 2024-12-19 01:16:30

<h3>第八集 定时器周期性调度任务</h3>
<p>基于定时器实现的多任务调度,整理了代码文件结构,整体来说越来越像一个“应用”了,定时器任务列表每次都是遍历累积,不知道是否能运用一些数据结构减少遍历次数(比如时间堆),还有就是按键消抖一个按键就需要对应的变量和判断来进行处理,要是多个按键或者同时按键又要怎么处理呢?值得思考一下,感谢老师的讲解,期待后续的学习!</p>
<p><img src="data/attachment/forum/202412/19/005531l61hhmp1ynneinno.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/19/010744ikaxjtehnkexzu6k.png" alt="image.png" title="image.png" /></p>

jkernet 发表于 2024-12-20 23:12:26

<h3>第九集 数码管</h3>
<p>手里数码管和74HC595芯片很多,之前用74HC165做过一个小键盘,用单片机IO是可以直接点亮数码管的,74HC595串行输入并行输出移位寄存器芯片主要是用来扩充IO口的而且支持多级串联,其实驱动数码管算简单就是才开始段和位容易搞不清楚,写代码容易脑子混乱搞错,多位数码管不是同时显示的,是选中的那一位点亮,只是跳变得很快,所以肉眼看起来像同时显示的,感谢老师的讲解,期待后续的学习!</p>
<p><img src="data/attachment/forum/202412/20/231138uwpk5lc2cpp04004.png" alt="image.png" title="image.png" /></p>
页: [1] 2
查看完整版本: 《Ai8051U教学视频》学习心得-打卡