51单片机开发板实验:点亮第一个LED灯
- 物联网-嵌入式工程师
- 3天前
- 61热度
- 0评论
一、硬件设计

在单片机开发板上有 8 个 LED 连接单片机 P2 IO 口上,具体电路如下图所示:
该电路即可实现 LED 实验,还可以实现交通灯实验(只需按照交通灯颜色摆放即可),所以我们也称该电路为 LED/交通灯电路。
从电路图可以看出,LED 控制管脚直接连接到 51 单片机的IO 上。LED 采用共阳接法,即所有 LED 阳极管脚接电源 VCC,阴极管脚通过一个
470 欧的限流电阻接到 P2 口上。根据前面 LED 的介绍我们知道,要让 LED 发光,即对应的阴极管脚就应该为低电平,若为高电平则熄灭。
如果要想 51 单片机控制 LED,就必须通过单片机管脚在 P2 IO 口上输出低电
平。
二、软件设计
观察上面的电路图,LED模块D1指示灯通过RP9限流电阻链接到单片机的P2口第0个引脚,因为电路采用共阳接法,即所有 LED 阳极管脚接电源 VCC,要让D1指示灯点亮,D1的阴极管脚应为低电平,因此在程序中需要让P20管脚输出低电平。
C语言实现代码:
sbit led1 = P2^0;
led1 = 0;
sbit定义了led1变量,该变量指向P2口的第0位,若执行语句led1=0; 则P1口的第0位被置为低电平。
三、编写程序
启动Keil软件后,创建一个新项目,选择单片机型号STC89C52RC。在项目中添加C语言源文件main.c。
在main.c文件内输入下面的源代码:
#include "reg52.h"
sbit led=P2^0; //将单片机的P2.0端口定义为led
void main()
{
led=0; //P2.0端口设置为低电平
while(1)
{
}
}
配置输出HEX文件
51单片机只能运行HEX或BIN文件,HEX是十六进制文件,英文全称为“hexadecimal”,BIN文件是二进制文件,英文全称为binary,这两种文件可以通过软件相互转换。若需要Keil编译后输出HEX文件,需要对Keil输出选项进行配置。在Keil工作窗口,展开【Project】菜单,选择“Options for Targets”命令,在弹出的对话框中,选择“Output”标签页,确定“Create Hex File”被选中。
四、下载程序
使用USB连接线将51单片机开发板链接至电脑。
启动下载程序软件PZ-ISP.exe,下载程序界面如下图所示:
下载程序启动后,会自动识别51单片机链接的串口号,芯片类型也会自动识别,芯片类型选择STC89C5xx-RC Series,其它选项采用默认参数即可。单击【打开文件】,程序弹出“打开”对话框,选择keil输出的HEX文件,即可下载HEX嵌入式程序到单片机,单片机会自动运行下载的程序。
上图为开发板运行程序后的情况,LED模块的D1指示灯被点亮。