学习目标:
例如:
- 配置环境
- 创建一个新的工程
- 了解IO口的模式
- 点灯3件套(亮-闪-流)
软件安装
-
通过keil官网、STC官网下载安装包
-
下载完长这样
解压完长这样
-
0XFD补丁(这个装不装都行,需要分别复制到C51/C251文件夹下的BIN目录中再执行)。
-
Keil的C代码中断号要运行,上面有拓展插件使用说明。
-
下载完-右键-以管理员身份打开
-
记得先关闭杀毒软件之类的安全软件。
获得许可后就可以开启你的安全软件了。 -
下载最新版的STC-ISP烧录软件
配置环境
- 打开ISP软件,按照以下操作:
我用的是AI8051U最小系统板
先摁住P3_2的按键
再接上C头的数据线
松手,后芯片型号的串口就自动识别到了
- 准备配置<AI8051U.h>头文件
将型号头文件下载到,C251的文件夹中:
如果将头文件下载到原先的C51中也能生成AI8051U头文件,但是是8位的AI8051U头文件;下载到C251中生成的是32位的AI8051U头文件。
新建一个工程
- 打开C251,新建工程
建立一个.C文件,这里命名为main,添加。
- 0报错0警告说明环境配置和头文件已经添加成功了
了解IO口模式
- 根据数据手册:可知有4种IO口工作模式
芯片默认的IO口模式为高阻输入模式
准双向口就是弱上拉模式
简单说就是
P2M0 = 0X00;P2M1 = 0x00;
就可以把P2的8个IO口都配置成准双向口(弱上拉模式)。接着就可以给IO口置高低电平进行电灯。
点亮一个LED灯
#include <AI8051U.H>
void main ()
{
P2M0 = 0X00;
P2M1 = 0x00;
while(1)
{
P20 = 0;
}
}
LED灯闪烁
- 通过ISP软件生成延时函数代码
还需增加如下头文件:
#include <AI8051U.H>
#include <intrins.h>
void Delay500ms(void) //@11.0592MHz
{
unsigned long edata i;
_nop_();
_nop_();
i = 1382398UL;
while (i) i--;
}
void main ()
{
P2M0 = 0X00;
P2M1 = 0x00;
while(1)
{
P20 = 0;
Delay500ms();
P20 = 1;
Delay500ms();
}
}
即可完成LED的闪烁
LED流水灯
- 这里可以将Delay换快一点
#include <AI8051U.H>
#include <intrins.h>
void Delay200ms(void) //@11.0592MHz
{
unsigned long edata i;
_nop_();
_nop_();
i = 552958UL;
while (i) i--;
}
void main ()
{
P2M0 = 0X00;
P2M1 = 0x00;
while(1)
{
P20 = 0;
Delay200ms();
P21 = 0;
Delay200ms();
P22 = 0;
Delay200ms();
P23 = 0;
Delay200ms();
P24 = 0;
Delay200ms();
P25 = 0;
Delay200ms();
P26 = 0;
Delay200ms();
P27 = 0;
Delay200ms();
P2 = 0xFF;
}
}
流水灯就完成啦。
学习总结
成功点灯,开启AI8051U的奇幻之旅!