Autor Tema: ON_OF con MKB  (Leído 1591 veces)

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

Desconectado Moyin

  • PIC16
  • ***
  • Mensajes: 102
ON_OF con MKB
« en: 03 de Marzo de 2007, 03:44:17 »
Siguiendo aportando algunos ejemplitos sencillos en MKB anexo en este mensaje un programa para encender o apagar el pin0 del puerto B al presionar un boton colocado en el pin1 del mismo puerto:

program Onof1

' El programa enciende LED en pin RB0 del PORTB del F84
' cada vez que se presiona un pulsdor colocado en pin RB1 del PORTB.
' La activación es un cambio de 1 a 0 y espera hasta que se libere el pulsante
' es decir un cambio de 0 a 1.
dim a as byte 'esta variable se emplea solo como una condicion del ciclo While

main:
'******************************************************************************
' INICIALIZACIÓN DE PUERTOS Y PERIFÉRICOS
'******************************************************************************
     TRISB.0 = 0       ' Pin 0 del Puerto B salida
     TRISB.1 = 1       ' Pin 0 del Puerto B entrada
     a = 1
     PORTB.0=0         'Esto es para que al encender el circuito tengamos la
                       'seguridad de que el nivel de pin del puerto es cero
'******************************************************************************
' PROGRAMA PRINCIPAL
'******************************************************************************
     while a < 2   'Se cumple condicion siempre que a sea menor que 1
          if Button(PORTB,1,100,0) then ' Espera un pulso de 1 a 0

          'if Button(port,pin, time, active_state)
          'El Parametro port especifica el puerto donde esta el boton;
          'el parametro pin es el numero del pin del puerto y va de 0...7;
          ' el parametro time es el periodo del antirebote en milisegundos;
          'el parametro active_state puede ser  0 o 1, y determina si el boton
          'esta en activo logico (1) o activo bajo (0).

             if PORTB.0 = 0 then
                SetBit(PORTB,0)       ' Si el LED estaba apagado lo enciende
             else
                ClearBit(PORTB,0)     ' Si estaba prendido lo apaga
             end if

            while PORTB.1 = 0        ' Espera sin hacer nada hasta que se
                                     ' halla liberado el pulsador
                   a = 1
            wend
          end if
     wend              ' Bucle infinito
end.



y la imagen del circuito:

         
Sonrie Cristo te ama