Logo Studenta

Ensenanza_de_tecnicas_de_diseno_con_Microcontrolad

¡Estudia con miles de materiales!

Vista previa del material en texto

See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/228830006
Enseñanza de técnicas de diseño con Microcontroladores
Article
CITATIONS
0
READS
293
2 authors:
Miguel Revuelta
Universidad Nacional de Mar del Plata
4 PUBLICATIONS   10 CITATIONS   
SEE PROFILE
Eduardo Blotta
Universidad Nacional de Mar del Plata
20 PUBLICATIONS   148 CITATIONS   
SEE PROFILE
All content following this page was uploaded by Eduardo Blotta on 05 August 2014.
The user has requested enhancement of the downloaded file.
https://www.researchgate.net/publication/228830006_Ensenanza_de_tecnicas_de_diseno_con_Microcontroladores?enrichId=rgreq-09fa318dd8a33d88342ed83cef4b6931-XXX&enrichSource=Y292ZXJQYWdlOzIyODgzMDAwNjtBUzoxMjY4MTM4NDYxMTg0MDBAMTQwNzI0NjE4NTUwMQ%3D%3D&el=1_x_2&_esc=publicationCoverPdf
https://www.researchgate.net/publication/228830006_Ensenanza_de_tecnicas_de_diseno_con_Microcontroladores?enrichId=rgreq-09fa318dd8a33d88342ed83cef4b6931-XXX&enrichSource=Y292ZXJQYWdlOzIyODgzMDAwNjtBUzoxMjY4MTM4NDYxMTg0MDBAMTQwNzI0NjE4NTUwMQ%3D%3D&el=1_x_3&_esc=publicationCoverPdf
https://www.researchgate.net/?enrichId=rgreq-09fa318dd8a33d88342ed83cef4b6931-XXX&enrichSource=Y292ZXJQYWdlOzIyODgzMDAwNjtBUzoxMjY4MTM4NDYxMTg0MDBAMTQwNzI0NjE4NTUwMQ%3D%3D&el=1_x_1&_esc=publicationCoverPdf
https://www.researchgate.net/profile/Miguel-Revuelta?enrichId=rgreq-09fa318dd8a33d88342ed83cef4b6931-XXX&enrichSource=Y292ZXJQYWdlOzIyODgzMDAwNjtBUzoxMjY4MTM4NDYxMTg0MDBAMTQwNzI0NjE4NTUwMQ%3D%3D&el=1_x_4&_esc=publicationCoverPdf
https://www.researchgate.net/profile/Miguel-Revuelta?enrichId=rgreq-09fa318dd8a33d88342ed83cef4b6931-XXX&enrichSource=Y292ZXJQYWdlOzIyODgzMDAwNjtBUzoxMjY4MTM4NDYxMTg0MDBAMTQwNzI0NjE4NTUwMQ%3D%3D&el=1_x_5&_esc=publicationCoverPdf
https://www.researchgate.net/institution/Universidad-Nacional-de-Mar-del-Plata2?enrichId=rgreq-09fa318dd8a33d88342ed83cef4b6931-XXX&enrichSource=Y292ZXJQYWdlOzIyODgzMDAwNjtBUzoxMjY4MTM4NDYxMTg0MDBAMTQwNzI0NjE4NTUwMQ%3D%3D&el=1_x_6&_esc=publicationCoverPdf
https://www.researchgate.net/profile/Miguel-Revuelta?enrichId=rgreq-09fa318dd8a33d88342ed83cef4b6931-XXX&enrichSource=Y292ZXJQYWdlOzIyODgzMDAwNjtBUzoxMjY4MTM4NDYxMTg0MDBAMTQwNzI0NjE4NTUwMQ%3D%3D&el=1_x_7&_esc=publicationCoverPdf
https://www.researchgate.net/profile/Eduardo-Blotta?enrichId=rgreq-09fa318dd8a33d88342ed83cef4b6931-XXX&enrichSource=Y292ZXJQYWdlOzIyODgzMDAwNjtBUzoxMjY4MTM4NDYxMTg0MDBAMTQwNzI0NjE4NTUwMQ%3D%3D&el=1_x_4&_esc=publicationCoverPdf
https://www.researchgate.net/profile/Eduardo-Blotta?enrichId=rgreq-09fa318dd8a33d88342ed83cef4b6931-XXX&enrichSource=Y292ZXJQYWdlOzIyODgzMDAwNjtBUzoxMjY4MTM4NDYxMTg0MDBAMTQwNzI0NjE4NTUwMQ%3D%3D&el=1_x_5&_esc=publicationCoverPdf
https://www.researchgate.net/institution/Universidad-Nacional-de-Mar-del-Plata2?enrichId=rgreq-09fa318dd8a33d88342ed83cef4b6931-XXX&enrichSource=Y292ZXJQYWdlOzIyODgzMDAwNjtBUzoxMjY4MTM4NDYxMTg0MDBAMTQwNzI0NjE4NTUwMQ%3D%3D&el=1_x_6&_esc=publicationCoverPdf
https://www.researchgate.net/profile/Eduardo-Blotta?enrichId=rgreq-09fa318dd8a33d88342ed83cef4b6931-XXX&enrichSource=Y292ZXJQYWdlOzIyODgzMDAwNjtBUzoxMjY4MTM4NDYxMTg0MDBAMTQwNzI0NjE4NTUwMQ%3D%3D&el=1_x_7&_esc=publicationCoverPdf
https://www.researchgate.net/profile/Eduardo-Blotta?enrichId=rgreq-09fa318dd8a33d88342ed83cef4b6931-XXX&enrichSource=Y292ZXJQYWdlOzIyODgzMDAwNjtBUzoxMjY4MTM4NDYxMTg0MDBAMTQwNzI0NjE4NTUwMQ%3D%3D&el=1_x_10&_esc=publicationCoverPdf
Enseñanza de técnicas de diseño con Microcontroladores 
 
