takalama 发表于 2024-12-5 14:53:19

8051U深度入门到32位51大型实战视频(冲哥篇)

<p><img src="data/attachment/forum/202412/05/113545uzef4fbeib0if0b6.png" alt="image.png" title="image.png" /></p>
<p>第一集(序):</p>
<p>首先点赞这个公告,“显眼”、“诱惑”,快来逛逛吧!</p>
<p>1、为什么加入AI命名?</p>
<p>(1) 视频内容+收集到的信息(不正确之处还请大佬指正):</p>
<p>① 硬件:架构进行了优化,功能增强(更强的STC32);</p>
<p>② 软件:指令集、开发环境适配更优算法;</p>
<p>③ 其他:针对当今单片机的应用领域进行的特定优化;</p>
<p>④ 加入“Ai”,体现STC公司紧跟时代发展潮流,致力于将传统单片与现代        Ai技术相结合,推动单片机技术在智能时代的创新和应用(点赞!)。</p>
<p>番外:蹭热点?</p>
<p>2、Ai8051强在哪里?</p>
<p>(1) 屏幕显示和视频播放(flash编程器)</p>
<p>① 视频演示:8080并口,图形界面显示还算流畅;</p>
<p>② Ai8051U看手册,接口丰富(SPI、I2S、I2C、TFT-i8080/M6800);</p>
<p>③ 文字显示、简单图形按视频效果看,都有很大提升;</p>
<p>④ 还可以适配较高分辨率的显示屏,在一些工业控制的智能终端优势明显;</p>
<p>⑤ 性价比高的Flash大空间,加上算力优势,视频解码能力(同步音频);</p>
<p>番外:貌似这代U有点强!</p>
<p>(2) IIS录放音</p>
<p>① 支持16位或更高的量化精度,数字滤波算法;</p>
<p>② 要求不高的地方可以直接省掉一个录放模块了;</p>
<p>③ Ai8051U支持低功耗放音模式;</p>
<p>番外:冲哥声音经过“Ai”后,声音更具“磁性”!</p>
<p>(3) PWM_DMA</p>
<p>① 高精度高频率的脉冲宽度调节;</p>
<p>② DMA与PWM的结合,无CPU过多干预,提升传输效率;</p>
<p>(4) 频谱分析仪(上位机)</p>
<p>① 视频演示:响指声音频率分析;</p>
<p>② 视频演示:录音频率分析;</p>
<p>(5) 手写计算器</p>
<p>① 坛友作品(AI 的实现与应用, 醍醐灌顶);</p>
<p>(6) QSPI、PWM移相,硬件乘除,单精度浮点</p>
<p>① 猫和老鼠</p>
<p><img src="data/attachment/forum/202412/05/145141rylybzwvdvsw0yzd.png" alt="image.png" title="image.png" /></p>
<p>///////////////////////////////////////////////////////////////////////////////////////////////////////////////////</p>
<p>///////////////////////////////////////////////////////////////////////////////////////////////////////////////////</p>

takalama 发表于 2024-12-11 14:46:37

第二集(硬件&工具):

1、实验箱



(1) 一如既往的大气,之前有幸申请到了STC32G12K128的实验箱;

(2) 方便收纳(告别杂乱工作台);

(3) 功能健全,满足各类产品的开发测试;

(4) 多种下载方式可选,基础用户可以忽略下载配置的学习了;

番外:RTC(零误差!!!前提:理想的外部晶振+理想的环境)。

2、软件

(1) Keil uVision5(C51/C251);

(2) AIapp-ISP-V6.95A(及以上版本)迭代好快;

(3) Keil中断拓展插件;

(4) Ai8051U实验箱;

(5) 官网提供相关资料还是很丰富的;

之前搭建好的,仅更新下载工具和需要的代码库就行。

3、耍起来

(1) 下载个程序跑个操作流程(来个Hellow world!级别的点灯);

灯亮就成了!

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////

takalama 发表于 2024-12-11 14:47:18

