joshua 发表于 2024-12-19 16:32:03

AI8051U学习打卡记录

<p>第一课AI8051U学习功能介绍演示</p>
<p>特点:如下</p>
<p><img src="data/attachment/forum/202412/19/155716yof99ooo8de168o6.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/19/163302d66wjww9d8nt65tv.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/19/163317zl36t44wt63hd66d.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/19/163339u8pffr0ayaeaa7w6.png" alt="image.png" title="image.png" /></p>
<p>几项功能演示下来牛B,显示流畅看不出延时,触控手写无压力;IIS录放音和频谱分析仪,PWM_DMA,手写计算器甚是强大有手写识别<br />
<img src="data/attachment/forum/202412/19/162934qme25ip2mdhnvhav.png" alt="image.png" title="image.png" /></p>
<p>产生了强烈的学习欲望,加油!</p>

joshua 发表于 2024-12-19 16:44:40

<p>第二课学习硬件及工具介绍</p>
<p>一、功能布局及说明</p>
<p><img src="data/attachment/forum/202412/19/163753t5cm9nxmupqrldf4.png" alt="image.png" title="image.png" /></p>
<p>二、软件和工具、库文件安装、实例代码、手册<br />
<img src="data/attachment/forum/202412/19/163958ouj6gn5pp6yyg662.png" alt="image.png" title="image.png" /></p>
<p>三、下载第一个入门程序点灯</p>
<p><img src="data/attachment/forum/202412/19/164249hrtnk4c9946kc3kn.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/19/164307l9jojhool5pxmxil.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/19/164328bo4oho634zbi6426.png" alt="image.png" title="image.png" /></p>
<p>下节课正式入门点灯啦,期待!</p>

joshua 发表于 2024-12-19 17:06:17

<p>第三课入门点亮第一颗LED</p>
<p>一、教程学习</p>
<p><img src="data/attachment/forum/202412/19/165712qpv0xx85ooxx7iv9.png" alt="image.png" title="image.png" /></p>
<p>AI8051U.PDF手册也有详细的教程步骤6.5部分</p>
<p>1、软件配置</p>
<p><img src="data/attachment/forum/202412/19/170019vrr1j4ljir1h1rz1.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/19/170124htjvribrbjjq8e8z.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/19/170142ic78pv7ob9m36x97.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/19/170230jzrvrvx0vrvvgxrm.png" alt="image.png" title="image.png" /></p>
<p>文件生成格式配置</p>
<p><img src="data/attachment/forum/202412/19/170253m6yo97gy9h1t16yy.png" alt="image.png" title="image.png" /></p>
<p>头文件使用方法</p>
<p><img src="data/attachment/forum/202412/20/091047bgptmu1sg71kzfkt.png" alt="image.png" title="image.png" /></p>
<p>实例代码,如果:开发板不同,要通过原理图来确定IO口</p>
<p><img src="data/attachment/forum/202412/20/090549otgmm34muvz3ic3s.png" alt="image.png" title="image.png" /></p>
<p>如有需要可工具批量设置IO口工作模式</p>
<p><img src="data/attachment/forum/202412/20/090814jzm0mfkimafmbo0b.png" alt="image.png" title="image.png" /></p>
<p>二、入门实战</p>
<p>1、下载软件及安装kell、AIapp-ISP、</p>
<p>2、添加头文件<br />
<img src="data/attachment/forum/202412/20/095118hfktbfo65bzbfgb5.png" alt="image.png" title="image.png" /></p>
<p>3、打开kell,新建工程,配置,选择单片机型号</p>
<p><img src="data/attachment/forum/202412/20/095415uz3tthzouusyvt8q.png" alt="image.png" title="image.png" /></p>
<p>编码,缩进设置</p>
<p><img src="data/attachment/forum/202412/20/103233ku2myj7yr2jhbqzy.png" alt="image.png" title="image.png" /></p>
<p>头文件保存到工程目录</p>
<p><img src="data/attachment/forum/202412/20/095917zwzy6zooz6nponsk.png" alt="image.png" title="image.png" /></p>
<p>头文件加到工程,敲实例代码,编译成功</p>
<p><img src="data/attachment/forum/202412/20/101006vm5tilw6irw45rm5.png" alt="image.png" title="image.png" /></p>
<p>查看 擎天柱原理图,确定LED只焊P2口(LED20-27) 低电平点亮</p>
<p><img src="data/attachment/forum/202412/20/111629i222j8acz1x3yzw8.png" alt="image.png" title="image.png" /></p>
<p>修改代码,烧录测试</p>
<p><img src="data/attachment/forum/202412/20/122705b46iivqcdceqr5c5.png" alt="image.png" title="image.png" /></p>
<p>进下载模式</p>
<p><img src="data/attachment/forum/202412/20/122611i52mgx0pxxlktq52.jpg" alt="a2735600c9a53fe50e6f375d84580dcf_130134tj3ii6j3je66jgw3.jpg" title="a2735600c9a53fe50e6f375d84580dcf_130134tj3ii6j3je66jgw3.jpg" /></p>
<p><img src="data/attachment/forum/202412/20/122826ts1z0c55z2gl0ll5.png" alt="image.png" title="image.png" /></p>
<p>成功点亮P20</p>
<p><img src="data/attachment/forum/202412/20/122929w212ypp2obnj0tvw.jpg" alt="961b73954eb727dabbdc9e62c54af69.jpg" title="961b73954eb727dabbdc9e62c54af69.jpg" /></p>
<p>结束!</p>

joshua 发表于 2024-12-20 13:39:11

