at89c52电子秒表软件程序设计
时间: 2023-06-21 22:07:23 浏览: 109
AT89C52 是一种 8 位单片机,可以用来实现电子秒表的功能。以下是一个基本的电子秒表软件程序设计:
1. 定义变量和端口
```
#include<reg52.h>
sbit start=P3^0;
sbit stop=P3^1;
sbit reset=P3^2;
unsigned char sec=0,min=0,hour=0;
```
2. 定义延时函数
```
void delay(unsigned int n)
{
unsigned int i,j;
for(i=0;i<n;i++)
for(j=0;j<125;j++);
}
```
3. 主函数
```
void main()
{
start=1;
stop=1;
reset=1;
TMOD=0x01; //设置计时器为模式1
TH0=0; //计时器高位初始化为0
TL0=0; //计时器低位初始化为0
ET0=1; //打开定时器中断
EA=1; //打开总中断
TR0=0; //关闭计时器
while(1)
{
if(start==0) //开始计时
{
TR0=1; //打开计时器
}
if(stop==0) //停止计时
{
TR0=0; //关闭计时器
}
if(reset==0) //复位计时器
{
TR0=0; //关闭计时器
sec=0;
min=0;
hour=0;
}
}
}
```
4. 定时器中断函数
```
void timer0() interrupt 1
{
TH0=0; //重置计时器高位
TL0=0; //重置计时器低位
sec++; //秒数加1
if(sec==60) //如果秒数到达60
{
sec=0; //秒数清零
min++; //分钟加1
if(min==60) //如果分钟到达60
{
min=0; //分钟清零
hour++; //小时加1
}
}
}
```
以上程序实现了一个简单的电子秒表,使用 P3.0、P3.1 和 P3.2 三个端口来控制开始、停止和复位功能。计时器用来记录时间,计时器中断函数用来更新时间。在主函数中,使用一个无限循环来监测按钮状态,并根据按钮状态开启、停止或复位计时器。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![exe](https://img-home.csdnimg.cn/images/20210720083343.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)