1. Primeros pasos programando un Microcontrolador

1. Primeros pasos programando un Microcontrolador
4.3 (86.67%) 6 votes

INTRODUCCIÓN

Un microcontrolador es un circuito integrado que contiene toda la estructura de un Microcomputador, es decir, unidad de proceso (CPU), memoria RAM, memoria ROM y circuitos de entrada/salida.

Es un dispositivo programable que puede ejecutar un sinnúmero de tareas y procesos.Un Microcontrolador esta compuesto básicamente por cuatro componentes principales:

Memoria ROM, EEPROM, EPROM o FLASH: es la memoria donde se almacena el programa. Memoria RAM o SRAM: es la memoria donde se almacenan los datos. Líneas de Entrada / Salida (I / O): también llamada puertos, se utilizan para conectar elementos externos al microcontrolador. CPU: controla y ejecuta todas las instrucciones que conforman el programa.

Existen diferentes familias de microcontroladores: Intel, Motorola, Microchip, entre otras. En este curso solo se estudiará el microcontrolador PIC16F887, que pertenece a la familia de Microchip; esta familia se caracteriza por tener procesador RISC y arquitectura Harvard caracterizada por la independencia entre la memoria de código (programa) y la de memoria de datos. Y para realizar la programación en lenguaje C usaremos el compilador CCS C PIC C Compiler y por último para probar nuestros proyectos usaremos el simulador Proteus.

PIC16F887

DESCRIPCIÓN DEL MICROCONTROLADOR PIC16F887

 Descripción de los Pines:

  • OSC1 / CLK IN (13): Entrada del cristal de cuarzo o del oscilador externo.
  • OSC2 / CLK OUT (14): Salida del cristal de cuarzo.
  • VSS (12 – 31): Conexión a tierra (GND)
  • VDD (11 – 32): Conexión a positivo (+5V)
  • MCLR# / VPP (1): Entrada de Reset o entrada del voltaje de programación. Si no se va a utilizar se debe poner a +5V.

El PIC16F887 cuenta con 5 puertos, los cuales son los pines del Chip y se pueden usar como entradas y/o salidas ademas que algunos pines cuentan con caracteristicas especiales que pueden ser lectura analoga, salidas PWM, etc. (Esto se verá mas adelante en el curso). Los puertos están distribuidos de la siguiente manera:

PUERTO A: Cuenta con 6 pines que van desde RA0 hasta RA5.

PUERTO B: Cuenta con los 8 Pines (RB0 – RB7).

PUERTO C: Cuenta con los 8 Pines (RC0 – RC7).

PUERTO D: Cuenta con los 8 Pines (RD0 – RD7).

PUERTO E: Cuenta con 3 pines (RE0 – RE2)

 

La distribución de los pines del PIC16F887 se puede observar en la siguiente figura.

 

Pines PIC16F887
Figura 1. Distribución de los Pines del PIC16F887

 

Si te está sirviendo de algo la información de la pagina, podrías invitarme a un café y ayudarme a seguir manteniendo en pie el sitio WEB. Solo cuesta $2USD y me ayudarías enormemente a seguir con mi trabajo. Muchas Gracias por tu visita.




CONFIGURACIÓN DE LOS PINES
Cada pin de los puertos del microcontrolador se pueden configurar como entrada o salida digital.

Las entradas corresponden a sensores, suiches o pulsadores, es decir son los ojos del microcontrolador, el microcontrolador se
da cuenta de lo que ocurre a través de las entradas.
Las salidas corresponden a los elementos que el microcontrolador va a controlar, un bombillo, un led, un motor, una electro
válvula, entre otros, es decir las salidas corresponden al elemento final de control.
Cada línea de cada puerto representa un bit, por ejemplo el puerto B:

Para denotar un bit en particular, se puede decir:

PORTB, 6 → el bit 6 del puerto B

Si un PIN va a funcionar como entrada se coloca en “1” y si va a funcionar como salida se coloca en “0”.

Ejemplo 3.3.1 Configuración puerto B

Si se necesita configurar el puerto B de la siguiente manera:

PortB
En el encabezado del programa debe escribirse la línea:

# BYTE PORTB=6

El número 6 corresponde a la dirección de memoria Ram en la que esta ubicado el puerto B. (Esto puede verse en el datasheet del microcontrolador). En el programa principal se digita la línea:

SET_TRIS_B(0B00001111);
Los últimos cuatro bits corresponden a salidas, por lo tanto se ponen en cero y los otros cuatro corresponden a entradas por
consiguiente se ponen en uno.

