Page 209 - Making PIC Microcontroller Instruments and Controllers
P. 209
l{otEs oit ustNc SEVE -SEG EIT Dtsplays 205
iAi0i.ai!n:!9d:ll code for usins the 4 seven-sesment disptays (corrinued)
DIGIT1 VAR BYTE ; each diqit in display
DIGIT2 VAR BYIE ; each digit in dispLay
DIGIT3 VAR BYIE , each diqit in dispLay
DIGIT4 vAR BYIE ; each digit in dispLay
; sets lhe initial value for x
' . e L p d . s - , _ b - | n - . o r a ( o - d s
IiIAIN: , nain Loop of proqrran
D I G I T I = - I a d 9 - o " b _ " !
D I G I T z = - 1 r d ' . g i s ' o a b _ d !
D I G I T 3 = - I r d . g i L o " b _ . - l
DIGIT4=-1 ; seL all 4 digits to a blank
QEQ+I ; counter ro rake jiLrer our of display
IF 0<15 TIIEN ; don,t do anything
E',SE
COttNT PORTA.a, 250r PUiSES ; read the pulses
Q=0 ; reset counter
ENDIF
VAIJIIE=4*P(ILSES ; converts pulses Lo count
IF V!!nE>1000 THEN DIGtEl- 2000 + VALUE/1000 , Separate
lF VAITUE>1oo THEN Dlcttz- 2000 + (VALUE//1000)/100 ; our rhe
IF VAI:IJE>1o TAE{ DIclT3= 2000 + ( (lIAtUE//1000) / /!OO, lLO; tanr
IF VArjrE>o THEN Drclt4= 2000 + ( (VA!UE//1000) / lLOOI / lt0t digiLs
GOSUB DISPLAY i ,ho^ vol re seg. oisp or/s
GOIIO llAlN ; do i ov-r
DISPLAY3 ; reads each diqi! and then
REIAD DIGItl, VAI-UE ; dispfays it
POREA-%o0000001
GOSUB SHOW
PORFA=%00000010
RSAD DTGIT2, VALI'E
GOSttB SttOW
PoRIA=%o0001000
READ DIGIT3, VAIUE
GOSUB SIIOW
PORIA=%o0100000
REA.D DIGlT4, VAI-UE
GOSUB SHOIV
RE![URN
SIIOW, ; shows each segnent one a! a tine
2=%11111110 ; selecls one seqrenL ar a rine
FOR x=1 EO A t do the 8 segments, includes dec. point
(C.,ntinueo