Page 101 - Making PIC Microcontroller Instruments and Controllers
P. 101
l|MERo 9t
seconds,
l8fagiiifl${:: Timerc usage per microEngineerlng Labs program (Hours,
and minules digiialc ock) (Corlinued)
; s e r i n i r i a l r i n e r o 0 0 : 0 0 : 0 0
MINUTE = 0
SECOND = 0
TICKS = 0
; force flrst display
I i c . . , - - . - - . . . r 6 . 1 8 4
; nilliseconds
oPTroaI_RtG - %01010101 , set fl'IR0 connguration and enable
; PORTB pullups
rN:rcoN = %10100000 ; enable TMRo inlefupLs
ON INTERRI'PT GOTO TTCKINT ;
; nain progrran toop -
!4AIIILOOP: ; in this case, i! only updaLes ihe LcD
; with the it
TRISB = %11110000 ; enable aLl buttons
PoRTB =%00000000 ; PoRTB lines Lor !o read buttons
: ' h e ' n d l l o r r i o _ P A s s 6 d o " r i n e
IF PORTB.T - 0 ttlEN DECIIIN
IF PORTB.6 = 0 EBEN INCIIIN last 2 bulcons set ninute
IF PORTB.s - 0 EEEN DECHR
IF PORTB.4 = 0 EIIEN INCHR
f,lsl 2 butbons set hour
CHKttP: IF OPDATE = 1 4HEN
disptay tine as hh: m: ss
DHOLR = SOUR change hour 0 to 12
IF {EouR // 12) = 0 lsBN
D H O t t R - D E O U R + 1 2
ENDIF
IF HOI'R < 12 EIIEN check for !-14 0r PM
LCDOIII DEC2 DHOUR. ":", DEC2 IIINUIE, \.2, DEC2 seconil, \ lU{?'
EIJSE
\:'?, s:,,
r,cDotrt DEcz (DHouR - 12), DEC2 MrNUrE, DEC2 SECOND,
\ PM/
ENDIF
ENDIF
GCTO MAINI,OOP
INCMIIiI: MIIiIUTE = MINUTE + 1 ;
IF MINU:rE >- 60 tllEN
MINUTE - 0
ENDIF
GOTO DEBOT'NCE
; lncremen! hours