51单片机60秒倒计时
时间: 2023-07-02 20:08:22 浏览: 175
以下是51单片机的60秒倒计时程序:
```
#include <reg51.h>
#define LED P1
void delay(unsigned int i)
{
while(i--);
}
void main()
{
unsigned int i, j;
while(1)
{
for(i = 60; i > 0; i--)
{
for(j = 0; j < 1000; j++)
{
LED = i;
delay(1000);
}
}
}
}
```
这个程序使用了P1口连接的8个LED灯,每秒钟一个灯点亮,表示剩余的时间。60秒后所有灯熄灭,表示倒计时结束。
相关问题
金沙滩51单片机60秒倒计时
以下是51单片机实现60秒倒计时的代码:
```c
#include <reg52.h>
sbit LED = P1^0; // 控制LED灯的IO口
void delay(unsigned int time) // 延时函数
{
unsigned int i, j;
for(i = time; i > 0; i--)
for(j = 110; j > 0; j--);
}
void main()
{
unsigned char i;
while(1)
{
for(i = 60; i > 0; i--) // 60秒倒计时
{
LED = 1; // LED灯亮
delay(1000); // 延时1秒
LED = 0; // LED灯灭
delay(1000); // 延时1秒
}
}
}
```
以上代码实现了一个简单的60秒倒计时,每次LED灯亮1秒,灭1秒,循环60次。注意需要在P1.0口接一个LED灯才能看到效果。
51单片机60秒倒计时器
以下是51单片机实现60秒倒计时器的代码:
```c
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
void delay(uint i) //延时函数,i为延时时间
{
while (i--);
}
void main()
{
uchar i;
P1 = 0xfe; //初始值为11111110,也就是最后一位为0,用来控制LED亮灭
while (1)
{
for (i = 60; i > 0; i--) //从60开始倒计时
{
P1 = ~P1; //LED取反,使其亮灭交替
delay(50000); //延时1秒,每个循环内部共有两个延时
P1 = ~P1;
delay(50000);
}
}
}
```
在这个代码中,我们使用了一个循环来实现倒计时,每次循环都会让LED亮灭交替,并且延时1秒。循环初始值为60,每次循环结束后减1,当循环结束后再重新从60开始倒计时。
阅读全文