Page 288 - Making PIC Microcontroller Instruments and Controllers
P. 288

246   BUIIDINGA  SIIPLE EIGHT"BUTTOI{
                                               TOUCI{  PAIIEL


                    :::F  !Ol!!!:!!!i1ai:   Final  segmenl to make  a finished  program-rhe  touch  panel
                     lContinuedl
                     IJCD_I  VAR  BYIE
                     IJCD_2  VAR  BYEE
                     IJCD_ONE vA.R  PORTA-2       ,  l-CD  condection
                     LCD_ONE=0                    ;  LCD turned  off
                     IJCD_TI{O VAR  PORTA.3       ;  LCD  connection
                                                  ;  LcD  lurned  off
                     COIJ  VAR  BYTE              ;  coLm   counter
                     ROW VAR  BYTE
                     TTMO  l/AR  }IORD
                     IIMo  =10
                     ETM1  VAR  WORD
                     EIM1r10
                     BIJINK  VAR  BIT             ;  blink  srarus  indicarion
                     BnINK=1
                     GIJOIT VAR  BIT              ;  sLov  status  indicarion
                     ACTIIIE   VAR  BIT           ;  actiwe  shatus  indication
                     ACEM=1
                     INACTI1IE   VAR  BIT         ;  inactive   slatus  indicarion
                     INACfIvE=0

                     PAUSE 500                                   D  ."r  Lp
                                        \CITEjARING
                     LCDOUT  $FE,  $01r            !CD'? ;  clear   IJCD
                     PAUSE 250
                     LCDOII!  SFE,  901
                     ![AIN  !                      frain  loop  of  the  program
                       GOSUB  GETKEY               get  the  colum   and  ro0
                       GOSUS DISPLAY               display   inforfration   on  rhe  LCD
                       GOSUA  DO_IT                Lake  the  necessa.y  acLion
                       COL=0                       rest   the  cohJnn  nemory
                       ROW=0                       rese.   rne  ror  nemory
                     GOIIO  MAIAI

                     GETI(SY:                      routine   to  get  the  rov  and  coluni
                       PORTC=211101111             turn  on  colum   1
                       PAUSE  1                    pause  needed  for  LED Lo  react
                       IF  PORTB.0=1  tl|EN  COL=1;  check  photo  fo.  col  1  dd  sawe  if  is  1
                         FORTC-%11011111
                         PAUSE  1                  pause  needed  for  LED to  react
                       IF  PORTB-1=1  tgEN  COL=2;  ' h a . \  p t o . o  r o  o  -  d r d
                       PORTC=210111111
                       PAUSE 1                     pause  needed  for  LED to  reacr
                       IF  PORIB.2=1  TEEN COIJ=3;  check  photo  for  co1  3  and  save  if  is  1
                         PORIC=%01111111
                         PAUSE X                    pause  needed  for  LED to  reacr
   283   284   285   286   287   288   289   290   291   292   293