Envío Gratis en compras mínimas de $1200 mxn Enviamos a toda la Republica Mexicana
Buscar

Práctica 3 con Miuva. Contador binario ascendente con PIC C

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