fei2568 发表于 2024-12-9 18:47:07

srq 发表于 2024-12-9 08:35
我搜索的别人也是建议是装在不同目录,桌面图标直接标注不同的c51\c251\ARM,昨天先装了c51和c251 ...

我后面有正确的安装方法,要装到一起
在13楼
https://www.stcaimcu.com/forum.php?mod=redirect&goto=findpost&ptid=12387&pid=127373

fei2568 发表于 2024-12-9 19:08:28

<p>下载中断扩展插件</p>
<p><img src="data/attachment/forum/202412/09/185420mzj7djj4yssw7mjw.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/09/185706tnlxvxw4k0vtw5q3.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/09/185754zzdwyj99hay7u9uz.png" alt="image.png" title="image.png" /></p>
<p>这样就好了</p>
<p>再来回顾一下开发环境的搭建</p>
<p>1.安装keil软件,C51 C251 ARM(好像是管STM32系列的)</p>
<p>2.注册机激活keil,要分3次激活,分别为C51 C251 ARM</p>
<p>3.下载ISP 软件,添加芯片包</p>
<p>4.下载keil扩展中断号的软件</p>
<p>也就这些吧</p>

fei2568 发表于 2024-12-9 19:24:36

<p>下载第一个程序到实验箱</p>
<p>首先使用 USB 线将实验箱与电脑正确连接,然后打开 AIapp-ISP-v6.94R 或以上版本。</p>
<p><img src="data/attachment/forum/202412/09/192408l2t2st9j2gd942sd.png" alt="image.png" title="image.png" /></p>
<p>在上面的界面中,下面几点需要注意: 1、 单片机型号选择“AI8051U-34K64”。 2、 实验箱 使用硬件 USB 接口下载。进入 USB 下载模式需要先按住实验箱上的 P3.2/INT0 按键(P32 接地),然后按一下 ON/OFF 电源按键 / 断电,接着松开 ON/OFF 电源按键 / 上电,最后可松开。 P3.2/INT0 按键。正常情况下就能识别出“(HID1) USB Writer”设备。 点击界面中的“打开程序文件”按钮,在出现的打开程序代码文件的对话框中选择需要 下载的文件。</p>
<p><img src="data/attachment/forum/202412/09/192408pto2p28d83w8j58i.png" alt="image.png" title="image.png" /></p>
<p>文件正确打开后,点击界面中的“下载 / 编程”按钮开始下载代码</p>
<p><img src="data/attachment/forum/202412/09/192408yodkhodofq23i5lq.png" alt="image.png" title="image.png" /></p>
<p>下载成功,会出现如下画面:</p>
<p><img src="data/attachment/forum/202412/09/192408o64b5xwd0dd53xd9.png" alt="image.png" title="image.png" /></p>

fei2568 发表于 2024-12-9 21:15:10

刚刚边吃饺子边学完了第6集
共3部分内容
1什么是gpio
2按键输入检测
3课后小练

srq 发表于 2024-12-10 08:25:18

fei2568 发表于 2024-12-9 18:47
我后面有正确的安装方法,要装到一起
在13楼
https://www.stcaimcu.com/forum.php?mod=redirect&goto=fin ...

谢谢,我刚刚也安装三个在一个文件夹成功了(虽然不会用),可能以前安装有误。还有就是注册的时候必须要管理员权限打开keil。也可能以前我没注意这个信息,误认为注册失败。

fei2568 发表于 2024-12-10 08:27:32

<p>新建工程</p>
<p><img src="data/attachment/forum/202412/10/082030z51tr761rzn7tr94.png" alt="image.png" title="image.png" /></p>
<p>新建一个文件保存为main.c文件在工程目录下面</p>
<p><img src="data/attachment/forum/202412/10/082526vknyda1aar4ayez7.png" alt="image.png" title="image.png" /></p>
<p>将刚刚新建的main.c文件添加到工程里面(点一下add就好了)</p>
<p><img src="data/attachment/forum/202412/10/082612aatm7tmmzblu8giy.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/10/082642aczcrczci0lircci.png" alt="image.png" title="image.png" /></p>

