用c51编程一个数码管和一个led灯和一个按钮,按钮按下灯亮数码管为1,不按灯灭数码管为0的完整程序
时间: 2024-02-11 22:05:41 浏览: 69
C51一个按键控制LED四种模式
好的,下面是基于 Keil C51 编译器的完整程序:
```c
#include <reg51.h>
sbit LED = P1^0; // LED 灯连接在 P1.0 引脚
sbit BTN = P1^1; // 按钮连接在 P1.1 引脚
sbit D1 = P2^0; // 数码管第一位连接在 P2.0 引脚
void delay(unsigned int time) // 延时函数
{
unsigned int i, j;
for(i = 0; i < time; i++)
for(j = 0; j < 125; j++);
}
void main()
{
while(1)
{
if(BTN == 0) // 按钮被按下
{
LED = 1; // LED 灯亮
D1 = 1; // 数码管第一位显示 1
}
else // 按钮没有被按下
{
LED = 0; // LED 灯灭
D1 = 0; // 数码管第一位显示 0
}
delay(20); // 延时 2.5ms
}
}
```
程序实现的功能是,当按钮按下时,LED 灯亮起来,数码管第一位显示 1;当按钮没有被按下时,LED 灯熄灭,数码管第一位显示 0。程序中用到了一个简单的延时函数,用于消除按键抖动。
阅读全文