PDF de programación - Curso sobre Microcontroladores

Imágen de pdf Curso sobre Microcontroladores

Curso sobre Microcontroladoresgráfica de visualizaciones

Publicado el 31 de Mayo del 2018
1.134 visualizaciones desde el 31 de Mayo del 2018
230,7 KB
9 paginas
Creado hace 13a (25/08/2010)
Curso sobre Microcontroladores
Familia HC9S08 de Freescale

Por Ing. Daniel Di Lella – EduDevices – www.edudevices.com.ar
e-mail: [email protected]
Responsable Area Educación – ELKO / ARROW – www.elkonet.com
e-mail: [email protected]

Descripción del curso.
El curso sobre microcontroladores de la familia HC9S08 de Freescale Semiconductor
está basado en los conceptos impartidos a lo largo del “Curso sobre
Microcontroladores HC705 y HC908 de Freescale Semiconductor” contenido en el
CD ROM de Instalación que forma parte del apoyo bibliográfico del sistema didáctico
“EDUKIT08”. Se supone que el lector dispone de los conocimientos necesarios, tanto
teóricos como prácticos en la familia de microcontroladores HC908 FLASH
alcanzando un grado de dominio óptimo de las herramientas de desarrollo de hardware
y software disponibles para dicha familia. Si ello no fuera así, se sugiere al lector poco
experimentado, comenzar con el “paquete básico” contenido en el sistema didáctico que
tiene como objetivo la capacitación en la familia HC908 o consultar el numeroso
material bibliográfico que se encuentra en el sitio web de EduDevices
(www.edudevices.com.ar) y numerosos sitios en Internet.

La familia HC9S08 es una versión muy mejorada de la familia HC908 y 100%
código compatible con esta, por lo que es de vital importancia que el lector tenga
experiencia previa con la familia HC908 pues todo este curso estará basado en las
diferencias, mejoras y características similares que presenten ambas familias. Cuando
sea necesario se harán referencias a la familia HC908 que ayudarán a entender las
mejoras introducidas en la familia HC9S08 y las diferencias de funcionamiento entre
ambas.

Breve comentario del Autor:

Durante mucho tiempo, el Ing. Roberto Simone y el Autor de este curso, habíamos
pensado que un sistema didáctico debería ser capaz de “actualizarse” y ser lo
suficientemente flexible como para contener la problemática del aprendizaje del mundo
de los microcontroladores de 8 a 32 Bits con la mayor “simplicidad” posible.
Cuando se diseñó el sistema didáctico “EDUKIT08” se tuvo en cuenta ello y se lo dotó
de placas de personalización de la familia de MCU a trabajar llamadas “Placas
PLUG_IN” y de placas de expansión de periféricos que hacen de este un sistema
flexible y apto para trabajar con MCUs de las familias de 8 a 32 Bits de Freescale
Semiconductor. Como ejemplo de ello, el sistema didáctico posee el kit
“PLUGIN_AW” que contiene todo lo necesario para aprender y trabajar con la familia
HC9S08 no solo en lenguaje ensamblador, sino también en lenguaje C y entornos
integrados de trabajo profesionales como el “CodeWarrior” de Freescale.
La familia HC9S08 constituye una mejora notable en características y desempeño
a la popular familia HC908 y con ello esperamos que el lector pueda aprovecharlo
para dotar a sus proyectos de mayores prestaciones a costos competitivos en las
aplicaciones del mundo de los 8 bits.

Temario del Curso

Capítulo 1. - Introducción a la Arquitectura del CPU HCS08.

Capítulo 2.- Módulos ICG / ICS – Internal Clock Generator / Internal
Clock Source.

Capítulo 3.- Puertos I/O, Keyboard Interrupt Module (KBI).

Capítulo 4.- Timer / PWM – TPM.

Capítulo 5.- ADC10 - A/D Converter – Conversor Analógico / Digital.

Capítulo 6.- Módulo Serial Asincrónico de Comunicación - SCI
Serial Comunication Interface.

Capítulo 7.- Módulo Serial Sincrónico de Comunicaciones – SPI.
Serial Peripheral Interface.

Capítulo 8.- Inter – Integrated Circuit Interface – I2C
MMIIC – Multi – Master I2C.

Capítulo 9.- Memoria FLASH.

Capítulo 10.- Background Debug Mode (BDM) –
Modo de Emulación Integrado en el Chip.

Capítulo 11.- Sistemas de Baja Tensión y Bajo Consumo.
LVLP Systems (Low Voltage, Low Power).

Capítulo 12.- Conclusiones Finales.

Capítulo 1.

Introducción a la Arquitectura del CPU HCS08.

Como se había comentado anteriormente, la familia HC9S08 constituye una notable
mejora con respecto a su antecesora, la popular familia HC908, primera familia con
tecnología FLASH de Freescale y la que, en cierta forma, ha marcado el camino a
seguir para esta nueva familia, también de tecnología FLASH.

Cuando se diseñó la familia HC9S08 se tuvo en cuenta que el mundo se “movía” cada
vez más hacia las aplicaciones portátiles, alimentadas por baterías o pilas, y con
tamaños más y más reducidos. La familia HC908 significó una revolución tecnológica
con respecto a la “vieja” familia OTP HC705, en cuanto a la mejora gral. de las
prestaciones, regrababilidad de la memoria de programa, grabación en circuito y el
acceso a una nueva serie de herramientas que permitían trabajar con la “Emulación en
Tiempo Real”, lo que ha hecho de esta familia algo muy popular en el mundo de los 8
Bits. Sin embargo, nunca se consideró al bajo consumo un aspecto importante a
tener en cuenta en la HC908.

