SlideShare une entreprise Scribd logo
1  sur  40
CIRCUITOS DIGITALES II
EL MICROCONTROLADOR: ARQUITECTURA
Mg. Ing. FERNANDO APARICIO URBANO MOLANO
El MicrocontroladorEl Microcontrolador
Estudiar el diseño de los periféricos
2
El MicrocontroladorEl Microcontrolador
Estudiar el diseño de los periféricos
Se requiere escoger el mejor
dispositivo que cumpla con todas
las características mínimas para el
buen desarrollo del sistema.
3
El MicrocontroladorEl Microcontrolador
Estudiar el diseño de los periféricos
Se requiere escoger el mejor
dispositivo que cumpla con todas
las características mínimas para el
buen desarrollo del sistema.
Los rangos van desde los 4 bits con
características limitadas hasta 32
bits de alta velocidad.
4
El MicrocontroladorEl Microcontrolador
La meta es escoger el más
económico que tenga los parámetros
y características deseadas para la
aplicación.
5
El MicrocontroladorEl Microcontrolador
La meta es escoger el más
económico que tenga los parámetros
y características deseadas para la
aplicación.
Realice el prototipo del hardware.
6
El MicrocontroladorEl Microcontrolador
La meta es escoger el más
económico que tenga los parámetros
y características deseadas para la
aplicación.
Realice el prototipo del hardware.
Desarrolle el firmware (en
cualquiera de los lenguajes
disponibles. Para este curso:
Ensamblador)
7
8
ARQUITECTURA BÁSICAARQUITECTURA BÁSICA
•CPU: circuito secuencial complejo cuya función
primaria es ejecutar los programas que se
encuentran almacenados en la Flash EEPROM
(Electrically Erasable Programmable Read Only
Memory).
9
ARQUITECTURA BÁSICAARQUITECTURA BÁSICA
•CPU: circuito secuencial complejo cuya función
primaria es ejecutar los programas que se
encuentran almacenados en la Flash EEPROM
(Electrically Erasable Programmable Read Only
Memory).
•Programa (firmware): serie de instrucciones para
desarrollar una tarea específica.
10
ARQUITECTURA BÁSICAARQUITECTURA BÁSICA
•CPU: circuito secuencial complejo cuya función
primaria es ejecutar los programas que se
encuentran almacenados en la Flash EEPROM
(Electrically Erasable Programmable Read Only
Memory).
•Programa (firmware): serie de instrucciones para
desarrollar una tarea específica.
•Los programas (firmware) son desarrollados por de
diseñadores de sistemas basados en
microcontroladores (Ustedes) usando herramientas
de desarrollo.
11
ARQUITECTURAARQUITECTURA PIPELINEPIPELINE (SEGMENTADA)(SEGMENTADA)
Consiste de subsistemas hardware separados
llamados etapas para traer una instrucción desde la
memoria, decodificarla, traer los operandos desde
la memoria o los registros, ejecutar la instrucción y
luego escribir los resultados nuevamente en la
memoria.
TRAE
INSTRUCCION
DECODIFICA
INSTRUCCION
TRAE
OPERANDOS
EJECUTA
INSTRUCCION
ESCRIBE
RESULTADOS
12
CONJUNTO DE INSTRUCCIONES RISC VS CISCCONJUNTO DE INSTRUCCIONES RISC VS CISC
La arquitectura del conjunto de instrucciones están
relacionadas muy de cerca con la arquitectura del
microcontrolador.
Hay dos tipos básicos de arquitectura de
instrucciones:
•RISC: Reduced Instruction Set Computer
•CISC: Complex Instruction Set Computer
13
RISCRISC
•Tiene un complemento de instrucciones simples
construidas en bloques.
•Tiene instrucciones más complejas se construyen a
partir de las básicas.
•Hace que los sistemas tengan arquitecturas de CPU
menos complejas.
14
CISCCISC
•Tiene un complemento de características más
completas.
•Instrucciones más complejas.
15
RECUERDE:RECUERDE:
Como diseñador de sistemas embebidos, Usted
necesita estar íntimamente familiarizado con la
arquitectura hardware y software de un
microcontrolador dado, particularmente si va a
programar los sistemas en lenguaje ensamblador.
16
REGISTROS DE CONFIGURACIONESREGISTROS DE CONFIGURACIONES
La mayoría de microcontroladores tienen registros
complementarios denominados Registros de
configuraciones (Register Set).
Es una interfaz entre el usuario y los diferentes
subsistemas ubicados en el microcontrolador. Cada
registro consiste de varios flip-flops que pueden
verse como un interruptor configurable.
17
REGISTRO DE CONFIGURACIONES (1)REGISTRO DE CONFIGURACIONES (1)
18
MEMORIAMEMORIA
Este tramo de memoria direccionable contiene
varios tipos de memorias incluida SRAM (Static
Random Acces Memory), EEPROM (byte-
addressable Electrically Erasable Programmable
Read Only Memory) y memoria Flash programable
EEPROM.
Para tener en vista las ubicaciones de la memoria y
el tipo presente en el sistema, se usa una
herramienta visual llamada mapa de memoria.
19
MEMORIA (2)MEMORIA (2)
El mapa de memoria muestra
cuales direcciones de memoria
están actualmente en uso y el
tipo de memoria presente.
20
TIPOS DE MEMORIATIPOS DE MEMORIA
RAM: Es volátil. Puede escribirse y leerse durante la
ejecución del programa.
Durante la ejecución del programa se usa para
almacenar variables globales, soportar ubicación de
memoria dinámica de variables y proveer ubicación
para la Pila.
21
TIPOS DE MEMORIA (2)TIPOS DE MEMORIA (2)
EEPROM de byte direccionable: se usa para
almacenar y llamar variables permanentemente
durante la ejecución del programa. Útil para
almacenar datos que deben ser retenidos durante
un fallo de potencia pero que pueden ser
cambiados cuando se necesite. Aplicaciones como
data loggers, combinaciones de cerraduras
electrónicas, cajas fuertes, contadores de turno.
Etc.
22
TIPOS DE MEMORIA (3)TIPOS DE MEMORIA (3)
Flash EEPROM: se usa para almacenar programas.
Es borrable y programable. Algunos sistemas de
microcontroladores proveen un gran complemento
de RAM y ésta memoria. Otros fabricantes poseen
una pequeña RAM y una gran Flash. Con ésta
configuración de memoria, el sistema desarrollado
se guarda en la Flash.
23
PIC16F887PIC16F887 -- DIAGRAMA DE PINESDIAGRAMA DE PINES
24
DISPOSITIVOS PERIFÉRICOSDISPOSITIVOS PERIFÉRICOS PIC16F887PIC16F887
•Timer 0: temporizador-contador de 8 bits con
predivisor de 8 bits.
•Timer 1: temporizador-contador de 16 bits con
predivisor, oscilador dedicado de 32 KHz.
•Timer 2: temporizador-contador de 8 bits con
predivisor y postdivisor.
•Dos módulos de Captura - Comparación – PWM.
25
DISPOSITIVOS PERIFÉRICOSDISPOSITIVOS PERIFÉRICOS PIC16F87XAPIC16F87XA (2)(2)
• 14 conversores A/D de 10 bits.
• Puerto Serial Síncrono Maestro (MSSP) con SPI e
I2C.
• EUSART: RS485, RS232 y LIN 2.0
26
CARACTERISTICAS DEL MICROCONTROLADORCARACTERISTICAS DEL MICROCONTROLADOR
PIC16F88XPIC16F88X
27
PIC16F887PIC16F887 –– PROCESADOR RISC CON ARQUITECTURAPROCESADOR RISC CON ARQUITECTURA
HARVARDHARVARD
La arquitectura usada por Microchip se
caracteriza por la independencia entre la
memoria de código y la de datos. De ésta manera
la capacidad y el tamaño de los buses de cada
memoria se adaptan estrictamente a las
necesidades del diseño, facilitando el trabajo en
paralelo de las dos memorias.
28
PIC16F887PIC16F887 –– PROCESADOR RISC CON ARQUITECTURAPROCESADOR RISC CON ARQUITECTURA
HARVARD (1)HARVARD (1)
• La arquitectura RISC con reducido número de
instrucciones, consta de 35 instrucciones, que se
ejecutan en un ciclo de instrucción, equivalente a
cuatro periodos de reloj, excepto las de salto que
necesitan dos ciclos.
29
PIC16F88XPIC16F88X –– PROCESADOR RISC CONPROCESADOR RISC CON
ARQUITECTURA HARVARD (2)ARQUITECTURA HARVARD (2)
Memoria
de
código
(Flash)
Procesador
CPU
Memoria
de Datos
(SRAM)BUS DE INSTRUCCIONES
Bus de dirección de
instrucciones
Bus de dirección de
Datos
BUS DE DATOS
13
14
9
8
30
ARQUITECTURAARQUITECTURA PIC16F887PIC16F887
31
PIC16F887PIC16F887 –– ORGANIZACIÓN DE LA MEMORIA DEORGANIZACIÓN DE LA MEMORIA DE
PROGRAMAPROGRAMA
32
PIC16F887PIC16F887 –– ORGANIZACIÓN DE LA MEMORIA DEORGANIZACIÓN DE LA MEMORIA DE
PROGRAMA (2)PROGRAMA (2)
La memoria FLASH, donde se almacena el
programa de aplicación, puede tener una
capacidad de 4K u 8K palabras de 14 bits cada una,
se divide en páginas de 2K palabras y está
direccionada con el PC, que tiene un tamaño de 13
bits. La Pila tiene 8 niveles de profundidad y es
transparente para el usuario, funciona
automáticamente y no dispone de instrucciones.
33
MEMORIA DE PROGRAMAMEMORIA DE PROGRAMA
LIFO (último en entrar, primero en
salir)
34
MEMORIA DE DATOS RAMMEMORIA DE DATOS RAM
•Tiene posiciones implementadas en RAM y otras en
EEPROM.
• Consta de 4 bancos de 128 bytes cada uno.
•Para seleccionar un banco se emplean los bits 5 y 6
del registro de estado (STATUS)
Banco RP1 RP0
0 0 0
1 0 1
2 1 0
3 1 1
35
MAPA DE MEMORIA (REGISTROS SFR)MAPA DE MEMORIA (REGISTROS SFR)
36
REGISTROS DE CONTROLREGISTROS DE CONTROL
•Para gobernar el funcionamiento de los recursos de
los PIC existe un conjunto de registros específicos
(SFR) cuyos bits soportan el control de los mismos.
•Están ubicados en las primeras posiciones de cada
banco de la memoria de datos RAM.
37
REGISTRO DE ESTADO (STATUS)REGISTRO DE ESTADO (STATUS)
•El registro STATUS contiene el estado aritmético de la
ALU, el estado del RESET y los bits de selección del
banco de la memoria de datos.
•Es el más usado de todos, ya que sus bits están
destinados a controlar las funciones vitales del
procesador.
•Está duplicado en las cuartas posiciones de cada
banco (03h, 83h, 103h y 183h)
38
REGISTRO DE ESTADO (STATUS) (1)REGISTRO DE ESTADO (STATUS) (1)
IRP RP1 RP0 Z DC CPDTO
Bit 0Bit 7
Z (Zero): Señalizador (bandera) de cero. Se coloca
a 1 cuando el resultado es cero.
C (Carry/borrow): Acarreo del 8° bit. Se coloca a 1
automáticamente cuando existe acarreo en el bit
más significativo en las instrucciones de suma.
También actúa como señalizador de préstamo en
la resta, pero en éste caso la polaridad es inversa.
39
REGISTRO DE ESTADO (STATUS)REGISTRO DE ESTADO (STATUS) (2)(2)
Es decir, si vale 0 hay préstamo. La resta se
efectúa mediante el complemento a dos. Para las
instrucciones de rotación este bit se carga con el
bit menos significativo, si es rotación a la
derecha; o el más significativo, si es a la izquierda.
Los señalizadores y son activos en bajo y
sirven para indicar la causa que ha provocado la
reinicialización del procesador.
40
REGISTRO DE ESTADO (STATUS)REGISTRO DE ESTADO (STATUS) (2)(2)
El bit IRP se usa concatenado con el bit de más
peso del registro FSR para elegir el banco de la
memoria RAM en el direccionamiento indirecto:
0: Banco 0 y 1 (00h-FFh)
1: Banco 2 y 3 (100h-1FFh)

