51单片机点亮一个led灯的源代码
时间: 2024-09-15 17:12:54 浏览: 82
51单片机程序点亮四个LED灯-C语言版.zip
5星 · 资源好评率100%
使用51单片机点亮LED灯的基本步骤通常涉及到以下几个部分:初始化GPIO口、配置中断、循环读取GPIO状态并控制LED。这里是一个简单的示例,假设我们使用的是AT89S51单片机和P0口连接LED:
```c
#include <reg52.h>
// LED连接到P0口第0位
#define LED PORTPbits.R0
unsigned char flag = 0;
void delay(unsigned int time) {
while(time--) {
__nop(); // 指令空操作,占时延时
}
}
int main(void) {
TRAP旗清; // 清除陷阱标志
TMOD = 0x01; // 设置定时器T0工作于模式1(方波)
TH0 = 0xFD; // 设置定时初值,大约等于1秒的计数值
TL0 = 0xFD;
EA = 1; // 开启全局中断
ET0 = 1; // 开启定时器T0中断
TR0 = 1; // 启动定时器T0
while(1) { // 无限循环
if(flag == 1) { // 当flag变为1时
LED = 1; // 点亮LED
flag = 0; // 重置标志
} else {
LED = 0; // 关闭LED
}
delay(1000); // 每次延时1s
}
return 0;
}
interrupt void T0_INT() interrupt 1 {
flag = 1; // 设置标志触发LED切换
}
```
阅读全文