Download - Microprocesadores, Tema 2:
Microprocesadores, Tema 2:
Introducción al Microcontrolador PIC18
Guillermo Carpintero, [email protected]
Universidad Carlos III de Madrid
Diagrama de bloques
“PIC microcontrollers: An introduction to Microelectronics”
M. Bates
Elsevier/Newnes 2004
Ruta de datos del PIC 18F
Entradas/Salidas
Memoria
CPU
Figura del “PIC18F2525/2620/4525/4620 Data Sheet”
Con permiso de MICROCHIP
Arquitectura Harvard:
1. Memoria de PROGRAMA ���� Almacena INTRUCCIONES y DATOS
EEPROM/Flash
2. Memoria de DATOS ���� Almacena DATOSCompuesta por dos áreas principales
2.1 Área RAM formada por:Registros de propósito específico (SFR) – Regs. de Control Registros de propósito general – Almacenamiento temp.
2.2 Área EEPROM formada por 64 bytes – Almacenamiento datos usr. no volátiles
Memoria: Características generales
Memoriaprograma
Figura del “PIC18F2525/2620/4525/4620 Data Sheet”
Con permiso de MICROCHIP
Memoria de programa: Organización
16-bit wide
8-bit wide
Memoria de programa: Organización
8-bit wide
Unidades datos memoria de programa
Instruction 16 bits
Data 8 bits
Direcciones memoria de programa
Cada byte � Propia dirección
0000 00010002 0003
Direcciones dedicadas en memoria de programa
0000h = Vector RESET0008h = Vector interrupción HP0018h = Vector Interrupción LP
Mapa de memoria
Figura del “PIC18F2525/2620/4525/4620 Data Sheet”
Con permiso de MICROCHIP
Memoria de programa: Organización
Direcciónde 21 bits
1
2
3
Memoria de programa: Acceso a Instrucciones
Direccionamiento de Instrucciones : Contador de Programa
Memoria de programa: Acceso a datos
Direccionamiento de datos (memoria programa) : Tablas datos en memoria de programa (PUNTEROS)
TBLRD*
TABLAT = (TBLPTR)
TBLRD*+
TABLAT = (TBLPTR)
TBLPTR = (TBLPTR)+1
TBLRD*-
TABLAT = (TBLPTR)
TBLPTR = (TBLPTR)-1
TBLRD+*
TBLPTR = (TBLPTR)+1
TABLAT = (TBLPTR)
Figura del “PIC18F2525/2620/4525/4620 Data Sheet”
Con permiso de MICROCHIP
TABLAT = (TBLPTR)
Instrucciones relacionadas
MemoriaDatos
Figura del “PIC18F2525/2620/4525/4620 Data Sheet”
Con permiso de MICROCHIP
Memoria de datos: Organización
Tamaño12 (4+8) bits direcciones: 4096 pos.
Organizada en BancosEstá divida en 16 bancos de 256 bytes cada uno (8 bits).
Los 4 bits LSB del Bank SelectRegister (BSR<3:0>) seleccionan el banco activo.
La zona SFR ocupa las últimas 64 posiciones, descendiendo desde la última dirección del banco 15 (0xFFF).
Scratch Pad(8 bits de dir)
Control:ProcesadorPreriféricos
Memoria de datos: Organización
Figura del “PIC18F2525/2620/4525/4620 Data Sheet”
Con permiso de MICROCHIP
DATOS
BSR
Memoria de datos: Organización
Ejemplo de movimiento de datos
Escribir un valor en una dirección de memoria RAM:
MOVLW valor
MOVWF F
Ciclo de Instrucción
fOSC = 8 MHz → TOSC = 125 ns → Tcyc = 500 ns
fOSC_MAX =20 MHz → TOSC = 50 ns → Tcyc = 200 ns
Pipeline: Procesado Paralelo
dirección efectiva (de)
POSTDEC de = (FSRx)FSRx = (FSRx)-1
POSTINC de = (FSRx)FSRx = (FSRx)+1
PREINC
PLUSW de = (FSRx) + (W)
Memoria de DATOS: Acceso a Datos
Acceso Directo Acceso Indirecto
FSR0FSR1FSR2
Memoria de DATOS: Zona SFR
Stack
PC
AccesoIndirectoFSR0 Puertos
Arquitectura del Procesador: Unidad Computacional
Figura del “PIC18F2525/2620/4525/4620 Data Sheet”
Con permiso de MICROCHIP
Memoria de datos: Zona SFR (Puertos E/S)
Arquitectura Ortogonal : Cualquier instrucción puede utilizar cualquier registro de la arquitectura como fuente o destino.
Arquitectura con E/S mapeada en memoria: Todos los elementos del sistema están implementados físicamente como registros.
Arquitectura del Procesador: Unidad Computacional
Memoria de PROGRAMAS: Acceso a datos
Direccionamiento de Datos : Tablas en Memoria de Programa
TBLRD*TBLRD*+TBLRD*-TBLRD+*
Memoria de PROGRAMAS
La pila (Stack)
Cuando hablemos de las subrutinas en el Software
Puertos del Microcontrolador
Puertos del Microcontrolador
Hardware de Aplicación
Diseño Eléctrico: Esquemático
Diseño Eléctrico: Esquemático de Prácticas
Programación del ChipProgramación del Chip
La cadena de desarrollo
BoardProgramador
SWProg
C18
MPASM
Debug
C18
MPASM
PCB