51单片机可以通过GPIO口控制LED的亮灭。具体步骤如下:
1. 在程序中定义所需要的IO口,例如定义P0口的第0位为LED控制端口。
2. 将该端口的工作方式设置为输出模式。
3. 在程序中通过控制该端口的电平来控制LED的亮灭。当该端口输出高电平时,LED亮起;当该端口输出低电平时,LED熄灭。
示例代码如下:
```c
#include<reg51.h>
sbit LED=P0^0; //定义P0.0为LED控制端口
void main()
{
LED=0; //将LED熄灭
while(1)
{
LED=1; //将LED点亮
delay(500); //延时500ms
LED=0; //将LED熄灭
delay(500); //延时500ms
}
}
void delay(unsigned int i) //简单的延时函数
{
unsigned int j,k;
for(j=i;j>0;j--)
for(k=125;k>0;k--);
}
```
在这个示例代码中,当程序运行时,LED会不断闪烁,周期为1秒。