Professional Documents
Culture Documents
Introducción
Este curso es sobre el funcionamiento, diseño e implementación de la computadora digital. No obstante la
enorme variedad de situaciones que pueden ser resueltas o controladas por una computadora digital
estas poseen una estructura física interna con pocas variaciones entre una y otra. Las diferencias
realmente radican en la programación y en el tipo de periféricos o puertos utilizados en su diseño, los
cuales dependen estrechamente del tipo de aplicación.
Dos son los elementos esenciales que componen a una computadora digital, uno es el hardware y otro el
software. El hardware es bastante convencional y está formado por todos los elementos físicos que
conforman a la computadora y que a su vez implementan tres secciones elementales: el
microprocesador o a veces llamado CPU (Unidad Central de Procesamiento), la memoria y los
periféricos. El software es el conjunto de programas conformados por las instrucciones que controlan
el quehacer de la computadora y los datos que estos requieren para su operación. Tanto los datos
como los programas residen en la memoria de manera permanente algunos (programas monitores y/o
sistemas operativos) y temporal otros.
Una variante o más bien una extensión del microprocesador es el “microcontrolador MCU” el cual integra
en un solo dispositivo las tres secciones mencionadas con el objetivo de realizar alguna aplicación de
control, de allí el término MCU.
El objetivo principal del curso es el estudio del hardware, del software y de sus variantes enfocados en el
diseño y programación de una computadora tipo genérica. Aunque es posible describir el hardware de
una computadora sin hablar del software llegará el momento en el que hay que probar su
implementación. La única forma de hacerlo es programar funciones básicas que prueben el
funcionamiento correcto de todas sus partes, es aquí en donde el software es importante. Para lograr
este objetivo se ha seleccionado una plataforma específica integrada por el MC98S12C128 como
elemento físico parte del hardware y el CodeWarrior como interfaz de desarrollo para su programación
(software).
Esta práctica y las subsiguientes están orientadas al estudio de estos elementos, inicialmente es necesaria la
familiarización con el IDE o Entorno Integrado de Desarrollo (Integrated Development Enviroment) de
CodeWarrior para tal fin siga el siguiente procedimiento.
Procedimiento
1. Instale el CodeWarrior1
2. Ejecútelo y en el “Startup Dialog” seleccione “Run Getting Started Tutorial”. La mejor forma de
aprender a utilizar un nuevo IDE es ejecutando los tutoriales que le acompañan. Los tutoriales son
sencillos y pueden realizarse con poco esfuerzo de su parte.
3. En el panel izquierdo de la ventana de ayuda se presenta un grupo de siete tutoriales. Ejecute los
tutoriales siguiendo las indicaciones presentes en el propio tutorial pero tomando en cuenta las
consideraciones que a continuación se listan.
a. C Tutorial:
Paso 1 hágalo tal cual. “ Clic en el botón de “Create a New Project” en la ventana de inicio. Si el Code
Warrior ya está corriendo, invoque un nuevo proyecto usando “File New Project”
Paso 2 seleccione HCS12 >> HCS12C >> MC9S12C128 en vez de MC9S12DP256 ya que este no se
provee y aquel sí. Opte por “Full Chip Simulation”
Paso 3 ubique su proyecto en un directorio en la raíz de su disco y con el nombre del grupo de
laboratorio (Las primeras silabas de los apellidos de los integrantes s y ubíquelo en un directorio en la
raíz del Disco. Por ejemplo: c:\CWPRJ12\LOJOCRUZx\TutoC Grupo formado por López, Jolie y Cruz).
Paso4 hágalo tal cual.
1
El procedimiento de instalación de CodeWarrior no difiere del de instalación de otros programas similares, existe un CD
con el programa y los datos necesarios para su instalación.
Ing. M. Logreira V. A.
Práctica No 1 de Computadoras Digitales
Tutoriales de CodeWarrior HSC12
Ing. M. Logreira V. A.
Práctica No 1 de Computadoras Digitales
Tutoriales de CodeWarrior HSC12
____________________________________________________________________________________
Paso 6 abra el archivo MCS9S12C128.inc en el directorio “includes” y dele un recorrido visual rápido y
observe que en el archivo se declaran todos los símbolos que corresponden a los registros de
configuración de los recursos con los que cuenta el mcu 12C128. Haga un listado con los primeros diez
(el Puerto B incluido) recursos que se listan en este archivo, los recursos se especifican como
comentarios en color rojo y aparecen entre los indicadores de comentario de C /*** PORTA ...
***/ esta es la única parte que atañe al recurso que se requiere aparezca en el listado.
____________________________________________________________________________________
____________________________________________________________________________________
____________________________________________________________________________________
____________________________________________________________________________________
____________________________________________________________________________________
Paso 7 posterior al copy and paste cambie las instrucciones LDAA #$01 por LDAA #$80 ya que se
utilizará el LED conectado al pin 7 del PORTB
Paso 8 hágalo tal cual.
Paso 9 hágalo tal cual.
Paso 10 hágalo en la segunda parte dele clic derecho con el cursor ubicado en la ventana Data y en el
menú que aparece Add Expresion... y luego escriba PORTB.
Paso 11 hágalo tal cual.
Paso 12 conecte el APS12C128 proporcionada en el almacén y seleccione TBDML en vez de P&E
Multilink/Cyclone Pro para activar el modo de Depuración en el Trasfondo siga el resto de las
indicaciones.
Paso 13 hágalo tal cual.
Paso 14 cuando realice la ejecución continua el LED permanece encendido y no se nota el parpadeo.
Cuando realice el paso a paso note que el LED se ilumina cada dos clics.
Paso 15 antes de cerrar el depurador haga un listado de las instrucciones utilizadas en el mainLoop
incluyendo una descripción de la operación que realiza c/u:
____________________________________________________________________________________
____________________________________________________________________________________
____________________________________________________________________________________
Esto culmina este tutorial, liste al menos 4 tareas que aprendió a hacer en el Code-Warrior en este
tutorial:
1. ______________________________________; 2. ________________________________________;
3. ______________________________________; 4. _________________________________________
c. Absolute Assembly Tutorial
Se espera que este tutorial pueda realizarlo por usted corrigiendo en donde sea necesario los pasos de
manera similar al tutorial anterior. Se sugiere TutAsm2.mcp para el nombre.
¿Cuál es la diferencia entre “relocatable” y “absolute assembly”:
____________________________________________________________________________________
____________________________________________________________________________________
____________________________________________________________________________________
¿Cuál es la dirección donde se ubica el programa _Startup: ___________________________________
d. Processor Expert Tutorial para facilitar el uso del MCU el codewarrior cuenta con esta característica
que nos permite en un ambiente gráfico amigable configurar los diferentes registros que controlan el
funcionamiento de los periféricos con que cuenta el MCU. Active este tutorial y siga los pasos del
instructivo.
Paso 1 hágalo tal cual.
Paso 2 seleccione HCS12 >> HCS12C >> MC9S12C128 en vez de MC9S12DP256 ya que este no se
provee y aquel sí.
Paso 3 hágalo tal cual. Note que ahora usa el botón de Siguiente en vez de Finalizar como en los
Ing. M. Logreira V. A.
Práctica No 1 de Computadoras Digitales
Tutoriales de CodeWarrior HSC12
tutoriales anteriores.
Paso 4 hágalo tal cual.
Paso 5 hágalo tal cual. En este paso es donde se selecciona el Processor Expert.
Paso 6 hágalo tal cual. Se recomienda usar la animación. Use las flechas ubicadas en la línea superior
para moverse de pregunta en pregunta del asistente.
Paso 7 hágalo tal cual no atienda el error, posteriormente será subsanado
Paso 8 hágalo tal cual. Use la animación. Aquí se trabaja con un concepto avanzado llamado
interrupción. En realidad nuestros LEDs son verdes.
Paso 9 recuerde que en nuestro board PB0 no tiene LED, el que tiene es PB7 así que use
PB7_ADDR7_DATA7 en vez del que se pide, la dirección sigue siendo salida. (Use la animación si tiene
dudas).
Paso 10 hágalo tal cual. En los métodos del Beam solo permita generación de código para SetDir y
NegVal.
Paso 11 hágalo tal cual. Use la animación. Se selecciona el canal que produce la interrupción y el
periodo entre interrupciones en medio segundo.
Paso 12 hágalo tal cual aparece en la animación.
Paso 13 hágalo tal cual aparece en la animación.
Paso 14: o GreenLed depende del paso 8.
Paso 15: hágalo tal cual.
Paso 16 siga las instrucciones pero recuerde seleccionar TBDML en lugar de “Full chip simulation” y que
el CPU del que disponemos es el C128. Luego active la simulación y ejecute con la flecha verde.
Presente el resultado de su trabajo al instructor para que le firme en el espacio señalado esto le da
derecho a la primera Nota:__________________________________________
¿Qué se espera como comportamiento en la tarjeta cuando ejecuta esta aplicación usando la flecha
verde?
___________________________________________________________________________________.
Liste lo aprendido en este tutorial:
____________________________________________________________________________________
____________________________________________________________________________________
____________________________________________________________________________________
____________________________________________________________________________________
e. C with Device Initialization Tutorial la inicialización del dispositivo permite realizar la configuración
inicial de los recursos (periféricos) en un ambiente gráfico amigable. Ejecute este tutorial y siga los
pasos que se indican.
Paso1: hágalo tal cual.
Paso 2 seleccione HCS12 >> HCS12C >> MC9S12C128 en vez de MC9S12DP256 ya que este no se
provee y aquel sí.
Paso 3: hágalo tal cual, pero recuerde ubicar su proyecto en el directorio de trabajo prestablecido.
Paso 4: hágalo tal cual.
Paso 5: hágalo tal cual.
Paso 6: hágalo tal cual.
Paso 7: hágalo tal cual.
Paso 8: habilite el Pin 7 en vez del 0 ya que este es el que tiene LED en nuestra tarjeta.
Paso 9: este paso cambia, haga clic en CPU y expanda “Clock setting” y luego “Input clock”, en “Clock
type” seleccione “External clock source”, en “Clock frecuency” escriba 4 <Intro> y verifque la
frecuencia interna del MCU ______________________, finalmente seleccione Ok.
Paso 10 antes de hacer lo que se indica, haga clic en la opción TIM, luego expanda “Clock settings” y en
el “Prescaler” seleccione Bus Clock / 32 para obtener la frecuencia de 62.5 KHz que sugiere el paso
anterior, a partir de aquí siga el instructivo del paso tal cual.
Paso 11: hágalo tal cual, tenga en cuenta el mensaje que sale al final y corrija lo que se indica en caso
Ing. M. Logreira V. A.
Práctica No 1 de Computadoras Digitales
Tutoriales de CodeWarrior HSC12
Ing. M. Logreira V. A.
Práctica No 1 de Computadoras Digitales
Tutoriales de CodeWarrior HSC12
Ing. M. Logreira V. A.