<p>第三集 点亮第一颗LED:</p>
<p>1、准备工作</p>
<p><img src="data/attachment/forum/202412/11/145015j2b65p6dltd4265v.png" alt="image.png" title="image.png" /></p>
<p>(1) <img src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml7428\wps1.jpg" alt="" />添加到Keil的根目录即可;</p>
<p><img src="data/attachment/forum/202412/11/145054twywiweoenxiiidw.png" alt="image.png" title="image.png" /></p>
<p>(2) <img src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml7428\wps2.jpg" alt="" />keil创建新工程选择Ai8051U</p>
<p>2、代码</p>
<p><img src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml7428\wps3.jpg" alt="" /><br />
<img src="data/attachment/forum/202412/11/145100bllad1x9da0dpxcc.png" alt="image.png" title="image.png" /></p>
<p>Pia! 灯应该会亮!</p>
<p>番外:硬件电路决定了P40和P00为低电平时可以亮灯,同时还要配置好P40和P00的IO模式(准双向口);</p>
<p>///////////////////////////////////////////////////////////////////////////////////////////////////////////////////</p>
<p>///////////////////////////////////////////////////////////////////////////////////////////////////////////////////</p>

takalama 发表于 2024-12-11 14:52:38

<p>第四集 USB不停电下载:</p>
<p>1、试验对比演示;</p>
<p>2、下载所需文件(USB库文件);</p>
<p>3、移植关键部分的工程;</p>
<p>(1) 添加头文件</p>
<p>(2) USB初始化函数(lib+.h库)</p>
<p>(3) 命令参数</p>
<p>(4) 打开P_SW2寄存器和IE2寄存器(只打开一个位!)</p>
<p>番外:<br />
<img src="data/attachment/forum/202412/11/145312sj3z6cc2hmzcblzh.png" alt="image.png" title="image.png" /></p>
<p><img src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml7428\wps4.jpg" alt="" />有Link1D下载器的话也可以很方便下载;</p>
<p><img src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml7428\wps5.jpg" alt="" /><br />
<img src="data/attachment/forum/202412/11/145319oafal2l322j1yygv.png" alt="image.png" title="image.png" /></p>
<p>官网提供的demo,直接移植到自己的工程即可,需要深入研究的自行分析库代码!本贴暂不跟进!</p>
<p>///////////////////////////////////////////////////////////////////////////////////////////////////////////////////</p>
<p>///////////////////////////////////////////////////////////////////////////////////////////////////////////////////</p>

takalama 发表于 2024-12-11 14:55:06

<p>第五集 C语言基础:</p>
<p>1、USB-CDC串口的Printf函数;</p>
<p>(1) define的一些用法</p>
<p>① #define printf printf_hid</p>
<p>原型:int printf_hid(const char *fmt,...);</p>
<p>② #define SQUARE(x)        ((x)*(x))                                //注意多用(),避免意外</p>
<p>③ #define DEBUG</p>
<p>#if defined(DEBUG)</p>
<p>#else</p>
<p>#endif                                                                //条件编译的用法</p>
<p>④ #define ADD(x,y) ((x)+(y))</p>
<p>#define CALCULATE(x,y,z) (ADD(x,y) * z)                //嵌套用法</p>
<p>⑤ #define UINT_LONG unsigned long                //别名、简称</p>
<p>⑥ ...                                                                        //更多妙用等待你的跟帖</p>
<p>(2) 转义字符:常用/r  /n  /t;</p>
<p>(3) ASCII编码;</p>
<p>2、进制;</p>
<p>(1) 2进制、8进制、10进制、16进制</p>
<p>① 2进制:数字电路基础(常用来表示高低电平);</p>
<p>② 8进制:早期电脑硬件设计原因,modbus寄存器地址;</p>
<p>③ 16进制:代码中常用0x开头来表示数据,RGB颜色,图像存储等;</p>
<p>3、数据基本类型;</p>
<p>(1) 32位数据和64位数据的区别;</p>
<p>(2) 范围选择类型;</p>
<p>4、常用运算符;</p>
<p>(1) +、-、*、/、%、&gt;、&lt;、=、==、!=;</p>
<p>(2) &amp;&amp;、||、!、+=、-=、&amp;、|、~、&lt;&lt;、&gt;&gt;;</p>
<p>运算符的世界很神奇,不同的组合有不同的妙用;</p>
<p>///////////////////////////////////////////////////////////////////////////////////////////////////////////////////</p>
<p>///////////////////////////////////////////////////////////////////////////////////////////////////////////////////</p>

takalama 发表于 2024-12-11 14:55:52