Por ultimo, es importante tener a la mano la hoja de datos del microcontrolador (Datasheet) que proporciona el fabricante con el fin de aprovechar todas las características del dispositivo y para saber donde buscar y como activar cada una de las características del chip. Si deseas puedes descargar el datasheet a continuación. DataSheet PIC16F887.

 

Te doy la bienvenida a este curso, donde estoy seguro vas a aprender mucho sobre este interesante mundo de microcontroladores, Puedes suscribirte a mi canal de Youtube dando click al siguiente botón y podrás acceder a todos los videos que alli publico sobre microcontroladores y asi podrás seguir paso a paso todos lo códigos que voy dejando aquí en la pagina.

Si te sirvió de algo la información de la pagina, podrías invitarme a un café y ayudarme a seguir manteniendo en pie el sitio WEB. Solo cuesta $2USD y me ayudarías enormemente a seguir con mi trabajo. Muchas Gracias por tu visita.




Esta entrada tiene 11 comentarios

  1. Felicitaciones, muy didáctico. Tienes material en español sobre PID en la plataforma PIC?. Gracias por compartir.

    1. Jose Luis aqui en el blog he hecho algunas entradas sobre PID en el PIC, dale un vistazo dando click aqui. Saludos.

  2. Hola Sergio.
    Soy estudiante de Ingeniería en Electrónica y Telecomunicaciones, y tengo una duda.
    Nos han platicado que, a nivel industrial, actualmente no se utiliza demasiado los PICs y que en su lugar se utiliza PLC’s ¿Es cierto esto?
    Muchas gracias por este material de tan buena calidad que haz hecho para nosotros 🙂
    ¡Saludos!

    1. Hola Angie. A nivel industrial es mucho más común utilizar PLC, dado que tienen una electrónica mucho más robusta y su programación es hecha en forma de lógica de contactos generalmente. Un PIC también podría ser utilizado a nivel industrial, el único problema es que debes hacerle una muy buena electrónica para evitar que le entren ruidos o interferencias y obviamente eso va a demandar algo de tu tiempo para hacerlo. Por eso por facilidad se opta por los PLC, donde la programación es mucho más intuitiva. Pero igual, yo he utilizado PIC a nivel industrial y han funcionado muy bien.

      1. hola sergio, tengo un equipo, el cual no lo diseñe yo que esta echo con un 16f877, y se me reinicia cada tanto el equipo, el equipo lo único que me muestra es la posicion de un motor que mueve una regla, y mediante 4 pulsadores puedo cambiarle la posicion que quiero que este la regla, la posición la sabe con un encoder, estoy seguro que por ruido que se me reinicia, el problema es que nose como hacer para sacarle ese problema, me podrias ayudar?

        1. Hola David, talvez podrías intentar lo siguiente:
          1- Resolda todos los puntos de estaño de tu placa, vaya ser que talvez haya un falso contacto.
          2- Cuando trabajas con motores y microcontroladores la fuente de alimentación es primordial, debes tener una buena fuente, con el mínimo de rizado posible. Si te es posible, alimenta el PIC con un fuente diferente a la que alimentas el motor, si no, entonces trata de usar un buena fuente.
          3- Coloca un condensador de Bypass, (0.1uF) entre los pines de alimentación (VCC y GND) del microcontrolador lo mas cerca posible del integrado, esto ayuda a reduzir ruidos de interferencia.
          4- Utiliza conexiones a tierra separadas, una para el microcontrolador (GND Digital) y otra para la etapa de potencia (GND Análoga).

  3. Hola hay mucha diferencia entre el pic16f877a al PIC16F887.??.. son de la misma familia ademas tienen casi la misma configuración de pines

    1. No, son practicamente el mismo. El 887 es la versiona actualizada del 877a.

  4. Hola, perdona que te moleste pero me gustaría saber como accedo a tus dos post anteriores que mencionas aquí en el primer vídeo, para conocer un poco mas del lenguaje que se utiliza con los PIC, por las dudas aclaro que soy un novato en el tema programación y me gustaría empezar desde abajo.
    Desde ya muchas gracias por tu esfuerzo.

    1. Hola Eduardo. Aquí te dejo el link con todos los post que he hecho de microcontroladores. Todos van en orden ascendente, la gran mayoria tienen videos entonces no te vas a perder.

      CURSO COMPLETO DE MICROCONTROLADORES

      Igual puedes ubicar el mouse en la sección de arriba donde dice Microcontroladores(PIC) y se te desplegaran todos los artículos que he hecho.
      Gracias por tu visita.

  5. Es lo malo de ser pobre. No podemos auto-financiar nuestros proyectos, solo la con ayuda de terceros.

Deja un comentario

Menú de cierre