Contenu connexe

Tendances

Guía rápida tmr0 e interrupciones
Guía rápida tmr0 e interrupcionesGuía rápida tmr0 e interrupciones
Guía rápida tmr0 e interrupcionesLuis Zurita
 
Resumen microcontroladores
Resumen microcontroladoresResumen microcontroladores
Resumen microcontroladoresXavier Solis
 
Plc basico 1
Plc basico 1Plc basico 1
Plc basico 1aucega
 
Tipos de memoria
Tipos de memoriaTipos de memoria
Tipos de memoriaAlexa Lara
 
Familia De Los Microcontroladores
Familia De Los MicrocontroladoresFamilia De Los Microcontroladores
Familia De Los Microcontroladoresceiv
 
Resumen sobre el direccionamiento en el plc
Resumen sobre el direccionamiento en el plcResumen sobre el direccionamiento en el plc
Resumen sobre el direccionamiento en el plcivan_antrax
 
Mis proyectos con Arduino
Mis proyectos con ArduinoMis proyectos con Arduino
Mis proyectos con ArduinoJomicast
 
Circuitos logicos de tres estados
Circuitos logicos de tres estadosCircuitos logicos de tres estados
Circuitos logicos de tres estadosZy Mo
 
L10 assembly-language-programming-of-atmega328 p
L10 assembly-language-programming-of-atmega328 pL10 assembly-language-programming-of-atmega328 p
L10 assembly-language-programming-of-atmega328 prsamurti
 