Miguel A. Revuelta1, Eduardo L. Blotta2 
(1) Facultad de Ingeniería, Universidad Nacional de Mar del Plata 
 mrevuelta@fi.mdp.edu.ar 
(2) Facultad de Ingeniería, Universidad Nacional de Mar del Plata 
 eblotta@fi.mdp.edu.ar 
RESUMEN: En este trabajo se describe el método de enseñanza utilizado en la asignatura Diseño Digital 
con Microcontroladores que pretende alcanzar dos objetivos, que son los de adquirir la habilidad en el uso 
de las herramientas de desarrollo para Microcontroladores y en las técnicas para desarrollar software en 
lenguaje assembler. La motivación que impulsó a los docentes a generar esta nueva materia se basó en la 
necesidad de brindar a los alumnos de la carrera, herramientas que les ayuden a implementar aplicaciones 
basadas en Microcontroladores, ya que en los últimos años se observa una gran cantidad de proyectos 
finales basados en este tipo de soluciones. A lo anterior se suma el aspecto curricular, dado que mejora su 
calificación para acceder a grupos de investigación/desarrollo y a una futura inserción en el mercado 
laboral. La estrategia de enseñanza-aprendizaje implementada permite que los alumnos puedan superar 
los escollos iniciales que surgen al tener que empezar a trabajar con una cantidad de herramientas nuevas 
y desconocidas para casi todos ellos, y que de hecho podría inhibirlos de poner “manos a la obra”. Esta 
consiste en darles problemas simples al comienzo, apoyarlos con todo el material necesario y proveerles 
de los programas fuentes con un grado de avance de la solución tal, que puedan resolverlo sin mayores 
inconvenientes, ganando confianza al ver resultados. A medida que se avanza con el curso, los proyectos 
cuentan con mayor complejidad y mínima asistencia, logrando el objetivo de estimular su autonomía y la 
confianza en su capacidad para resolver los problemas que se les plantean. 
PALABRAS CLAVES: microcontrolador, herramientas de desarrollo, lenguaje assembler. 
 
