👍👍👍👍AI8051U-MINI实验箱记录学习专用贴------拉布拉多-布拉西
<h1>第一集 使用自制开发板点亮跑马灯</h1><p>前言:有幸接触到stc推出的最新MCU-AI8051U,本着学习共勉,记录自己的本次学习心得。</p>
<h2>第一步:使用KEIL创建项目模板demo工程。</h2>
<p>新建工程,选择MCU,点击OK。</p>
<p><img src="data/attachment/forum/202412/13/213730pwzinonxo3nfiafu.png" alt="image.png" title="image.png" /></p>
<p>创建main函数,</p>
<p><img src="data/attachment/forum/202412/13/213957unykcsnmckesccs0.png" alt="image.png" title="image.png" /></p>
<p>编译验证环境没问题。</p>
<p><img src="data/attachment/forum/202412/13/214031ne3hb3viwhyhjwoy.png" alt="image.png" title="image.png" /></p>
<h2>第二步:根据实验板原理图,分析控制原理,</h2>
<p>查看led控制电路图,根据控制逻辑,要想点亮DS1-DS8这8个LED,首先需要打开Q1三极管,及P4.0口为低电平0,电压SYS_VCC才可传输到LED的正极,此时led还不能点亮,必须让P0.0-P0.7以此由高电平变为低电平才可以点亮,及LED两端有电势差,从而形成电流,这样LED才可以发光发亮。</p>
<p><img src="data/attachment/forum/202412/13/214137zwwwt88ngcdojz5r.png" alt="image.png" title="image.png" /></p>
<h2>第三步:根据控制逻辑对流水灯所在的IO口进行控制</h2>
<p>软件配置IO寄存器;</p>
<p><img src="data/attachment/forum/202412/13/215557s8z991zsg7k9m193.png" alt="image.png" title="image.png" /></p>
<p>keil 设置输出固件,点击魔法棒 选择Output选项 勾选 Create HEX File<br />
<img src="data/attachment/forum/202412/13/215731pbrxdi0euj5pzvju.png" alt="image.png" title="image.png" /></p>
<p>编译工程,查看输出结果</p>
<p><img src="data/attachment/forum/202412/13/215910poobh7ux7qyu5qoy.png" alt="image.png" title="image.png" />无错误,根据HEX文件输出地址,使用ISP工具烧录程序。</p>
<h2>第四步:烧录程序,使用新版内置的USB功能,结合ISP上位机</h2>
<p>使用数据线连接电脑,按住实验板SW1(p32)按键不放,按一下SW7重上电按钮,等ISP上位机的扫面串口位置显示(HID1)USB-Writer后,说明串口识别成功,然后就可以松开SW1按键了。选择对应的波特率和程序,点击下载/编程按钮,进行程序烧录。</p>
<p><img src="data/attachment/forum/202412/13/220234itvdmjtjv0jsgtym.png" alt="image.png" title="image.png" /></p>
<p>烧录成功。</p>
<p><img src="data/attachment/forum/202412/13/220304yu3j53gw3v77uj9q.png" alt="image.png" title="image.png" /></p>
<p>null第五步:验证查看流水灯效果。<img src="data/attachment/forum/202412/13/221026s549ujj5dr2ft7ff.png" alt="1734099015895.png" title="1734099015895.png" /></p>
<video controls="controls" src="forum.php?mod=attachment&aid=72581"></video>
<p><a href="forum.php?mod=attachment&aid=72582" title="attachment"><img src="/source/plugin/zhanmishu_markdown/template/editor/images/upload.svg" alt="upload" /> 附件:第一集-点亮流水灯.zip</a></p>
<h1>第二集 学习补充C语言基础知识</h1>
<p>说明,本次验证使用屠龙刀核心板。结合板载的P20接口的LED指示灯,用于调试测试。</p>
<h2>知识点1:printf函数结合ISP上位机实现串口打印数据,用于程序调试,最便捷最便宜的调试方式。</h2>
<p><img src="data/attachment/forum/202412/15/220849mwujd5ahnzdfo4ll.png" alt="image.png" title="image.png" /></p>
<p>printf函数常用格式字符含义介绍</p>
<p>例如:当串口接收到数据时,串口打印室内温度,同时开发板点亮LED指示灯P20</p>
<pre><code>
if( DeviceState != DEVSTATE_CONFIGURED ) //判断USB设备是否连接成功,连接成功继续下一步程序
continue;
if( bUsbOutReady ) //如果USB接口接收到数据,则执行以下函数体
{
usb_OUT_done();
printf("室内温度:%2.3f",23.5); //ISP上位机,HID设备,打印调试
printf("℃\r\n");
}
P20 = 0; //LED指示灯打开
</code></pre>
<p><img src="data/attachment/forum/202412/15/222906wzdf7d5xxwxfb4xd.png" alt="image.png" title="image.png" /><br />
<img src="data/attachment/forum/202412/15/222356cpc7p2cci1c1c1c0.png" alt="1734272625524.png" title="1734272625524.png" /></p>
<p>知识点:关于printf格式字符的含义介绍。</p>
<p>例如:printf("室内温度:%2.3f",23.5); 2.3参照以下表格的n.m,</p>
<p>在此处,ISP打印的数据是23.500,级小数部分占3位。</p>
<p><img src="data/attachment/forum/202412/15/223443ew71nnfkwxfx1kfn.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/15/220959ocb0joxaran9xcn0.png" alt="image.png" title="image.png" /></p>
<h2>知识点2:程序开发中说到的数据是什么,数据的类型有哪些,什么又是数据转换。</h2>
<h2>知识点3:数据转换在程序开发中的作用。</h2>
<p>例如ISP软件在打印数据时为什么会出现两种格式的显示方式,文本是大家可以直接理解的,但是HEX的数字和字母倒是是什么含义呢:</p>
<p><img src="data/attachment/forum/202412/15/223226eua8bsnoznz8pi3v.png" alt="image.png" title="image.png" /></p>
<p>此处知识点设计到ASCII码转换.可借助电脑自带的计算器进行一些进制转换。</p>
<p>将ISP显示的HEX(十六进制)转十进制,然后查ASCII表得出字符</p>
<p>例如 上图中HEX区域显示的最后两位数是十六进制0X21,转换成是十进制为33,对应ASCII表格字符!</p>
<p><img src="data/attachment/forum/202412/15/225056ig72kl24gwwhrbfk.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/15/224106ez07aojoww5vwob9.png" alt="image.png" title="image.png" /></p>
<h2>知识点4:C语言基础知识点在单片机开发过程中的妙用。</h2>
<p>常用运行算符以及验证。</p>
<p><img src="data/attachment/forum/202412/15/230329vt8rn5ld5ppzv8k0.png" alt="image.png" title="image.png" /></p>
<p>为什么有数据类型?又为什么具有数值大小限制?它与常说的数据越界有什么关联?</p>
<p><img src="data/attachment/forum/202412/15/230452qwkli944ehh57799.png" alt="image.png" title="image.png" /></p>
用最新 ISP 软件 学习,实践
深圳国芯人工智能有限公司-工具软件 (stcai.com)
<p>感谢您的支持,今日安排AI8051U实验箱,免费包邮送出<img alt="woshou" class="emoji" src="https://www.stcaimcu.com/static/image/smiley/default/woshou.gif" title="woshou" /></p>
<p>ASCII码字符代码表很实用,我经常用。</p>
页:
[1]