PWM con PIC16F877A: Modulos y Registros Involucrados
PWM con PIC16F877A: Modulos y Registros InvolucradosPWM con PIC16F877A: Modulos y Registros Involucrados
PWM con PIC16F877A: Modulos y Registros InvolucradosEduardo Henriquez
 
GUÍA DE EJERCICIOS RESUELTOS TEMA 4
GUÍA DE EJERCICIOS RESUELTOS TEMA 4GUÍA DE EJERCICIOS RESUELTOS TEMA 4
GUÍA DE EJERCICIOS RESUELTOS TEMA 4Luis Zurita
 
Programacion en WinCupl
Programacion en WinCuplProgramacion en WinCupl
Programacion en WinCuplGilbert_28
 
Latches y flip flops
Latches y flip flopsLatches y flip flops
Latches y flip flopsJimmy Osores
 

Tendances (20)

Guía rápida tmr0 e interrupciones
Guía rápida tmr0 e interrupcionesGuía rápida tmr0 e interrupciones
Guía rápida tmr0 e interrupciones
 
Resumen microcontroladores
Resumen microcontroladoresResumen microcontroladores
Resumen microcontroladores
 
Plc basico 1
Plc basico 1Plc basico 1
Plc basico 1
 
Tipos de memoria
Tipos de memoriaTipos de memoria
Tipos de memoria
 
