我的实时时钟是按以下思路完成的,晶体为4.194m:
查寻tmr0是否到128,不是的话一直查,若是128进入时间处理程序。
经测试,时间不准。
程序如下:
start:
movlw b'00000100' ;;32分频
option
movlw b'01111111'
movwf tmr0_save
........
..........
;;=====================================
main
clrwdt
movf tmr0,w
subwf tmr0_save,w
btfsc status,c ;;(4/4.194304)*32*128= 3.9ms
goto time
here
goto main
;===================
timer
clrf tmr0 ;;但是预分频器里的东东也被清了
;是否这个原因导致时间不准???
..... 时间累加处理:
........
goto here