Salida Digital «Enciende cualquier cosa», PIC C Compiler

En esta sección aprenderás como programar una salida digital en un microcontrolador PIC, la instrucción para realizar esta tarea es bastante sencilla, pero se pueden hacer una gran variedad de proyectos con la señal de salida digital, encender un led, un ventilador, un motor, relevador, etc.

¿Qué es una señal digital?

Una señal digital se describe en dos valores binarios «0» y «1». Se clasifica en dos niveles en alto «High» y bajo «Low«, su tipo de lógica sea positiva o negativa determinara el nivel que tomara el valor de «0» y «1».

¿Como identificar un pin de salida en un microcontrolador?

La estructura de cada microcontrolador se describe en la hoja de especificaciones del fabricante en donde se define el nombre asignado, el puerto y la descripción de cada pin.

Los pines de salida se identifican con la letra O (output) y viene asignado en el apartado de tipo de pin.

A continuación se muestra una parte de la hoja de especificaciones de un microcontrolador PIC en el cual se especifican los pines que lo componen, es este caso se observa que existen pines digitales bidireccionales, es decir que pueden ser utilizados como entrada o salida digital

Instrucciones 

La instrucción para activar un señal de salida en un pin seleccionado se describe de la siguiente manera.

Si se desea desactivar la señal de salida digital en el pin seleccionado la instrucción seria la siguiente.

En el ejemplo siguiente se programa la instrucción utilizando el pin RA0 por conveniencia, pero recuerda que puedes colocar cualquier pin que se describa como salida digital en la hoja de especificaciones del microcontrolador. 

Circuito electrónico con LED

En la primer practica el microcontrolador se conecta con un led para poder encenderlo y apagarlo en lapsos de 1 segundo.

Código  completo

El siguiente código activa y desactiva la salida digital en el pin RA0 del microcontrolador. Mantiene el pin activado por 1 segundo y lo desactiva por 1 segundo y el ciclo de repite constantemente. 

#FUSES NOMCLR //desactiva el pin de reseteo 

void main()
{
   while(TRUE)
   {
      OUTPUT_BIT(PIN_A0,1);//activa la salida de pin RA0
      delay_ms(1000);      //tiempo activado 1000ms=1s
      OUTPUT_BIT(PIN_A0,0);//desactiva la salida de pin RA0
      delay_ms(1000);      //tiempo desactivado 1000ms=1s
   }

}

Puedes cambiar el pin de salida, el tiempo o la secuencia de encendido y apagado, para practicar el uso de las salidas digitales en el microcontrolador.

Scroll al inicio