4. Microcontrolador PIC 16F84A

fig 2.1
fig 2.1 Fotografía de un PIC 16F84A

El PIC16F84A es un microcontrolador gama media de 8 bits que físicamente consta de 18 pines, su memoria de programa es de tipo flash, lo que nos permitirá grabarlo hasta unas 10000 veces. Es realmente sencillo de manejar, por eso será nuestro punto de partida para el estudio del lenguaje ensamblador y microcontroladores.

Sus características principales son:

  • Set de solo 35 instrucciones
  • Memoria de programa de 1 KB (equivale a 1024 instrucciones)
  • Máxima velocidad de operación: 20 MHz
  • 68 Bytes de RAM
  • 64 Bytes de EEPROM
  • 4 fuentes de interrrupción
  • 2 puertos de salida
  • 13 Líneas de I/O configurables individualmente
  • 25 mA de corriente por pin

Descripción de los pines

El PIC 16F84A contiene 13 líneas I/O (entrada o salida), 5 pertenecen al puerto A y 8 pertenecen al puerto B.

fig 2.2
fig 2.2 Distribución de pines del PIC 16F84A

 

  • VDD: Alimentación positiva (5 voltios)
  • VSS: Tierra (0 voltios)
  • MCLR: pin de resetear
  • OSC1, OSC2: Conexión de oscilador
  • RA0, RA1, RA2, RA3, RA4: líneas I/O del puerto A
  • RB0, RB1, RB2, RB3, RB4, RB5, RB6, RB7: líneas I/O del puerto B

Conexión de los pines

Es importante tener muy claro la forma en la que se deben conectar los pines del microcontrolador aún cuando estos no se usen.

  1. La alimentación: El voltaje de alimentación debe estar comprendido entre 2.0 y 5.5 voltios (preferiblemente usar una alimentación regulada de 5 voltios). Para mejorar su desempeño se puede adicionar un capacitor cerámico de 100 nF en paralelo con la fuente de voltaje y ubicado lo más cerca posible a los pines VDD y VSS.

    fig 2.3
    fig 2.3 Conexión de los pines de alimentación del PIC 16F84A
  2. El reset (MCLR): A este pin se le conectarán dos componentes: un resistor de 10 kΩ a VDD (5 voltios) y un pulsador a GND (tierra).

    fig 2.4
    fig 2.4 Configuración del pin RESET
  3. El oscilador: Por ahora, conectaremos un cristal de cuarzo de 4 MHz entre los pines OSC1 y OSC2, también conectaremos un capacitor cerámico de 22 pF entre OSC1 y tierra y otro capacitor igual entre OSC2 y tierra. Más adelante se detallarán las diversas formas de configurar estos pines.

    fig 2.5
    fig 2.5 Configuración del oscilador de 4MHz
  4. Las líneas de salida: Si lo que queremos es solo testear el comportamiento del microcontrolador, basta con poner en cada salida un LED en serie con una resistencia.

    fig 2.6
    fig 2.6 Conexión de un LED en la salida del PIC
  5. Las líneas de entrada: Si la entrada se da a travès de un interruptor será obligatorio conectar un resistor de 10 kΩ a VDD sin importar si la línea se usará o no, una solución sencilla para evitar la conexíón de tantos resistores es configurar como salidas las líneas que no vayamos a usar en nuestro proyecto.

    fig 2.7
    fig 2.7 Conexión de una línea de entrada usando pulsador.

Las resistencias de pull-up (ver fig 2.7)

La electrónica digital maneja dos estados lógicos para su funcionamiento: el «1» y el «0». Supongamos que un circuito digital tiene una entrada y conectamos un interruptor entre dicha entrada y VSS (tierra), analizando veremos que el cero ya está definido por el interruptor cuando este está cerrado, pero si el interruptor estuviera abierto no hay un estado definido porque la entrada no tiene contacto con ningún cero ni con ningún uno lógico (sería un pin sin conexión), esto se llama estado flotante y puede tener consecuencias como el mal funcionamiento del circuito. Esto se soluciona poniendo una resistencia entre el pin de entrada y VDD llamada resistencia de pull-up, su objetivo es asegurar un «1» lógico cuando el interruptor esté abierto. Si lo que se desea es asegurar un «0» lógico, la resistencia se conecta a VSS y recibe el nombre de resistencia de pull-down.

Nota: Se aconseja conectar cualquier línea de entrada a VDD mediante una resistencia de 10 kΩ, omitir este paso podría causar daños en el PIC.