El simulador en el proceso enseñanza-aprendizaje de microcontroladores (página 2)
Enviado por Claudio Alejandro García
Pata | Nombre | Función | Entrada/Salida | |||||
1 | Vdd | Positivo de la fuente de corriente continua | Energía | |||||
PTA5 – Pin entrada/salida para propósitos generales | Ent.I/O Sal. | |||||||
2 | PTA5 | OSC1 – XTAL, RC o entrada de oscilador externo | Ent. I | |||||
AD3 – entrada 3 del canal A/D | Ent. I | |||||||
KBI5 – entrada 5 de interrupción de teclado | Ent. I | |||||||
PTA4 – Pin entrada/salida para propósitos generales | Ent.I/O Sal. | |||||||
OSC2 – XTAL salida de oscilador interno | Sal. O | |||||||
3 | PTA4 | OSC2 – RC o salida de oscilador interno | Sal. O | |||||
AD2 – entrada 2 del canal A/D | Ent. I | |||||||
KBI4 – entrada 4 de interrupción de teclado | Ent. I | |||||||
PTA3 – Pin entrada/salida para propósitos generales | Ent.I/O Sal. | |||||||
4 | PTA3 | KBI3 – entrada 3 de interrupción de teclado | Ent. I | |||||
RST – interrupción de reset interno por harward | Ent. I | |||||||
PTA2 – Pin entrada/salida para propósitos generales | Ent.I/O Sal. | |||||||
5 | PTA2 | IRQ – interrupción externa por software | Ent. I | |||||
KBI2 – entrada 2 de interrupción de teclado | Ent. I | |||||||
TCLK – Entrada de reloj | Ent. I | |||||||
6 | PTA1 | PTA1 – Pin entrada/salida para propósitos generales | Ent.I/O Sal. | |||||
AD1 – entrada 1 del canal A/D | Ent. I | |||||||
TCH1 – Canal 1 de temporizador I/O | Ent.I/O Sal. | |||||||
KBI1 – entrada 1 de interrupción de teclado | Ent. I | |||||||
7 | PTA0 | PTA0 – Pin entrada/salida para propósitos generales | Ent.I/O Sal. | |||||
AD0 – entrada 0 del canal A/D | Ent. I | |||||||
TCH0 – Canal 0 de temporizador I/O | Ent.I/O Sal. | |||||||
KBI0 – entrada 0 de interrupción de teclado | Ent. I | |||||||
8 | Vss | Negativo de la fuente de corriente continua a masa | Energía |
Función de prioridad de pin
Memoria
La MCU 08 puede direccionar 64Kbytes de espacio de memoria. En estas direcciones se incluyen:
1536 bytes para uso de la memoria FLASH
128 bytes de memoria RAM
48 bytes de definición de vectores localizados en la FLASH
416 bytes de monitoreo de la memoria ROM
1536 bytes de programa FLASH y rutinas de borrado que se encuentra en la ROM
Ubicaciones de memoria sin aplicación y reservada
El acceso a una ubicación sin aplicación puede tener efectos impredecibles en MCU operación. En la Figura 2-1 y en las figuras de registro en este documento, son las que se indican sombreadas.
El acceso a una ubicación reservada puede tener efectos imprevisibles sobre la operación de MCU. En la Tabla A son las que se indican sombreadas.
Sección de entrada (input) salida (output) I/O
Las direcciones desde $0000 hasta $003F, que se muestran en la Figura 1-1, contienen la mayor parte de los registros de control, el estado y los datos. Los registros adicionales de I/O tienen estas direcciones:
$FE00 – registro de estado de descanso, BSR
$FE01 – registro de estado de Reset, SRSR
$FE02 – registro de descanso auxiliar, BRKAR
$FE03 – registro de control de marca de descanso, BFCR
$FE04 – registro de estado de interrupción 1, INT1
$FE05 – registro de estado de interrupción 2, INT2
$FE06 – registro de estado de interrupción 3, INT3
$FE07 – Reservado
$FE08 – Registro de control de memoria flash, FLCR
$FE09 – registro de dirección alta de descanso, BRKH
$FE0A – registro de dirección baja de descanso, BRKL
$FE0B – registro de estado y control de descanso, BRKSCR
$FE0C – registro de estado LVI, LVISR
$FE0D – Reservado
$FFBE – Registro de protección de bloque de FLASH
$FFC0 – Oscilador interno$FFFF – Registro de control COP
(3) ejecutar código de direcciones en este rango va a generar una dirección reset no válida.
El entorno integrado de desarrollo (el editor WinIDE) es una interfase grafica que permite editar, compilar, ensamblar y ejecutar las siguientes aplicaciones:
• CASM08Z ensamblador
• ICS08Z simulador en circuito
• PROG8SZ programador FLASH
• ICD08SZ depurador en tiempo real sobre circuito
El programa, dispone de una serie de iconos (archivos ejecutables) dentro de la carpeta principal del mismo. Se debe correr primero WinIDE.EXE, que es un programa editor y funciona como un lanzador ( shell ) para otros módulos. El programa de aplicación DEMO_QT1.ASM será automáticamente abierto cuando se comience con el WinIDE, pero esto puede cambiarse y abrirse desde el menú de archivos.
El próximo paso que necesita el archivo ASM, es ser ensamblado, creando un código objeto en formato S19 (formato Motorola) para "bajarlo" a la placa de prueba. Esta tarea se realiza haciendo un click en el botón "ASSEMBLER" en la barra de herramientas que dispone el WinIDE . Si se encuentra un error (detectado por el compilador), el editor resaltará la línea de código conteniendo el error y detendrá la compilación. El proceso se repetirá hasta que no se encuentre error alguno, y el archivo así generado quedará listo para grabarse en la memoria FLASH del microcontrolador.
Luego de eso el programador podrá correr el programa y observar su funcionamiento en forma normal o ejecutarlo paso a paso. Esto úlstimo permite observa la evoluciòn del programa en forma secuencial y como se produce la modificación de cada variable, registro y posición de memoria que interviene en el programa.
Menú principal del software
El software permite establecer una comunicación serie con el circuito programador, debiendo prepararse la placa con los jumpers adecuados para el microcontrolador que corresponda. Para ello se selecciona el módulo correspondiente el cual deberá setearse para iniciar la carga del programa.
El WinIDE opera como un editor estándar de archivos ASCII para windows, a modo de un archivo en ensambrador, e incluye los botones rápidos indicdos antes en el menú principal, este entorno permite que los archivos ensambrados puedan ser descrgados y resteados mientras en código fuente original es modificado y ensamblado.
Pantalla de inicio de simulador.
En la pantalla siguiente se puede apreciar como queda estructurado el simulador, en ella se pueden ver los principales registros, el mapa de memoria, los puertos, los ciclos de programa, la frecuencia de operación, etc. Con esto podemos observar como evoluciona el programa y de ser necesario hacer las correcciones correspondientes antes de grabarlo en la memoria.
Todos los hombres tienen naturalmente el deseo de saber. El placer que nos causa las percepciones de nuestros sentidos es una prueba de esta verdad (Aristoteles, 1997). Aunque se coincide, "la escuela…no consigue lograr sus objetivos mas importantes" (Gardner, 1993). Los alumnos que no presentan ninguna dificultad con el aprendizaje en el manejo de las nuevas tecnologías (celulares, ipod, internet, etc) a la hora de la escolarización presentan un alto índice de fracaso.
Para la experiencia se trabajó con 16 alumnos cuyas edades están comprendidas entre los 20 y los 32 años, pertenecientes al 6º año de la carrera de electrotécnico orientación electrónica industrial del turno noche, en el período comprendido entre Agosto y Diciembre del 2009 con un total de 36 horas cátedra. Éstas se distribuyeron entre el laboratorio y el aula tradicional.
La elección de este grupo se decidió en razón de poseer conocimientos de ciencias básicas (física, química, matemáticas) y manejo adecuado de técnicas digitales, además 12 de los alumnos trabajan en temas relacionados con domótica, control industrial y distribución de energía eléctrica, con lo cual podían valorar las posibles aplicaciones de los dispositivos que se tratan en este documento con el objetivo de modificar sus actitudes, como conducta apreciable, para obtener como resultado un aprendizaje.
En este contexto cabe mencionar lo siguiente, la conducta de un ser humano no es ya una cualidad que emerge de un algo interior y que se despliega en un afuera; no hay que buscar en un "adentro" lo que se manifiesta "afuera". Las cualidades … se derivan siempre de su relación con el conjunto de condiciones totales y reales. (Bleger 1973). Por otro lado afirma que con esta modificación de la conducta ocurre o tiene lugar un verdadero proceso de aprendizaje y adaptación, con creaciones nuevas (Bleger 1973).
El aprendizaje significativo es un concepto introducido por Ausubel; esto se entiende como la relación de lo nuevo con la estructura cognitiva previa que posee el individuo. En este trabajo se toma la idea de concepto inclusor (base de otros conceptos), a partir de estos como en un diagrama de árbol se marca una diferenciación progresiva y luego una reconciliación integradora. Luego se tiene una especie de andamiaje que forma la estructura interna de aprendizaje conformada por experiencias concretas y abstracción.
El mayor escollo fue que ninguno de los integrantes del grupo poseían conocimientos básicos de programación, lo cual representó un desafío; hubo que comenzar con los rudimentos básicos, o sea diagramas de flujo, instrucciones, bucles, etc, pero el entusiasmo compensó esta dificultad. En una primera etapa se les indicó como se realiza la programación a la manera tradicional mediante clases expositivas y ejercicios para fijar los conceptos trabajando con diagramas de flujo.
Tomando como base el enfoque sociohistórico de Vigotsky, donde el hombre transforma su universo mediante la cultura, fueron introduciéndose en la simbología del nemónico para programar en lenguaje ensamblador, mediante estos instrumentos simbólicos, los cuales modificaron sus estímulos, estos permiten desenvolverse en su medio, en nuestro caso el simulador. En este mismo sentido cabe hacer referencia a Dewey, quien supo conciliar el pragmatismo, naturalismo y conciencia social (mencionado por Silva, 2003), ya que mediante el programa que se diseña se pasa de lo abstracto a lo concreto, el circuito armado.
Una vez que hubieron asimilado los procesos de elaboración de programas sencillos mediante los diagramas de flujo y estructurado su andamiaje de saberes, se paso a explicar la función de la memoria, la arquitectura del microcontrolador y su proceso de funcionamiento mediante el seguimiento de una instrucción de suma. Luego se dejó que los alumnos investigaran mediante el método ensayo error fijaran su propio andamiaje.
La programación se realiza en lenguaje ensamblador; el objetivo de esto es que los alumnos asimilen los procesos de funcionamiento del dispositivo y den los primeros pasos en el camino de la programación de bajo nivel. Si bien existen compiladores en Qbasic, PASCAL y C, estos nos ponen a una distancia considerable de las operaciones y procesos de funcionamiento del microcontrolador lo cual desvía el objetivo final.
En un principio el trabajo fue intenso, ya que tambien hubo que elaborar estrategias didácticas mediante trabajos en pequeños grupos para solución de problemas de programación que permitieran asir las herramentas de manejo del simulador. Una vez que lo comenzaron a emplear se notó un cambio en la actitud de los alumnos al salir del aula tradicional para comenzar a trabajar en el laboratorio con el programa.
Dichas estrategias fueron orientadas de manera tal que los alumnos aprendieran a compilar y ejecutar un programa, antes de lo cual se deben realizar una serie de pasos, estos permiten acceder en forma secuencial a los procesos de carga para poder correrlo en el simulador y luego cargarlo.
Valorando el aprendizaje significativo, el trabajo central consistió en que los alumnos pudieran encender un led conectado a un pin del puerto de salida del microcontrolador realizando un programa simple, simularlo en el winide lo cual les permitió jugar de alguna manera con el dispositivo sin entrar en contacto directo con él eliminando el riesgo de destrucción por impericia. El objetivo de máxima fue que pudieran cargarlo en el chip para ejecutar el programa en tiempo real.
Según las notas de aplicación de Motorola, un programa típico puede ser el siguiente:
;Programa para encender el LED
RAMStart EQU $0080
RomStart EQU $F600
VectorStart EQU $FFFE
$Include 'jl3regs.inc'
Org RamStart
CNT DS 1 ;Reservo 1 posición de RAM
Org RomStart
INIT MOV #$0A,CNT ;Carga el número hexadecimal 0A en CNT
MOV #$40,DDRD ;01000000 = $40 PT D6 = salida, todas las demás entradas
MOV #$00,DDRB
MOV #$00,PTD
MOV #$00,PTB ;PTB Todas entradas
ALFA BRCLR 4,PTB,ALFA ;Espera un "1" en PT B4
BSET 6,PTD ;Prende el LED
BETA DEC CNT ;Temporiza
BNE BETA ;Salta a BETA si no es igual a cero
BCLR 6,PTD ;Apaga el LED
GAMA BRSET 4,PTB,GAMA ;Verifica pulsador sin presionar
BRA INIT
Org VectorStart
DW INIT
En la pantalla siguiente se puede apreciar como queda el programa instalado en el editor luego se lo compila y correge. Luego de esta etapa el compilador pueda traducir al lenguaje de máquina lo escrito en mnemónico para que el MCU lo pueda interpretar..
El diagrama del circuito es el siguiente:
De los 16 alumnos participantes del presente trabajo, 7 alcanzaron a realizar la carga del programa en el micro, el resto si bien pudo dominar las operaciones del microcontrolador mediante el winide, debido al tiempo empleado en la construcción de su andamiaje no llegaron a la etapa de carga efectiva del programa y su ejecución completa en el microcontrolador.
En todo el trabajo se intentó minimizar la clase expositiva al máximo de forma tal que por ensayo y error, los alumnos, pudieran armar su propio andamiaje tomando como base el conflicto cognitivo (Piaget, 1969), de forma tal que para solucionar un problema deberá relacionar lo que piensa con lo que sabe; luego mediante la modificación de sus esquemas de pensamiento, ideas y conceptos, el alumno, llegue a la solución por descubrimiento, por si mismo, construyendo su conocimiento.
El simulador permitió a los alumnos desarrollar su propio aprendizaje mediante la construcción de su propio conocimiento cambiando la perspectiva del origen del saber, de repente no había un actor que les marcara pautas y era el emisor de todos los sabberes.
Los resultados estadísticos fueron los siguientes:
El 75% aprendió a manejar en forma básica el simulador
El 50% aprendió los rudimentos del microcontrolador
El 44% pudo realizar la carga del programa y ejecutarlo en el micro.
Es evidente que hemos partido de un nivel básico, o sea lo único que se podía esperar era, lógicamente, un aprendizaje de alguno de los ítem que hemos visto, pero el valor está dado en el cambio de actitud de los alumnos en cuanto a la posibilidad de aprender por iniciativa propia y que un hecho concreto lo puede llevar a una idea o viceversa.
Volviendo a Gardner, podemos establecer que se ha encontrado algunas coincidencias con, su teoría, según la cual todos los seres humanos son capaces de conocer el mundo de siete modos diferentes, (Gardner, 1993), a saber:
Lógico matemática
Lingüística
Espacial
Musical
Corporal
Emocional
Naturalista
La teoría sostiene que todos tenemos las siete formas de conocer el mundo que podemos apreciar, pero unas predominan respecto de otras según la persona. En consecuencia de esto último se produce un enfoque diferente respecto a la tradicional forma del proceso enseñanza aprendizaje.
Pues bien, los alumnos han tenido que pasar por algunos de estos modos de comprender el dispositivo:
Han tenido que realizar cálculos sencillos para determinar la tensión, la corriente y la potencia de los componentes del circuito.
Han establecido comunicación escrita y verbal para comunicar sus conceptos e ideas a sus compañeros.
Han debido establecer un entorno de trabajo en papel y en la PC.
Si bien en nuestro caso no hay dispositivos en movimiento, si los hubieran podrían establecer sonidos rítmicos los cuales nos dan indicios de funcionamiento (debemos recordar al mecánico que escucha el motor de nuestro auto y nos dice que la válvula de admisión del 2º cilindro está fallando).
Han establecido un lenguaje corporal el cual les permitió tener mas seguridad en si mismos mediante el proceso de ensayo y error.
Han desarrollado un proceso de pensamiento mediante el cual la relación con sus compañeros y el intercambio de opiniones van conformando su andamiaje de saberes.
De alguna forma, al estar frente al simulador, es como si estuviesen delante de un video juego, con lo cual se vuelve a un proceso de aprendizaje infantil.
Si bien este un simple trabajo que por su corta extensión ha debido dejar de lado variables de análisis, se puede concluir que el software de simulación es útil como herramienta en la enseñanza de microcontroladores debido no solo a las ventajas económicas respecto del uso del dispositivo en forma directa, si no también a la predisposición que presentan los alumnos ante el simulador ya que pueden trabajar con el dispositivo y hasta simular su destrucción sin riesgo.
También demuestra ventajas en cuanto al proceso enseñanza aprendizaje ya que cambia la posición del aula de una estructura radial cuyo punto focal esta en el docente a una estructura de red, donde no existe un dueño del saber total, entonces el aprendizaje se realiza interactuando con sus propios compañeros intercambiando ideas, haciendo propuestas, reconocer errores, corregir procedimientos y volviendo a intentarlo.
Todo el proceso se cierra con la carga del programa y la confección del circuito comprobando su funcionamiento real con lo cual concretamos en hechos la idea original, y como de encender un led a operar un actuador (electroválvula, seccionador, etc.) hay un paso (la interfase), los alumnos se encuentran dando los primeros pasos en el control industrial.
Queda expuesto que la teoría de inteligencias múltiples es un tema a desarrollar e investigar mas profundamente y que el uso de simuladores nos pone en la posición de iniciar un camino para mejorar nuestra vapuleada escuela media ya que la implementación en las aulas de simuladores no es económicamente inaccesible y favorece la actitud del alumno.
Por otro lado se propone iniciar estudios relacionados con las aptitudes adquiridas por los alumnos que trabajan con simuladores y aquellos que no lo hacen, para establecer las competencias laborales con las que egresan a modo de una realimentación para autocorrección del sistema. Esto requiere de un seguimiento de los egresados a lo largo de un tiempo prolongado, ya que los saberes adquiridos se van perdiendo con el transcurso del tiempo si no son utilizados de alguna manera.
Angulo, J.M. 1997 Microprocesadores y microcontroladores – Paraninfo – España |
Aristóteles .1981 Metafísisca – Espasa Calpe – España |
Bleger, J. 1973 Psicología de la conducta – Paidos – Argentina |
Cassirer, E. 2000 Antropología filosófica – F. de Cultura Económica – Argentina |
Dewey, J. 2001 Credo pedagógico – Edit. U. de León – España |
Dewey, J. 2004 Experiencia y educación – Biblioteca Nueva – España |
Durkheim, E 2003 Pragmatismo y sociología – Quadrata – Argentina |
Gardner, H. 1993 La mente no escolarizada – Paidos – Argentina |
Ginsburg, M.C. 1991 Técnicas digitales con circuitos integrados – Edigraf – Argentina |
Ibarola, M./Gallart, A. 1994 – Educación y trabajo – Unesco |
Kamii, C. 1993 Piaget y la educación – A. Machado – España |
Naylor,T. 2002 Tecnicas de simulación en computadoras – Mc Graw Hill – México |
Neri, C 2007 No todo es click – Libros & Bytes – Argentina |
Piaget, J. 1969 Psicología y Pedagogía – Ariel – Argentina |
Platon 1998 República – Eudeba – Argentina |
Vigotsky, L. 1977 Pensamiento y lenguaje. |
Bibliografía adicional
Buch, T 2001 El Tenoscopio – Aique – Argentina |
Kant, I. 1983 Pedagogía – Akal – España |
Piaget, J. 2000 Psicología y pedagogía – Crítica – Argentina . |
Sears, F.W / Zemansky, M. W. 1978 Física – Aguilar – España |
Silva, Enrique D. 2006 – La escuela técnica y su correlato laboral – Prometeo – Argentina |
Menu, J. 2000 Microprocesadores I – Apuntes de Clase – INSPT – UTN |
Autor:
Prof. Claudio Alejandro García
Director
Dr. Enrique Silva
Universidad Tecnológica Nacional
Facultad Regional Buenos Aires
Tesina en Tecnología Educativa
Septiembre 2010
Página anterior | Volver al principio del trabajo | Página siguiente |