Tener la posibilidad de trabajar con muy bajo consumo cuando así se lo requiera y
a su vez poder “correr” a alta velocidad en los momentos que se necesita capacidad
de procesamiento, son características únicas de la familia HC9S08.

A continuación nos tomaremos algunas líneas para discutir las metas del CPU HCS08 y
su set de instrucciones, así también como las razones de las inclusiones y exclusiones de
algunas características.

Una de las metas que debían mantenerse era la facilidad de la programación y la
compatibilidad de código que es una de las características destacables e importantes
mantenida a lo largo del tiempo por los diferentes microcontroladores de Freescale
Semiconductor (desde los tiempos de Motorola Semiconductor).

La facilidad de programación, se traduce en programas más eficientes, más claros de
entender y modificar por otras personas. Compatibilidad de código se traduce en la re
utilización de rutinas, programas y código elaborado para otras familias como la HC908
o la HC705 y con ello un ahorro considerable de tiempo y dinero, además de asegurar la
confiabilidad de programas ya funcionando con estas familias, que al migrar a la
HC9S08, siguen siendo confiables al no producirse grandes cambios en el código de la
aplicación.

Otras de las metas fue lograr la máxima eficiencia en los saltos condicionales. La
mayoría de los controladores “embebidos” requieren de una considerable cantidad de
decisiones y por lo tanto, saltos asociadas con ellas. De esta forma, el CPU HCS08 está
dotado de una gran variedad de instrucciones de saltos condicionados, con distintos
modos de direccionamiento que facilitan la programación en lenguaje “C” y
construcciones de saltos muy comunes en este tipo de lenguajes.

La eficiencia y la potencia en el manejo de las interrupciones han sido otros de los
puntos a tener en cuenta para la familia HC9S08, lo que le permite atender
rápidamente las excepciones y continuar con el flujo normal del programa.

El soporte de lenguajes de alto nivel como el “C” han sido tenido en cuenta para
esta familia, debido a que cada vez más el diseñador utiliza este tipo de lenguajes. En el
CPU HCS08 existen nuevos modos de direccionamiento para instrucciones como Load
HX (LDHX), Store HX (STHX) y Compare HX (CPHX), que mejoran la eficiencia del
código generado por el compilador.

CPU HCS08.

El CPU HCS08 posee 5 (cinco) registros que no forman parte del mapa de memoria y
están relacionados con las operaciones de dicho CPU.

Registros del CPU HCS08.

A simple vista, podemos observar que los registros del CPU HCS08 son idénticos a
los disponibles en el CPU08 de la familia HC908, y ello es lógico, ya que al principio
de este capítulo se ha mencionado que una de las grandes virtudes de esta familia es
mantener la compatibilidad de código con la HC908.

El Acumulador “A” es un registro de 8 bits, que al igual que en las familias HC705 y
HC908 es el registro más utilizado en las operaciones aritméticas y lógicas. Esto es así
ya que la arquitectura del CPU HCS08 es del tipo “Von Neuman” al igual que las de los
CPU05 y CPU08.

Hay también un registro índice de16 Bits vinculado al direccionamiento del mapa de
memoria que puede manejar el CPU, un registro puntero de pila (Stack Pointer) de 16
bits, un Contador de Programa (PC) de 16 Bits y un registro de código de condiciones
de 8 bits.

Registros.

Acumulador “A” (Acc).

• Para propósitos Generales.
• Mantiene los operandos y los resultados de las operaciones.

Registro Indice (H:X).

• Registro de 16 Bits de largo, formado por la unión de H:X
(H, parte Alta – X, parte Baja , compatibilidad con HC705).

• Puede acceder a un espacio de direccionamiento de 64 Kbytes.
• Utilizado en el modo de direccionamiento indexado para determinar la dirección

efectiva de un operando.

• Puede servir como un registro de propósitos generales.

En el CPU HCS08, al igual que sucede en el CPU08, el registro “H” no es salvado en
forma automática en el stack (pila) cuando se atiende un pedido de interrupción. Como
el CPU05 de la familia HC705 no posee un registro “H”, entonces ni el CPU08 o el
CPU HCS08 guardan en forma automática el contenido del registro H para mantener
compatibilidad con los programas hechos para HC705.
Por lo que al igual que en el CPU08, el CPU HS08 posee las instrucciones PUSH – H y
PULL – H para guardar y luego rescatar de la pila (stack) el contenido del registro H
para mantenerlo intacto.

Stack Pointer (SP) (Puntero de Pila).

• Registro de 16 Bits de largo.
• Se utiliza para mantener la próxima dirección disponible en la pila.
• Se puede utilizar como un segundo puntero índice.
• Muy utilizado en “C” para el almacenamiento de variables locales.
• Puede trabajar fuera del espacio de memoria RAM.

El funcionamiento del SP (Stack Pointer) es igual al del HC908, y el mismo puede
barrer cualquier posición dentro de un mapa de memoria de 64 Kbytes, aunque su
función principa
  • Links de descarga
http://lwp-l.com/pdf11460

Comentarios de: Curso sobre Microcontroladores (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad