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