Autor Tema: Quién ha usado ADIN en Protón?  (Leído 1972 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado gesteva

  • PIC12
  • **
  • Mensajes: 52
Quién ha usado ADIN en Protón?
« en: 14 de Septiembre de 2005, 22:05:00 »
Por favor me gustaría encontrar un ejemplo que funcione de la Instrucción ADIN en protón, ya que no la he podido hacer funcionar. Utilizo un PIC16F877A, y este es el programa que he estado improvisando:

    Include "Proton_10.inc"
   
   TRISA = %00000001
   ADCON1 = %10000000
   
        Dim VAR1 As Byte
        Dim KEY As Byte

        DelayMS 1000
               
again:
        VAR1 = ADIn PORTA.0
        Print $fe, 1, "Conversion A/D:"
        Print $fe, $C0, "Dato: ", Dec VAR1
        GoTo again
        End

Alguna sugerencia?  Un Abrazo!

Gesteva Rebotado

Desconectado RGL

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 634
RE: Quién ha usado ADIN en Protón?
« Respuesta #1 en: 19 de Septiembre de 2005, 05:15:00 »
Este ejemplo es del proton,

" Program to display result of ADC in 3 segment bargraph.
" The last LED in the graph dims or brightens with changes in the
" analog input.
      
      DEVICE = 16F877
        XTAL = 4
 
       
" Define ADC parameters
      ADIN_RES = 10             " 10-bit result required
      ADIN_TAD = FRC             " RC OSC chosen
      ADIN_STIME = 50          " Allow 50us sample time

      DIM Adval AS   BYTE         " ADC result variable
      DIM I       AS  BYTE          " For-loop variable
      DIM Position AS   BYTE         " LED position variable
      DIM Bright   AS   BYTE         " Brightness variable


        ADCON1 = %00000010         " Set PORTA analog

Loop:   Adval = ADIN 0            " Store ADC value to adval
   
      Position = Adval / 85      " Position of last lit LED
      Bright = (Adval // 85) * 3   " Brightness of last lit LED

      FOR I = 0 TO 7            " Set each LED
         IF I < Position THEN
            HIGH I            " Turn on if lower than last lit LED
         ELSE
            LOW I            " Turn off if higher than last lit
         ENDIF
      NEXT

      PWM Position,Bright,5      " Dim the last LED

        GOTO Loop               " Do it forever

        END


Saludos,
Ricky