1 INTRODUCCIÓN 
La asignatura Diseño Digital con 
Microcontroladores se encuentra dentro del 
grupo de materias optativas del departamento de 
Electrónica de la Facultad de Ingeniería de la 
UMNDP, para los alumnos avanzados de la 
carrera de Ingeniería Electrónica. En la Figura 1 
se observa el aula equipada. En ella el alumno 
dispone de un puesto de trabajo individual 
compuesto por una computadora personal donde 
se instalan las herramientas de aprendizaje. Al 
puerto serie de la PC se conecta una placa de 
desarrollo que contiene el microcontrolador ó 
MCU (MicroController Unit) bajo estudio y el 
circuito necesario para acceder al mismo y 
programarlo. Ésta, a su vez, se conecta mediante 
un cable plano a una placa experimental con el 
hardware necesario para implementar los 
trabajos prácticos. 
 
Figura 1. Puestos de trabajo. 
En asignaturas previas los alumnos se han 
familiarizado con el conjunto de instrucciones 
de los microprocesadores de la línea Motorola 
(hoy denominada Freescale) , por lo que se 
decidió adoptar un MCU relacionado, tal como 
el 68HC908JK1, que tiene el mismo modo de 
funcionamiento y un set de instrucciones 
evolucionado. Este MCU tiene ventajas 
adicionales tales como el bajo costo y el hecho 
de que el fabricante mantenga una política de 
divulgación técnica amplia (notas de aplicación) 
que nos permitió desarrollar un hardware que 
facilita la comprensión y evaluación del mismo. 
Los aspectos formales de la asignatura, 
programa, bibliografía, circuitos y soporte 
técnico están disponibles en la página web de la 
asignatura,(http://www3.fi.mdp.edu.ar/electroni
ca/catedras/DDCM.htm). 
2 DESCRIPCION DEL HARDWARE 
En la Figura 2 se observa la placa de desarrollo 
diseñada al efecto. En la misma, se encuentra el 
MCU y toda una circuitería adicional que le 
permite comunicarse con la PC y comandar el 
circuito de programación de la memoria flash. 
 
 
 
Figura 2. Placa de desarrollo 
 
El cable plano que vemos, lleva alimentación y 
extiende los puertos de Entrada/Salida (E/S) del 
MCU hasta la placa experimental. 
En la Figura 3 se observa la placa de 
experimentos, en la cual se dispone de diodos 
leds, displays 7 segmentos, pulsadores, sensor 
de temperatura (NTC), sensor de luz (LDR) , un 
buzzer y otros dispositivos que permiten 
desarrollar los proyectos delineados en las guías 
de trabajos prácticos. 
 
 
Figura 3. Placa experimental 
3 DESCRIPCION DEL SOFTWARE 
Otro factor de peso en la elección del MCU, es 
que la empresa P&E Microcomputer Systems, 
Inc. desarrollóuna herramientas de software de 
aplicación integral para los MCU de Freescale, 
denominada WinIDE (Windows Integrated 
Development Enviroment), que se puede 
obtener en forma gratuita en su sitio web 
(www.pemicro.com), a través de un convenio 
con la firma Freescale. 
 Este software esta diseñado para interactuar 