fei2568 发表于 2024-12-10 11:18:07

<p>设置项目1(CPU 模式选择Source模式)</p>
<p>如下图所示,在“Target1”所在的图标点击鼠标右键,并选择“Options for Target ' Target 1'...”</p>
<p><img src="data/attachment/forum/202412/10/110006axmm676hl88g779l.png" alt="image.png" title="image.png" /></p>
<p>在弹出的“Options for Target ' Target 1'”窗口中选择“Target”选项页,在“CPU Mode”的下拉选项中选 择“Source (251 Native)”</p>
<p><img src="data/attachment/forum/202412/10/110109w6o1fdx0626ut58x.png" alt="image.png" title="image.png" /></p>
<p>80251 的指令模式有“Binary”和“Source”两种模式,Ai8051U 系列目前只支持“Source”模式 由于 Ai8051 U 系列 单片机在中断中的压栈和出栈都是 4 字节模式,建议“ 4 Byte Interrupt Frame Size ”选 项也打上钩</p>
<p>设置项目 2(“Memory Model”选择 XSmall 模式)</p>
<p>在“Memory Model”的下拉选项中选择“XSmall: ...”模式。80251 的存储器模式,在 Keil 环境下有如下 图所示的 5 种模式:</p>
<p><img src="data/attachment/forum/202412/10/110841f399ec43c3o033c4.png" alt="image.png" title="image.png" /></p>
<p>设置项目 3(“Code Rom Size”选择 Large 或者 Huge 模<br />
式)</p>
<p>在“Code Rom Size”的下拉选项中选择“Large: ...”或者“Huge: ...”模式 80251 的代码大小模式,在 Keil 环境下有如下图所示的 5 种模式:</p>
<p><img src="data/attachment/forum/202412/10/111139bgeryhe9ydhx4nws.png" alt="image.png" title="image.png" /></p>
<p>设置项目 4(超 64K 代码的相关设置)</p>
<p>如果代码大小在 64K 以内,选择“Large”模式即可。若代码大小超过 64K,则需要选择“Huge” 模式,并需要保证单个函数以及单个文件的代码大小必须在 64K 字节以内,并且单个表格的数据量也必 须在 64K 字节以内。同时还需要作如下图所示的设置:---这一项暂时选择Large ROM 不填</p>
<p><img src="data/attachment/forum/202412/10/111452y6ymo45za6f4fama.png" alt="image.png" title="image.png" /></p>
<p>设置项目 5(HEX 文件格式设置)</p>
<p>“Options for Target ' Target 1'”窗口中选择“Output”选项页,勾选其中的“Create HEX File”选项。若 程序空间超过 64K,则“HEX format”必须选择“HEX-386”模式,只有程序空间在 64K 以内,“HEX format”才可选择 “HEX-80”模式;---这一项暂时选择HEX-80</p>
<p><img src="data/attachment/forum/202412/10/111730b6v5s8v1w0odnjw8.png" alt="image.png" title="image.png" /></p>
<p>完成上面的设置后,鼠标单击如下图所示的编译按钮,如果代码没有错误,即可生成 HEX 文件</p>

fei2568 发表于 2024-12-10 13:07:29

