Tarjeta entrenadora de microcontrolador PIC16F84.

8
1 Tarjeta entrenadora de microcontrolador PIC16F84. Omar Ivan Gaxiola Sánchez, Modesto Guadalupe Medina Melendrez, Manuel de Jesús Acosta Portillo, Mijail Romero Delgado, Misael Romero Delgado. INSTITUTO TECNOLÓGICO DE CULIACÁN [email protected] Resumen Este trabajo presenta un prototipo funcional y didáctico para la enseñanza del uso del microcontrolador PIC16F84, específicamente en prácticas desde nivel básico hasta intermedio. Una de sus principales características es que la tarjeta cuenta con todos los periféricos de entrada y salida necesarios para la realización de 15 prácticas con manejo de funciones, periféricos y protocolos de comunicación con el microcontrolador. Se agregó un programador que permite cargar los códigos de los programas a ejercitar, sin necesidad de desmontar el microcontrolador de la tarjeta. PALABRAS CLAVE: PIC16F84, microcontrolador, tarjeta entrenadora. 1. Introducción Una tarjeta entrenadora es una herramienta muy útil para estudiantes que se inician en el uso de los microcontroladores. Ésta contiene todos los dispositivos necesarios para la realización de prácticas especificas que les permite desarrollar habilidades de los microcontroladores en su programación y modos de operación que ofrecen [2]. Una ventaja adicional que brinda este diseño es la incorporación de un programador para el microcontrolador, de tal forma, que para cargar el programa de la práctica que se va a implementar solo basta con entrar al modo de programación y conectar la tarjeta a la pc, sin necesidad de desmontarlo de la tarjeta entrenadora. En los puntos 2, 3 y 4 se explican las características del microcontrolador. El punto 5 contiene la información del diseño de la tarjeta, partes que la integran y modos de operación. Y por último, en la sección 6 se dan los resultados y conclusiones de este artículo. 2. Microcontrolador PIC16F84. El PIC16F84 es un microcontrolador a 8 bits de la familia PIC perteneciente a la Gama Media (según la clasificación dada a los microcontroladores por la misma empresa fabricante) Microchip [8]. Se trata de uno de los microcontroladores más populares del mercado actual, ideal para principiantes, debido a su arquitectura de 8 bits, 18 pines (la distribución de pines del microcontrolador se muestran en la figura 1), y un conjunto de 35 instrucciones RISC muy amigable para memorizar y fácil de entender, internamente consta de [1]: Memoria Flash de programa (1K x 14 bits). Memoria EEPROM de datos (64 x 8 bits). Memoria RAM (68 registros x 8 bits). Un temporizador/contador (timer de 8 bits). Un divisor de frecuencia.

Transcript of Tarjeta entrenadora de microcontrolador PIC16F84.

Page 1: Tarjeta entrenadora de microcontrolador PIC16F84.

 

1  

Tarjeta entrenadora de microcontrolador PIC16F84.

Omar Ivan Gaxiola Sánchez, Modesto Guadalupe Medina Melendrez,

Manuel de Jesús Acosta Portillo, Mijail Romero Delgado, Misael Romero Delgado.

INSTITUTO TECNOLÓGICO DE CULIACÁN

[email protected]

Resumen

Este trabajo presenta un prototipo funcional y didáctico para la enseñanza del uso del microcontrolador PIC16F84, específicamente en prácticas desde nivel básico hasta intermedio. Una de sus principales características es que la tarjeta cuenta con todos los periféricos de entrada y salida necesarios para la realización de 15 prácticas con manejo de funciones, periféricos y protocolos de comunicación con el microcontrolador. Se agregó un programador que permite cargar los códigos de los programas a ejercitar, sin necesidad de desmontar el microcontrolador de la tarjeta.

PALABRAS CLAVE: PIC16F84, microcontrolador, tarjeta entrenadora. 1. Introducción Una tarjeta entrenadora es una herramienta muy útil para estudiantes que se inician en el uso de los microcontroladores. Ésta contiene todos los dispositivos necesarios para la realización de prácticas especificas que les permite desarrollar habilidades de los microcontroladores en su programación y modos de operación que ofrecen [2]. Una ventaja adicional que brinda este diseño es la incorporación de un programador para el microcontrolador, de tal forma, que para cargar el programa de la práctica que se va a implementar solo basta con entrar al modo de programación y conectar la tarjeta a la pc, sin necesidad de desmontarlo de la tarjeta entrenadora. En los puntos 2, 3 y 4 se explican las características del microcontrolador. El punto 5 contiene la información del diseño de la tarjeta, partes que la integran y modos de operación. Y por último, en la sección 6 se dan los resultados y conclusiones de este artículo. 2. Microcontrolador PIC16F84. El PIC16F84 es un microcontrolador a 8 bits de la familia PIC perteneciente a la Gama Media (según la clasificación dada a los microcontroladores por la misma empresa fabricante) Microchip [8].

