Page 135 - Making PIC Microcontroller Instruments and Controllers
P. 135
tHE ftci2ga t2-BfT A-to.D coltvERtEn |ltso usED tN socxEf u6t 123
.|!i9,9{iS!t:!!{l Program lo read from 12-bit LTc1298 A-to-D chip by
microEngineering Labs (Cort,ued)
RESUIJT l/AR }IORD
X VAR WORD
IiICH CS chip select inactive
set PORTA, PORTE Lo digritaf
LOW PORTE.2 LcD R/W Line lor (ld)
PAVSE 100 wait for LcD to s!ar!
GOTO MAINIJOOP skip subroutines
subrourine to read a/d converLer
GETA.D:
chip select active
send address / mode
SHIFTOUT DII CK' MSBFIRSTI T1\1' A'DDR\3' O\1]
SHIFEIN DO, CK, MSBPRET [RESItLlr\l2l ; get 12-bi! result
Cg - l, ; chip seLecl inaclive
RETURN
. o 9 e . / . d l r e c - d r e l 0
GEII':
iDDR = %00000101 ; sinerte ended, channel 0, MSBF high
GOSUB GETAD
X = RESUIJT ;
RETT'RII ;
Le ' c fLate ' I I
ADDR = %00000111 ; sinqle ended, channel 1, MSBF high
GOSUB GEEAD
Y = REgUt l
REIURN
; subroutine !o ge! z watue
; (differentiat)
GEtZ:
ADDR = %00000001 ; diff (chO = +, ch1 = -), MSBF hish
GOSI'B GEEAD
Z - RISULI
RETI'RII i
MAINI,OOP: i
GOSttB GETX , get z value
GOSIIB GETY ; lret y value
GOSttB GEIZ , get z value
IiCDOIJT $FE. 1, 'X-", *x, ; send values lo LCD
\y=t, \z=n,
*y, *z
PAUSE 100 ; do it about 10 tines a second
GOIO MAtllt OOP ; do it forever
END ; end progran