(1)实验平台:
普中 51-Ai8051 开发板
https://item.taobao.com/item.htm?abbucket=17&id=1026052331067(2)资料下载 :普中科技-各型号产品资料下载链接
不论学习什么单片机, 最简单的外设莫过于 IO 口的高低电平控制 LED, 本章将向大家介绍如何使用 Ai8051 的 GPIO 输出。 通过本章的学习, 让大家对 AiCube的程序架构有一定的认识, 为以后大型项目程序学习打下基础, 增强信心。 本章分为如下几部分内容:
[6.1 实验介绍](#6.1 实验介绍)
[6.1.1 实验简介](#6.1.1 实验简介)
[6.1.2 实验目的](#6.1.2 实验目的)
[6.2 硬件设计](#6.2 硬件设计)
[6.3 软件设计](#6.3 软件设计)
[6.3.1 创建和配置工程](#6.3.1 创建和配置工程)
[6.3.1.1 GPIO 配置](#6.3.1.1 GPIO 配置)
[6.3.1.2 生成工程](#6.3.1.2 生成工程)
[6.3.2 添加用户驱动代码](#6.3.2 添加用户驱动代码)
[6.3.2.1 main.c 文件](#6.3.2.1 main.c 文件)
[6.4 实验现象](#6.4 实验现象)
6.1 实验介绍
6.1.1 实验简介
相信大部分人开始学习嵌入式单片机编程时都会从点亮 LED 开始, 我们在学习 Ai8051 的编程也不例外, 通过点亮第一个 LED 能让你对编译环境和程序架构有一定的认识, 为以后的学习和更大型的程序打下基础, 增加信心。
6.1.2 实验目的
让 LED 灯闪烁, 即让 GPIO 输出高或低电平, 对芯片来说, 高电平约 3.3V,低电平约 0V。
6.2 硬件设计
本实验使用到硬件资源如下:
(1) LED 模块
(2) GPIO
LED 模块电路如下所示:

从网络标号可知, LED 模块 8 个灯分别连接在芯片的 P00-P07 引脚; J11 为LED 模块的电源端子, 要让 LED 工作则短接 J11 端子的 2 个脚。 当引脚输出高电平时, LED 熄灭, 输出低电平时, LED 点亮。
在 Ai8051 核心板上同样也有一个用户 LED 可控制, 其连接在 P50 引脚, 低电平点亮。
6.3 软件设计
6.3.1 创建和配置工程
按照前面章节内容创建一份新工程, 并命名为 01-led, 如下所示:

6.3.1.1 GPIO 配置
使能端口和时钟, 将 P20 口设置为推挽输出模式、 使能上拉电阻, 并给该引脚命名为 LED1 等, 如下图所示:

6.3.1.2 生成工程
配置完成后, 按下代码生成按钮, 自动创建工程, 系统开始生成初始化代码。生成工程文件目录如下图所示:

程序编译成功。
6.3.2 添加用户驱动代码
6.3.2.1 main.c 文件
cpp
void main(void)
{
//<<AICUBE_USER_MAIN_INITIAL_BEGIN>>
// 在此添加用户主函数初始化代码
//<<AICUBE_USER_MAIN_INITIAL_END>>
SYS_Init();
//<<AICUBE_USER_MAIN_CODE_BEGIN>>
// 在此添加主函数中运行一次的用户代码
//<<AICUBE_USER_MAIN_CODE_END>>
while (1)
{
//<<AICUBE_USER_MAIN_LOOP_BEGIN>>
// 在此添加主函数中用户主循环代码
LED1=!LED1;
delay_ms(100);
//<<AICUBE_USER_MAIN_LOOP_END>>
}
}
6.4 实验现象
将程序编译下载到目标板运行, 实验现象: LED 闪烁。
要实现 LED 流水灯实验, 操作方法类似。 工程配置和代码可参考实验例程。