Familia De Los Microcontroladores
Familia De Los MicrocontroladoresFamilia De Los Microcontroladores
Familia De Los Microcontroladores
 
Resumen sobre el direccionamiento en el plc
Resumen sobre el direccionamiento en el plcResumen sobre el direccionamiento en el plc
Resumen sobre el direccionamiento en el plc
 
Mis proyectos con Arduino
Mis proyectos con ArduinoMis proyectos con Arduino
Mis proyectos con Arduino
 
Guia osciladores pic18f4550
Guia osciladores pic18f4550Guia osciladores pic18f4550
Guia osciladores pic18f4550
 
Circuitos logicos de tres estados
Circuitos logicos de tres estadosCircuitos logicos de tres estados
Circuitos logicos de tres estados
 
Señales con arduino y DAC
Señales con arduino y DACSeñales con arduino y DAC
Señales con arduino y DAC
 
2.7. Recortadores con Diodos
2.7. Recortadores con Diodos2.7. Recortadores con Diodos
2.7. Recortadores con Diodos
 
L10 assembly-language-programming-of-atmega328 p
L10 assembly-language-programming-of-atmega328 pL10 assembly-language-programming-of-atmega328 p
L10 assembly-language-programming-of-atmega328 p
 
Controladores logicos programables (plc)
Controladores logicos programables (plc)Controladores logicos programables (plc)
Controladores logicos programables (plc)
 
PWM con PIC16F877A: Modulos y Registros Involucrados
PWM con PIC16F877A: Modulos y Registros InvolucradosPWM con PIC16F877A: Modulos y Registros Involucrados
PWM con PIC16F877A: Modulos y Registros Involucrados
 
GUÍA DE EJERCICIOS RESUELTOS TEMA 4
GUÍA DE EJERCICIOS RESUELTOS TEMA 4GUÍA DE EJERCICIOS RESUELTOS TEMA 4
GUÍA DE EJERCICIOS RESUELTOS TEMA 4
 
Programacion en WinCupl
Programacion en WinCuplProgramacion en WinCupl
Programacion en WinCupl
 
Latches y flip flops
Latches y flip flopsLatches y flip flops
Latches y flip flops
 
Registro status PIC16F84A
Registro status PIC16F84ARegistro status PIC16F84A
Registro status PIC16F84A
 
Curso de microcontroladores pic18 f4550
Curso de microcontroladores pic18 f4550Curso de microcontroladores pic18 f4550
Curso de microcontroladores pic18 f4550
 
MEMORIAS EN CIRCUITOS DIGITALES
MEMORIAS EN CIRCUITOS DIGITALESMEMORIAS EN CIRCUITOS DIGITALES
MEMORIAS EN CIRCUITOS DIGITALES
 

En vedette (10)

Módulo ADC del PIC16F887
Módulo ADC del PIC16F887Módulo ADC del PIC16F887
Módulo ADC del PIC16F887
 
Conexiones del PIC16F887
Conexiones del PIC16F887Conexiones del PIC16F887
Conexiones del PIC16F887
 
Clase historia
Clase historiaClase historia
Clase historia
 
Modulo Timer 0 del PIC16F887
Modulo Timer 0 del PIC16F887Modulo Timer 0 del PIC16F887
Modulo Timer 0 del PIC16F887
 
Clase instrucciones PIC16F877A
Clase instrucciones PIC16F877AClase instrucciones PIC16F877A
Clase instrucciones PIC16F877A
 
Introducción al PIC16 f887
Introducción al PIC16 f887Introducción al PIC16 f887
Introducción al PIC16 f887
 
Introducción al VHDL
Introducción al VHDLIntroducción al VHDL
Introducción al VHDL
 
Conversor ADC
Conversor ADCConversor ADC
Conversor ADC
 
Módulo EUSART del PIC16F887
Módulo EUSART del PIC16F887Módulo EUSART del PIC16F887
Módulo EUSART del PIC16F887
 
Módulo Timer 1 del PIC16F887
Módulo Timer 1 del PIC16F887Módulo Timer 1 del PIC16F887
Módulo Timer 1 del PIC16F887
 

Similaire à Arquitectura Microcontrolador PIC16F887

Ts11 tiltepec isaac _alvarez_cruz
Ts11 tiltepec isaac _alvarez_cruzTs11 tiltepec isaac _alvarez_cruz
Ts11 tiltepec isaac _alvarez_cruzIsaak Alvarez Krux
 
Instituto tecologico de tuxtla gutierez
Instituto tecologico de tuxtla  gutierezInstituto tecologico de tuxtla  gutierez
Instituto tecologico de tuxtla gutierezIsaak Alvarez Krux
 
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladoresSesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladoresDidier Tec
 
Microprosedador
MicroprosedadorMicroprosedador
Microprosedadordy vc
 
Microcontroladores ASM
Microcontroladores ASMMicrocontroladores ASM
Microcontroladores ASMdave
 
3 microcontroladores
3 microcontroladores3 microcontroladores
3 microcontroladoresProyesa
 
