C8051F3109秒倒计时代码
时间: 2023-09-08 14:07:43 浏览: 47
以下是C8051F3109的秒倒计时代码示例,您可以根据自己的需要进行修改和优化:
```c
#include <C8051F310.h>
unsigned int count = 0; //定义计数器变量
void Timer0_ISR (void) interrupt 1
{
count++; //每触发一次中断计数器加1
}
void main (void)
{
PCA0MD &= ~0x40; //禁用看门狗定时器
OSCICN |= 0x03; //将系统时钟设置为INTOSC
TCON &= ~0x30; //清除TCON中TF0和TF1位
TMOD &= ~0x0F; //清除TMOD中T0M和T1M位
TMOD |= 0x01; //设置TMOD中T0M位为模式1
CKCON |= 0x08; //设置CKCON中T0M位为SYSCLK
TH0 = 0xFC; //设置定时器初值为65536-125=65411
TL0 = 0x83;
ET0 = 1; //允许定时器0中断
EA = 1; //允许总中断
TR0 = 1; //启动定时器0
while (1)
{
if (count >= 1000) //当计数器加到1000时停止计数
{
TR0 = 0; //停止定时器0
break;
}
}
while (1); //停止程序运行
}
```
这段代码使用定时器0来实现秒倒计时,每秒触发一次中断,计数器加1。当计数器加到1000时,停止定时器0和程序运行。您可以根据需要修改计时时间和中断触发方式。
相关推荐
![](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)
![](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)