lulugl 发表于 2024-12-27 11:37:39

8051U学习心得=====实验箱已发出

<p>1、认识的8051U</p>
<p>前言】</p>
<p>本来,认为51已经要成为历史。这次看到STC又一次把它复活成为AI智能,可以实现跟32位甚至是64可以打平的神U。</p>
<p>这几年,象迪文串口屏,也还是51的内核。说明51他没有老去。</p>
<p>其实我是没有正经学习过51,直接从STM32入门的。</p>
<p>【学习心得】</p>
<p>在视频教学的第一集 序言中,老师认真的介绍了AI8051这款单片机,</p>
<p>展示了1、触摸屏显示和视频播放。</p>
<p>2、IIS录放音、PWM—DMALED灯的展示,可以同时点亮1000多个LED灯。</p>
<p>3、展示了频谱仪,如何使用FFT频谱显示。打响指可以在频谱中实时展示。</p>
<p>4、展示了一个手写计算器。</p>
<p>5、演示了一个动画播放。</p>
<p>可以说这颗CPU直的非常的强大!</p>

lulugl 发表于 2024-12-27 11:37:55

<p>不得不说,冲哥的声音非常有磁性。老师最先介绍了STC8051实验箱。</p>
<p><img src="data/attachment/forum/202412/27/113832ihmdhzzz5nch5yrz.png" alt="image.png" title="image.png" /></p>
<p>介绍了USB、USB-LINK怎么用。不但有USB-TAPEA也有typeC,非常方便。有TF卡,可以实现大容量的文件存取。有录放音设备。有可以插OLED屏的接口。有8路的流水灯。8位的数码管TFT彩屏接口掉电检测电压调节矩阵键盘板载了FLASH、EEPROM等等在开发板背面,也还有非常多的外设:<img src="data/attachment/forum/202412/27/113832c78qzi47ri5dd5jy.png" alt="image.png" title="image.png" /></p>
<p>可以说这块实验箱外设非常丰富!通过老师的讲解,对开发板的硬件有了一定的了解。【软件和工具】1、推荐用keil进行开发,与老师保存一致。2、添加头文件,文件为AI8051U-34K64.3、下载代码包和手册:AI8051U实验箱。4、ISP下载软件:AIapp-ISP-V6.945、下载keil 中断拓展插件。【安装介绍】如何获取c251v560软件,可以找销售拿到。官网的地址www.stcai.com 下载AI8051U手册。下载ISP软件包。发送快捷方式到桌面就可以,绿色软件。添加型号,找到keil目录下面。添加中断修改中断。下载资料,老师说要大家认真的学习一下手册。【验证】能够下到一个点灯就成功了。我就在想,我如果用mac电脑,需要用什么工具才能搞定51呀。频率选择非常重要,要看到主程序中的规定的MAI——Fosc规定的频率。</p>

lulugl 发表于 2024-12-27 11:39:10

<p><img src="data/attachment/forum/202412/27/113859hkrk78qbysk44rkt.png" alt="image.png" title="image.png" /></p>
<p>老师展示了如何新建工程,添加头文件。</p>
<p>1、根据6.5节的教程一步一步写。</p>
<p>选择AI8051的MCU</p>
<p>2、新建工空白程到目录里。main.c</p>
<p>3、cpu选择Source251,4Byte模式。</p>
<p>4、选择64K大小。</p>
<p>5、outpu选择。</p>
<p>头文件,从isp中找到,然后添加到工程中。</p>
<p>#include &quot;ai8051u.h&quot;</p>
<p>6、老师还讲了如何设置常用的keil设置。</p>
<p>7、注释如何做。</p>
<p>老师非常有趣的张三打李四。</p>
<p>讲得非常详细,做为我从STM32转回来的,理解起来还是挺容易的。</p>
<p>配置51相比其他的单片机比较容易,好象不用配置时钟就可以了。</p>

lulugl 发表于 2024-12-27 11:39:59

<p>《8051U深度入门到32位51大型实战教学视频》学习心得4、USB不停电下载</p>
<p>| 下载要手动按按键才能正常下载。老师介绍一个,先下载一个程序后,就可以自动下载。实现一个自动下载的代码:1、下载所需文件USB库文件。<img src="data/attachment/forum/202412/27/113951b19ddcotuzu2e66g.png" alt="image.png" title="image.png" />下载好后解压:<img src="data/attachment/forum/202412/27/113951pjjx1u1mp1u8uzs1.png" alt="image.png" title="image.png" />老师使用了查询模式来实现复制stc_usb_cdc_32_LIB库到目录中,还有就是一个stc_stc8_usb.h头文件。把他们都添加进工程中。添加usb_init()进行初始化。命令参数:声明结构体,老师建议直接复制。EAXFR,等于1,USB特殊功能在这个功能里,需要打开。P_SW2 |= 0x80;使能USB中断:IE2 | = 0x80打开总中断EA=1;等待USB完成配置最后,老师定义了如何把57进行不给警告提示。最后测试成功了。【学习心得】老师讲解非常到位,容易理解,如果有基础,那肯定上手非常快。</p>