Evolucion De Los Microprocesadores
Evolucion De Los MicroprocesadoresEvolucion De Los Microprocesadores
Evolucion De Los Microprocesadoresguesta60221
 
Microcontroladores 101108114327-phpapp01
Microcontroladores 101108114327-phpapp01Microcontroladores 101108114327-phpapp01
Microcontroladores 101108114327-phpapp01MARTO3000
 
Microcontroladores 101108114327-phpapp01
Microcontroladores 101108114327-phpapp01Microcontroladores 101108114327-phpapp01
Microcontroladores 101108114327-phpapp01MARTO3000
 
Electronica aplicada primera presentacion
Electronica aplicada primera presentacionElectronica aplicada primera presentacion
Electronica aplicada primera presentacionUNACH
 
Electronica aplicada primera presentacion
Electronica aplicada primera presentacionElectronica aplicada primera presentacion
Electronica aplicada primera presentacionUNACH
 
Microcomputadoras
MicrocomputadorasMicrocomputadoras
MicrocomputadorasUNACH
 
Electronica Aplicada Microcomputadores- UNACH
Electronica Aplicada Microcomputadores- UNACHElectronica Aplicada Microcomputadores- UNACH
Electronica Aplicada Microcomputadores- UNACHUNACH
 

Similaire à Arquitectura Microcontrolador PIC16F887 (20)

Ts11 tiltepec isaac _alvarez_cruz
Ts11 tiltepec isaac _alvarez_cruzTs11 tiltepec isaac _alvarez_cruz
Ts11 tiltepec isaac _alvarez_cruz
 
Instituto tecologico de tuxtla gutierez
Instituto tecologico de tuxtla  gutierezInstituto tecologico de tuxtla  gutierez
Instituto tecologico de tuxtla gutierez
 
Introducción
IntroducciónIntroducción
Introducción
 
Introducción
IntroducciónIntroducción
Introducción
 
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladoresSesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
 
Clase arquitectura
Clase arquitecturaClase arquitectura
Clase arquitectura
 
Microprosedador
MicroprosedadorMicroprosedador
Microprosedador
 
Microcontroladores ASM
Microcontroladores ASMMicrocontroladores ASM
Microcontroladores ASM
 
Arquitectura del cpu
Arquitectura del cpuArquitectura del cpu
Arquitectura del cpu
 
3 microcontroladores
3 microcontroladores3 microcontroladores
3 microcontroladores
 
3 microcontroladores
3 microcontroladores3 microcontroladores
3 microcontroladores
 
Evolucion De Los Microprocesadores
Evolucion De Los MicroprocesadoresEvolucion De Los Microprocesadores
Evolucion De Los Microprocesadores
 
Pic16 f877
Pic16 f877Pic16 f877
Pic16 f877
 
Microcontroladores 101108114327-phpapp01
Microcontroladores 101108114327-phpapp01Microcontroladores 101108114327-phpapp01
Microcontroladores 101108114327-phpapp01
 
Microcontroladores 101108114327-phpapp01
Microcontroladores 101108114327-phpapp01Microcontroladores 101108114327-phpapp01
Microcontroladores 101108114327-phpapp01
 
Electronica aplicada primera presentacion
Electronica aplicada primera presentacionElectronica aplicada primera presentacion
Electronica aplicada primera presentacion
 
Electronica aplicada primera presentacion
Electronica aplicada primera presentacionElectronica aplicada primera presentacion
Electronica aplicada primera presentacion
 
Microcomputadoras
MicrocomputadorasMicrocomputadoras
Microcomputadoras
 
Electronica Aplicada Microcomputadores- UNACH
Electronica Aplicada Microcomputadores- UNACHElectronica Aplicada Microcomputadores- UNACH
Electronica Aplicada Microcomputadores- UNACH
 
MICROCONTROLADORES.ppt
MICROCONTROLADORES.pptMICROCONTROLADORES.ppt
MICROCONTROLADORES.ppt
 

Plus de Fernando Aparicio Urbano Molano

Lenguaje C para Microcontroladores PIC - Declaraciones de Decisión
Lenguaje C para Microcontroladores PIC - Declaraciones de DecisiónLenguaje C para Microcontroladores PIC - Declaraciones de Decisión
Lenguaje C para Microcontroladores PIC - Declaraciones de DecisiónFernando Aparicio Urbano Molano
 
Multivibradores, Temporizadores y aplicaciones de los Flip-Flops
Multivibradores, Temporizadores y aplicaciones de los Flip-FlopsMultivibradores, Temporizadores y aplicaciones de los Flip-Flops
Multivibradores, Temporizadores y aplicaciones de los Flip-FlopsFernando Aparicio Urbano Molano
 

Plus de Fernando Aparicio Urbano Molano (19)

Ciclos de Control en Shell
Ciclos de Control en ShellCiclos de Control en Shell
Ciclos de Control en Shell
 
Introducción al Shell Linux
Introducción al Shell LinuxIntroducción al Shell Linux
Introducción al Shell Linux
 
