Page 256 - Making PIC Microcontroller Instruments and Controllers
P. 256
254 UNDERSTATIDIIIG THE COUlllENS: COU TI G AREI.ES
Finatprosram for counting marbles intoiheTMB1 counter
:l:!,iqii!iii-.iail1?.:liil
the servo io J7) (Conlirued)
(Connecl
DEFINE CCP1_REG PORTC i
DEFINE CCPI1_BIT 2 I
!DCON1=%00000111 ; seL ADCON1 for diqital operation
TRrsB =211110001 ; ser port I/o
FORIIB=0
lFRrsc -%00001111 , ser Port
X VAR }IORD
Y VAR BYTE
N 1IAR BYTE
M VAR BYTE
alcoN =%00000011 ; set bits to conlro1 Tinerl
OPTIOT{_REG =%01111111 ; set bits,
rrirTcorir=%10010000 ; set bits fo. interrupt control.
PAUSE 500 ; Pause for slarhup
r,cDolII SFE, 1, 'cLElaRs TIrE LcD. ' ; ctear the display.
PAUSE 250 ; This is for seeing a rese!
; buLton response
r,cDout ; clear asfain.
IIlrRlr, =0 ; clear tow byte
TMR1H =0 ; clear hisrh byte
oN rr\IlERRuPr Gcno rN:r-RoclINE ; inlefiupt Larget
N=50 ; ILeralion counl:
M=16 ; Pause between servo Pulses
I,CDOUT sFE, $a0, "HOLDING"
FOR l=l TO N ;
GOSUB GAITE-IN
NEXI V
.PRESS \
r,cDoltlt sFE, 580. SW5 EO SIART ;
WAIITROTITIIIE t
IF PORTB.4=l TIIEN WAITROUTIIIE
ril=35
I,CDOuI $FE, S8O, \OPENING GATE I\
FAUSE 500
cosuB GAIE ot'lt
AIEXT Y
't!4R1= \,DEC3 z \,DECa z \-
LcDoUT SFEI $80, TMRlll, TMRlIr,
\rCOUllT=",
LCDOIIE $FE, $C0. DECs X ;
GOIO t OOP