Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
1. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
S.E.P. S.E.S
D.G.E.S.T.
INSTITUTO TECNOLÓGICO
DE
LÁZARO CÁRDENAS
“MANUAL DE PRACTICAS”
MATERIA:
“MICROPROCESADORES Y MICROCONTROLADORES”
CATEDRATICO:
ING. JOSÉ ARMANDO LARA GONZÁLEZ
ALUMNO:
JORGE ISRAEL QUINTERO HERNÁNDEZ
NUMERO DE CONTROL:
08560252
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 1
2. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
INTRODUCCION
En el siguiente material se muestran diversas prácticas para conocer el
funcionamiento de los microcontroladores de la familia MC68HC908 de Motorola,
específicamente de los modelos MC68HC908QT4 y MC68HC908QY2 de 8 bits.
Por otro lado se demuestra cómo utilizar los puertos de los microcontroladores
como entradas y como salidas del mismo modo se implementa el uso del Display
de cristal líquido para desplegar en mensaje.
En un principio, se muestra el material y equipo que se utilizará a lo largo de este
manual así como las características eléctricas de los microcontroladores ya
mencionados, además de una breve descripción de cada uno de los módulos que
lo conforman e información útil para poder trabajar con ellos por primera vez. Del
mismo modo, se hará uso de un Display de Cristal Líquido para el despliegue de
datos, por lo cual, se presenta una descripción de este dispositivo y sus
características eléctricas para el uso correcto de este. De la misma manera, se
usará un transductor de temperatura muy sencillo, el LM35, para lo cual, se
explica cómo opera, así como sus características eléctricas y diagramas para un
uso adecuado.
Se hace un pequeño recordatorio del funcionamiento del código ASCII; el cual se
utiliza para el display. Posteriormente, se presentan las prácticas de laboratorio,
en las cuales se presenta, el material y equipo utilizado en dicha práctica, además
del desarrollo de las mismas, donde se presenta el código para programar el
microcontrolador de acuerdo a la función que se solicite. Se incluyen prácticas
para uso del puerto A y B ambos utilizados como entrada y salida. Además, se
presenta la práctica para el uso del Display de Cristal Líquido, la manera de
programarlo.
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 2
3. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
OBJETIVO(S) GENERAL(ES) DEL CURSO.
El alumno adquirirá los conocimientos básicos acerca de los Microcontroladores y
Microprocesadores, especialmente del microcontrolador MC68HC908QY2 de
Motorola.
MATERIALY EQUIPO UTILIZADO.
Resistores de 220Ω.
Potenciómetro 1k .
Cable jumper para Protoboard.
Cable de conexión serial.
Pantalla LCD (PANTALLA DE CRISTAL LÍQUIDO).
LEDs (Diodo Emisor de Luz).
Microcontrolador (MC68HC908QY4).
Tarjeta de evaluación del MC68HC908QY4 (M68EVB908Q).
Fuente de alimentación para la tarjeta de evaluación (M68EVB908Q).
Fuente de alimentación para el microcontrolador (+5V).
PC que contenga conexión serial.
Multímetro.
LM335.
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 3
4. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
MARCO TEÓRICO.
RESISTORES.
Se denomina resistor al componente electrónico diseñado para introducir una
resistencia eléctrica determinada entre dos puntos de un circuito. Es un material
formado por carbón y otros elementos resistivos para disminuir la corriente que
pasa. La corriente máxima en un resistor viene condicionada por la máxima
potencia que puede disipar su cuerpo. Esta potencia se puede identificar
visualmente a partir del diámetro sin que sea necesaria otra indicación. Los
valores más empleados son 0.25 W, 0.5 W y 1 W. En las prácticas a desarrollar se
usará el resistor como elemento protector para nuestro diodo LED, el cual lo
protegerá en modo de limitador de corriente que pasa a través del diodo LED. Su
símbolo se presenta en la Figura 1.
Figura 1. Símbolo del resistor.
En la Figura 2 se muestra el resistor o resistencia eléctrica de forma física, la
forma de leer su valor y la Tabla 1 que es el código de colores de los resistores.
TOLERANCIA
MULTIPLICADOR
3era CIFRA
2da. CIFRA
1er. CIFRA
Figura 2. Resistor físicamente.
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 4
5. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
Tabla 1. Código de colores de los resistores.
1era. 2da. 3era.
COLOR MULTIPLICA TOLERANCIA
CIFRA CIFRA CIFRA
NEGRO 0 0 0 1
CAFE 1 1 1 X 10 1%
ROJO 2 2 2 X 10^2 2%
NARANJA 3 3 3 X 10^3
AMARILLO 4 4 4 X 10^4
VERDE 5 5 5 X 10^5 0.5%
AZUL 6 6 6 X 10^6
VIOLETA 7 7 7 X 10^7
GRIS 8 8 8 X 10^8
BLANCO 9 9 9 X 10^9
ORO X 10^-1 5%
PLATA X 10^-2 10%
SIN COLOR 20%
Hay resistores con cuatro bandas de colores y existen de cinco bandas se leen de
la misma forma.
LED (DIODO EMISOR DE LUZ).
Diodo emisor de luz, también conocido como LED (acrónimo del inglés de Light-
Emitting Diode) es un dispositivo semiconductor (diodo) que emite luz incoherente
de espectro reducido cuando se polariza de forma directa la unión PN del mismo y
circula por él una corriente eléctrica. Este fenómeno es una forma de
electroluminiscencia. El color, depende del material semiconductor empleado en la
construcción del diodo y puede variar desde el ultravioleta, pasando por el visible,
hasta el infrarrojo, el símbolo del led se presenta en la Figura 3 en donde se
muestra el ánodo (A) y el cátodo (K).
Cuando un diodo semiconductor se polariza directamente, los huecos de la zona p
se mueven hacia la zona n y los electrones de la zona n hacia la zona p.
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 5
6. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
Los desplazamientos de cargas constituyen la corriente que circula por el diodo.
(+)A (-)K
Figura 3. Símbolo del LED.
Si los electrones y huecos están en la misma región, pueden recombinarse, es
decir, los electrones pueden pasar a "ocupar" los huecos, "cayendo" desde un
nivel energético superior a otro inferior más estable. Este proceso emite con
frecuencia un fotón en semiconductores de banda prohibida directa o "direct
bandgap" con la energía correspondiente a su banda prohibida. El diodo led en
forma física de una vista frontal se muestra en la Figura 4.
(-) CÁTODO (+) ÁNODO
Figura 4. Diodo LED físicamente.
PANTALLA DE CRISTAL LÍQUIDO LCD.
Una pantalla de cristal líquido o LCD (acrónimo del inglés Liquid Crystal Display)
es una pantalla delgada y plana formada por un número de píxeles en color o
monocromos colocados delante de una fuente de luz o reflectora. Los LCD son
visualizadores pasivos, esto significa que no emiten luz como el visualizador o
display alfanumérico hecho a base de un arreglo de diodos LEDs.
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 6
7. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
Su funcionamiento es simple: sin aplicar tensión, todas las moléculas están
orientadas perpendiculares a la superficie, la luz pasa sin reflejarse. Al aplicar
tensión, las moléculas se desorientan, con lo que el cristal líquido se vuelve visible
al reflejar la luz en él. En la Figura 5 se muestra el aspecto físico de una pantalla
de cristal líquido.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Figura 5. Pantalla de cristal líquido.
En la Tabla 2 se muestra la descripción de los pines de la pantalla de cristal
líquido, en el cual principalmente se utilizan los pines del 1 al 14.
Vss
Vdd
16 COMUNES LCD
Vo
Rs MICRO
R/W CONTROLADOR
E
D0-D7 80 SEGMENTOS
LED +
LED
LED -
Figura 6.Diagrama a bloques de la estructura interna del módulo LCD.
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 7
8. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
Tabla 2. Descripción de los pines del LCD.
NÚMERO DE
SÍMBOLO DESCRIPCIÓN
PIN
1 Vss Fuente de alimentación (Tierra)
2 VDD Fuente de alimentación (+V)
3 VO Regulación del contraste del cristal liquido
RS = 0, modo de programación
4 RS
RS = 1, modo de escritura
R = 0, el LCD es leído
5
R / W W = 1, el LCD es escrito
E = 0, LCD deshabilitada
6 E
E = 1, LCD habilitada
7 – 14 D0 – D7 Bus de datos
15 LED + Positivo retroiluminación
16 LED - Masa retroiluminación
Es importante saber los comandos que harán funcionar a nuestro display como tal,
es por eso que se muestran los siguientes comandos en la Tabla 3.
Tabla 3. Resumen de comandos del display LCD.
R/
COMANDO RS D7 D6 D5 D4 D3 D2 D1 D0
W
Borrar display 0 0 0 0 0 0 0 0 0 1
Cursor a home 0 0 0 0 0 0 0 0 1 X
Establecer modo de 0 0 0 0 0 0 0 1 I/D S
funcionamiento
Control ON / OFF 0 0 0 0 0 0 1 D C B
Desplazamiento del 0 0 0 0 0 1 S/C R/L X X
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 8
9. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
cursor display
Modo de transferencia 0 0 0 0 1 DL 1 0 X X
Acceso a la memoria 0 0 0 1 Dirección de la CGRAM
CGRAM
Acceso a la memoria 0 0 1 Dirección de la DDRAM
DDRAM
Lectura de dirección y 0 X BF Contador de dirección
bandera de ocupado
Escritura de datos en 1 0 Dato a escribir
CGRAM y DDRAM
Lectura de datos en 1 1 Dato leído
CGRAM y DDRAM
I/D = 1, incrementar contador de direcciones
I/D = 0, decrementar contador de direcciones
S = 1, desplazamiento del display
S = 0, display quieto
D = 1, display encendido
D = 0, display apagado
C = 1, cursor encendido
C = 0, cursor apagado
B = 1, parpadeo del carácter en la posición del cursor
B = 0, no hay parpadeo
S/C = 1, desplazar el display
S/C = 0, desplazar el cursor
R/L = 1, desplazamiento a la derecha
R/L = 0, desplazamiento a la izquierda
DL = 1, configura el display a 8 bits
DL = 0, configura el display a 4 bits
BF = 1, display ocupado
BF = 0, display listo para ejecutar o para otra operación.
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 9
10. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
CIRCUITO IMPRESO
LINEA 1
LINEA 2
16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
PINES PARA LA CONEXIÓN DEL LCD
Figura 7. Líneas del display
Borrar el display: Este comando borra todas las posiciones del display virtual y
sitúa el display real en la posición inicial (Figura 7), en la que se visualizan las
posiciones desde la (1,1) hasta la (16,1) y desde la (1,2) hasta la (16,2). El cursor
se sitúa en la posición (1,1) (Dirección 0 de la DD RAM).
Establecer modo de funcionamiento: Actualizar el contador de direcciones en la
forma especificada y establecer si el display realiza desplazamientos o no. Estas
acciones se llevan a cabo cada vez que se realiza una lectura o escritura en el
display. Cuando I/D=1, el contador de direcciones se incrementa, lo que provoca
que el cursor avance hacia la derecha cada vez que se imprime un carácter en el
display. Cuando I/D=0 el contador se decremento y el cursor se mueve hacia la
izquierda al imprimir. Con S=1 se indica al LCD que debe mover el display real una
posición a la derecha cada vez que se imprime un carácter. Con S=0 el display
debe permanecer ‘quieto’ al imprimir. (Normalmente se utiliza I/D=1 y S=0, por lo
que el comando típico es 0x06).
Control ON/OFF: Activar o desactivar el display, el cursor y el parpadeo.
1. Display ON/OFF: D=1 activa el LCD. Cuando D=0 el LCD funciona normalmente
pero no se visualiza ninguna información. Es posible realizar impresiones, enviar
comandos, pero nada quedará reflejado en pantalla. Sólo cuando D=1 se puede
ver algo en el display.
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 10
11. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
2. Cursor ON/OFF: C=1 activa el cursor. Con C=0 el cursor no se ve.
3. Parpadeo ON/OFF: B=1 hace que los caracteres situados en la posición del
cursor parpadeen. Con B=0 no hay parpadeo.
4. Modo de transferencia de la información: Seleccionar el bus de datos del display
para trabajar a 8 bits (DL=1) o a 4 bits (DL=0).
DIAGRAMA DE TIEMPOS
RS RS = 1 = MODO ESCRITURA
RS = 0 = MODO PROGRAMACIÓN
R/W R = 1 = MODO LECTURA
R = 0 = MODO ESCRITURA
E
DATO
140 ns
1000 ns
Figura 8. Diagrama de tiempos para el modulo LCD.
CODIGO ASCII
ASCII (acrónimo inglés de American Standard Code for Information Interchange —
Código Estadounidense Estándar para el Intercambio de Información),
pronunciado generalmente [áski], es un código de caracteres basado en el
alfabeto latino tal como se usa en inglés moderno y en otras lenguas occidentales.
Fue creado en 1963 por el Comité Estadounidense de Estándares (ASA, conocido
desde 1969 como el Instituto Estadounidense de Estándares Nacionales, o ANSI)
como una refundición o evolución de los conjuntos de códigos utilizados entonces
en telegrafía. Más tarde, en 1967, se incluyeron las minúsculas, y se redefinieron
algunos códigos de control para formar el código conocido como US-ASCII.
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 11
12. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
El código ASCII utiliza 7 bits para representar los caracteres, aunque inicialmente
empleaba un bit adicional (bit de paridad) que se usaba para detectar errores en la
transmisión. A menudo se llama incorrectamente ASCII a otros códigos de
caracteres de 8 bits, como el estándar ISO-8859-1 que es una extensión que
utiliza 8 bits para proporcionar caracteres adicionales usados en idiomas distintos
al inglés, como el español.
ASCII fue publicado como estándar por primera vez en 1967 y fue actualizado por
última vez en 1986. En la actualidad define códigos para 33 caracteres no
imprimibles, de los cuales la mayoría son caracteres de control obsoletos que
tienen efecto sobre cómo se procesa el texto, más otros 95 caracteres imprimibles
que les siguen en la numeración (empezando por el carácter espacio).
Casi todos los sistemas informáticos actuales utilizan el código ASCII o una
extensión compatible para representar textos y para el control de dispositivos que
manejan texto como el teclado. No deben confundirse los códigos ALT+número de
teclado con los códigos ASCII.
Tabla 4. Código ASCII
CÓDIGO CARACTER CÓDIGO CARACTER CÓDIGO CARACTER CÓDIGO CARACTER CÓDIGO CARACTER CÓDIGO CARACTER
$20 ESPACIO $30 0 $40 @ $50 P $60 ` $70 p
$21 ! $31 1 $41 A $51 Q $61 a $71 q
$22 ¨ $32 2 $42 B $52 R $62 b $72 r
$23 # $33 3 $43 C $53 S $63 c $73 s
$24 $ $34 4 $44 D $54 T $64 d $74 t
$25 % $35 5 $45 E $55 U $65 e $75 u
$26 & $36 6 $46 F $56 V $66 f $76 v
$27 ‘ $37 7 $47 G $57 W $67 g $77 w
$28 ( $38 8 $48 H $58 X $68 h $78 x
$29 ) $39 9 $49 I $59 Y $69 i $79 y
$2A * $3A : $4A J $5A Z $6A j $7A z
$2B + $3B ; $4B K $5B [ $6B k $7B {
$2C , $3C < $4C L $5C $6C l $7C |
$2D - $3D = $4D M $5D ] $6D m $7D }
$2E . $3E > $4E N $5E ^ $6E n $7E →
$2F / $3F ? $4F O $5F _ $6F o $7F ←
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 12
13. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
LM335.
El LM335 es un sensor de temperatura con una precisión calibrada de 1ºC y un
rango que abarca desde -55º a +150ºC.
El sensor se presenta en diferentes encapsulados pero el más común es el to-92
de igual forma que un típico transistor con 3 patas, dos de ellas para alimentarlo y
la tercera nos entrega un valor de tensión proporcional a la temperatura medida
por el dispositivo. Con el LM335 sobre la mesa las patillas hacia nosotros y las
letras del encapsulado hacia arriba tenemos que de izquierda a derecha los pines
son: VCC - Vout - GND.
La salida es lineal y equivale a 10mV/ºC por lo tanto:
+1500mV = 150ºC
+250mV = 25ºC
-550mV = -55ºC
Funcionamiento: Para hacernos un termómetro lo único que necesitamos es un
voltímetro bien calibrado y en la escala correcta para que nos muestre el voltaje
equivalente a temperatura. El LM335 funciona en el rango de alimentación
comprendido entre 4 y 30 voltios, y se muestra físicamente en la Figura 9.
LM335
+Vs Vcc GND
Figura 9. Aspecto físico del sensor LM335.
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 13
14. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
Usos: El sensor de temperatura puede usarse para compensar un dispositivo de
medida sensible a la temperatura ambiente, refrigerar partes delicadas del robot o
bien para capturar temperaturas en el transcurso de un trayecto de exploración.
MICROCONTROLADORES.
Hoff y Fagin trabajaban en 1971 en una pequeña empresa dedicada al prometedor
campo de la electrónica integrada, dos palabras cuyos apocopes daban nombre a
la compañía: INTEL. Habían recibido el encargo de realizar un conjunto de chips
para una calculadora electrónica. Pronto se dieron cuenta que con el man-power
disponible (solo ingenieros de diseño) no podrían terminar el trabajo a tiempo.
Solo había una posibilidad de éxito: diseñar un único circuito, que fuera
programable a la manera de los grandes computadores de la época. Así, el mismo
chip podría ser usado en las diferentes tareas de .la calculadora: leer el teclado,
realizar las operaciones, exhibir los resultados, etc. con solo modificar su
programa. EI resto de la historia es conocido.
Todas las computadoras constan principalmente de dos partes, la CPU que
procesa los datos, y la memoria que guarda los datos. Cuando hablamos de
memoria manejamos dos parámetros, los datos en sí, y el lugar donde se
encuentran almacenados (o dirección). Los dos son importantes para la CPU, pues
muchas instrucciones frecuentes se traducen a algo así como "Toma los datos de
esta dirección y añádelos a los datos de esta otra dirección", sin saber en
realidad que es lo que contienen los datos.
En los últimos años la velocidad de las CPU ha aumentado mucho en comparación
a la de las memorias con las que trabaja, así que se debe poner mucha atención
en reducir el número de veces que se accede a ella para mantener el rendimiento.
Si, por ejemplo, cada instrucción ejecutada en la CPU requiere un acceso a la
memoria, no se gana nada incrementando la velocidad de la CPU - este problema
es conocido como limitación de memoria'.
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 14
15. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
Se puede fabricar memoria mucho más rápida, pero a costa de un precio muy
alto. La solución, por tanto, es proporcionar una pequeña cantidad de memoria
muy rápida conocida con el nombre de cache.
Mientras los datos que necesita el procesador estén en la cache, el rendimiento
será mucho mayor que si la cache tiene que obtener primero los datos de la
memoria principal. La optimización de la cache es un tema muy importante de cara
al diseño de computadoras. A continuación se estudian las arquitecturas Von
Neumann y Harvard. La Arquitectura de Von Neumann es una familia de
arquitecturas de computadoras que utilizan el mismo dispositivo de
almacenamiento tanto para las instrucciones como para los datos (a diferencia de
la arquitectura Harvard), en la Figura 10 se muestra la arquitectura Von Neumann,
para una computadora.
MEMORIA BUS DEL SISTEMA
DISPOSITIVOS DE
ENTRADA/SALIDA
PROGRAMA
ÁREA DE DATOS
101 0010 01001 1001 11011 011
101 0101 11001 1010 10001 111
110 0110 10001 1101 00011 101
REGISTROS
………………….………………
ÁREA DE CODIGO
101 0010 01001 1001 11011 011
101 0101 11001 1010 10001 111
110 0110 10001 1101 00011 101
101 0010 01001 1001 11011 011
101 0101 11001 1010 10001 111
UNIDAD
110 0110 10001 1101 00011 101 ALU DE
CONTROL
Figura 10: Arquitectura Von Neumann
Un ordenador con esta arquitectura realiza o emula los siguientes pasos
secuencialmente:
1. Enciende la computadora y obtiene la siguiente instrucción desde la memoria
en la dirección indicada por el contador de programa y la guarda en el registro
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 15
16. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
de instrucción.
2. Aumenta el contador de programa en la longitud de la instrucción para apuntar
a la siguiente.
3. Decodifica la instrucción mediante la unidad de control. Esta se encarga de
coordinar el resto de componentes del ordenador para realizar una función
determinada.
4. Se ejecuta la instrucción. Esta puede cambiar el valor del contador del
programa permitiendo así operaciones repetitivas. El contador puede cambiar
también cuando se cumpla una cierta condición aritmética, haciendo que el
ordenador pueda “tomar decisiones”, que pueden alcanzar cualquier grado de
complejidad, mediante la aritmética y lógica anteriores.
5. Vuelve al paso 2.
El término Arquitectura Harvard originalmente se refería a las arquitecturas de
computadoras que utilizaban dispositivos de almacenamiento físicamente
separados para las instrucciones y para los datos (en oposición a la Arquitectura
de Von Neumann). El término proviene de la computadora Harvard Mark I, que
almacenaba las instrucciones en cintas perforadas y los datos en interruptores.
La arquitectura Harvard ofrece una solución particular a al problema de la
limitación de la velocidad de la memoria, Las instrucciones y los datos se
almacenan en caches separadas para mejorar el rendimiento. Por otro lado, tiene el
inconveniente de tener que dividir la cantidad de cache entre los dos, por lo que
funciona mejor solo cuando la frecuencia de lectura de instrucciones y de datos es
aproximadamente la misma. Esta arquitectura suele utilizarse en DSP´s, o
procesador de serial digital, usados habitualmente en productos para
procesamiento de audio y video. En la Figura 11, se muestra la Arquitectura
Harvard para una computadora.
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 16
17. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
DISPOSITIVOS DE
ENTRADA/SALIDA
MEMORIA DE MEMORIA DE
DATOS PROGRAMAS
1011101110 1011101110
1001011100 REGISTROS 1001011100
UNIDAD
ALU DE
CONTROL
Figura 11: Diagrama a bloques de la arquitectura Harvard.
GENERALIDADES
La mayoría de las aplicaciones que se resuelven con Microcontroladores,
encuentran en los microcontroladores de 8 bits, plena satisfacción a sus
necesidades de automatización y control, por lo que resulta importante el estudio
del Microcontrolador MC68HC908QY2, el cual es un microcontrolador de bajo
costo y alto desarrollo que pertenece a la familia de microcontroladores de 8 bits,
MC68HC08. Estos microcontroladores cuentan con una Unidad Central de
Procesamiento (CPU08) y se encuentran disponibles en una variedad de módulos,
diferentes tipos y tamaños de memoria, y diferentes tipos de encapsulados. En la
Tabla 5 se muestra los diferentes tipos de microcontroladores de la familia
MC68HC908.
Tabla 5. Tipos de microcontroladores de la familia MC68HC908.
Modelo del Tamaño de Convertidor
No. De Pines
Microcontrolador Memoria Flash Analógico/Digital
MC68HC908QT1 1536 Bytes 8
MC68HC908QT2 1536 Bytes 4 ADC, 8 Bits 8
MC68HC908QT4 4096 Bytes 4 ADC, 8 Bits 8
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 17
18. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
MC68HC908QY1 1536 Bytes 16
MC68HC908QY2 1536 Bytes 4 ADC, 8 Bits 16
MC68HC908QY4 4096 Bytes 4 ADC, 8 Bits 16
Los microcontroladores de los grupos MC68HC908QT y MC68HC908QY cuentan
con una unidad central de procesamiento CPU68HC08, así como registros
propios de la CPU, Memoria RAM (Random Access Memory), Memoria ROM
(Random Only Memory), Convertidores de Analógico a Digital (ADC) de 8 bits,
puertos de entrada/salida, interrupciones de teclado, osciladores, contador, entre
otras funciones. Los microcontroladores MC68HC908QT4 y MC68HC908GY4,
son los que ofrecen mayores prestaciones para el desarrollo de nuestros
proyectos en la Figura 12, se muestra la organización de los pines del
microcontrolador MC68HC908QT4.
Vcc 1 7 GND
PTA5/OCS1/AD3/KBI5 2 7 PTA0/AD0/TCH0/KBI0
MC68HC908QT4
PTA4/OCS2/AD2/KBI4 3 6 PTA1/AD1/TCH1/KBI1
PTA3/RST/KBI3 4 5 PTA2/IRQ/KBI2
Figura 12: Pines del Microcontrolador MC68HC908QT4.
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 18
19. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
Por otro lado en la Figura 13, se muestra la organización de los pines del
microcontrolador MC68HC908YT2.
Vcc 1 16 GND
PTB7 2 15 PTB0
PTB6 3 14 PTB1
PTA5/OCS1/AD3/KBI5 4 13 PTA0/AD0/TCH0/KBI0
MC68HC908QY2
PTA4/OCS2/AD2/KBI4 5 12 PTA1/AD1/TCH1/KBI1
PTB5 6 11 PTB2
PTB4 7 10 PTB3
PTA3/RST/KBI3 8 9 PTA2/IRQ/KBI2
16
Figura 13: Pines del Microcontrolador MC68HC908QY2.
DIAGRAMA A BLOQUES DEL MICROCONTRALODOR.
EL la Figura 14 se muestra el diagrama a bloques de la estructura interna de los
microcontroladores MC68HC908QY1, MC68HC908QY2 y MC68HC908QY4.
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 19
20. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
PTB[ 0 1 2 3 4 5 6 7]
VDD
PTB FUENTE DE ENERGÍA
DDRB VSS
PTA0/AD0/TCH0/KBI0
PTA1/AD1/TCH1/KBI1
GENERADOR DE RELOJ
PTA2/IRQ/KBI2
DDRA
CONTROL DEL CPU ALU
PTA
PTA3/RST/KBI3 68HC08 CPU
PTA3/OSC2/AD2/KBI4 MODULO DEL SISTESTEMA
ACOMULADOR DE INTEGRACIÓN
PTA5/OSC1/AD3/KBI5 REGISTROS DE LA CPU
REGISTRO DE INDICE MODULO UNICO DE
INTERRUPCIÓN
PUNTERO DE PILA
ANALOGÍCO – DIGITAL
MODULO DE RUPTURA
CONVERTIDOR
MOSTRADOR DE PROGRAMA
DE 8 BIT
CODIGO DE REGISTRO DE CONDICIÓN V 1 1 H I N Z C MODULO DE PODER DE
RESET
MODULO DE
TEMPORIZADOR DE 16-BIT
MC68H908QY4 Y MC68HC908QT4: 4096 BYTES
MC68H908QY2, MC68HC908QY1,MC68HC908QT2, Y
RAM DE 128 BYTES
MC68HC908QT1: 15BYTES
USUARIO FLASH
MODULO COP
RST, IRQ: Pins han internos (alrededor de 30k ohmios la resistencia pull up).
PTA [0:5]: disipador de gran intensidad y capacidad de fuente.
PTA [0:5]: Pins tiene teclado programable de interrupción y tire hacia arriba. MONITOR ROM
PTB [0:7]: No está disponible en 8 - dispositivos pin - MC68HC908QT1, MC68HC908QT2
Y MC68HC908QT4
Figura 14: Diagrama a bloques de la estructura interna del microcontrolador.
PUERTO B.
El puerto B es un puerto de propósito general de entrada/salida de 8 bits. Este
puerto solamente se encuentra en los microcontroladores MC68HC908QY1,
MC68HC908QY2, MC68HC908QY4.
REGISTRO DE DATOS DEL PUERTO B (PTB).
El registro de datos del puerto B contiene un latch por cada uno de los 8 pines del
puerto B. en la Figura 15 se muestra el registro de datos del puerto B.
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 20
21. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
Figura 15: Registro de dirección de datos del puerto B.
Por otro lado en la Figura 16 se muestra la estructura interna de un pin del puerto
B, el cual como se mencionó anteriormente cuenta con una salida latch.
Figura 16: diagrama interno de un Pin del puerto B.
DESCRIPCIÓN DE LOS PINES.
En la Tabla 6 se muestra la descripción de los pines MC68HC908QT y
MC68HC908QY.
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 21
22. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
Tabla 6: Descripción de la función de los pines.
PIN DESCRIPCIÓN ENTRADA/SALIDA
VDD Fuente de alimentación Fuente
VSS Fuente de alimentación Fuente
PTA0- Puerto entrada/salida de propósito general Entrada/Salida
AD0- Entrada 0 del convertidor analógico/digital Entrada
PTA0 TCH0- Canal 0 del Timer Entrada/Salida
KBI0- Entrada 0 de Interrupción de teclado
PTA1- puerto entrada/salida de propósito general Entrada/Salida
AD1- Entrada 1 del convertidor analógico/digital Entrada
PTA1
TCH1- Canal 1 del Timer Entrada/Salida
KBI1- entrada 1 del Interruptor de teclado Entrada
PTA2- Puerto de entrada de propósito general Entrada
PTA2 IRQ- Interrupción externa Entrada
KBI2- Entrada 2 de Interrupción de teclado Entrada
PTA3- Puerto entrada/salida de propósito general Entrada/Salida
PTA3 RST- Entrada reset activa a nivel bajo Entrada
KBI3- Entrada 3 de Interrupción de teclado Entrada
PTA4- Puerto entrada/salida de propósito general Entrada/Salida
OSC2- XTAL Salida del oscilador Salida
PTA4
AD2- Entrada 2 al convertidor analógico/digital Entrada
KBI4- Entrada 4 de Interrupción de teclado Entrada
PTA5- Puerto entrada/salida de propósito general Entrada/Salida
OSC1- XTAL, RC, Etrada de oscilación externa Entrada
PTA5
AD3- entrada 3 del convertidor analógico/digital Entrada
KBI5- Entrada 5 de Interrupción de teclado Entrada
PTB[0:7] Puerto entrada/salida de propósito general Entrada/Salida
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 22
23. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
MEMORIA DEL MICROCONTROLADOR.
La CPU08 tiene un espacio de direccionamiento de memoria de 64 Kbytes. En
la Figura 17 se muestra el mapa de memoria de los microcontroladores
MC68HC908QT y MC68HC908QY.
$0000 0
REGISTROS DE I/O
64 BYTES 63
$003F
$0040 64
RESERVADO (1)
64 BYTES 127
$007F
$0080 128
RAM
128 BYTES 255
$00FF
$0100 256
SIN APLICARSE (1)
9984 BYTES NOTA 1.
10239
$27FF Intentos de ejecutar código de las direcciones en
$2800 10240
ROM AUXILIAR este rango genera un reajuste, dirección ilegal.
1536 BYTES 11775
$2DFF
$2E00 $2E00
SIN APLICARSE (1) 11776 11776
SIN APLICARSE
49152 BYTES 60927
$EDFF 51712 BYTES
60928 63487 $F7FF
$EE00 MEMORIA FLASH
63488 $F800
MC68HC908QT4 Y MC68HC908QY4 MEMORIA FLASH
$FDFF 4096 BYTES 65023 65023 1536 BYTES
$FDFF
$FE00 ESTADO DE REGISTRO DE DESCANSO (BSR) 65024
MC68HC908QT1,MC68HC908QT2,
$FE01 ESTADO DE REGISTRO DE RESET (SRSR) 65025 MC68HC908QY1, Y MC68HC908QY2
REGISTRO AUXILIAR DE DESCANSO (BRKAR) 65026
MAPA DE MEMORIA
$FE02
$FE03 REGISTRO DE BANDERA DE CONTROL (BFCR) 65027
$FE04 ESTADO DE REGISTRO DE INTERRUPCIÓN 1 (INT1) 65028
$FE05 ESTADO DE REGISTRO DE INTERRUPCIÓN 2 (INT2) 65029
$FE06 ESTADO DE REGISTRO DE INTERRUPCIÓN 3 (INT3) 65030
RESERVADO PARA EL CONTROL DE REGISTRO DE
$FE07 65031
FLASH DE PRUEBA (FLTCR)
$FE08 CONTROL DE REGISTRO FLASH (FLCR) 65032
$FE09 DIRECCIÓN DE DESCANSO DE ALTO REGISTRO (BRKH) 65033
$FE0A DIRECCIÓN DE DESCANSO DE BAJO REGISTRO (BRKL) 65034
ESTADO DE DESCANSO Y CONTROL DE REGISTRO
$FE0B 65035
(BRKSCR)
$FE0C LVISR 65036
$FE0D 65037
RESERVADO PARA FLASH DE PRUEBA
3 BYTES
$FE0F 65039
$FE10 65040
ROM MONITOR
416 BYTES
$FFAF 65455
$FFB0 65456
FLASH
$FFBD
14 BYTES
65469
REGISTRO FLASH DE BLOQUEO DE PROTECCIÓN 65470
$FFBE
(FLBPR)
$FFBF FLASH RESERVADO 65471
$FFC0 OSCILADOR INTERNO VALOR DEL TRIM 65472
$FFC1 FLASH RESERVADO 65473
$FFC2 65474
FLASH
$FFCF 14 BYTES
65487
$FFD0 65488
VECTORES DE USUARIOS
48 BYTES
$FFFF 65535
Figura 17. Mapa de Memoria.
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 23
24. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
REGISTROS DE LA CPU.
Los registros de la CPU son cinco. Estos registros no forman parte del mapa de
memoria. En la Figura xx se muestran los registros de la CPU.
BIT 7 BIT 0
ACUMULADOR (A)
BIT 15 BIT 0
REGISTRO INDEXADO (H-X)
BIT 15 BIT 0
PUERTO DE PILA (SP)
BIT 15 BIT 0
CONTADOR DE PROGRAMA (PC)
BIT 7 BIT 0
V I I H I N Z C
BANDERA DE ACARREO
BANDERA DE ZERO
BANDERA DE NEGATIVO
INTERRUPCIÓN ENMASCARABLE
BANDERA DE SEMI-ACARREO
BANDERA DE SOBREFLUJO
Figura 18. Registros de la CPU.
MEMORIA FLASH
La memoria Flash de usuario se extiende de $EE00 a $FDFF.
- Hay otros segmentos de propósitos específicos, como
el vector de interrupción.
La memoria Flash se escribe sólo con rutinas especiales.
- ¡Un STA simplemente no tendrá efecto!
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 24
25. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
- Estas rutinas aseguran una tensión determinada por un
tiempo determinado en las operaciones de borrado y/o
escritura.
También hay un sistema interno de protección (FLBPR), aún
para las rutinas del modo monitor.
Antes de escribir, hay que borrar la memoria previamente.
- La memoria se divide en páginas:
- Sólo se puede borrar una página por vez
- O bien toda la FLASH completa.
Antes de escribir hay que borrar.
-Por tanto la escritura también es en páginas completas.
MEMORIA RAM.
La memoria RAM se extiende de $0080 a $00FF.
En el QY4, toda la RAM puede accederse con
direccionamiento directo:
La pila está implementada en la memoria RAM.
-La pila ocupa la parte alta de la memoria.
-Las variables ocupan la parte baja.
KBI-MÓDULO INTERRUPTOR DE TECLADO.
El módulo interruptor de teclado permite usar 6 entradas de interrupción
en vez de la única IRQ.
Estas entradas comparten un único vector de interrupción y por lo tanto
hay que combinar con polling en la interrupción para saber quién fue.
Los pines de KBI no tienen las protecciones contra ruido que tiene el pin
de IRQ.
Pueden ser usados para manejar varios dispositivos simples (teclados,
sensores, etc.)
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 25
26. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
IRQ- MÓDULO DE INTERRUPCIÓN EXTERNA.
El módulo de interrupción externa solicita una /INT cuando recibe una
señal /IRQ conectada al microcontrolador.
Puede configurarse para disparar por flanco o por flanco y nivel.
Se puede enmascarar (inhabilitar).
El estado del pin externo puede revisarse por polling.
Histéresis para evitar disparos de ruido.
Una resistencia de pull-up puede configurarse para que se conecte o no.
ACUMULADOR (A).
Es un registro de propósito general de 8 bits. La CPU usa el acumulador como
un registro de operadores y resultados de las operaciones aritméticas y
lógicas. En la figura 19 se muestra el registro del acumulador A.
BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0
LECTURA:
ESCRITURA:
RESET: SIN EFECTO
Figura 19 Registro del acumulador A.
REGISTRO INDICE.
Es un registro de 16 bits que permite direccionar los 64 Kbyte del mapa de
memoria del HC08. H es el byte de la parte alta del registro índice y X es el byte
de la parte baja del registro. En el modo de direccionamiento índice, la CPU usa el
contenido del registro de índice para determinar la condición del operando.
El registro del índice también se puede utilizar como una localidad temporal de
almacenaje de datos. En la Figura 20 se muestra la estructura del registro de
índice.
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 26
27. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
BIT 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 BIT 0
ESCRITURA:
LECTURA:
RESET: 0 0 0 0 0 0 0 0 X X X X X X X X
X: INDETERMINADO
Figura 20 Registro de índice
Puerto A
El puerto A es un puerto de 6- bit con función especial, dicho puerto comparte los
6 pines con la interrupción de teclado (KBI) y 4 de estos con convertidores
analógicos a digital (ADC). Cada pin puerto también tiene un dispositivo de
software configurable pull-up si el pin del puerto se configura como entrada.
REGISTROS DE DATOS DEL PUERTO A (PTA).
El registro de datos del puerto A contiene un dato de latch por cada uno de los
seis pines del puerto A. En la Figura 21 se muestra el registro de datos del puerto.
BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0
LECTURA: AWUL PTA2
R PTA5 PTA4 PTA3 PTA1 PTA0
ESCRITURA:
RESET: DESATENDIDO COMO RESET
FUNCIONES KBI5 KBI4 KBI3 KBI2 KBI1 KBI0
ADICIONALES:
R = RESERVADO = SIN APLICAR
Figura 21.- Registro de datos del puerto A.
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 27
28. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
BITS DE DATOS DEL PUERTO A (PTA0-PTA5).
Estos bits son de lectura y escritura y son programables por software. La dirección
de datos de cada pin del puerto A es controlada por cada uno de los bits
correspondientes del registro de dirección de datos.
INTERRUPCION DE TECLEADO (KBI0-KBI5).
Las interrupciones de teclado se habilitan en los bits: KBIE0-KBI5, en la
interrupción de teclado se habilita el registro de control (KBIER), habilitando los
pines del puerto A como interrupciones externas.
AWUL
Este bit es de solo lectura el cual contiene el valor de una señal generada
internamente.
REGISTRO DE DIRECCIONES DEL PUERTO A (DDRA).
El registro de dirección de datos del puerto A determina si cada pin del puerto A
funcionara como entrada o salida. Escribiendo un 1 lógico en el bit DDRA se
habilita el buffer de salida para el pin correspondiente en el puerto A ó un 0 lógico
deshabilita el buffer de salida. En la figura 22 se muestra el registro de dirección
de datos del puerto A.
BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0
LECTURA: 0
R R DDRA5 DDRA4 DDRA3 DDRA1 DDRA0
ESCRITURA:
RESET: 0 0 0 0 0 0 0 0
R = RESERVADO = SIN APLICAR
Figura 22.- Registro de dirección de datos del puerto A.
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 28
29. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
BITS DEL DDRA
Estos bits son de lectura y escritura de control de dirección de datos del puerto A.
Un reset al DDRA configura todos los pines del puerto A como entradas.
1= Habilita el puerto como salida.
0=Habilita el puerto como entrada.
APUNTADOR DE PILA.
El apuntador de pila es un registro de 16 bits que contiene la dirección de
localidad de la pila.
urante un reset, el apuntador de pila es predeterminado en $00FF. El registro
puntero de pila es decrementado cuando los datos son puestos y es incrementado
cuando los datos son extraídos de la pila. En la figura 23 se muestra la estructura
del registrador de apuntador de pila.
BIT 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 BIT 0
ESCRITURA:
LECTURA:
RESET: 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
Figura 23 Registro del apuntador de pila.
CONTADOR DE PROGRAMA (PC).
Es un registro de 16 bits que contienen la dirección de la siguiente instrucción u
operando que será leído .normalmente el contador de programa
automáticamente incrementa la siguiente posición de memoria secuencial
siempre que una instrucción o el operador son traídos . El salto ,la rama y
operaciones de interrupción cargan el contador de programa con otra dirección
de la siguiente posición secuencial . En la Figura 24 se muestra el registro de
contador de programa.
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 29
30. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
BIT 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 BIT 0
ESCRITURA:
LECTURA:
RESET: CARGA CON EL VECTOR $FFFE Y $FFFF
Figura 24 Registro del contador de programa.
DESCRIPCIÓN DE LAS BANDERAS.
V-BANDERA DESOBREFLUJO.
La CPU pone la bandera de sobreflujo se complementa a 2 ocurre. Las
instrucciones que se activan la bandera de sobre flujo son: BGT, BGE, BLE y BLT.
1=Sobreflujo.
0= Ningún sobreflujo.
H-BANDERA DE MEDIO ACARREO.
La CPU pone la bandera de medio acarreó cuando ocurre un acarreo en los
bits3 y 4 del acumulador durante una suma de acarreo (ADD) o suma con
acareo (ADC). Este medio acarreo se requiere para operaciones aritméticas
con datos en código BCD(decimal codificado binario): la instrucción DAA usa los
datos de las banderas H y C para determinar el factor de corrección apropiado.
1=Acarreo entre los bits 3 y 4.
0= No acarreo entre los bits 3 y 4.
I-MASCARA DE INTERRUPCIÓN.
Cuando la máscara de interrupción es puesta las interrupciones enmascarables
de la CPU están deshabilitadas. Las interrupciones de la CPU son habilitadas
cuando la máscara de interrupción es limpia. Cuando una interrupción de la CPU
ocurre, la máscara de interrupción es puesta automáticamente después de los
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 30
31. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
registros de la CPU y están salvados en la pila pero antes de que se saque el
vector de interrupción .
1=interrupción deshabilitadas.
0= interrupción habilitadas.
N- BANDERA DE NEGATIVO
La CPU pone la bandera negativo cuando una operación aritmética la
operación lógica o la manipula de datos produce un resultado negativo
poniendo el resultado en bit 7.
1= Resultado negativo.
0= Resultado no negativo.
Z- BANDERA DE CERO
La CPU pone la bandera cero cuando una operación aritmética, la operación
lógica, o la manipula de datos produce un resultado resultado cero.
1= resultado es cero.
0= resultado diferente de cero.
C-BANDERA DE ACARREO/PRESTAMO.
LA CPU pone la bandera de acarreó /préstamo cuando una operación de adición
produce u acarreo fuera del bit 7 del acumulador o cuando una operación de
sustracción requiere un préstamo.
1=Acarreo fuera del bit 7.
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 31
32. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
0= No hay carreo fuera del bit 7.
MODO DE ESPERA (WAIT).
El ADC sigue la operación normal durante modo de espera. Cualquier interrupción
habilitada de la CPU se requiere para que el ADC una unidad del microcontrolador
(MCU) fuera del modo de espera. Si no requieren que el ADC traiga el MCU en el
modo de espera el poder abajo el ADC envía por el CH [4:0] bits del ADSCR en
un 1 lógico antes de ejecutar la instrucción de espera.
MODO DE PARAR (STOP).
El módulo ADC es inactivo después de la ejecución de una instrucción de stop.
Cualquier conversión pendiente es abortada. Las conversiones del ADC cuando el
MCU sale el modo de stop. Permite que un ciclo de conversión se estabilice antes
de otra conversión del ADC después de ejecutar el modo de stop.
SEÑALES DE ENTRADA/SALIDA.
El módulo del ADC tiene 4 canales de entrada/salida que son compartidos con el
puerto A. el voltaje de entrada del ADC (ADCVIN) es la señal de voltaje de entrada
para uno de los 4 canales del módulo del ADC.
REGISTROS DE ENTRADA/SALIDA.
Estos registros de entrada/salida son registros de control y operan en el modo
monitor del ADC:
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 32
33. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
Estatus del ADC y registro de control (ADSCR).
Registros de datos del ADC (ADR).
Registro de reloj del ADC (ADICLK).
ESTADOS DEL ADC Y REGISTRO DE CONTROL (ADSCR).
Cuando una conversión está en proceso y el ADSCR es escrito, los datos de
conversión deberían ser desechados para prevenir una lectura incorrecta. En la
Figura 25 se muestra el registro de control del convertidor (ADSCR).
DIRECCIÓN: $003C
BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0
LECTURA: COCO
AIEN ADCO CH4 CH3 CH2 CH1 CH0
ESCRITURA:
RESET: 0 0 0 1 1 1 1 1
Figura 25.- Registro de control del ADC.
BIT DE FIN DE CONVERSIÓN (COCO).
En el modo de interrupción (AIEN=0) COCO es un bit de lectura solamente que es
enviado al final de cada conversión. COCO podría estarse limpiando hasta que es
leído un registro de datos del ADC. Un reset limpia este bit. En el modo de
interrupción (AIEN=1), COCO es un bit de lectura solamente y no es enviado al
final de cada conversión. Si siempre es leído como un 0 lógico.
1= Conversión completada (AIEN=0).
0= Conversión no completada (AIEN=0). Interrupción de CPU habilitada (AIEN=1).
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 33
34. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
BIT DE HABILITACION DE INTERRUPCIÓN (AIEN).
Cuando este bit es enviado, se genera una interrupción al finalizar una conversión
del ADC. La señal de interrupción es limpiada cuando ADSCR es escrito. Un reset
limpia el bit AIEN.
1= Interrupción habilitada del ADC.
0= Una conversión del ADC.
BITS DE SELECCIÓN DE CANAL DEN ADC CH[4:0].
Los canales CH4, CH3, CH2, CH1 y CH0 forman un campo de 5 bits que son
utilizados para seleccionar uno de los 4 canales del ADC. Los 5 bits de selección
son detallados en la Tabla 7.
Tabla 7. Canales de selección.
Canal Entrada
CH4 CH3 CH2 CH1 CH0
ADC Seleccionada
0 0 0 0 0 ADC0 PTA0
0 0 0 0 1 ADC1 PTA1
0 0 0 1 0 ADC2 PTA4
0 0 0 1 1 ADC3 PTA5
REGISTRO DE DATOS DEL ADC (ADR).
Es un registro de 8 bits que guarda los resultados de la conversión del ADC. En la
Figura 26 se muestra el registro de datos del ADC.
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 34
35. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
DIRECCIÓN: $003E
BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0
LECTURA: AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0
ESCRITURA:
RESET: INDETERMINADO DESPUÉS DEL RESET
Figura 26.- Registro de datos del ADC.
TARJETA DE EVALUACIÓN M68EVB908Q.
La tarjeta de desarrollo M68EVB908Q es una herramienta para el desarrollo y la
emulación para planificadores que utilizan los microcontroladores de las familias
MC68HC908. La tarjeta de desarrollo M68EVB908Q funciona en una PC, que se
utiliza para desarrollar aplicaciones, simular, emular y programar esta familia de
microcontroladores de Motorola. El software CodeWarrior de, de Metrowerks, el
software ICS08 de P& amperio; y otros programas de tercera base, compatible
con la interfaz MON08 pueden ser usados como software de control para
desarrollar, purificar y grabar programas en la tarjeta de desarrollo M68EVB908Q.
La tarjeta de desarrollo M68EVB908Q es conectada a través del cable serial o
db9, hacia el conector DB9 tipo hembra que se encuentra en la PC, en la Figura
12 se muestra esta conexión.
Para simulación, emulación y grabación del programa, la tarjeta se comunica con
la computadora personal en Modo Monitor. Que forza a la velocidad de
comunicación a que la sea la misma al reloj externo. Por lo tanto, las frecuencias
de reloj externas son limitadas para las velocidades de comunicación admitidas
por el software de control en PC. Por ejemplo, si tenemos una frecuencia de reloj
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 35
36. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
externa de 20,00 MHz debemos usar una velocidad de comunicación en PC tan
cerca como sea posible de 19531,25 bps. En este caso se escoge la velocidad de
19200bps para trabajar con esta tarjeta.
//INSTITUTO DE LAZARO CARDENAS
//JOSE ARMANDO LARA GONZALEZ
//INGENIERIA ELECTRONICA
//CONFIGURACION DEL PUERTO B (SALIDA)
//CORRIMIENTO DE UN ¨¨1¨¨, ASENDENTE Y DESENDENT
#include¨hidef.h¨
Void CONF_PT_B(void) +5V
Int i,k,l;
{
CONF_P_B();
for(;;)
{
M68EVB908Q
CABLE DB9
MONITOR Y TECLADO CPU
Figura 28. Conexión de la tarjeta M68EVB908Q con la PC.
La configuración de la placa es hecha a través de jumpers. La Tabla 4 pone una
lista de los componentes principales de la placa de desarrollo M68EVB908Q.
Es necesario establecer una aclaración acerca del cable para el puerto DB9,
existe en el mercado algunos cables que son usb – serial, que son muy útiles en el
área de las computadoras portátiles, se pueden usar, siempre y cuando se
instalen adecuadamente en la laptop y automáticamente el programa en el que se
estará trabajando (en nuestro caso el codewarrior versión 6.3) identificará
fácilmente el cable conversor.
Por tanto para hacer una buena transferencia de nuestro programa que se
encontrara en la PC hacia nuestro microcontrolador, será necesario que SW2 este
en la opción de monitor, y JP4 este en el modo oscilador, y dependiendo del
microcontrolador utilizado se colocar en las diferentes bases tipo DIP para 8 o 16
pines.
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 36
37. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
Tabla 8. Descripción de los componentes de la tarjeta de desarrollo
M68EVB908Q.
COMPONENTES DESCRIPCIÓN
LD1 LED de usuario
J1 Jumper de habilitación
SW1 Botón de usuario
SW2 Botón de Reset de la MCU
Jumper para habilitar o botón de reset
J2
de MCU
J3 Jumper de 2 modos monitor o usuario
CN1 Conector de alimentación DC
P1 Potenciómetro de corte de usuario
J4 Jumper para habilitar P1
CN3 Conector de 2 pines de la MCU
Base para encapsulado tipo DIP de 16
U5
pines
CN2 Conector serial para cable DB9
U2 Conversor de nivel RS232 / CMOS
Base para encapsulado tipo DIP de 8
U4
pines
Jumper para activar el puerto de
J5
comunicación Modo Monitor
Jumper para habilitar modo oscilador en
J6
la tarjeta
Diagrama esquemático.
En la Figura 29 se muestra el diagrama esquemático para la tarjeta de desarrollo
M68EVB908Q.
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 37
38. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
Figura 29. Diagrama esquemático para la tarjeta de desarrollo M68EVB908Q.
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 38
39. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
S.E.P. S.E.S
D.G.E.S.T.
INSTITUTO TECNOLÓGICO
DE
LÁZARO CÁRDENAS
“MICROPROCESADORES Y MICROCONTROLADORES”
PRACTICA No. 1
“USO DEL PUERTO B COMO SALIDA”
CATEDRATICO:
ING. JOSÉ ARMANDO LARA GONZÁLEZ
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 39
40. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
“USO DEL PUERTO B COMO SALIDA”
OBJETIVO.- El alumno conocerá el funcionamiento del Puerto B del
microcontrolador MC68CH908QY2, configurándolo como salida; empleando el
dato de los dos últimos números de control del alumno (52) a 8 led’s conectados
en el Puerto B.
MATERIAL Y EQUIPO:
1 Microcontrolador MC68HC908QY2.
8 LED´S.
1 Protoboard.
Cable de teléfono para puentes.
8 Resistencias de 220Ω.
1 Tarjeta de evaluación para programar microcontroladores
(MC68EVB908QY2).
1 Fuente de poder de 5Vcc.
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 40
41. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
DESARROLLO
Se desarrolló un programa en lenguaje C para el microcontrolador
MC68HC908QY2, el cual muestra un número (52) por el Puerto B, y visualizando
dicho dato a través de 8 led’s conectados a dicho puerto.
Para la realización de dicho programa se hizo lo siguiente:
a). Primero se implementó el circuito de la Figura 30, el cual mostro los dos
últimos dígitos de mi número de control (52) en la salida del Puerto B.
Para este caso el 52 (decimal) = 0101 0010 (hexadecimal) por lo tanto D1, D4 y
D6 estarán en 1 lógico y D0, D2, D3, D5 y D7 en cero lógico; por lo cual los leds
que permanecerán encendidos son de la salida del puerto B son: 1, 3 y 6.
+5V
Vcc 220 W
PB0
220 W
M PB1
PA0 C 220 W
6 PB2
PA1 8
220 W
H
PA2 PB3
C
9 220 W
PA3 0 PB4
8 220 W
PA4
Q PB5
PA5
Y 220 W
2 PB6
220 W
PB7
GND
Figura 30. Aplicación del puerto B como salida.
b). Programa que realice en lenguaje C, el cual muestra el numero 52 como dato
de salida por medio del puerto “B” en el que puede ser visualizado en los 8 leds.
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 41
42. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
//INSTITUTO TECNOLOGICO DE LAZARO CARDENAS
//QUINTERO HERNÁNDEZ JORGE ISRAEL
//INGENIERIA ELECTRONICA
//PROGRAMA QUE UTILIZA EL PUERTO B COMO SALIDA FIJA (NUMERO 52).
#include <hidef.h>
#include "derivative.h"
int i;
void main(void)
{
CONFIG1=0X09;
DDRB=0XFF;
for(;;)
{
PTB=0X52;
for(i=1;i<=30000;i++);
PTB=0;
for(i=1;i<=30000;i++);
for(i=1;i<=30000;i++);
for(i=1;i<=30000;i++);
for(i=1;i<=30000;i++);
}
}
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 42
43. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
CONCLUSIÓN.
En esta práctica se puede llegar a la conclusión que aunque la tarea en este caso
fue demasiado sencilla, es necesario tener los conocimientos adecuados tanto del
microcontrolador como de la tarjeta de evaluación. Para poder trabajar con el
microcontrolador es necesario saber de qué manera operarán los puertos A o B,
en este caso se utilizó el Puerto B, dicho puerto se puede utilizar como entradas o
como salidas, en esta práctica se usó como salida fija este dicho puerto, así
mismo la verificación funcional de todos los componentes del circuito.
BIBLIOGRAFIA.
a. Manual Motorola de Microcontroladores MC68HC908 Edición 12/2002.
b. José Ma. Angulo, Microcontroladores pic, Diseño práctico de aplicaciones,
Ed. Mc. Graw Hill
c. www.microchip.com
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 43
44. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
S.E.P. S.E.S
D.G.E.S.T.
INSTITUTO TECNOLÓGICO
DE
LÁZARO CÁRDENAS
“MICROPROCESADORES Y MICROCONTROLADORES”
PRACTICA No. 2
“USO DEL PUERTO B COMO
SALIDA EN UN CORRIMENTO
DE UN 1 DE FORMA ASCEDENTE
Y DESCENDENTE; el auto
increíble”
CATEDRATICO:
ING. JOSÉ ARMANDO LARA GONZÁLEZ
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 44
45. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
EL AUTO INCREIBLE.
OBJETIVO.
El alumno conocerá el funcionamiento del puerto B del microcontrolador
MC68HC908QY2, configurándolo como salida.
MATERIAL Y EQUIPO:
1 Microcontrolador MC68HC908QY2.
8 LED´S.
1 Protoboard.
Cable de teléfono para puentes.
8 Resistencias de 220Ω.
1 Tarjeta de evaluación para programar microcontroladores
(MC68EVB908QY2).
1 Fuente de poder de 5Vcc.
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 45
46. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
DESARROLLO.
Se ha desarrollado un programa en lenguaje C utilizando el puerto B como salida,
el cual debió hacer la secuencia en forma ascendente y descendente. Para ver
si la secuencia es correcta se conectaran los LEDS en el puerto B.
1.- Se ha implementado el circuito de la Figura 31. La secuencia que deberá
seguir el circuito implementado es la siguiente: 1, 2, 4, 8, 16, 32, 64, 128, 64, 32,
16, 8, 4, 2, 1 indefinidamente.
+5V
Vcc 220 W
PB0
220 W
M PB1
PA0 C 220 W
6 PB2
PA1 8
220 W
H
PA2 PB3
C
9 220 W
PA3 0 PB4
8 220 W
PA4
Q PB5
PA5
Y 220 W
2 PB6
220 W
PB7
GND
Figura 31. Circuito que se ha montado para la práctica número dos.
2.- El código del programa que fue desarrollado para la secuencia de 2n en forma
de ascendente y descendente es la siguiente:
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 46
47. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
//INSTITUTO TECNOLOGICO DE LAZARO CARDENAS
//QUINTERO HERNÁNDEZ JORGE ISRAEL
//INGENIERIA ELECTRONICA
//PROGRAMA QUE UTILIZA EL PUERTO B COMO SALIDA FIJA.
//CORRIMENTO DE UNA SECUENCIA DE 2^n ASCENDENTE Y
DECENDENTE.
#include <hidef.h>
#include "derivative.h"
int i,I,a,b;
void main(void) {
CONFIG1=0x09;
DDRB=0xFF;
for(;;) {
i=1;
for(a=1;a<=8;a++); {
PTB=i;
for(I=0;I<=30000;I++)
i=i*2; }
i=64;
for(b=1;b<=6;b++); {
PTB=i;
for(I=0;I<=30000;I++)
i=i/2; }
}
}
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 47
48. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
CONCLUSION
Se llegó a la conclusión gracias a esta práctica de nueva cuenta cómo utilizar los 8
pines del puerto B como salida, pero ahora con la diferencia de que nuestros LEDs
conectados hicieron una secuencia de cómo un carro que iba y venía (tal como se
veía el juego de luces de la serie de televisión “El auto increíble o Kit”), y esto se
logró gracias al código implementado que fue este el cerebro de la secuencia del
microcontrolador MC68HC908QY4, es importante mencionar que para poder
realizar los retardos en el encendido de los LEDs se implementó un ciclo for por
cada retardo en nuestro programa, no obstante se utilizó el mismo CONFIG1, el
cual deshabilito el perro guardián y selecciono el voltaje para trabajar con el
microcontrolador en curso. Es por ende que claro esta práctica fue más
complicada que la practica 1, pero con esencia similar, el uso del puerto B como
salida.
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 48
49. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
S.E.P. S.E.S
D.G.E.S.T.
INSTITUTO TECNOLÓGICO
DE
LÁZARO CÁRDENAS
“MICROPROCESADORES Y MICROCONTROLADORES”
PRACTICA No. 3
“USO DEL PUERTO a COMO
entrada y el puerto b como
salida”
CATEDRATICO:
ING. JOSÉ ARMANDO LARA GONZÁLEZ
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 49
50. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
USO DEL PUERTO A COMO ENTRADA.
OBJETIVO.
El alumno comprobara el funcionamiento del puerto A como entrada y el puerto B
como salida del microcontrolador MC68HC908QY2.
MATERIAL Y EQUIPO:
1 Microcontrolador MC68HC908QY2.
2 LED´S.
1 Protoboard.
1 Cable de teléfono para puentes.
2 Resistencias de 220Ω.
1 Tarjeta de evaluación para programar microcontroladores
(MC68EVB908QY2).
1 Fuente de poder de 5Vcc.
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 50
51. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
DESARROLLO.
Se ha desarrollo un programa en lenguaje C para el microcontrolador
MC68HC908QY2, que verifico un dato de entrada en el puerto A. Si dato presente
en A era 0 decimal (000000) debió de haber enviado una señal de encendido del
LED conectado al puerto B menos significativo (PTB0), si el dato presente en A
era 63 decimal (111111) debió de haber enviado una señal de encendido del LED
conectado al puerto B más significativo (PTB7), cualquier otra combinación no
encenderán los LEDS.
1.- Se ha implementado el circuito de la Figura 32.
+5V
+5V
Vcc 220 W
PB0
M PB1
PA0 C
6 PB2
PA1 8
H
PA2 PB3
C
9
PA3 0 PB4
8
PA4
Q PB5
Y
PA5
2 PB6
220 W
PB7
GND
Figura 32. Circuito implementado para la práctica número tres.
2.- El programa que se ha implementado para esta práctica es el siguiente:
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 51
52. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
// INSTITUTO TECNOLOGICO DE LAZARO CARDENAS
//QUINTERO HERNANDEZ JORGE ISRAEL
//INGENIERIA ELECTRONICA
//CONFIGURACION DEL PUERTO A COMO ENTRADA
//CONFIGURACION DEL PUERTO B COMO SALIDA
#include <hidef.h>
#include "derivative.h"
int a,b,c; //*variables enteras*//
void main (void)
{
CONFIG1=0x09;
DDRB=0xFF;
DDRA=0;
for(;;)
{
a=PTA;
if(a==0)
{
PTB=1;
}
else if(a==63)
{
PTB=128;
}
else {
PTB=0;
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 52
53. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
}
}
}
CONCLUSION
Gracias a esta práctica se llegó a la conclusión de que el puerto A es también
utilizado como entrada o como salida pero en esta práctica se implementó como
entrada y en contraste se siguió utilizando el puerto B como salida, es por ende
que se escribió en la parte de nuestro programa una línea en la cual el puerto A
quedo programado como entrada, y como esta obvio, la dificultad de tal programa
creció un poco, debido a que si nosotros pondríamos un número cero (0) decimal
en los pines del puerto A se obtenía el encendido de LED del lado del puerto B
menos significativo, en caso de que nuestro número fuese 63 decimal en el puerto
A se iba obtener el encendido de LED más significativo y cualquier otra
combinación los LEDs no encenderían, no hay que olvidar que se siguió utilizando
nuestro mismo CONFIG1 que en las otras prácticas ya que trabajamos con
nuestro microcontrolador a 5 volts y deshabilitamos nuestro perro guardián.
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 53
54. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
S.E.P. S.E.S
D.G.E.S.T.
INSTITUTO TECNOLÓGICO
DE
LÁZARO CÁRDENAS
“MICROPROCESADORES Y MICROCONTROLADORES”
PRACTICA No. 4
“el auto increíble con tiempo
programado DE 2.5 SEGUNDOS”
CATEDRATICO:
ING. JOSÉ ARMANDO LARA GONZÁLEZ
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 54
55. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
AUTO INCREIBLE CON TIEMPO DE 2.5 SEGUNDOS
OBJETIVO.
El alumno conocerá el funcionamiento del puerto B del microcontrolador
MC68CH908QY2, configurándolo como salida por un tiempo determinado.
MATERIAL Y EQUIPO:
1 Microcontrolador MC68HC908QY2.
8 LED´S.
1 Protoboard.
Cable de teléfono para puentes.
8 Resistencias de 220Ω.
1 Tarjeta de evaluación para programar microcontroladores
(MC68EVB908QY2).
1 Fuente de poder de 5Vcc.
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 55
56. Instituto Tecnológico de Lázaro Cárdenas MC68HC908QY2
DESARROLLO
Diseñar un programa en lenguaje C utilizando el puerto B como salida el cual
deberá realizar la secuencia de 1 con un tiempo de 2.5 segundos en forma
ascendente y descendente.
1.- Para poder calcular el tiempo de corrimiento de 1 de en forma ascendente y
descendente se aplicó la siguiente fórmula.
Por lo tanto
Donde 14 son los datos [D0:D7] dos veces es decir ida y regreso del corrimiento de
1. Para lo cual se utiliza la siguiente fórmula para encontrar t (cada LED).
Despejamos para encontrar n (ciclos maquina)
Por lo tanto decimos que para calcular el tiempo de cada led estada por.
ELABORADO POR: JORGE ISRAEL QUINTERO HERNÁNDEZ Página 56