Introducción al Linux Embebido
Introducción al Linux EmbebidoIntroducción al Linux Embebido
Introducción al Linux Embebido
 
Lenguaje C para Microcontroladores PIC - Declaraciones de Decisión
Lenguaje C para Microcontroladores PIC - Declaraciones de DecisiónLenguaje C para Microcontroladores PIC - Declaraciones de Decisión
Lenguaje C para Microcontroladores PIC - Declaraciones de Decisión
 
Introducción al Lenguaje C para microcontroladores PIC
Introducción al Lenguaje C para microcontroladores PICIntroducción al Lenguaje C para microcontroladores PIC
Introducción al Lenguaje C para microcontroladores PIC
 
Node.JS para Intel Galileo
Node.JS para Intel GalileoNode.JS para Intel Galileo
Node.JS para Intel Galileo
 
Linux Yocto y GPIO
Linux Yocto y GPIOLinux Yocto y GPIO
Linux Yocto y GPIO
 
Arquitectura Computacional - Intel Galileo
Arquitectura Computacional - Intel GalileoArquitectura Computacional - Intel Galileo
Arquitectura Computacional - Intel Galileo
 
Máquinas de Estado Finito en VHDL
Máquinas de Estado Finito en VHDLMáquinas de Estado Finito en VHDL
Máquinas de Estado Finito en VHDL
 
Memorias
MemoriasMemorias
Memorias
 
Estados Indiferentes - Diagramas de Karnaugh
Estados Indiferentes - Diagramas de KarnaughEstados Indiferentes - Diagramas de Karnaugh
Estados Indiferentes - Diagramas de Karnaugh
 
Multivibradores, Temporizadores y aplicaciones de los Flip-Flops
Multivibradores, Temporizadores y aplicaciones de los Flip-FlopsMultivibradores, Temporizadores y aplicaciones de los Flip-Flops
Multivibradores, Temporizadores y aplicaciones de los Flip-Flops
 
Flip-Flops y aplicaciones de los Latch
Flip-Flops y aplicaciones de los LatchFlip-Flops y aplicaciones de los Latch
Flip-Flops y aplicaciones de los Latch
 
Máquinas de Estado
Máquinas de EstadoMáquinas de Estado
Máquinas de Estado
 
Clase Latch y FFs
Clase Latch y FFsClase Latch y FFs
Clase Latch y FFs
 
Latch y Flip-Flops
Latch y Flip-FlopsLatch y Flip-Flops
Latch y Flip-Flops
 
Clase USART
Clase USARTClase USART
Clase USART
 
Clase Timer 1
Clase Timer 1Clase Timer 1
Clase Timer 1
 
Timer 0 - Pic16F877A
Timer 0 - Pic16F877ATimer 0 - Pic16F877A
Timer 0 - Pic16F877A
 

Dernier

Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 

Dernier (11)

Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 

