Programas en Lenguaje C para el microcontrolador PIC16F877
1. Encender y apagar un LED en el puerto B
#if defined(__PCM__)
//Compilador para micros con instrucción de 14 bits
#include <16F877.h>//Archivo que incluye encabezados y definiciones
#use delay (clock = 4000000)
#use standard_io(B)
void main()
{
set_tris_A(255);
set_tris_C(255);
set_tris_D(255);
set_tris_E(255);
// Configuro los puertosA,C,D,E como entradas digitales
set_tris_B(254); // Configuro el puerto B como entradas digitales exepto el pin 1
do
{
output_low(PIN_B0);
delay_ms(100);
output_high(PIN_B0);
delay_ms(100);
}while(true);
// Bucle infinito
}
2. Rotar un uno hacia la izquierda como un secuenciador en el puerto B
#if defined(__PCM__)
//Compilador para micros con instrucción de 14 bits
#include <16F877.h>
#fusesXT,NOWDT,NOPROTECT,NOLVP,PUT,BROWNOUT
#use delay (clock = 4000000)
// a trabajar con 4MHz
#use standard_io(B)
#byte puerto_b=06
void main()
{
int sqcia;
set_tris_A(255);
set_tris_C(255);set_tris_D(255);
set_tris_E(255);
// Puertos A,C,D,E como entradas digitales
set_tris_B(0);
// Puerto B como salidas digitales
puerto_b = 255;
// Puerto B en 0
do
{
for (sqcia = 0; sqcia < 8; sqcia++)
{delay_ms(1000);
puerto_b = puerto_b / 2;
// divido entre 2 para rotar hacia la izquirda
}
puerto_b = 255;
// vuelvo y inicio el ciclo
}
while(true);
// bucle
}
3. Conversión A/D de 8 bits y se muestra el númerobinario en LEDS de puerto B
#if defined(__PCM__)
#include <16f877.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP,PUT,BROWNOUT // configuración del micro para quemarlo
#use delay (clock = 4000000)
// 4MHz
#usestandard_io(B)
// Indica que usará el puerto B
#byte puerto_b = 06
// Define una variable llamada puerto_b
void main()
{
int conversion;
set_tris_A(255);
set_tris_C(255);
set_tris_D(255);set_tris_E(255);
// Puerto A,C,D,E como entradas digitales
set_tris_B(0);
// Puerto B como salida digitales
puerto_b = 0;
// inicializo el puertoB
setup_adc_ports(RA0_RA1_ANALOG_RA3_REF);
// configuro los pines de...
Regístrate para leer el documento completo.