Declaración de pines

Configuración de pines digitales del microcontrolador

Función:

Configura los pines del microcontrolador como entrada digital o salida digital.

El siguiente fragmento de código solo funciona en microcontroladores PIC de 40 pines para el uso de microcontroladores PIC de otra cantidad de pines se debe consultar el datasheet del microcontrolador y realizar algunas modificaciones.

Nota 1:

los comentarios no son necesarios para el funcionamiento del programa por lo cual pueden ser eliminados al momento de implementar al código.

Nota 2:

En caso de usar la configuración para pines análogos realizar después de haber terminado de configurar todos los pines digitales y haber configurado los pines que se quiera usar como pines análogos como entradas digitales.


void conf_pin(int pin,int Modo); //Declaración de función

void main() {
/* Como usar
conf_pin(Pin,Modo); Primero se escribe el número del pin que se desea configurar
luego se escribe como se desea configurar 1= Entrada Digital, 0=salida digital

Ejemplo :
conf_pin(2,0); Se configura el pin numero 2 como salida digital
conf_pin(34,1); Se configura el pin numero 34 como entrada digital */

// Escriba su código aquí
}


void conf_pin(int pin,int Modo){ //Recibe el número del pin y el modo de configuración
ADCON1=0X06; // Desactiva los pines análogos , Exclusivo del PIC16F877A , remover en caso de usar otro PIC
switch (pin) { // Selecciona el pin que se configurara
//case 1: TRISx.Fx= Modo; break; // Pin de MCRL (consultar datasheet).
case 2: TRISA.F0= Modo; break; // Configura el pin 2 como se halla configurado el modo
case 3: TRISA.F1= Modo;break; // Configura el pin 3 como se halla configurado el modo
case 4: TRISA.F2= Modo; break; // Configura el pin 4 como se halla configurado el modo
case 5: TRISA.F3= Modo; break; // Configura el pin 5 como se halla configurado el modo
case 6: TRISA.F4= Modo;break; // Configura el pin 6 como se halla configurado el modo
case 7: TRISA.F5= Modo; break; // Configura el pin 7 como se halla configurado el modo
case 8: TRISE.F0= Modo; break; // Configura el pin 8 como se halla configurado el modo
case 9: TRISE.F1= Modo;break; // Configura el pin 9 como se halla configurado el modo
case 10: TRISE.F2= Modo; break; // Configura el pin 10 como se halla configurado el modo
//case 11: Pin de Alimentación (revisar datasheet)
//case 12: Pin de Alimentación (revisar datasheet)
//case 13: Pin de Oscilador externo (revisar datasheet)
//case 14: Pin de Oscilador externo (revisar datasheet)
case 15: TRISC.F0= Modo; break; // Configura el pin 15 como se halla configurado el modo
case 16: TRISC.F1= Modo; break; // Configura el pin 16 como se halla configurado el modo
case 17: TRISC.F2= Modo;break; // Configura el pin 17 como se halla configurado el modo
case 18: TRISC.F3= Modo; break; // Configura el pin 18 como se halla configurado el modo
case 19: TRISD.F0= Modo; break; // Configura el pin 19 como se halla configurado el modo
case 20: TRISD.F1= Modo;break; // Configura el pin 20 como se halla configurado el modo
case 21: TRISD.F2= Modo; break; // Configura el pin 21 como se halla configurado el modo
case 22: TRISD.F3= Modo; break; // Configura el pin 22 como se halla configurado el modo
case 23: TRISC.F4= Modo;break; // Configura el pin 23 como se halla configurado el modo
case 24: TRISC.F5= Modo; break; // Configura el pin 24 como se halla configurado el modo
case 25: TRISC.F6= Modo;break; // Configura el pin 25 como se halla configurado el modo
case 26: TRISC.F7= Modo; break; // Configura el pin 26 como se halla configurado el modo
case 27: TRISD.F4= Modo;break; // Configura el pin 27 como se halla configurado el modo
case 28: TRISD.F5= Modo; break; // Configura el pin 28 como se halla configurado el modo
case 29: TRISD.F6= Modo;break; // Configura el pin 29 como se halla configurado el modo
case 30: TRISD.F7= Modo; break; // Configura el pin 30 como se halla configurado el modo
//case 31: Pin de Alimentacion (revisar datasheet)
//case 32: Pin de Alimentacion (revisar datasheet)
case 33: TRISB.F0= Modo;break; // Configura el pin 33 como se halla configurado el modo
case 34: TRISB.F1= Modo; break; // Configura el pin 34 como se halla configurado el modo
case 35: TRISB.F2= Modo;break; // Configura el pin 35 como se halla configurado el modo
case 36: TRISB.F3= Modo; break; // Configura el pin 36 como se halla configurado el modo
case 37: TRISB.F4= Modo;break; // Configura el pin 37 como se halla configurado el modo
case 38: TRISB.F5= Modo; break; // Configura el pin 38 como se halla configurado el modo
case 39: TRISB.F6= Modo;break; // Configura el pin 39 como se halla configurado el modo
case 40: TRISB.F7= Modo; break; // Configura el pin 40 como se halla configurado el modo
default: break;} //Se ejecuta en caso de haber enviado el numero de un pin que no se encuentre en la lista
}

Glosario

Pines o pin

Es parte de la estructura del microcontrolador que se encarga de recibir o enviar señales de voltaje.

Entrada Digital

Entrada que solo lee señales digitales normalmente 0V o 5V.

Salida Digital

Salida de voltaje que sólo entrega a su salida voltajes normalmente de 0V o 5V.

Datasheet

Hoja de datos técnicos del microcontrolador el cual contiene todas sus características, cada microcontrolador tiene un datasheet.

Comentarios

Es parte del código que no es tomado en cuenta por la computadora y solo sirve para brindar información sobre algo.

Pines Análogos

Son pines especiales definidos en el datasheets que permiten leer un rango de voltaje normalmente comprendido entre 0V a 5V. Ejemplo:3.1V,4.5V, etc.

Pines digitales

Son pines en el microcontrolador que te permiten leer Voltajes digitales, normalmente 0V o 5V.

Entradas Digitales

Entrada que solo lee señales digitales normalmente 0V o 5V.

Void

Tipo de dato que se utiliza en funciones y se refiere a que no se devolverán valores al salir de esta función.

int

Tipo de dato que solo trabaja con números enteros.

Void main

Void main: Función principal que ejecuta la programación del microcontrolador, nota: esta es la primera función en correr.

SWITCH

Comando en programación que selecciona un case para ejecutar el código que se encuentre dentro del case.

Case

Sentencia en programación usada con switch para seleccionar que solo el fragmento de código que se encuentre en este se ejecute.

Break

Comando en programación que se utiliza para salir de otras sentencias de programación como: switch, for, while.

Default

Sentencia en programación usada con switch la cual es ejecutada si el case seleccionado por el switch no existe.

Oscilador externo

Dispositivo electrónico necesario para el funcionamiento de algunos microcontroladores.

Return

Comando utilizado en programación para salir de una función y retornar a la parte del código original de donde fue llamada, Este puede volver con un valor o no Ejemplo: Return 54, retorna con el número 54.