Se trata de uno de los microcontroladores más populares del mercado actual, ideal para principiantes, debido a su arquitectura de 8 bits, 18 pines (la distribución de pines del microcontrolador se muestran en la figura 1), y un conjunto de 35 instrucciones RISC muy amigable para memorizar y fácil de entender, internamente consta de [1]:

Memoria Flash de programa (1K x 14 bits). Memoria EEPROM de datos (64 x 8 bits). Memoria RAM (68 registros x 8 bits). Un temporizador/contador (timer de 8 bits). Un divisor de frecuencia.

Page 2: Tarjeta entrenadora de microcontrolador PIC16F84.

2

Varios puertos de entrada-salida (13 pines en dos puertos, 5 pines el puerto A y 8 pines el puerto

B).

Otras características son [1]:

Manejo de interrupciones (de 4 fuentes).

Perro guardián (watchdog).

Bajo consumo.

Frecuencia de reloj externa máxima 10MHz. (Hasta 20MHz en nuevas versiones). La

frecuencia de reloj interna es un cuarto de la externa, lo que significa que con un reloj de

20Mhz, el reloj interno sería de 5Mhz y así pues se ejecutan 5 Millones de Instrucciones por

Segundo (5 MIPS).

Pipe-line de 2 etapas, 1 para búsqueda de instrucción y otra para la ejecución de la instrucción

(los saltos ocupan un ciclo más).

Repertorio de instrucciones reducido (RISC), con tan solo 35 instrucciones distintas.

4 tipos distintos de instrucciones: orientadas a byte, orientadas a bit, operación entre registros

y de salto.

Figura 1. Terminales del PIC16F84.

3. Puertos del microcontrolador.

Los puertos son el puente entre el microcontrolador y el mundo exterior. Son líneas digitales que

trabajan entre cero y cinco voltios, y se pueden configurar como entradas o como salidas. El

Page 3: Tarjeta entrenadora de microcontrolador PIC16F84.

3

PIC16F84 tiene dos puertos, el puerto A con 5 líneas y el puerto B con 8 líneas. El puerto A tiene las

líneas RA0, RA1, ...., RA4 y el puerto B las líneas RB0, RB1, ...., RB6, RB7 como se muestra en la

figura 2.

Cada pin se puede configurar como entrada o como salida independiente programando los

registros TRISA y TRISB del Banco 1, para el puerto A y el puerto B respectivamente. En estos

registros un "0" configura el pin del puerto correspondiente como salida y un "1" lo configura como

entrada [1].

Figura 2. Puertos del PIC16F84.

El puerto B tiene internamente unas resistencias de pull-up conectadas a sus pines (sirven

para fijar el pin a un nivel de cinco voltios), su uso puede ser habilitado o deshabilitado bajo control

del programa. Todas las resistencias de pull-up se conectan o se desconectan a la vez, usando el bit

llamado RBPU que se encuentra en el registro OPTION. La resistencia de pull-up es desconectada

automáticamente en un pin si este se programa como salida. El pinRB0/INT se puede configurar por

software para que funcione como interrupción externa, para configurarlo se utilizan unos bits de los

registros INTCON y OPTION [2].

El pin RA4/TOCKI del puerto A puede ser configurado como un pin de entrada/salida o como

entrada del temporizador/contador. Cuando este pin se programa como entrada digital, funciona

como un disparador de Schmitt (Schmitt trigger), puede reconocer señales un poco distorsionadas y

llevarlas a niveles lógicos (cero y cinco voltios). Cuando se usa como salida digital se comporta como

colector abierto, por lo tanto, se debe poner una resistencia de pull-up (resistencia externa conectada

a un nivel de cinco voltios). Como salida, la lógica es inversa: un "0" escrito al pin del puerto entrega

en el pin un "1" lógico.

Además, como salida no puede manejar cargas como fuente, sólo en el modo sumidero.

Como este dispositivo es de tecnología CMOS, todos los pines deben estar conectados a alguna