lulugl 发表于 2024-12-27 11:40:26

<p>第五课:C语言基础</p>
<p>老师首先讲了如何实现printf。</p>
<p>如何打开printf工程,去掉注释 #define PRINTF_HID,从字面上看,是通过USB虚拟串口来实现的。</p>
<p>重定向到了printf_hid</p>
<p>老师也讲了printf中的fmt格式控制字符串,怎么来使用。</p>
<p>讲了USB-CDC,可以用任意的波特率来实现,这比传统的串口要好用。</p>
<p>ISP工具非常实用呀。</p>
<p><img src="data/attachment/forum/202412/27/114018nd4hhsgyjj6jd1fs.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/27/114018rdu5l15h25ccxhhx.png" alt="image.png" title="image.png" /></p>
<p>教材PPT中详细列出了格式字符串怎么用。</p>
<p>老师接着讲了2进制、8进制、10进制、16进制数。</p>
<p>如果要使用64位变量,需要在程序文件里面添加申明:#pragma float64</p>
<p><img src="data/attachment/forum/202412/27/114018m66ouxpngxt1gsxu.png" alt="image.png" title="image.png" /></p>
<p>变量的定义,常用运算符、宏定义。变量区分大小写。</p>
<p><img src="data/attachment/forum/202412/27/114019t7na7anay7lrow2a.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/27/114018w0yloguqgggcl11j.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/27/114018s6cf0vr4urul4r0w.png" alt="image.png" title="image.png" /></p>
<p>此次老师讲了C语言的基础知识,复习了一下,收获还是挺多的。</p>

lulugl 发表于 2024-12-27 11:40:50

<table>
<thead>
<tr>
<th>【学习心得】第6集IO输入与输出</th>
</tr>
</thead>
</table>
<p><img src="data/attachment/forum/202412/27/114043d8xpbssb8ppps880.png" alt="image.png" title="image.png" /></p>
<p>老师以40针的8051来讲了输出高低电平。接入最大的电压不通超过极限值。</p>
<p>使用推挽,可以最大输出20mA的电流。</p>
<p>高低电平的,施密特触发性打开与不打开高低电平的值不同。</p>
<p>按键输入检测,</p>
<p><img src="data/attachment/forum/202412/27/114043lu04uue0m0e3mo33.png" alt="image.png" title="image.png" /></p>
<p>读电平来判断是否按下。</p>
<p>P40 = 0 //打开灯的开关</p>
<p>if (P32 == 0). //判断P32是否按下</p>
<p>{P00 ==1;}</p>
<p>else</p>
<p>{</p>
<p>P00 == 0;</p>
<p>}</p>
<p>//反转</p>
<p>P00 = !P00</p>
<p>取反,没有消抖算法</p>
<p>软件延时计算。</p>
<p>下节可能是引入中断。</p>
<p>【学习心得】作为使用过STM32来讲,这次的课仅为实现,对于延时简单粗暴,但是在实际工程中不能使用。</p>

lulugl 发表于 2024-12-27 11:41:07

<p>第七课【定时器中断】学习心得</p>
<p>老师举了个例子,如何计数。引入定时器的计数</p>
<p>阻塞式的任务,实时性比较差。</p>
<p>定时器作用:</p>
<p>1、用于计时系统,实现软件计时。</p>
<p>8051为24位定时</p>
<p>ISP可以使用定时器计算器工具,生成初始化函数,以及中断函数。</p>
<p>其实老师的程序还有改善,可以引入一个获取Tick,来实现消抖。</p>
<p>加入\xfd 可以消除乱码。</p>
<p>原因是内部编码会跳过,需要加入才能消除乱码。</p>
<p>【学习感悟】</p>
<p>其实从STM32转回来学习51,还是比较简单的,特别是ISP工具还有一些常用的代码生成工具。这也有点象stm8也会有代码生成工具。</p>
页: [1]
查看完整版本: 8051U学习心得=====实验箱已发出