51单片机制作一个秒表
时间: 2023-07-04 11:12:52 浏览: 88
51单片机实现的秒表
4星 · 用户满意度95%
好的,以下是基本的秒表程序:
```
#include<reg51.h>
unsigned char second = 0; //秒数计数器
unsigned char minute = 0; //分钟计数器
unsigned char hour = 0; //小时计数器
void delay_ms(unsigned int); //延时函数声明
void main()
{
TMOD = 0x01; //定时器0工作在模式1
TH0 = 0x3C; //设置定时器初值,定时1ms
TL0 = 0xB0;
TR0 = 1; //启动定时器0
ET0 = 1; //开启定时器0中断
EA = 1; //开启总中断
while(1) //循环执行
{
//显示计数器数值,具体显示方式可以根据需要自行设计
}
}
void timer() interrupt 1 //定时器0中断函数
{
TH0 = 0x3C; //重新设置定时器初值
TL0 = 0xB0;
second++; //秒数加1
if(second == 60) //如果秒数达到60,增加分钟计数器,秒数清零
{
second = 0;
minute++;
}
if(minute == 60) //如果分钟计数器达到60,增加小时计数器,分钟计数器清零
{
minute = 0;
hour++;
}
}
```
在这个程序中,我们使用定时器0中断来实现计时,并且使用了三个计数器来分别记录小时、分钟和秒数。在主程序中,我们可以根据需要自行设计计数器数值的显示方式。此外,还需要编写一个延时函数来实现精确的延时,这里就不再赘述了。
阅读全文