El Microcontrolador 68HC11
Microcontrolador de 8 bits
Dispositivo basado en acumulador
Existen siete registros disponibles para programar
105 instrucciones (95 o 78)
Instrucciones que pueden procesar 1, 8 y 16 bits
Entrada/Salida mapeada a memoria
6 modos de direccionamiento
Arquitectura de computadoras
Memoria
ALU
Unidad de control
I/O
Instrucción
IR
Fetch
Decode
Execute
Arquitectura básica de computadoras
ALU realiza operaciones aritm?ticas y lógicas
Memoria programas y datos pueden estar aqui (Arquitectura Bon Newman)
I/O comunicación con el mundo exterior mediante lectura de datos y escritura de datos (paralelo/serie)
Unidad de control organiza las funciones dentro de la computadora
Caracteristicas del 68HC11 ISP (Instruction Set Proccess)
Acumulador A
Acumulador B
Acumulador D
Index Register X
Stack Pointer
Index Register Y
Program Counter
Operaciones {
8 Bits
8 Bits
Condition Code Register
A-B
D
IX
IY
SP
PC
CCR
Caracteristicas del 68HC11 ISP (Instruction Set Proccess)
MAR
Instruction Register
8 Bits
8 Bits
Caracteristicas del 68HC11 ISP (Instruction Set Proccess)
Condition Code Register CCR
Carry
Overflow
Zero
Negative
Interrupt mask
Half carry (for bit 3)
X interrupt mask
Stop disable
C
O
Z
N
I
H
X
S
Caracteristicas del 68HC11
On-chip ROM hasta 8KBytes
On-chip RAM desde 192Bytes hasta 1KByte
On-chip EEPROM hasta 2KBytes
Parallel I/O Bytes o bits
Timer System
Timer
Pulse acumulator
Periodic interrupt
Cop Watchdog
Caracteristicas del 68HC11
Seria Peripherial Interface (SPI)
Serial Communication Interface (SCI)
Sistema de conversion Analógica/Digital
Capacidad para captura paralelo
Convertidor Analógico/Digital de multiple canal
Naturaleza el?ctrica de las señales del 68HC11
Numeros Binarios
bit -> unidad primitiva que representa cualquiera de dos valores 1 o 0, TRUE o FALSE
Nbits -> patrones de 2N
El significado de 2N determina un esquema de codificación
Patrones binarios para diferentes propositos
Numeros
Direcciones
Caracteres
Simbolos
Instrucciones
Numeros Binarios
Caracteres y Simbolos
Numeros Binarios
Instrucciones
1110 0000 0000 1000 1001 0110 0010 0101 Valor de la instrucción en binario
E008 9625 Valor numerico de la instrucción en Hexadecimal
LDAA 25H Cargar en el acumulador con un 25 o 0010 0101
ABX Sumar B con X, donde B es un numero sin signo
E017 3A Valor numerico de la instrucción en Hexadecimal
1110 0000 0001 0111 0011 1010 Valor de la instrucción en binario
Codificación binaria Esquema sin Signo
Valor numerico =
Sistema numerico posicional
Rango de valores =
Variedad de usos
Direcciones
Apuntadores
Contadores
Rangos de los numeros binarios sin signo
8 bits (byte): 0 -> 255
16 bits (word): 0->65,535
24 bits: 0 -> 16,777,216
32 bits (long word): 0-> 4,294,967,295
64 bits 0 -> 1.84 X 1019
Esquema de codificación: Complemento a uno
Enteros Positivios Enteros Negativos
Decimal Binario Decimal Binario
0 0000 -0 1111
1 0001 -1 1110
2 0010 -2 1101
3 0011 -3 1100
4 0100 -4 1011
5 0101 -5 1010
6 0110 -6 1001
7 0111 -7 1000
¡Doble representación del 0!
Esquema de codificación: Complemento a dos
Enteros Positivios Enteros Negativos
Decimal Binario Decimal Binario
0 0000 0 0000
1 0001 -1 1111
2 0010 -2 1110
3 0011 -3 1101
4 0100 -4 1100
5 0101 -5 1011
6 0110 -6 1010
7 0111 -7 1001
numero complemento a 2 = numero complemento a 1 + 1
Esquema de codificación: Complemento a dos
Valor del numero =
Sistema posicional
Rango de valores =
Variedad de usos
Enteros
Desplazamientos
Mapeo a valores fisicos
Esquema de codificación: Complemento a dos
Conversión de binario a decimal
1101 = – 1X27 + 1X26 + 0X25 + 0X24 +
1X23 + 1X22 + 0X21 + 1X20
= – 3
Operaciones
Resta: se reduce al problema de sumar dos numeros
Rango del complemento a dos
8 bits (byte): -128 -> 127
16 bits (word): -8,192 -> 8,191
24 bits: -8,388,608 -> 8,388,607
32 bits (long word): -2,147,483,648 -> 2,147,483,647
64 bits: -9.22X1018-> 9.22X18
Metodos para expansión de microcontroladores
Razones para expandir:
El reloj en tiempo real perimite hacer hacer transferencia de información con circuiteria externa muy rapidamente
Los requisitos de diseño imponen restriciones con el tamaño, peso y consumo de energia
Aun no se tiene el diseño definitivo del sistema, pero por si se llegaran a necesitar mas modulos no representaria muchos problemas agregarlos
Configuraciones del 68HC11
Cuatro modos de operación
Modo single-chip
Modo multiplexado expandido
Modo boot-strap
Modo manufacturing test
Configuración de la memoria del 68HC11
Mapa de memoria del 68HC11
Puertos adicionales para el 68HC11
Puertos de entrada
Memoria adicional para el 68HC11
Configuración para incrementar 24KBytes
Conjunto de instrucciones define operaciones
Ciclo de operacion: fetch, decode, execute
Formato de instrucciones: OpCode[Arg1]
Agrupamiento de instrucciones
Trabajo -> ADDX, SUBX, MUL, ANDX, ORX
Mover -> I/O, COPY, PUSH, POP, etc.
Control de programa ->JMP, JSR, RTS, BXX
Control del sistema -> RTI, SWI, WAI
Sinatxis básica de una instrucción
Instr Arg1
Código de operación la instruccion:
es el mnemonico de la operación
que realiza la instrucción
Identifica la localidad del operando
que sera usado en la instruccion,
localidad en la memoria o valor
inmediato
Localidad de un operando
Un operando puede estar cualquiera de las siguientes localidades:
Registro acumulador (ACCA, ACCB, ACCD)
Direccion de memoria identificada por algun registro (IX, IY, SP, PC)
Condition Code Register
Espacio en memoria
Memoria
Espacio de I/O
Estructura de Stack
Instrucciones para realizar trabajo
Especificar alguna actividad para el sistema
Modificar bits en el registro CCR
Operandos localizados en registros y memoria
Incremento del PC cuando sea necesario para apuntar a la direccion siguiente
Trabajar sobre cantidades de 1Byte, 2Bytes, etc.
Instrucciones para realizar trabajo
Suma de dos valores a un destino
ABA suma acumulador B con acumulador A
ABX suma acumulador B con acumulador X
ABY suma acumulador B con acumulador Y
ADC direccion unica ADD, con carry
ADD direccion unica ADD
ADDD direccion unica ADD, 16 bits
Instrucciones para realizar trabajo
Sustraccion de dos valores a un destino
SBA diferencia entre acumulador B con acumulador A
SBC sustraccion unica direccion, usando carry
SUB
ADC direccion unica ADD, con carry
ADD direccion unica ADD
ADDD direccion unica ADD, 16 bits