PROGRAMACIÓN DE MICROCONTROLADORES PIC
Enviado por edwin23 • 16 de Febrero de 2012 • 1.961 Palabras (8 Páginas) • 650 Visitas
METODOLOGÍA DESARROLLADA PARA PRÁCTICAS DE
PROGRAMACIÓN DE MICROCONTROLADORES PIC
M.A. VICENTE, C. FERNÁNDEZ., y M.N. ROBLES
Dpto. de Ingeniería de Sistemas Industriales. Universidad Miguel Hernández. Elche, España.
suni@umh.es, c.fernandez@umh.es
En esta ponencia se presenta la metodología utilizada en la asignatura Sistemas
Electrónicos y Automáticos, de la Universidad Miguel Hernández, para la
realización de prácticas de programación de microcontroladores PIC. Se
propone, básicamente, la realización de prácticas mediante el uso de un
entrenador o placa de evaluación de microcontroladores y también mediante la
simulación software de dicho entrenador.
1. Introducción
En este artículo se presenta la metodología utilizada en la asignatura Sistemas Electrónicos y
Automáticos [1], de la Universidad Miguel Hernández, para la realización de prácticas de programación
de microcontroladores PIC [2].
La asignatura Sistemas Electrónicos y Automáticos se imparte actualmente en cuarto curso de la
titulación de Ingeniería Industrial. Se trata de una asignatura troncal de 10.5 créditos, siendo 6 de ellos
teóricos y 4.5 prácticos. En el programa de la asignatura se pueden distinguir dos bloques temáticos
diferenciados correspondientes a cada uno de los cuatrimestres del curso: en el primer cuatrimestre se
imparte el bloque temático correspondiente a Sistemas de Control en el Espacio de Estado, y en el
segundo cuatrimestre se imparte el temario relativo a Instrumentación de control, cuyo temario se basa
fundamentalmente en la programación de microcontroladores PIC (80% del total de este cuatrimestre).
2. Experiencia en la docencia de programación de microcontroladores
La docencia universitaria en programación de microcontroladores es compleja y rápidamente
cambiante, a diferencia de asignaturas clásicas como Teoría de Circuitos, por poner un ejemplo, donde los
conceptos teóricos (leyes de Kirchoff, teoremas de Thevenin, Superposición, etc) y las prácticas no tienen
porqué cambiar todos los años, salvo los enfoques particulares de cada profesor. En las asignaturas
relativas al estudio de microcontroladores es necesario actualizar tanto el temario como las prácticas,
puesto que los diferentes microcontroladores que aparecen en el mercado cambian rápidamente con el
tiempo, dejando obsoleto el temario y los equipos de prácticas.
En el caso concreto de la asignatura objeto de este artículo, las prácticas comenzaron en el curso
2000-2001, con el microcontrolador tipo Von-Neumann Motorola 68HC11 [3] y el entorno de desarrollo
HandyBoard [4]. En poco tiempo, los microcontroladores tipo Harvard coparon el mercado, y en concreto
la familia de microcontroladores PIC de Microchip [2] se ha expandido hasta convertirse en líder del
mercado. Ante esta situación, en el curso 2003-2004 se adquirieron nuevos equipos de prácticas basados
en el entrenador MicroPIC Trainer [5] (gama media de la familia PIC). Durante dos cursos académicos se
realizaron prácticas con los equipos antiguos y los equipos nuevos simultáneamente, lo que permitía que
los alumnos conociesen las particularidades de cada tipo de microcontrolador; sin embargo los resultados
no fueron buenos dado que conocer dos juegos de instrucciones y dos arquitecturas completamente
diferentes resultaba excesivamente complicado para un solo cuatrimestre de la asignatura. La decisión
final ha sido utilizar exclusivamente los microcontroladores de la familia PIC para las prácticas.
(a) (b)
Figura 1. Detalles de los entrenadores a) Handy Board y b) MicroPIC Trainer.
Figura 2. Detalle de la placa de evaluación EasyPIC4
Incluso dentro de la familia PIC, ha sido necesaria una renovación. A partir del pasado curso 2006-2007 se
han adquirido unas nuevas placas entrenadoras (EasyPIC4 [6]), que ofrecen diversas ventajas respecto de
las anteriores placas MicroPIC Trainer, entre las que destacan:
• En los entrenadores EasyPIC4, el software de grabación funciona bajo sistema operativo
Windows (en el caso de las placas MicroPIC Trainer era necesario trabajar bajo sistema operativo
DOS).
• Disponen de más dispositivos gráficos, como un GLCD y hasta cuatro displays 7 segmentos,
además de otros tipos de periféricos.
• Es posible conectar en sus zócalos cualquier microcontrolador PIC de gama media (en el caso de
las placas MicroPIC Trainer las opciones eran más escasas). En concreto, el sistema EasyPIC4
admite microcontroladores de 8, 14, 18, 28 y 40 pines.
Actualmente, en la asignatura Sistemas Electrónicos y Automáticos, se utilizan como modelos de
microcontroladores PIC a estudiar el PIC16F84A y el PIC16F877A, pertenecientes ambos a la gama
media de Microchip.
Figura 3. Microcontroladores PIC utilizados en la asignatura
A continuación se muestran las características generales del PIC16F877A:
• Procesador de arquitectura RISC avanzada:
• Juego de sólo 35 instrucciones con 14 bits de longitud. Todas ellas se ejecutan en un ciclo de
instrucción, menos las de salto que tardan dos.
• Hasta 8K palabras de 14 bits de memoria de programa tipo FLASH.
• Hasta 368 Bytes de memoria de datos RAM.
• Hasta 256 Bytes de memoria de datos EEPROM.
• Pines de salida compatibles con los microcontroladores PIC16CXXX y PIC16FXXX.
• Recursos analógicos:
• Conversor Analógico/Digital de 10 bits.
• Reset de Brown-Out (BOR).
• Módulo de comprarador analógico.
• Recursos especiales:
• Código de protección programable.
• Modo SLEEP de bajo consumo.
• Perro Guardián (WDT).
• Programación serie en circuito con dos pines. Sólo necesita 5V para programarlo en este modo.
• Recursos periféricos.:
• Timer0: Temporizador-contador de 8 bits con prescaler de 8 bits.
• Timer1: Temporizador-contador de 16 bits con prescaler, puede incrementarse en modo sleep de
forma externa por un cristal/clock.
• Timer2: Temporizador-contador de 8 bits con registro de periodo, prescaler y postescaler.
• Dos módulos de Captura, Comparación, PWM.
• Puerto Serie Síncrono (SSP) con SPI (Modo maestro) e I2C (Master/Slave).
• USART/SCI (Universal Synchronous Asynchronous Receiver Transmitter) con 9 bits.
• Puerta Paralela Esclava (PSP)
...