con el MCU elegido y soportar en un 100% las 
facilidades que brinda la placa de desarrollo. 
Esta disponibilidad irrestricta del programa en 
cuestión, permite que los alumnos también lo 
puedan instalar en una PC personal, lo que 
facilita trabajar fuera del laboratorio. 
Es interesante destacar que el WinIDE es un 
entorno muy poderoso que permite editar el 
proyecto en assembler, compilarlo, depurarlo y 
simularlo. 
En la Figura 4 vemos la pantalla de trabajo del 
WinIDE. En la misma se observa parte del texto 
del código fuente que cumple con la consigna 
de uno de los trabajos prácticos. 
En la barra de herramientas se dispone de 
accesos directos a otros módulos del entorno, 
los cuales permiten compilar y efectuar: 
simulación (simulación pura sin hardware), 
simulación en-circuito (el programa corre en la 
PC e interactúa con los puertos del MCU, no es 
tiempo real), cargar el programa en la flash del 
MCU y efectuar emulación en tiempo real (el 
programa corre en el MCU). 
 
 
 
Figura 4. Pantalla de trabajo WinIDE 
4 ENFOQUE PEDAGOGICO 
La estrategia de enseñanza-aprendizaje 
implementada permite que los alumnos puedan 
superar los escollos iniciales que surgen al tener 
que empezar a trabajar con una cantidad de 
herramientas nuevas y desconocidas para casi 
todos ellos, y que de hecho podría inhibirlos de 
poner “manos a la obra”. La misma consiste en 
darles problemas simples al comienzo, 
apoyarlos con todo el material necesario y 
proveerles de los programas fuentes con un 
grado de avance de la solución tal, que puedan 
resolverlo sin mayores inconvenientes, ganando 
confianza al ver los primeros resultados. 
A medida que se avanza con el curso, los 
proyectos poseen mayor complejidad y menor 
asistencia, logrando el objetivo de estimular su 
autonomía y la confianza en su capacidad para 
resolver los problemas que se les plantean. El 
alumno dispone de guías de trabajos prácticos 
que proponen la implementación de proyectos 
de complejidad creciente e incluyen todos los 
fundamentos necesarios y plantillas de archivos 
fuentes. 
Esto permite que se implemente y verifique en 
la PC las acciones que propone la guía de 
trabajos prácticos. Como ejemplo, transcribimos 
la introducción que acompaña a una guía de 
trabajos prácticos: 
 
Guía de trabajos prácticos N°6: 
Objetivos: 
Se deberá escribir un programa que controle un 
display siete segmentos . 
 
 
 
Figura 5. Esquema en bloques de un dígito 7 
segmentos 
 
 
Introducción: 
Los displays siete segmentos proveen un 
mecanismo sencillo y económico para mostrar 
dígitos numéricos y otros símbolos simples. La 
Figura 5 muestra las conexiones de un simple 
dígito 7-segmentos de la placa de 
experimentación. 
La llave digital le permite a la corriente 
circular por todos los segmentos. Por otro lado, 
las llaves de selección de segmento, controlan 
la corriente de cada segmento individual. 
 La placa de experimentación usada en este 
curso posee cuatro dígitos 7 segmentos, pero 
sólo se habilita uno a la vez, a través del uso de 
un multiplexor de 2 a 4. La selección se hace 
mediante los bits 5 y 6 del Puerto D. Para mas 
detalles, observe el circuito de la placa de 
experimentación. 
Requerimientos 
El programa deberá mostrar los números del 0 
al 9 en secuencia sobre uno cualquiera de los 
cuatro dígitos 7-segmentos disponible. Prevea 
un retardo entre dígitos de ½ a 1 seg. En este 
ejercicio el punto decimal del dígito 7-
segmentos deberá permanecer apagado. 
 
Escribir unos en PB1-PB7
y Pd7, ceros en Port D
Inicializar PB1-PB7 y
PD5-PD7 como salidas
Cargar el reg.X con el
número a mostrar
Buscar en la tabla de
búsqueda el patrón 7-segm.
Copiar el patrón 7-segm.
en el Port B
Cargar el reg.X con el
número de dígito 0
Buscar en tabla de patrones
de dígitos el valor p/el digito 0
Copiar Puerto D en x
y borrar PD5 y PD6
A OR X
Copiar resultado
en el Port D
 
Figura 6. Diagrama de flujo 
 