<p>添加头文件,编写一个最简单的工程</p>
<p>c 语言中 include 用法<br />
#include 命令是预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置。 有两种方式可以指定插入头文件:<br />
#include &lt;文件名.h&gt;</p>
<p>#include &quot;文件名.h&quot;<br />
使用尖括号&lt; &gt;和双引号&quot; &quot;的区别在于头文件的搜索路径不同: 使用尖括号&lt; &gt;,编译器会到系统路径下查找头文件;<br />
使用双引号&quot; &quot;,编译器首先在当前目录下查找头文件,如果没有找到,再到系统路径下查找。</p>
<p>这里我们将头文件放到程序根目录下使用双引号来引用头文件</p>
<p><img src="data/attachment/forum/202412/10/125244d0xpzufpqggbcjow.png" alt="image.png" title="image.png" /></p>
<p>将下载下来的ai8051u.h文件复制到程序根目录下,并编写代码</p>
<p><img src="data/attachment/forum/202412/10/130648e8n6aa1xxxzanlqn.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/10/130623wl4s4qhoez21e3es.png" alt="image.png" title="image.png" /></p>
<p>修改一下代码编码格式和tab缩进</p>
<p><img src="data/attachment/forum/202412/10/130459zme46jpz3tni255t.png" alt="image.png" title="image.png" /></p>

fei2568 发表于 2024-12-10 13:45:55

<p>点亮一个led的代码</p>
<p>#include &quot;ai8051u.h&quot;</p>
<p>void main(void)<br />
{<br />
//下面4行为配置IO口工作模式<br />
P0M0=0x00;<br />
P0M1=0x00;<br />
P4M0=0x00;<br />
P4M1=0x00;<br />
while(1)<br />
{<br />
//这里面写代码<br />
P40=0;<br />
P00=0;<br />
}<br />
}</p>
<p>13.2 配置 I/O 口<br />
每个 I/O 的配置都需要使用两个寄存器进行设置。<br />
以 P0 口为例,配置 P0 口需要使用 P0M0 和 P0M1 两个寄存器进行配置,如下图所示:<br />
即 P0M0 的第 0 位和 P0M1 的第 0 位组合起来配置 P0.0 口的模式 即 P0M0 的第 1 位和 P0M1 的第 1 位组合起来配置 P0.1 口的模式 其他所有 I/O 的配置都与此类似。</p>
<p><img src="data/attachment/forum/202412/10/134535wmp17313zur111gm.png" alt="image.png" title="image.png" /></p>
<p>注意:<br />
0 0 准双向口(传统8051端口模式,弱上拉)<br />
灌电流可达20mA,拉电流为270~150μA(存在制造误差)<br />
0 1 推挽输出(强上拉输出,可达20mA,要加限流电阻) 1 0 高阻输入(电流既不能流入也不能流出)<br />
1 1<br />
开漏模式(Open-Drain),内部上拉电阻断开 开漏模式既可读外部状态也可对外输出(高电平或低电 平)。如要正确读外部状态或需要对外输出高电平,需外 加上拉电阻,否则读不到外部状态,也对外输不出高电平。<br />
===【开漏工作模式】,对外设置输出为 1,等 同于 【高阻输入】<br />
===【开漏工作模式】,【打开内部上拉电阻 | 或外部加上拉电阻】,简单等同于 【准双向口】<br />
注:n = 0,1,2,3,4,5,6,7<br />
虽然每个 I/O 口在弱上拉(准双向口)/强推挽输出/开漏模式时都能承受 20mA 的灌电流(还是要加限流 电阻,如 1K、560Ω、472Ω 等),在强推挽输出时能输出 20mA 的拉电流(也要加限流电阻),但整个芯片 的工作电流推荐不要超过 90mA,即从 VCC 流入的电流建议不要超过 90mA,从 GND 流出电流建议不要超过 90mA,整体流入/流出电流建议都不要超过 90mA。</p>

fei2568 发表于 2024-12-10 19:25:39

<p>下面代码为点亮第一个LED 的代码</p>
<pre><code>#include &quot;ai8051u.h&quot;

void main(void)
{
        //下面4行为配置IO口工作模式
        P0M0=0x00;
        P0M1=0x00;
        P4M0=0x00;
        P4M1=0x00;
        while(1)
        {
                //这里面写代码
                P40=0;
                P00=0;
        }
}
</code></pre>
页: 1 2 [3] 4 5 6 7 8 9
查看完整版本: 8051U实验箱学习记录 | 学习打卡典范