单片机如何用一个定时器设置两个定时2
发布网友
发布时间:2023-10-17 17:45
我来回答
共2个回答
热心网友
时间:2023-12-04 09:59
两个定时器使用没有什么特殊设置,但是有一个经验必须明白,中断里面重新对定时器赋值的操作必须放在中断处理的头端,否则会有一个整个中断处理的时间延时。如:
void timer1()interupt3 using1
{
... //如果这里的...程序段太长,那么每次中断就慢了处理这段程序的时间
TH1=0X..
TL1=0X..
... //如果把处理程序放在这里,那么慢的是2个指令周期(重载)
}
所以时间要求特别严格的程序,一般建议使用方式2自动载入。
可以同时运行,但存在优先级问题,即如果中断同时发生,先执行优先级的。
如果有一个中断已经在执行,则其他中断发生时也不会执行。
可以 通过设置中断优先寄存器IP,使选的中断可以在其他中断还没完成时,发生二次中断。
热心网友
时间:2023-12-04 10:00
定一个所需要两个定时的公约数,搞定