Diseño 
Para cada número que se quiera mostrar sobre 
el dígito, habrá un patrón predeterminado de 
segmentos encendidos y apagados. Se empleará 
una tabla de búsqueda (lookup table) para 
seleccionar el patrón adecuado de cada 
número. También se usará una segunda tabla 
de búsqueda para seleccionar la palabra que 
habilita el dígito deseado. Esto será de utilidad 
en un ejercicio posterior. Use el diagrama de 
flujo indicado en la Figura 6 como guía para 
escribir el programa. 
 
Implementación 
Use el archivo bcd7seg.asm para este 
programa. Los patrones de segmento para 
formar cada dígito deberían ser escritos en una 
tabla. La tabla se ordena de forma tal que el 
valor numérico que se quiere mostrar puede ser 
usado como índice en la tabla. 
En este ejercicio vamos a aprovechar la 
directiva “Include” que permite incluir en un 
programa assembler código y/o datos existentes 
en otro archivo. 
Vamos a aprovechar la tabla de patrones 7-
segmentos (archivo bin-7seg.inc). La extensión 
de este archivo puede ser cualquiera, pero suele 
denominarse ”.inc” (por Include) para 
diferenciar estos archivos especiales de los 
programas comunes. Nosotros vamos a usar la 
misma extensión para este ejercicio, y se 
recomienda para proyectos futuros. Abra el 
archivo bin-7seg.inc para observarlo. Su código 
será tomado en cuenta automáticamente al 
momento de la compilación si se incluye la 
siguiente línea en el archivo bcd7seg.asm: 
$Include ’bin-7seg.inc’ 
No hay ninguna regla que especifique en que 
parte de un programa debe ubicarse una tabla, 
pero por motivos de organización y facilidad de 
mantenimiento, conviene que estén todas juntas, 
fuera del código del programa, sea al principio 
o al final del mismo. Lo único que debemos 
recordar de esta tabla (además del nombre de 
archivo) es la etiqueta con la cual nuestro 
programa accederá al primer dato, que en este 
caso es BIN7SEG. 
La implementación de la selección del dígito se 
debe escribir los bits 5 y 6 del Puerto D sin 
modificar el resto. Por este motivo, se debe leer 
primero el Puerto D, mediante una máscara 
adecuada borrar los bits 5 y 6, y luego hacer 
una operación OR con el valor obtenido en la 
tabla BIN2DIG. De esta manera, solo serán 
afectados los bits 5 y 6 (los que hacen la 
selección del dígito), dejando el resto de los bits 
como estaban. 
Otra variante podría haber sido utilizar las 
instrucciones de escritura individual de bits 
(bset y brset), pero para este ejercicio, quiso 
mostrarse un método que podría servir para 
cualquier tipo de uso. 
Prueba 
Corra el programa con todos los números para 
verificar que la tabla no tiene errores. Luego 
cambie la selección a otros dígitos. 
5 METODOLOGIA EN CLASE 
Todas las guías de trabajos prácticos contienen 
una introducción teórica, con un planteamiento 
claro respecto del software que hay que 
implementar y de cómo debe interactuar con el 
circuito de la placa experimental. Se comentan y 
justifican todos los componentes electrónicos 
que forman parte de dicha placa. De la misma 
manera y en forma progresiva se va explicando 
como se diseñó la placa de desarrollo que es la 
que contiene el MCU y su circuito programador. 
Esto se relaciona permanentemente con la 
información disponible en el manual del MCU, 
desarrollando en el alumno la capacidad de 
interpretar la información que suministra el 
fabricante para generar aplicaciones que 
aprovechen toda la potencialidad del 
dispositivo. El alumno que así lo desee puede 
armar su propio programador y placa de 
aplicación, disponiendo del software para 
completar el entorno de desarrollo, que como se 
mencionó es gratuito y de uso irrestricto. 
6 CONCLUCIONES 
Se finaliza mencionando los resultados 
obtenidos conesta metodología. La ayuda 
inicial le permitió al alumno, manejar mucha 
información desde el comienzo, quitándole 
presión y permitiéndole un mejor desempeño. 
Comenzó a usar las herramientas desde el 
“primer día” y al ver resultados inmediatos, se 
logró captar su interés y mantener su 
motivación a lo largo del curso. El alumno 
adquiere independencia y autonomía en forma 
gradual. Esta evidencia se pone de manifiesto 
hacia el final del curso, cuando los alumnos 
implementan variantes a los proyectos 
delineados en las guías de trabajos prácticos, 
demostrando su iniciativa personal y su 
autoconfianza. 
 Si bien la elección del MCU se fundamentó, 
