martes, 28 de enero de 2014

Pulsador



Ejemplo 1
#include <16f877A.h>
#use delay (clock=4000000)           // Fosc=4Mhz
#fuses xt,nowdt,noprotect              // fusibles
#byte port_a=5                             // declaramos el puerto a en su localidad
#byte port_b=6                             // declaramos el puerto b en su localidad
void main(void)
{
set_tris_a(0b00000001);              // programamos el puerto a para que RA0 sea entrada
set_tris_b(0b00000000);             // programamos el puerto b para q sea salida
port_b=0x00;                            // inicialmente todo el puerto b estara apagado
while (true)                               // bucle infinito,o que el programa se ejecutara infinitamente
{
if (input(pin_a0)==0)                      // preguntamos si RA0 es cero
{
port_b=0b00000001;                    // cuando se cierra el pulsador ejecuta esta tarea
delay_ms(500);                           // la cual es encender un led conectado en RB0
port_b=0b00000000;
}                
}
}

Ejemplo 2

#include <16F877A.h> 
#use delay(clock=4000000)
#fuses HS,NOWDT,NOPUT,NOLVP,NOBROWNOUT,NOWRT,NOPROTECT

#use fast_io(A)             ///   con esta instruccion evitamos que
                                   ///   se este configurando cada vez que usamos 
#use fast_io(B)            ///   alguna instruccion de entrada o salida
               
#byte porta = 0x05            //    se definen las direcciones de memoria
#byte portb = 0x06

void main(void)
{
   set_tris_a(0xff);            // se configura el puerto B como entrada
   set_tris_b(0x00);          // se configura el puerto C como salida

while(true)                       // Bucle infinito
{
   port_b_pullups(true);    // activa las resistencias de pull-up
   portb=porta;   
}
}       

No hay comentarios:

Publicar un comentario