<p>第四课、USB不停电下载</p>
<p><font color="red">注:前提是要把USB不停电功能代码增加到程序中烧写后可实现USB不停电下载</font></p>
<p>1、看了演示马上工具测试发现不行,原来是要增加功能代码到工程程序中才能实现</p>
<p><img src="data/attachment/forum/202412/20/134107jlg5ujjijtzmptuj.png" alt="image.png" title="image.png" /></p>
<p>2、实战开发</p>
<p>准备步骤如下:下载USB库文件,移植二个文件(头文件 、lib库文件)到工程目录</p>
<p><img src="data/attachment/forum/202412/20/134224p3ff5p77xp55m13x.png" alt="image.png" title="image.png" /></p>
<p>修改上节课工程代码(过程比较曲折,报了一大堆错,最后解决了)</p>
<p><img src="data/attachment/forum/202412/20/134837zrz92nbsf1cssfw2.png" alt="image.png" title="image.png" /></p>
<p>程序烧写后会多出一个设备</p>
<p><img src="data/attachment/forum/202412/20/135215iz8fuw815cg2zc1d.png" alt="image.png" title="image.png" /></p>
<p>测试不停电下载测试,卡在这(windows 7 系统)</p>
<p>通过不懈地努力,安装上驱动成功了</p>
<video controls="controls" src="forum.php?mod=attachment&amp;aid=74777"></video>

joshua 发表于 2024-12-20 15:09:37

<p>第五课、C语言基础</p>
<p>1、基础</p>
<p>类型</p>
<p><img src="data/attachment/forum/202412/20/145551h6y836e64aoetzgo.png" alt="image.png" title="image.png" /></p>
<p>运算符</p>
<p><img src="data/attachment/forum/202412/20/145623gpcg7ac58s2avw25.png" alt="image.png" title="image.png" /></p>
<p>快速过</p>
<p>2、实战USB-CDC串口之printf函数的实现</p>
<p>在上次工程上修改</p>
<p><img src="data/attachment/forum/202412/20/145935s4544wy52wj7254z.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/20/150841a11sw3chhf1wzyoz.png" alt="image.png" title="image.png" /></p>
<p>下载程序测试串口</p>
<p><img src="data/attachment/forum/202412/20/150923q7cylw0u5tart4bd.png" alt="image.png" title="image.png" /></p>
<p>测试通过,成功!</p>

joshua 发表于 2024-12-20 15:38:23

<p>第六课、I_O输入输出</p>
<p>1、课程学习GPIO</p>
<p><img src="data/attachment/forum/202412/20/153718tsarv0zhc9r44cyl.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/20/153737b8dhpiyi9by28boa.png" alt="image.png" title="image.png" /></p>
<p>2、任务实战</p>
<p><img src="data/attachment/forum/202412/20/153816z6y1d1i1w57idbw5.png" alt="image.png" title="image.png" /></p>
<p>查看原理图P32 按下低电平</p>
<p><img src="data/attachment/forum/202412/20/154152z5o5ggwrgraqgr5o.png" alt="image.png" title="image.png" /></p>
<p>低电平点亮LED</p>
<p><img src="data/attachment/forum/202412/20/154559i4zkmap87b4zg4ag.png" alt="image.png" title="image.png" /></p>
<p><font color="red">注:通过实验发现P32默认是低电平,按下也是低电平,按与不按P32状态没变</font></p>
<p>花了点时间总算完任务一,先把P32设置高电平才行</p>
<p>任务1:P32按下点亮P27,松开P27灭</p>
<p><img src="data/attachment/forum/202412/20/161637p550h1dsp707l17s.png" alt="image.png" title="image.png" /></p>
<p>任务2:P32按下P27灯灭,松开P27亮<br />
<img src="data/attachment/forum/202412/20/162123m6fagg9qsslfa99f.png" alt="image.png" title="image.png" /></p>
<p>任务3、按一下灯亮,按一下灯灭;</p>
<p><img src="data/attachment/forum/202412/23/085810mhkskeqkkdqi7wz3.jpg" alt="360截图20241221221330846.jpg" title="360截图20241221221330846.jpg" /></p>

joshua 发表于 2024-12-23 08:57:33

<p>第七课、定时器中断</p>
<p>1、定时器介绍</p>
<p><img src="data/attachment/forum/202412/23/085713uq9gmoo42rlm8srq.png" alt="image.png" title="image.png" /></p>
<p>2、实战</p>
<p>定时器初始化与触发函数</p>
<p><img src="data/attachment/forum/202412/23/110456yjdqieuqoojqivkl.png" alt="image.png" title="image.png" /></p>
<p>按下P32串品输出次数</p>
<p><img src="data/attachment/forum/202412/23/110710ip2wyggo5x9luf7w.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/23/110846h2c6644j5jc162r6.png" alt="image.png" title="image.png" /></p>

joshua 发表于 2024-12-27 08:43:00

第八课,定时器周期性调度任务
根据课程来实战完成任务,这课开始感觉有点难度了,自己写了一边代码下载后发现与设想的运行不一致。检查发现是计数变量到设定值时没置0,要等好一会也会正常闪烁,应该是溢出了。

还有一个按键的判断原先是20ms延迟,现在变量计量有点不适应和理解。
实战任务练习1

关键代码定时器及三个计数变量


判断计数变量到指定值时置0,LED取反,即可完成任务1

也可以如下代码


任务2


关键代码 LED是数组,i是取数组第几个元素,count_ms 1ms 累加

500ms 进行LED控制


任务3

任务3 关键代码,定时器及变量定义

串口输出和按键数组移动


如上任务代码已在开发板测试通过,如有错如请指出。

结构体数组的周期性任务调度


这个有点难,还没有形成这样的思维方式,看代码学习略过





页: [1]
查看完整版本: AI8051U学习打卡记录