Sunteți pe pagina 1din 16

Microcontroladores

2018-I

Autor: Guía de Laboratorio


Hans Milos
Toquica Cáceres Hola Mundo

1 Objetivos
• Reconocer y usar el IDE de programación CodeWarrior.

• Identificar los archivos que se generan al crear un proyecto.

• Conocer las conexiones necesarias para programar una µCU.

• Identificar el proceso para programar una µCU en CodeWarrior.

• Conocer la herramienta de depuración del IDE.

• Diferenciar los empaquetados de circuitos que existen para microcontroladores, micro-


procesadores y elementos pasivos importantes.

2 Indicaciones Generales
Conformar grupos de laboratorio de 3 estudiantes.

3 Materiales y Equipos
• Programador USB Multilink.

• Microcontrolador de Freescale MC9S08QG8CPBE.

• LED.

• Resistencia.

• CodeWarrior V10.7 o superior.

1
Microcontroladores
2018-I

4 Etapa de Diseño
1. Descargue el datasheet del microcontrolador con el que va a trabajar, hágalo desde la página
del fabricante.

2. Revise el diagrama de conexiones básico (Figure 2-4 del datasheet), sugerido por el fabri-
cante y la primera de las imágenes de los diferentes empaquetados de 16 pines del micro-
controlador (Figure 2-2 del datasheet), basado en dicha información exponga si la Figura
1 (de este documento) es una implementación aceptable para encender y apagar un LED
usando el reloj interno del microcontrolador.

3. Si el diseño de circuito mostrado en la Figura 1 es aceptable impleménte el montaje cor-


respondiente; si no es aceptable, diseñe en papel los cambios que considere necesarios y
exponga sus razones al profesor, después de que el profesor le de autorización, haga el
montaje del diseño con los cambios que usted efectuó.

5 Procedimiento
5.1 Creación del Proyecto
Use el Código 1 y el Código 2 para programar su microcontrolador, en este caso se mostrará la
programación (o descarga de información al microcontrolador) por medio de tareas.

5.2 Programación por Tareas


Para crear la tarea primero diríjase a la herramienta Flash programmer en la barra de herramien-
tas superior, una vez allí seleccione la opción Open Flash Programmer, como se muestra en la
Figura 2.
En la parte inferior de la pantalla aparecerá una nueva pestaña llamada Target Tasks, como
se muestra en la Figura 3.
Para crear la tarea de programación siga las imágenes desde la Figura 4 hasta la Figura 13.

5.3 Programar el microcontrolador


Una vez creada la tarea es necesario ejecutarla, usando la opción Execute de la pestaña Target
Tasks, opción que se puede apreciar en la Figura 14.

2
Microcontroladores
2018-I

L1

Figura 1: Esquemático del circuito a implementar.

Figura 2: Opción Flash Programmer.

3
Microcontroladores
2018-I

Figura 3: Pestaña de Target Tasks.

Figura 4: Configuración de la nueva tarea.

4
Microcontroladores
2018-I

Figura 5: Selección de microcontrolador.

5
Microcontroladores
2018-I

Figura 6: Seleccionar acción de Protect/Unprotect.

6
Microcontroladores
2018-I

Figura 7: Añadir acción de desprotección del dispositivo para asegurar la programación del
mismo.

7
Microcontroladores
2018-I

Figura 8: Seleccionar acción de Erase/Blank Check.

8
Microcontroladores
2018-I

Figura 9: Añadir opción de borrado para limpiar la FLASH.

9
Microcontroladores
2018-I

Figura 10: Seleccionar acción de Program/Verify.

10
Microcontroladores
2018-I

Figura 11: Añadir el programa que se desea ejecutar.

11
Microcontroladores
2018-I

Figura 12: Seleccionar añadir y verificar.

6 Implementación
1. De igual forma que en la primera práctica del curso, identifique los archivos del proyecto.

2. Para los códigos que copió realice el diagrama de flujo de cada uno de ellos y su correspon-
diente pseudocódigo.

3. Haga un resumen escrito de los procesos vistos en la guía.

4. Simule los programas, verifique el funcionamiento de ellos y ejecute en el microcontrolador.

5. Haga un resumen de la nota de aplicación AN2111, resalte los aspectos más importantes
a tener en cuenta a la hora de programar en Assembly para el ensamblador de la familia
HCS08.

6. Haga un mapa mental de la nota de aplicación AN2526.

7 Preguntas
1. ¿Por cuáles razones está bien o mal diseñado el esquemático de la Figura 1, del que se habló
en la sección 4?, si usted hizo cambios en el circuito, documéntelos (incluso si no fueron
aprobados).

