51单片机定时器/计数器定时溢出时,在执行中断程序的同时内部硬件计数还在继续的吗?
这个问题知道有人问过,我想知道的是如果定时器中断服务程序中不关定时器,而且一进服务程序就赋初值,那么,如果在执行中断服务程序的时候,单片机会怎么工作?能响应中断么,如果不...
这个问题知道有人问过,我想知道的是如果定时器中断服务程序中不关定时器,而且一进服务程序就赋初值,那么,如果在执行中断服务程序的时候,单片机会怎么工作?能响应中断么,如果不能,是不是一定要等到服务程序执行完,而且又计数溢出才会中断呢?
多谢大侠相助!!! 展开
多谢大侠相助!!! 展开
展开全部
1,cpu运行,和定时器是并行进行的.
2,cpu在工作中,得到了定时中断,那么它停止手头的工作去中断请求中服务,完成服务,返回原来的断点位置继续工作,
3,如果在中断服务中,定时器不关,那么在cpu执行服务时,定时器是工作的.一般建议关掉,执行完再打开.
2,cpu在工作中,得到了定时中断,那么它停止手头的工作去中断请求中服务,完成服务,返回原来的断点位置继续工作,
3,如果在中断服务中,定时器不关,那么在cpu执行服务时,定时器是工作的.一般建议关掉,执行完再打开.
更多追问追答
追问
如果在执行中断服务程序的时候,这个计数器又溢出了,单片机会怎么做?
追答
1如果在中断执行中再溢出了,它的标识位没法清零(只有进入中断标识函数中,才能硬件自动清零),只能等待cpu执行完当前中断,才能进入下次中断.
2如果有中断优先级的中断来了,(IP中设置了),那么就去执行哪个高级别中断,完了再回来执行,如果,(IP中没设置),那么继续执行当前中断,执行完再去执行其他中断.
3如果在此时间时,有比它低的中断来了,不去中断,但因为低的中断标识位没有手工清零,那么执行完当前中断后就继续执行这个低中断
展开全部
定时器产生中断后,在中断服务里应先关闭所有中断,执行完服务程序后再开中断。
如果不关闭则会继续执行继续,如果此时有其他中断(如外部中断)此时会按中断优先级执行级别高的中断,中断优先级自己设置,~~~
如果不关闭则会继续执行继续,如果此时有其他中断(如外部中断)此时会按中断优先级执行级别高的中断,中断优先级自己设置,~~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
能响应中断,只要你没关闭定时器,定时器会一直工作的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询