Page 102 - Making PIC Microcontroller Instruments and Controllers
P. 102
92 IIMEIS AIID COUNIERS
Labs program (Hours, seconds,
Tlme0 usage per microEngineering
and minutes digilai clock) (Coniinued)
INCER. IIOttR = SOUR + 1
IF EOttR >= 24 IPHEN
HOttR = 0
ENDIF
GOTO DEBOUNCE
decremen! ninutes
DECMIN: MIIIuIE = MIIID:TE - 1
tF IIINuEIE >= 60 tgElil
MIIiID:rE = 59
ENDIF
GC|IIO DEBOUIiICE
decrement hours
DECER: XOUR - EOUR - 1
IA IIOUR >= 24 !EEN
ItOt R = 23
ENDIF
; de bounce and delay for 250 ns
D E B O U N C E T F O R I = 1 ! ! O 2 5
PAUSE 10 , 10 ns aL a tine so no intettupls
NEXT I
UPDATE = I
GOTO CEKI'P
, interrupt routine to hddle each
DIEABNE ; disable interruPEs durinq
TICXINAT EICRS = TICKS + 1
IF TICKS < 51 THEN IIE:IIIT
; ol1e second eLapsed - update tine
IICKS = 0
S E C O I i I D = S E C O N D + 1
tF sECOND >= 60 IHEN
SECOND = 0
U I N U I E = r [ I N u r E + 1
tF UINITTE >= 50 ESEN
UINUIE = 0
l t o t t R = E O I T R + 1
IF HOttR >= 24 THEN
llot R = 0
ENDIF
EIIDIF
ENDIF
UPDAIE = 1 , se! Lo update LcD
EIEXII: INICON.z - 0 ; reset timer inierrupt flael
RESI'ME
END