parte, nunca dejarlos flotando porque se puede dañar el integrado. Los pines que no se estén usando

se deben conectar a la fuente de alimentación de +5V, como se muestra en la figura 3.

Page 4: Tarjeta entrenadora de microcontrolador PIC16F84.

4

Figura 3. Conexión de pines no utilizados.

La capacidad máxima de corriente de cada uno de los pines de los puertos en modo sumidero

(sink) es de 25 mA y en modo fuente (source) es de 20 mA. La máxima capacidad de corriente total

de los puertos es [1]:

Puerto A Puerto B Modo sumidero 80 mA 150 mA Modo fuente

50 mA 100 mA

El consumo de corriente del microcontrolador para su funcionamiento depende del voltaje de

operación, la frecuencia y de las cargas que tengan sus pines. Para un reloj de 4 MHz el consumo es

de aproximadamente 2 mA; aunque este se puede reducir a 40 microamperios cuando se está en el

modo sleep (en este modo el micro se detiene y disminuye el consumo de potencia).

4. Oscilador externo. Todo microcontrolador requiere un circuito externo que le indique la velocidad a la que debe trabajar.

Este circuito, que se conoce como oscilador o reloj, es muy simple pero de vital importancia para el

buen funcionamiento del sistema. El PIC16F84 puede utilizar cuatro tipos de oscilador diferentes.

Estos tipos son:

• RC. Oscilador con resistencia y condensador.

• XT. Cristal.

• HS. Cristal de alta velocidad.

• LP. Cristal para baja frecuencia y bajo consumo de potencia.

El tipo de oscilador que se sugiere para las prácticas es el cristal de 4 MHz, porque garantiza mayor

precisión y un buen arranque del microcontrolador. Internamente, ésta frecuencia es dividida por

cuatro, lo que hace que la frecuencia efectiva de trabajo sea de 1 MHz, por lo que cada instrucción se

ejecuta en un microsegundo. El cristal debe ir acompañado de dos condensadores de entre 15 y 33 pf

y se conecta como se muestra en la figura 4 [8].

Page 5: Tarjeta entrenadora de microcontrolador PIC16F84.

5

Figura 4. Conexión del oscilador externo.

5. Funcionamiento de la tarjeta entrenadora.

La tarjeta entrenadora de microcontrolador PIC16F84A es un circuito impreso que contiene

los dispositivos básicos para desarrollar prácticas sencillas y didácticas, con el objetivo de que el

estudiante aprenda cómo programar e implementar diversos dispositivos periféricos que

interactúan con el microcontrolador.

El diseño involucra dispositivos de control de selección de prácticas y un programador.

Para la selección de prácticas se utiliza unza el circuito integrado 74LS154, el cual consta de 4

entradas de datos binarios que toman valores de 0 y 1, teniendo 16 salidas de datos diferentes.

Las 16 líneas de salida del demultiplexor controlan buffers triestado e interruptores electrónicos

para activar los dispositivos de entrada y salida necesarios para la realización de la práctica

seleccionada. La figura 5 muestra el diagrama de configuración del bloque de selección de

prácticas.

Figura 5. Bloque de selección de prácticas.

En el modo de operación 0, que corresponde al de programación por medio del puerto USB,

se carga el código al PIC de la tarjeta. El programador implementado e incorporado en el diseño de

la tarjeta permite la programación del microcontrolador sin necesidad de retirarlo de la placa. El

software que se utiliza para la grabación de programas al PIC16F84A es el PICkit2 de Microchip, el

Práctica 1

Selector

de

practica

Programador

Práctica 2

Práctica 3

Práctica 4 Práctica 5

Práctica 6 Práctica 7

Práctica 15

Entrada 1

Entrada 2

Entrada 3

Entrada 4

Page 6: Tarjeta entrenadora de microcontrolador PIC16F84.

6

cual requiere de una conexión USB para envío y recepción de datos. La tabla siguiente da una

descripción de los 16 modos de funcionamiento seleccionables para la tarjeta entrenadora:

No. de práctica

Práctica Objetivo

0 Programador USB. Cargar el programa a la memoria de programa del microcontrolador.

1 Control de 5 LED por medio de interruptores.

Controlar 5 LEDs comunes a través de interruptores/switch y pulsadores.

2 Decodificador de BCD a 7 segmentos con selector de tipo de display.