entre otras cosas, a los conocimientos previos de 
los alumnos de un dispositivo del mismo 
fabricante, se verificó posteriormente que no 
resulto un factor preponderante. Tal conclusión 
se saca de la experiencia de haber 
implementado posteriormente un curso de 
extensión abierto a participantes no 
especialmente calificados, con similar contenido 
de la asignatura que estamos tratando aquí. Del 
mismo participaron graduados de Ingeniería 
Electrónica y Mecánica, técnicos en Electrónica 
y en mantenimiento, etc, algunos de los cuales 
no tenían conocimientos previos respecto de lo 
que es un MCU. La gradualidad en el 
aprendizaje y la inmediata verificación práctica 
generó en los participantes una casi inmediata 
aceptación de la metodología empleada. 
Finalmente se efectuó el análisis de las 
encuestas acerca del grado de satisfacción con 
el contenido y desarrollo del curso. De las 
mismas se desprende una amplia conformidad 
con la metodología y lo que es más gratificante 
aún, se solicita la implementación de un nuevo 
curso con aplicaciones más avanzadas. De igual 
forma, los alumnos de la asignatura optativa 
expresaron inquietudes respecto de aplicaciones 
más complejas. 
Para dar respuesta a ambos planteamientos, se 
desarrollo una nueva placa de experimentos 
avanzada, basada en un MCU con más 
prestaciones, manteniendo el mismo entorno de 
desarrollo (Figura 7). 
 
 
Figura 7. Placa experimental de nivel avanzado 
Esta nueva placa permitirá desarrollar 
aplicaciones tales como ingreso de datos por 
teclado matricial y visualización en un display 
tipo LCD alfanumérico. Por otra parte, el 
conector RS232 responde a un puerto serie 
asincrónico implementado a partir del modulo 
SCI del MCU. Además, dispone de un conector 
de 5 pines para implementar un puerto de 
comunicación serie sincrónica según el estándar 
SPI. El Microcontrolador elegido para esta 
aplicación es el 68HC980GP32, al igual que 
para el anterior MCU, el programa WinIDE es 
de libre disponibilidad. La ampliación del 
contenido de los trabajos prácticos que incluya 
aplicaciones sobre la placa experimental de 
nivel avanzado, se aplicará en la asignatura 
optativa a partir del año 2009. 
7 REFERENCIAS 
Nota de aplicación AN2317, Freescale 
Semiconductor, Inc. 
Nota de aplicación AN-HK-33, Motorola 
Semiconductor. 
Notas de aplicación del Ing. Daniel Di Lella 
(Dedicate Distri Field Aplication Enginner) 
www.electrocomponentes.com.ar 
 
Manual MC68HC908JK1 y MC68HC908GP32 
Freescale . www.freescale.com 
P&E Microcomputer Systems Inc. 
www.pemicro.com. 
Benedetti M., Blotta E., Gómez Costa J. L. 
Sistema de Desarrollo Modular para prueba de 
equipos basados en Microcontroladores. 
Revista Nueva Telegráfica Electrónica / Marzo 
1995. 
 
 
 
View publication stats
https://www.researchgate.net/publication/228830006

Continuar navegando