Arquitectura Microcontrolador PIC16F887

  • 1. CIRCUITOS DIGITALES II EL MICROCONTROLADOR: ARQUITECTURA Mg. Ing. FERNANDO APARICIO URBANO MOLANO
  • 2. El MicrocontroladorEl Microcontrolador Estudiar el diseño de los periféricos 2
  • 3. El MicrocontroladorEl Microcontrolador Estudiar el diseño de los periféricos Se requiere escoger el mejor dispositivo que cumpla con todas las características mínimas para el buen desarrollo del sistema. 3
  • 4. El MicrocontroladorEl Microcontrolador Estudiar el diseño de los periféricos Se requiere escoger el mejor dispositivo que cumpla con todas las características mínimas para el buen desarrollo del sistema. Los rangos van desde los 4 bits con características limitadas hasta 32 bits de alta velocidad. 4
  • 5. El MicrocontroladorEl Microcontrolador La meta es escoger el más económico que tenga los parámetros y características deseadas para la aplicación. 5
  • 6. El MicrocontroladorEl Microcontrolador La meta es escoger el más económico que tenga los parámetros y características deseadas para la aplicación. Realice el prototipo del hardware. 6
  • 7. El MicrocontroladorEl Microcontrolador La meta es escoger el más económico que tenga los parámetros y características deseadas para la aplicación. Realice el prototipo del hardware. Desarrolle el firmware (en cualquiera de los lenguajes disponibles. Para este curso: Ensamblador) 7
  • 8. 8 ARQUITECTURA BÁSICAARQUITECTURA BÁSICA •CPU: circuito secuencial complejo cuya función primaria es ejecutar los programas que se encuentran almacenados en la Flash EEPROM (Electrically Erasable Programmable Read Only Memory).
  • 9. 9 ARQUITECTURA BÁSICAARQUITECTURA BÁSICA •CPU: circuito secuencial complejo cuya función primaria es ejecutar los programas que se encuentran almacenados en la Flash EEPROM (Electrically Erasable Programmable Read Only Memory). •Programa (firmware): serie de instrucciones para desarrollar una tarea específica.
  • 10. 10 ARQUITECTURA BÁSICAARQUITECTURA BÁSICA •CPU: circuito secuencial complejo cuya función primaria es ejecutar los programas que se encuentran almacenados en la Flash EEPROM (Electrically Erasable Programmable Read Only Memory). •Programa (firmware): serie de instrucciones para desarrollar una tarea específica. •Los programas (firmware) son desarrollados por de diseñadores de sistemas basados en microcontroladores (Ustedes) usando herramientas de desarrollo.
  • 11. 11 ARQUITECTURAARQUITECTURA PIPELINEPIPELINE (SEGMENTADA)(SEGMENTADA) Consiste de subsistemas hardware separados llamados etapas para traer una instrucción desde la memoria, decodificarla, traer los operandos desde la memoria o los registros, ejecutar la instrucción y luego escribir los resultados nuevamente en la memoria. TRAE INSTRUCCION DECODIFICA INSTRUCCION TRAE OPERANDOS EJECUTA INSTRUCCION ESCRIBE RESULTADOS
  • 12. 12 CONJUNTO DE INSTRUCCIONES RISC VS CISCCONJUNTO DE INSTRUCCIONES RISC VS CISC La arquitectura del conjunto de instrucciones están relacionadas muy de cerca con la arquitectura del microcontrolador. Hay dos tipos básicos de arquitectura de instrucciones: •RISC: Reduced Instruction Set Computer •CISC: Complex Instruction Set Computer
  • 13. 13 RISCRISC •Tiene un complemento de instrucciones simples construidas en bloques. •Tiene instrucciones más complejas se construyen a partir de las básicas. •Hace que los sistemas tengan arquitecturas de CPU menos complejas.
  • 14. 14 CISCCISC •Tiene un complemento de características más completas. •Instrucciones más complejas.
  • 15. 15 RECUERDE:RECUERDE: Como diseñador de sistemas embebidos, Usted necesita estar íntimamente familiarizado con la arquitectura hardware y software de un microcontrolador dado, particularmente si va a programar los sistemas en lenguaje ensamblador.
  • 16. 16 REGISTROS DE CONFIGURACIONESREGISTROS DE CONFIGURACIONES La mayoría de microcontroladores tienen registros complementarios denominados Registros de configuraciones (Register Set). Es una interfaz entre el usuario y los diferentes subsistemas ubicados en el microcontrolador. Cada registro consiste de varios flip-flops que pueden verse como un interruptor configurable.
  • 17. 17 REGISTRO DE CONFIGURACIONES (1)REGISTRO DE CONFIGURACIONES (1)
  • 18. 18 MEMORIAMEMORIA Este tramo de memoria direccionable contiene varios tipos de memorias incluida SRAM (Static Random Acces Memory), EEPROM (byte- addressable Electrically Erasable Programmable Read Only Memory) y memoria Flash programable EEPROM. Para tener en vista las ubicaciones de la memoria y el tipo presente en el sistema, se usa una herramienta visual llamada mapa de memoria.
  • 19. 19 MEMORIA (2)MEMORIA (2) El mapa de memoria muestra cuales direcciones de memoria están actualmente en uso y el tipo de memoria presente.
  • 20. 20 TIPOS DE MEMORIATIPOS DE MEMORIA RAM: Es volátil. Puede escribirse y leerse durante la ejecución del programa. Durante la ejecución del programa se usa para almacenar variables globales, soportar ubicación de memoria dinámica de variables y proveer ubicación para la Pila.
  • 21. 21 TIPOS DE MEMORIA (2)TIPOS DE MEMORIA (2) EEPROM de byte direccionable: se usa para almacenar y llamar variables permanentemente durante la ejecución del programa. Útil para almacenar datos que deben ser retenidos durante un fallo de potencia pero que pueden ser cambiados cuando se necesite. Aplicaciones como data loggers, combinaciones de cerraduras electrónicas, cajas fuertes, contadores de turno. Etc.
  • 22. 22 TIPOS DE MEMORIA (3)TIPOS DE MEMORIA (3) Flash EEPROM: se usa para almacenar programas. Es borrable y programable. Algunos sistemas de microcontroladores proveen un gran complemento de RAM y ésta memoria. Otros fabricantes poseen una pequeña RAM y una gran Flash. Con ésta configuración de memoria, el sistema desarrollado se guarda en la Flash.
  • 23. 23 PIC16F887PIC16F887 -- DIAGRAMA DE PINESDIAGRAMA DE PINES
  • 24. 24 DISPOSITIVOS PERIFÉRICOSDISPOSITIVOS PERIFÉRICOS PIC16F887PIC16F887 •Timer 0: temporizador-contador de 8 bits con predivisor de 8 bits. •Timer 1: temporizador-contador de 16 bits con predivisor, oscilador dedicado de 32 KHz. •Timer 2: temporizador-contador de 8 bits con predivisor y postdivisor. •Dos módulos de Captura - Comparación – PWM.
  • 25. 25 DISPOSITIVOS PERIFÉRICOSDISPOSITIVOS PERIFÉRICOS PIC16F87XAPIC16F87XA (2)(2) • 14 conversores A/D de 10 bits. • Puerto Serial Síncrono Maestro (MSSP) con SPI e I2C. • EUSART: RS485, RS232 y LIN 2.0
  • 26. 26 CARACTERISTICAS DEL MICROCONTROLADORCARACTERISTICAS DEL MICROCONTROLADOR PIC16F88XPIC16F88X
  • 27. 27 PIC16F887PIC16F887 –– PROCESADOR RISC CON ARQUITECTURAPROCESADOR RISC CON ARQUITECTURA HARVARDHARVARD La arquitectura usada por Microchip se caracteriza por la independencia entre la memoria de código y la de datos. De ésta manera la capacidad y el tamaño de los buses de cada memoria se adaptan estrictamente a las necesidades del diseño, facilitando el trabajo en paralelo de las dos memorias.
  • 28. 28 PIC16F887PIC16F887 –– PROCESADOR RISC CON ARQUITECTURAPROCESADOR RISC CON ARQUITECTURA HARVARD (1)HARVARD (1) • La arquitectura RISC con reducido número de instrucciones, consta de 35 instrucciones, que se ejecutan en un ciclo de instrucción, equivalente a cuatro periodos de reloj, excepto las de salto que necesitan dos ciclos.
  • 29. 29 PIC16F88XPIC16F88X –– PROCESADOR RISC CONPROCESADOR RISC CON ARQUITECTURA HARVARD (2)ARQUITECTURA HARVARD (2) Memoria de código (Flash) Procesador CPU Memoria de Datos (SRAM)BUS DE INSTRUCCIONES Bus de dirección de instrucciones Bus de dirección de Datos BUS DE DATOS 13 14 9 8
  • 31. 31 PIC16F887PIC16F887 –– ORGANIZACIÓN DE LA MEMORIA DEORGANIZACIÓN DE LA MEMORIA DE PROGRAMAPROGRAMA
  • 32. 32 PIC16F887PIC16F887 –– ORGANIZACIÓN DE LA MEMORIA DEORGANIZACIÓN DE LA MEMORIA DE PROGRAMA (2)PROGRAMA (2) La memoria FLASH, donde se almacena el programa de aplicación, puede tener una capacidad de 4K u 8K palabras de 14 bits cada una, se divide en páginas de 2K palabras y está direccionada con el PC, que tiene un tamaño de 13 bits. La Pila tiene 8 niveles de profundidad y es transparente para el usuario, funciona automáticamente y no dispone de instrucciones.
  • 33. 33 MEMORIA DE PROGRAMAMEMORIA DE PROGRAMA LIFO (último en entrar, primero en salir)
  • 34. 34 MEMORIA DE DATOS RAMMEMORIA DE DATOS RAM •Tiene posiciones implementadas en RAM y otras en EEPROM. • Consta de 4 bancos de 128 bytes cada uno. •Para seleccionar un banco se emplean los bits 5 y 6 del registro de estado (STATUS) Banco RP1 RP0 0 0 0 1 0 1 2 1 0 3 1 1
  • 35. 35 MAPA DE MEMORIA (REGISTROS SFR)MAPA DE MEMORIA (REGISTROS SFR)
  • 36. 36 REGISTROS DE CONTROLREGISTROS DE CONTROL •Para gobernar el funcionamiento de los recursos de los PIC existe un conjunto de registros específicos (SFR) cuyos bits soportan el control de los mismos. •Están ubicados en las primeras posiciones de cada banco de la memoria de datos RAM.
  • 37. 37 REGISTRO DE ESTADO (STATUS)REGISTRO DE ESTADO (STATUS) •El registro STATUS contiene el estado aritmético de la ALU, el estado del RESET y los bits de selección del banco de la memoria de datos. •Es el más usado de todos, ya que sus bits están destinados a controlar las funciones vitales del procesador. •Está duplicado en las cuartas posiciones de cada banco (03h, 83h, 103h y 183h)
  • 38. 38 REGISTRO DE ESTADO (STATUS) (1)REGISTRO DE ESTADO (STATUS) (1) IRP RP1 RP0 Z DC CPDTO Bit 0Bit 7 Z (Zero): Señalizador (bandera) de cero. Se coloca a 1 cuando el resultado es cero. C (Carry/borrow): Acarreo del 8° bit. Se coloca a 1 automáticamente cuando existe acarreo en el bit más significativo en las instrucciones de suma. También actúa como señalizador de préstamo en la resta, pero en éste caso la polaridad es inversa.
  • 39. 39 REGISTRO DE ESTADO (STATUS)REGISTRO DE ESTADO (STATUS) (2)(2) Es decir, si vale 0 hay préstamo. La resta se efectúa mediante el complemento a dos. Para las instrucciones de rotación este bit se carga con el bit menos significativo, si es rotación a la derecha; o el más significativo, si es a la izquierda. Los señalizadores y son activos en bajo y sirven para indicar la causa que ha provocado la reinicialización del procesador.
  • 40. 40 REGISTRO DE ESTADO (STATUS)REGISTRO DE ESTADO (STATUS) (2)(2) El bit IRP se usa concatenado con el bit de más peso del registro FSR para elegir el banco de la memoria RAM en el direccionamiento indirecto: 0: Banco 0 y 1 (00h-FFh) 1: Banco 2 y 3 (100h-1FFh)