Comprender el funcionamiento de los display de siete segmentos y su utilización en un microcontrolador.

3 Control de niveles de líquido de un aljibe.

Emplear el uso de los saltos condicionales para diseñar el control de llenado de un aljibe.

4 Control de 2 semáforos con retardos.

Controlar los cambios de las luces de dos semáforos convencionales empleando retardos [5] .

5 Utilización de la pantalla LCD.

Aprender el modo de funcionamiento de la pantalla con 4 líneas de datos.

6 Utilización de la memoria interna EEPROM con una pantalla LCD.

Almacenamiento de datos en la memoria EEPROM de datos.

7 Implementación del protocolo RS232. Implementación del protocolo RS-232 para comunicación con la PC.

8 Termómetro digital por el bus I2C.

Comprender el funcionamiento del bus I

2C y

utilizarlo para desarrollar un termómetro.

9 Termómetro digital con comunicación por RS-232 e interfaz programable de texto.

Obtener el valor de temperatura del sensorDS1624 por bus I

2C y

enviarlo por RS-232 a la PC [4].

10 Cerradura electrónica con teclado matricial conectado a expansor de bus I

2C.

Implementar una cerradura controlada por un teclado matricial [1].

11 Reloj digital por el bus I2C.

Realizar un reloj digital con el circuito DS1307 [3].

12 Termómetro digital visualizado en 4 display de 7 segmentos.

Obtener el valor de temperatura del sensorDS1624 por bus I

2C y

Page 7: Tarjeta entrenadora de microcontrolador PIC16F84.

7

mostrar la temperatura en display de 7 segmentos [1].

13 Manejo de interrupciones.

Aprender el uso y configuración de las interrupciones del PIC16F84 [3].

14 Manejo del perro guardián. Ejercitar el uso del perro guardián del PIC16F84 [6].

15 Puertos RA y RB libres para utilizarse.

Permitir al usuario utilizar el PIC16F84 de la tarjeta entrenadora para cualquier aplicación.

Para indicar al usuario el modo de funcionamiento seleccionado se incluyeron dos display de

7 segmentos y una GAL22V10D programada con la lógica combinacional necesaria para indicar el

número de la función que está realizando la tarjeta.

Una vez programado el microcontrolador con el código adecuado para realizar una práctica,

solo se debe seleccionar el número de la práctica y se podrá probar su funcionamiento.

Automáticamente se configuraran los periféricos de entrada y salida requeridas para la práctica que

fue elegida. La figura 6 muestra la tarjeta entrenadora diseñada.

Figura 6. Tarjeta entrenadora.

Page 8: Tarjeta entrenadora de microcontrolador PIC16F84.

8

5. Resultados. Se diseñó, implementó y probó una tarjeta entrenadora para el microcontrolador PIC16F84 que cuenta con todos los periféricos de entrada y salida necesarios para la realización de 15 prácticas con manejo de funciones, periféricos y protocolos de comunicación con el microcontrolador.

Esta tarjeta es una herramienta muy útil para estudiantes que se instruyen sobre el uso de

los microcontroladores, permitiendo probar y desarrollar sus habilidades en la configuración y

programación del microcontrolador al contar con los periféricos necesarios para su realización en

esta tarjeta.

El diseño incluye los circuitos necesarios que permiten cargar los códigos de los programas a

ejercitar sin necesidad de desmontar el microcontrolador de la tarjeta.

6. Referencias. 1. Palacios E. Remiro F., "Microcontrolador PIC16F84. Desarrollo de Proyectos", Ed. RA-MA, 3ra edición, 2009. 2. Mandado E., "Microcontroladores PIC: sistema integrado para el autoaprendizaje", Ed.

Marcombo, 2007. 3. Lee S., David W. S., "PIC in Practice. A Project -based Approach", Ed. Newnes, 2006. 4. Ibrahim D.,"Microcontroller-based Temperature Monitoring and Control",Ed. Newnes 2002. 5. Gaspar A., Gámez J.,"Problemas resueltos para microcontroladores 8051 y PIC16F84",

Servicio de Publicaciones -Universidad de Jaén, 2009. 6. Tooley M., Tooley M.,"Electronic Circuits: Fundamentals and Applications",Ed. Routledge,

2006. 7. Ibrahim D.,"PIC BASIC: Programming and Projects: Programming and Projects",Ed.

Elsevier, 2001. 8. "PIC16F84 Datasheet", 2001 Microchip Technology Inc, www.microchip.com.