12
Microcontroladores
2018-I

Figura 13: Resumen de las acciones de la tarea.

Figura 14: Opción de ejecución de la tarea.

13
Microcontroladores
2018-I

2. ¿Cuál valor de resistor seleccionó para enceder el LED?, exponga su análisis detalladamente.

3. ¿Por qué las salidas de los circuitos deberían ser de baja impedancia y las entradas deberían
ser de alta impedancia?

4. ¿Existen aplicaciones para las cuales el botón de RESET no es necesario?, ¿cuáles son?

5. ¿El código 1 está hecho conforme a la nota de aplicación AN2111?

6. ¿Por qué la función Delay aparece dos veces en el Código 2?, ¿está bien que el nombre
de una función inicie con mayúscula en C?, ¿está bien que el nombre del argumento de la
función cambie en las dos apariciones en el Código 2?

7. En la práctica pasada se exploró la opción de depuración del IDE, ¿cuál es la diferencia entre
depurar y programar por tareas en el microcontrolador?, ¿hay alguna ventaja de usar una o
la otra?

8. En esta práctica usted simuló una vez más los programas, ¿lo que simuló fue lo que espera-
ba?, ¿obtuvo el mismo resultado en el circuito?

9. ¿Qué es el puerto JTAG?, ¿por qué ese nombre?

10. ¿Qué es BDM?, ¿Para qué sirve?

11. ¿Cuál es la frecuencia de apagado y encendido del LED?, ¿por qué se obtiene esta frecuencia
con la programación que se hizo?, ¿podría cambiarse esta frecuencia fácilmente?, ¿entre
cuáles rangos se puede programar esta frecuencia?

12. Ingrese al sitio web de Wikipedia List of integrated circuit packaging types (el link se en-
cuentra en los recursos de la práctica) y léa el resumen inicial. Para las secciones Through-hole
packages , Surface mount, Chip carrier, Pin grid arrays, Flat packages, Small outline packages, Chip-
Scale packages y Ball grid array haga una descripción de dichas clases (id est las 8 clases de las 8
secciones) a manera de resumen, incluya una foto de cada una de las subclases de las tablas
(un poco más de 80 subclases en total). ¿En qué se diferencian las clases de empaquetados?.
Incluya un pantallazo de las referencias de dimensión que se muestra en la misma página.

8 Requisitos de Aprobación de la Práctica


• Subir el informe a Moodle en la fecha estipulada.

• En el informe se debe documentar el programa implementado.

• En el informe documentar las observaciones de los puntos de la práctica.

14
Microcontroladores
2018-I

• En el informe responder las preguntas formuladas en la sección 7 del presente documento.

• Demostrar entendimiento de las notas de aplicación AN2111 y AN2526.

• Responder a las preguntas de la sección 7 en el informe.

9 Recursos
• List of integrated circuit packaging types.
https://en.wikipedia.org/wiki/List_of_integrated_circuit_packaging_types

• Información puesta en el Moodle del curso.


https://campus.virtual.unal.edu.co/

• Página del fabricante de los microcontroladores usados en el curso.


https://www.nxp.com/

Código 1: Ejemplo de código a implementar usando Assembly Language.


; Progama ejemplo 1, Assembly
; Microcontoladores
; Universidad Nacional de Colombia

mainLoop :
LDA #$52
STA SOPT
MOV #$08 ,PTBDD
LDA #$0F
loop: MOV #$08 ,PTBD
NOP
DBNZA loop
MOV #$00 ,PTBD
LDA #$0F
DBNZA loop
feed_watchdog
BRA mainLoop

Código 2: Ejemplo de código a implementar usando C.


// Progama ejemplo 2, C
// Microcontroladores
// Universidad Nacional de Colombia

# include <MC9S08QG8 .h> // Cambiar según el microcontrolador selecionado

15
Microcontroladores
2018-I

Código 2 (continuación): Ejemplo de código a implementar usando C.

void Delay ( unsigned long delay );

void main ()
{
SOPT1 = 0x52; // Disables COP watchdog
PTBDD = 0 b00000000 ; // Sets PTB0 -5 as output
for (;;) // Endless loop
{
PTBD = 0 b00001000 ; // Sets PTB0 -5 high
Delay (0 x08 );
PTBD = 0 b00000000 ;
Delay (0 x08 );
}
}

void Delay ( unsigned long i)


{
for (i; i > 0; i--)
{ // Does nothing
}
}

16

S-ar putea să vă placă și