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