關(guān)于PIC單片機(jī)的定時(shí)器精準(zhǔn)計(jì)時(shí)的計(jì)算
如采用32768Hz的晶振,每個(gè)指令周期為122us,在中斷處理程序中,到TMR0的初值被置入,共有7條指令,加上TMR0的初值被置入后兩個(gè)指令周期,如果中斷處理程序不直接放在0004H地址而采用GOTO指令的兩個(gè)周期,一共為11個(gè)指令周期。也就是說,每個(gè)定時(shí)中斷發(fā)生的間隔為0.015625秒+11*122us。程序中64次中斷為1秒,那么1秒誤差為64*11*122us=85.9375ms,1分鐘的誤差為5.156s。
那么怎樣得到精準(zhǔn)計(jì)時(shí)呢?這就要在對定時(shí)器的初值賦值上和中斷處理程序中做文章。
評論