|
|
晶振頻率是12M,定時器計時頻率為1M,就是10^6HZ,1秒等于10^6微秒,所以定時器計時一次就是1微秒,把定時器設(shè)成模式1,16位定時器,計時50000次就是50毫秒,那么定時器的初值是65536-50000=15536,轉(zhuǎn)成十六進制數(shù)就是3CB0,開定時器,開總中斷,開定時器中斷,在中斷處理程序中定義一個靜態(tài)變量,每產(chǎn)生一次中斷,加1,判斷是否是10,變成0,同時使0.5定時器加1,因為在定時中斷中要重新賦值,又要保存中斷前的數(shù)據(jù),等等,所以間隔是大于50毫秒的,可以在keil軟件中模擬,調(diào)節(jié)定時器的初值,從而使定時更精確。
你也可以讓它走個幾天幾夜,然后算一下走快了多少秒,再補上就是了,修正后的初值大于理論初值的。 |
|