stc8g 定时器外部计数
时间: 2023-10-20 11:07:27 浏览: 44
根据提供的引用内容,stc8g定时器外部计数的代码如下所示:
```c
#include <reg52.h>
void Timer2_Init(void) {
AUXR &= ~0X08; //设置为定时器
AUXR |= 0x04; //工作时钟不分频
T2L = 0x48;
T2H = 0x77;
AUXR |= 0X10; //启动定时器2计数
IE2 |= 0X04; //使能定时器2中断
EA = 1; //打开总中断
}
void Timer0_Init(void) {
TMOD = 0x00; //配置工作模式
AUXR |= 0x80; //工作时钟不分频
TL0 = 0x48;
TH0 = 0x77;
TR0 = 1; //启动定时器0计数
ET0 = 1; //使能定时器0中断
EA = 1; //打开总中断
}
void Timer1_Init(void) {
TMOD = 0x00; //配置工作模式
AUXR |= 0x40; //工作时钟不分频
TL1 = 0x48;
TH1 = 0x77;
TR1 = 1; //启动定时器0计数
ET1 = 1; //使能定时器0中断
EA = 1; //打开总中断
}
void main() {
Timer2_Init(); // 初始化定时器2
Timer0_Init(); // 初始化定时器0
Timer1_Init(); // 初始化定时器1
while (1) {
// 在这里编写你的代码
}
}
```
以上代码是一个示例,用于初始化stc8g的定时器2、定时器0和定时器1,并打开总中断。你可以在`while(1)`循环中编写你的代码,实现定时器外部计数的功能。请根据你的具体需求进行修改。
#### 引用[.reference_title]
- *1* *2* *3* [STC8学习5 - 定时器](https://blog.csdn.net/m0_51371386/article/details/127706634)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]