AI8051U实验箱学习记录
<p>记录自己的学习心得,感谢STC公司提供平台</p><p><img src="data/attachment/forum/202412/16/145604ti99suracsxkjigr.png" alt="cbf87dad249ec09a3be9e7dda7d8f12.png" title="cbf87dad249ec09a3be9e7dda7d8f12.png" /></p>
<pre><code>##### 第一集 序言
一.8051比上一个STC32G强在哪里
1. 屏幕显示和视频播放
2. IIS录放音
3. PWM支持DMA
4. 可以做频谱分析仪
5. 可以通过AI实现手机计算器
6. 支持QSPI,PWM移相,硬件乘除,单精度浮点
二. Ai8051U简介
1. Ai8051U,USB 型 1T 8051,支持32位和8位指令集, RMB2.3
2. 管脚兼容: 89C52RC, 12C5A60S2
3. 要兼容 8位8051指令集, 可以用 Keil C51/IAR/SDCC 编译器
4. 要兼容 32位8051指令集,可以用 Keil C251 编译器,双核兼容设计 注意(虽然是双核但是不可同时使用)
5. RAM: 34K SRAM(2K edata, 32K xdata), 64K Flash TFPU@120MHz, 硬件浮点/硬件三角函数 运算器
6. DMA支持PWM, DMA支持外设直接到外设, P2P
7. 120MHz-PWM支持硬件移相,16位PWM; 真12位ADC
8. USB, 4组串口,12位ADC, 轨到轨比较器
9. QSPI, SPI, I2S, I2C, TFT-i8080/M6800 接口
10. 封装有: PDIP40,LQFP44,LQFP48
三. 其他
1. 通过冲哥的简单演示 充分认识了AI8051U强大的性能。
2. 看了试验箱就很想拥有。
3. 自带USB下载是真的方便 不再需要去加USB转串口芯片
</code></pre>
<p>666</p>
<p><img src="data/attachment/forum/202412/16/151629l0wzhe7hp7sf7xwr.png" alt="74ff7dc72670da18ab72b92fd1ff28f.png" title="74ff7dc72670da18ab72b92fd1ff28f.png" /></p>
<p><img src="data/attachment/forum/202412/17/083749ohyzymymhhmw4a2m.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/17/083825lzz7mb6p5rlyltzf.png" alt="image.png" title="image.png" /></p>
<pre><code>
#### 第二集 硬件及工具介绍
一.硬件介绍
1. 冲哥介绍了这次的好工具<<AI8051实验箱>>
2. 实验箱每个部分都有详细介绍。
3. 自带USB_LIKE1D 官方的下载调试工具,并会附赠连接线
4. 自带TypeC 可代替自带USB_LIKE1D进行下载
5. 工具箱上面还带了个转串口芯片(STC家研发的) 兼容性最好 最高波特率(10Mbps)
6. 还带有TF卡插座,方便后面跑文件系统,真厉害,都上操作系统了?期待。
7. 还带示波器型号接口。
8. 有个耳机接口进行放音。
9. 带一个话筒进行收音。
10. 带有流水灯,特别方便进行流水灯开发(简单入门)
11. 冲哥说 板子上还带有8哥登儿(灯) 。
12. 还可以模拟掉电检测,可实现重要数据存储
12. 总结下来就是很牛,很牛,很牛。
</code></pre>
<p><img src="data/attachment/forum/202412/17/083604ak2zzkal8ls3nzi3.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/17/083647hp576469978b6t36.png" alt="image.png" title="image.png" /></p>
<pre><code>二. 软件安装及配置
1. 软件使用的是Keil开发软件(国外的)
2. 可以到官网自行下载最新的即可,我这边想进行32BIT开发 所以我把C51和C251都下载并安装好了
3. 软件安装好了以后还需要下载官方的AIapp-ISP-v6.95C软件进行头文件写入,这个软件很方便,做到了一件添加头文件,大致开了下官方自带的那个下载软件太强大了还有好多功能。
4. 因为Keil原生不支持31往后的中断向量,所以还需要安装 keil的中断扩展插件。不然编译会报错。
5. 将AI8051手册下载下来
6. keil没有lic的时候是有限制的,需要自行和谐。
三. 其他
1. 冲个演示了程序是怎么写入到单片机的
2. 总结一个就是强大,高效
</code></pre>
jjlwiidv 发表于 2024-12-16 15:20
666
不错,真的很6,很强大
#### 第三集 点亮一颗灯
1.创建一个空白工程(手册6.5章节)2.选择正确的MCU(AI8051U-32BIT)
3.并且设置项目的CPU mode 为Source模式
4. 勾选上4Byte Interupt Frame Size选项 (注意:因为中断是四个字节)
5.AI8051U系列的edata大小为2K。
6.芯片上电默认是高阻输入的,我们需要设置为准双向口才能点灯 P0M1 = 0x0 P0M0 = 0x0; P4M1=0X0P4M0=0X0 将P0和P4都设置为准双向口.
<h4>第四集 USB不停电下载</h4>
<p><strong>冲哥名言:哪怕梦想让我们拼的遍体鳞伤,这一次我们也要勇往直前</strong></p>
<p>坚持学习</p>
<p><img src="data/attachment/forum/202412/17/084149tu7l1ob98l4ce701.png" alt="image.png" title="image.png" /></p>
<pre><code>一. 官方的USB库文件下载
1. 在官网的工具库中下载USB函数库,8051U使用的是32G的库
2. 按照教程将关键的头文件及库文件复制到工程中去
3. 这里我图方便直接下载例程跟着操作了。
</code></pre>
<p><img src="data/attachment/forum/202412/17/084821an7ppuw7u731n153.png" alt="image.png" title="image.png" /></p>
<pre><code>
二. 关键部分
1. 使用串口"printf"打印信息需要屏蔽 #define PRINTF_SEGLED 和 #define PRINTF_HID两个定义
2. 三个指针 *USER_DEVICEDESC =NULL *USER_PRODUCTDESC=NULL *USER_STCISPCMD = "@STCISP#"
3. "@STCISP#"就是官方默认的下载命令字符串 有需要的话可以改成自己喜欢的 但是本次修改下次下载才生效的
4. 通过配置 IE2|=0X80 来进行USB中断使能
5. 切记不管使用什么中断 都必须要开启总中断 EA =1
</code></pre>
<p><img src="data/attachment/forum/202412/17/084212laazdcjjth2k6b71.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/17/084229dve2s2mav6fi44sk.png" alt="image.png" title="image.png" /></p>
<h4>第五集 C语言基础</h4>
<ul>
<li>首先实现一下USB-CDC串口之printf函数实现 打开USB库中的PRINTF_HID宏定义 去掉//</li>
</ul>
<p><img src="data/attachment/forum/202412/17/150023yucp30w9f7p9ugfu.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/17/150152gdnk99uk693zuddn.png" alt="image.png" title="image.png" />还需要注意的点是 要等待USB完成配置才可以进行后面的操作。</p>
<p><img src="data/attachment/forum/202412/17/150402c6sz6xtlsnj8w1ju.png" alt="image.png" title="image.png" /></p>
<h3>第六集 I/O输入输出</h3>
<p><img src="data/attachment/forum/202412/17/152013ubrr8lpw8dhphpmg.png" alt="image.png" title="image.png" /></p>
<h5>GPIO是指通用输入输出端口,就是一些简单的引脚</h5>
<h5>单片机的高电平表示逻辑“1” 低电平表示逻辑“0”</h5>
<h5>单片机高电平就是输出的VCC电压 低电平是GND</h5>
<h5>端口的输入输出模式有四种 1.准双向口 2.推挽输出 3.高阻输入 4.开漏模式</h5>
<h5>这些输入输出模式都是依靠PnM1和PnM0寄存器进行配置的。</h5>
<p><img src="data/attachment/forum/202412/17/152529kxwzcxzijwwi8c55.png" alt="image.png" title="image.png" /></p>
<h5>机械按键按下或者松开都会存在抖动,一般是20ms内需要进行消抖处理</h5>
<h5>WTST = 0; //设置程序指令延时参数 当前就代表全速运行</h5>
<h5>EAXFR=1; //XFR(扩展寄存器访问使能)</h5>
<h5>CKCON = 0;提高访问XRAM的速度。</h5>
<h3>第七集 定时器</h3>
<p><img src="data/attachment/forum/202412/17/152937mf4ez74isphiiief.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/17/152957ic80zphqqe0sz691.png" alt="image.png" title="image.png" /></p>
<h5>定时器的作用:1.用于计时系统,可实现软件的计时。或者定时完成一项操作</h5>
<h5>可替代Delay延时函数,提高效率,并可以打断主循环(定时器中断)</h5>
<p><img src="data/attachment/forum/202412/17/153202jjxbpabkxzryr13h.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/17/153222h9yh4ztyd5khm0gs.png" alt="image.png" title="image.png" /></p>
<h5>定时器重载的本质就是重设定的值到65536(16位自动重载)溢出后将标志位置1,使能ET0的话还可以进入中断</h5>
<p><img src="data/attachment/forum/202412/17/153513xssqwqk4t4qzk6pz.png" alt="image.png" title="image.png" /></p>
页:
[1]