标题:
MCU定时器16位自动重载不需要再次赋值了吧
[打印本页]
作者:
baobao125
时间:
2021-9-2 09:22
标题:
MCU定时器16位自动重载不需要再次赋值了吧
定时器16位自动重载的,在进入定时中断后重新打开定时器前还有必要再次赋初值吗void Timer2Init(void) //50微秒@11.0592MHz
{
AUXR &= ~(1<<4);//定时器2停止运行
AUXR |= 0x04; //定时器时钟1T模式
T2L = 0xD7; //设置定时初始值
T2H = 0xFD; //设置定时初始值
IE2 |= (1<<2); //允许中断
EA=1;
AUXR |= 0x10; //定时器2开始计时
}
void time() interrupt 12
{
AUXR &= ~(1<<4);
PWMcnt++;
if(PWMcnt>=100)
{
PWMcnt=0;
}
if(PWMcnt<PWMzkb)
{
PWM=1;
}
else PWM=0;
T2L = 0xD7; //设置定时初始值
T2H = 0xFD; //设置定时初始值
AUXR |= 0x10;
}
作者:
xuyaqi
时间:
2021-9-2 10:08
如果设置了定时器16位自动重载,就不需要再次赋值。对于传统51单片机没有16位自动重载模式,只有STC15系列单片机才增加了16位自动重载模式。
作者:
Peter_Zhu11
时间:
2021-9-2 11:05
不需要的 看你设定的触发啊什么的
作者:
188610329
时间:
2021-9-2 14:57
STC的非 89,90 系列都有自动重载不需要重新设定,89,90系列的T2,也有自动重载,但是要设置一个T2RA啥的寄存器我忘了,、
作者:
Y_G_G
时间:
2021-9-2 23:08
这不是几分钟就能找到答案的问题吗?发个帖子用的时间肯定要多很多
随便写一个T2定时器控制闪灯的程序,在T2中断中加一个重新加载初值代码
第一次,重新加载,烧录看一下闪灯的情况
第二次,在重载的语句前加上"//",这个应该比较简单吧?烧录看一下闪灯情况,一对比就知道了
如果没有自动加载功能的,定时器计数器的值就会是65535
有自动加载功能的,定时器计数器的值就是你设定的值
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1