Universidad Simón Bolívar Departamento de Electrónica y Circuitos / Sección de Sistemas Digitales EC2721 – Arquitectura del Computador I Trimestre Enero – Marzo de 2012 Práctica 5 MC9HCS08QE128: Uso de los Periféricos - PUERTOS I/O, RTC, IRQ, SCI y ADC. OBJETIVO: Escribir un programa en lenguaje ensamblador del HCS08 donde se haga uso de los Periféricos: PUERTOS I/O, RTC, IRQ, SCI y ADC. PRELABORATORIO: Escribir un programa “PRACTICA 5” en lenguaje ensamblador de HCS08 que cumpla con las especificaciones descritas más adelante. El programa debe seguir estas restricciones: • Modulo de configuración del reloj del bus ICS “Internal Clock Source” en su configuración por defecto FEI (FLL Engaged Internal), que emplea el oscilador interno del periférico (32,768 kHz) y que genera una frecuencia de 4 MHz en el bus interno del microcontrolador. • COP (Computer Operating Properly) desactivado. Este modulo representa el Perro Guardián o wactchdog timer del microcontrolador. • Apuntador de pila inicializado en la posición $207F de la memoria RAM. • Código de Programa de Usuario en la posición $2080. • Constantes y tablas a partir de la posición $C000. El programa “PRACTICA 5” que Ud. desarrollará debe pasar por los estados que se describen a continuación: Figura 1 .- Diagrama de Estados del programa “PRACTICA 5” El programa tiene 3 Estados: ESTADO 0, ESTADO 1 y ESTADO 2. En estos 3 estados el Microcontrolador se comunicará con la PC a través del Puerto Serial RS232, con las siguientes especificaciones: velocidad 9600 baudios, con caracteres de 8 bits, sin bits de paridad y un bit de stop. En cada Estado se encenderán los LEDS del módulo de desarrollo indicando el valor del ESTADO: ESTADO 0 = > LED 0 encendido, ESTADO 1 = > LED 1 encendido y ESTADO 2 = > LED 2 encendido Estado 0 – El microcontrolador envía a la PC un carácter “@” (ver Fig. 2) y se queda en espera hasta recibir un carácter “F” o un carácter “A” enviado desde el teclado de la PC por RealTerm. Cuando reciba la letra “F” pasará al Estado 1 y cuando reciba la letra “A” pasará al Estado 2. Figura 2 .- Presentación en RealTerm en el Estado 0 Estado 1 – Se envían a la PC los primeros 12 elementos de la serie de Fibonacci para su presentación en el RealTerm en la forma que se indica en la Figura 4. Al terminar queda en espera de una interrupción IRQ para regresar al Estado 0; recibir un carácter “F” desde la PC hace que se repita la presentación. 0 1 1 2 3 5 8 13 21 34 55 89 Figura 3 -. Presentación en RealTerm en el Estado 1 Figura 4 .- Presentación en RealTerm en el Estado 2 Observe que los números se presentan en codificación decimal, el microcontrolador debe hacer los cálculos en BCD y convertir cada byte a dos caracteres en código ASCII para su presentación en RealTerm. (Opcional: Presentar 14 elementos de la serie haciendo las operaciones en binario y las conversiones binario -> decimal en ASCII). Estado 2 – Se configura el Modulo ADC para tomar una muestra por el pin PTA 0 (el módulo DEMOQE128 tiene un potenciómetro conectado a ese pin). El resultado se envía a la PC en hexadecimal como cuatro caracteres en código ASCII y se presentará en el RealTerm, según se muestra en la figura 4. Al terminar queda en espera de una interrupción IRQ para regresar al Estado 0; recibir un carácter “A” desde la PC hace que se tome y envíe otra muestra. PTA0 =>ADP0=>Potenciometro; PTB1=>TD; PTB0=>RXD PTA5=IRQ=TPM1CLK=/RESET Disposición de componentes en el modulo DEMOQE128 Nota 1: Cada linea de texto enviada a RealTerm debe terminar con los caracteres ASCII 0x0D (Return) y 0x0A (Line Feed); el primero hace que la posición de impresión regrese a la primera columna del terminal, y el segundo avanza esa posición a la linea siguiente. Nota 2: Es indispensable para poder realizar la práctica, la entrega de un Preinforme en el cual esté detallado el funcionamiento del programa exigido, usando diagramas de estados y explicación del código elaborado. ACTIVIDAD EN EL LABORATORIO: Actividad 1: Simular el programa completo empleando la herramienta True-Time Simulator y verificar el funcionamiento de cada uno de los estados en forma separada. Actividad 2: Programar el módulo S08QE128 con el programa completo, comprobando el funcionamiento del mismo y la correcta transición entre los estados. Bibliografía Recomendada: a. USER MANUAL DEMOQE128UM.pdf b. REFERENCE MANUAL MC68S08GP128RM.pdf c. REFERENCE MANUAL HCS08RMV1.pdf d. DEMOQE Base Board Schematic.pdf e. Guías SILICA guia68HC08.pdf y instrucc0508.pdf f. Libro gp32.pdf Autor Omer Cerid (Turquía).