如下图,单片机为STC15W系列单片机,有以下问题想请教各路神仙:
1、中断频率为什么是25000;
2、定时器初值的计算公式为什么是(65536UL-(MAIN_Fosc/Timer0_Rate));
3、为什么1ms计数是Timer0_Rate/1000。
麻烦各位大神帮我解答一下,小弟先谢过了。
第一个问题,中断频率是自己定义的。随便也回答了第三个问题,中断频率是是一秒钟中断的次数,那么1毫秒的中断次数自然就是1秒的次数除以1000了。秒和毫秒直接的换算应该知道吧
再说第二个问题。这个问题其实51定时器的基础问题,51定时器的规定,书上有的。不过书上没有MAIN_Fosc/Timer0_Rate,自己分析一下就知道了。
51定时器是上升计数的,溢出后中断,因为计数初值为最大值减去计数值,也就是65535-要计数的值。那么要计数的值怎么算呢?定时器的频率和单片机主频一致,是MAIN_Fosc。每秒钟要进Timer0_Rate次中断,那么每一次的计数自然就是MAIN_Fosc/Timer0_Rate了。