程序还是比较简单的,这里有个需要特别说明就是定时器的初始值是怎么计算的问题:
系统时钟是经过4分配后才给外设的,所以Timer1的时钟就是1Mhz(单片机外接4Mhz晶振),
假设程序里配置为8分频,那么此时Timer1的时钟
是 : 1000000/8=125000Hz
所以要想实现10ms定时,可以这样计算, 10ms就是1s的百分之一,定时器1的百分之一时间内计数值就是1250,
由于定时器是从65535变成0的时候才会产生中断,所以我们要让初始值变成65536-1250=64286=0xFB1E
如果你觉得我说的很啰嗦那就直接看公式吧:
|