Ahora que ya conocemos como manejar puertos de entrada y de salida para poder escribir o leer información del mundo real vamos a aprovechar que en Miuva el puerto B del PIC está hecho de forma que pueda conectarse fácilmente a una protoboard, por lo tanto crearemos un contador de 8 bits el cual enviará el valor al puerto B donde conectaremos una barra de leds para poder observar como aumenta el mismo.
Imagen1. Puerto B en Miuva
Crearemos una variable de tipo entero de 8 bits a la cual llamaremos “i” de la cualquiera de las siguientes formas:
int i = 0;
int8 i = 0;
En esa variable almacenaremos el valor del contador y la aumentaremos cada determinado tiempo para enviarla al puerto B. Para aumentar el valor de una variable hay varias formas de hacerlo, algunas de ellas se muestran a continuación:
i = i + 1;
i++;
Con esto podemos crear el siguiente código:
Código en PIC C:
#include <18f4550.h> // la librería del PIC
#Fuses HSPLL, NOWDT, NOPROTECT, NOLVP, NODEBUG, USBDIV, PLL2, CPUDIV1, VREGEN
#use delay (clock=48M) //Seleccionamos la frecuencia de reloj de 48MHz
int8 i = 0; //Variable i de tipo entero inicializada en 0
void main(){
set_tris_b(0x00); //Declaramos todo el puerto B como salida
output_b(0x00); //Ponemos a 0 todos los pines del puerto B
while(true){ //Inicia ciclo infinito
i = i + 1; //Aumentamos el valor de i
output_b(i); //Mandamos el valor de i al puerto B
delay_ms(200); //Esperamos 200 milisegundos
}
}
Conexiones
Observa el video demostrativo