核心提示:一般,定时器的中断服务函数的执行时间要小于 70% 的中断时间间隔,要留下时间能执行别的程序。执行时间大于70%的话,程序会出现问题。晶振频率/12=11059200/12=921600 即1秒执行9...
一般,定时器的中断服务函数的执行时间要小于 70% 的中断时间间隔,要留下时间能执行别的程序。执行时间大于70%的话,程序会出现问题。晶振频率/12=11059200/12=921600 即1秒执行921600个机器周期,10ms需执行9216个周期;
新唐N798132A按22.1184Mhz计算,即1秒执行1843200个机器周期,10ms需执行18432个周期;
100us执行184个机器周期。
小结:一般1-4us执行一条指令,所以定时中断函数的执行时间要有控制。
一般,定时器的中断服务函数的执行时间要小于 70% 的中断时间间隔,要留下时间能执行别的程序。执行时间大于70%的话,程序会出现问题。
所以对于新唐N798132A来说,定时器溢出周期时间设为100us已接近最小,再小则会出问题了。
网上资料描述如下:
普通51单片机应该在几百微秒以上,才能保证精度,STC高速单片机,可以做到几十微秒,但中断程序要精练。
51单片机最小延时时间是一个机器周期。最小定时是四个机器周期,即进入中断两个机器周期,中程序啥也不做,返回是两个机器周期。