Codigo de Micro
Codigo de Micro
Codigo de Micro
Para utilizar otro micro controlador solo hay que cambiar la línea de cabecera que ubica al
micro controlador.
#include <16f877.h>
set_tris_d(0b00000000);
output_d(0xff);
while(true)
output_d(0b01000000); //0
delay_ms(200); //
output_d(0b01111001); //1
delay_ms(200);
output_d(0b00100100);//2
delay_ms(200);
output_d(0b00110000); //3
delay_ms(200);
output_d(0b00011001); //4
delay_ms(200);
output_d(0b00010010); //5
delay_ms(200);
output_d(0b00000010); //6
delay_ms(200);
output_d(0b00111000); //7
delay_ms(200);
output_d(0b00000000); //8
delay_ms(200);
output_d(0b00011000); //9
delay_ms(200);
PRACTICA # 2
#include <16f877.h>
set_tris_b(0b00000000); //
output_low(pin_c0); //
output_low(pin_c1);
while(true)
output_high(pin_c0);
output_high(pin_c1);
output_b(0x00);//
delay_ms(200);
output_b(0x01);//
delay_ms(200);
output_b(0x02);//
delay_ms(200);
output_b(0x03);//
delay_ms(200);
output_b(0x04);//
delay_ms(200);
output_b(0x05);//
delay_ms(200);
output_b(0x06);//
delay_ms(200);
output_b(0x07);//
delay_ms(200);
output_b(0x08);//
delay_ms(200);
output_b(0x09);//
delay_ms(200);
output_b(0x10);//
delay_ms(200);
output_low(pin_c0); //
output_low(pin_c1);
delay_ms(200);
PRACTICA # 3
Antes del void main se definirá una variable para el arreglo que contenga once números y los
colocamos en hexadecimal desde 0 hasta 10 y otra variable que sirva como contador.
Empezamos el void main declaramos puerto b y c como salidas luego al ingresar al bucle se
encienden los pines c0 y c1 habilitar los decodificadores entonces ingresan a la función FOR la
cual empezara a contar desde el 0 hasta el 10 enviando los pulsos necesarios en cada
decodificador con un delay de 1000 ms y después que terminen se apagaran durante 1000 ms
y volverá a contar desde cero.
#include <16f877.h>
int8 i ;
set_tris_b(0x00);
set_tris_c(0x00);
while(true)
output_high(pin_c0);
output_high(pin_c1);
for(i=0;i<=11;i++)
output_b(reloj[i]);
delay_ms(1000);
output_low(pin_c0);
output_low(pin_c1);
delay_ms(1000);
} }
PRACTICA # 4
Utilizaremos las funciones FOR e IF ELSE
Es par el puerto d envié altos desde el d0 a d7 y si es impar envié bajos desde d0 a d7.
Todo con un delay de 200 ms. y que luego se apague todo durante 500 ms
#include <16f877.h>
int8 i, e=0;
set_tris_b(0x00);
set_tris_d(0x00);
while(true)
output_high(pin_e1);
output_high(pin_e2);
for(i=0;i<11;i++)
e=e+1;
output_b(reloj[i]);
output_d(0x00);
else
output_d(0xff);
}
delay_ms(200);
output_low(pin_e1);
output_low(pin_e2);
delay_ms(500);