<p>第六集 输入输出I/O:</p>
<p>1、什么是GPIO;</p>
<p>(1) General Purpose I/O Ports:输入/输出端口</p>
<p><img src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml7428\wps6.jpg" alt="" /><img src="https://www.stcaimcu.com/data/attachment/forum/202412/11/145535al6jck41k2m42mh6.png" alt="image.png" title="image.png" /></p>
<p>① 引脚的状态(高低电平:1-0)VCC-GND</p>
<ol>
<li>VCC最高电压5.5,别的IO引脚就不能超过5.8V;</li>
</ol>
<p>a. 实际过程中高电压进入并非必坏(说明STC的U耐造);</p>
<ol start="2">
<li>3.3V施密特状态下输入范围:低0.99V-高1.18V;</li>
</ol>
<p>a. 注意手册参数,可以方便排查硬件故障;</p>
<p>2、按键输入检测;</p>
<p><img src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml7428\wps7.jpg" alt="" /><br />
<img src="data/attachment/forum/202412/11/145549oidzgig4635eid4i.png" alt="image.png" title="image.png" /></p>
<p>(1) 硬件防抖:</p>
<p>① 自身特性,导致触电断开、闭合时据不完全统计会有5-10毫秒的接触不良(需要做按键消抖处理);</p>
<p>② 利用电容特性,按键两端并联电容(常用0.1-10uf);</p>
<p>③ 设计RS触发器电路;</p>
<p>(2) 软件防抖:</p>
<p>① 通过延时消抖(10ms左右),视频中冲哥延迟了20ms;</p>
<p>3、课后小练;</p>
<p>if(按钮按下)</p>
<p>{</p>
<pre><code>延迟20ms;
</code></pre>
<pre><code>if(按钮仍然按下)
</code></pre>
<pre><code>{
</code></pre>
<pre><code>执行命令;
</code></pre>
<pre><code>while(一直等待按键松开);
</code></pre>
<pre><code>}
</code></pre>
<p>}</p>
<p>///////////////////////////////////////////////////////////////////////////////////////////////////////////////////</p>
<p>///////////////////////////////////////////////////////////////////////////////////////////////////////////////////</p>

takalama 发表于 2024-12-11 14:58:47

<p>第七集 定时器中断:</p>
<p>1、先看动画加深逻辑印象(做个乖宝宝)</p>
<p><img src="data/attachment/forum/202412/11/145819rul4pq8qaw5prb2z.png" alt="image.png" title="image.png" /></p>
<p>2、炫技</p>
<p><img src="data/attachment/forum/202412/11/145823sic6js1z1xz8gj88.png" alt="image.png" title="image.png" /></p>
<p>(1) 要学会如何设置定时器模式;</p>
<p>(2) 如何计算需要的时间;(寄存器及初值);</p>
<p>3、函数</p>
<p>(1) 目的便于代码的阅读和理解,模块化编程等;</p>
<p>(2) 逐步完善封装自己的函数库(日积月累成就大神);</p>
<p>///////////////////////////////////////////////////////////////////////////////////////////////////////////////////</p>
<p>///////////////////////////////////////////////////////////////////////////////////////////////////////////////////</p>

takalama 发表于 2024-12-20 15:25:29

<p>第八集 定时器周期性调动任务:</p>
<p>注意:书写规范,避免不必要的错误;巧用build Output的错误提示;</p>
<p>数组:可以理解为变量的集合(可以代表更多个数的变量);</p>
<p>1、周期性任务介绍;</p>
<p>2、文件的创建;</p>
<p>3、结构体;</p>
<p>4、结构体数组的周期性任务调度;</p>
<p>项目结构:</p>
<p>main.c:                主函数</p>
<p>config.c:        用到的寄存器及IO的模式;定时器0工作模式的初始化;</p>
<p>task.c:                任务处理模块();</p>
<p>io.c:                3个LED状态切换;按键任务函数;</p>
<p><img src="data/attachment/forum/202501/17/112744dqpepnzffaba1wua.png" alt="image.png" title="image.png" /></p>
<p>更新后有点区别,下载好像有点不顺(还在摸索中。。。)</p>
<p>///////////////////////////////////////////////////////////////////////////////////////////////////////////////////</p>
<p>///////////////////////////////////////////////////////////////////////////////////////////////////////////////////</p>

takalama 发表于 2025-1-17 11:31:27

<p>第九集 数码管:</p>
<p>///////////////////////////////////////////////////////////////////////////////////////////////////////////////////</p>
<p>///////////////////////////////////////////////////////////////////////////////////////////////////////////////////</p>
页: [1]
查看完整版本: 8051U深度入门到32位51大型实战视频(冲哥篇)