C51单片机99.9s倒计时秒表
时间: 2023-12-29 09:04:06 浏览: 59
以下是C51单片机实现99.9s倒计时秒表的代码:
```c
#include <reg52.h>
sbit led = P1^0; // 定义LED连接的IO口
void delay(unsigned int t) { // 延时函数
unsigned int i, j;
for(i=0; i<t; i++) {
for(j=0; j<115; j++);
}
}
void main() {
unsigned char sec = 99; // 初始化秒数
unsigned char ms = 9; // 初始化毫秒数
TMOD = 0x01; // 设置定时器0为模式1
TH0 = 0x3C; // 定时器0的高8位
TL0 = 0xAF; // 定时器0的低8位
TR0 = 1; // 启动定时器0
while(1) {
if(TF0 == 1) { // 定时器0中断标志位为1
ms--; // 毫秒数减1
if(ms == 0) { // 毫秒数为0
ms = 9; // 毫秒数重置为9
sec--; // 秒数减1
if(sec == 0) { // 秒数为0
led = 0; // LED灯亮
while(1); // 程序停止
}
}
TH0 = 0x3C; // 定时器0的高8位
TL0 = 0xAF; // 定时器0的低8位
TF0 = 0; // 定时器0中断标志位清零
}
}
}
```
该程序使用定时器0中断来实现毫秒级延时,从而实现秒表的倒计时功能。程序中使用了一个LED灯来表示倒计时结束。