Sie sind auf Seite 1von 43

UNIVERSIDAD CATLICA DE SANTA MARA PROGRAMA PROFESIONAL DE INGENIERA MECNICA, MECNICA-ELCTRICA Y MECATRNICA

MICROCONTROLADORES

Sistema Mnimo Microprocesador

Mundo exterior

Unidad Central de Proceso (CPU)

CU: Unidad de Control ALU: Unidad Aritmtico-Lgica Registros

Buses: canales de comunicacin entre unidades

Bus de Direcciones: selecciona origen o destino (unidireccional): M lneas: capacidad de direccionar 2M posiciones/direcciones Bus de Datos: transferencia de datos (bidireccional) N lneas: bits transmitidos en paralelo (tamao de los datos) Bus de Control: heterogneo, depende del microprocesador
3

El microprocesador como CPU Unidad de Control (CU) Decodificacin de las instrucciones Generacin de seales internas y externas al mP Unidad Aritmtico-Lgica (ALU) Operaciones aritmticas (suma, resta, complemento,...) Operaciones lgicas (AND, OR, NOT, EXOR,....) Registros Almacenamiento temporal de datos y resultados Acceso a memoria

Arquitectura del 8085 de INTEL

Ejecucin secuencial de un programa en memoria


1.- Bsqueda de Instruccin 2.- Decodificacin 3.- Ejecucin (ALU?) Inst. sin operandos Inst. con operandos (Acceso a Memoria?) 4.- Incremento Contador de Programa

Nueva carga del Contador de Programa: Instrucciones de Salto (Condicionales o Incondicionales) Llamadas a Subprogramas 6

Instrucciones de Salto

Incondicionales: se produce el salto siempre


Condicionales: depende de los bits del REGISTRO DE ESTADO Instrucciones de Llamada a Subprograma Programacin estructurada Modificacin del PC pero con retorno: hay que guardar el PC Modos de Direccionamiento: Cmo localizar los operandos de las instrucciones

Nmero de Operandos
Procesadores de un operando CDIGO Operando Acumulador * Operando Acumulador

Procesadores de dos operandos


CDIGO fuente,destino Operando Fuente * Operando Destino Operando Destino Procesadores de tres operandos CDIGO Operando1,Operando2,Destino

Operando 1 * Operando 2 Destino

Registros tpicos
Contador de Programa (PC) Apunta a la instruccin a ejecutar a continuacin Se incrementa en ejecucin secuencial normal Carga en Saltos, Subprogramas e Interrupciones

Acumuladores
Estn relacionados con la ALU Puede haber ms de uno Registro de Estado o de Condiciones Asociado a resultados de la ALU Los bits son la base de los saltos condicionales Normalmente se mantiene el valor hasta que se usa la ALU de nuevo

Registros tpicos (II)


Puntero de pila (SP: Stack Pointer ) Apunta al ltimo dato escrito (o primer dato vaco) de una pila LIFO (Last-In, First-Out) El puntero se incrementa (o decrementa) automticamente Almacena el PC de retorno en Subprogramas e Interrupciones

10

Registros tpicos (III)


Registros punteros de direcciones Almacenan direcciones donde se encuentran los datos

Registros ndice Almacenan direcciones base para desplazamientos

11

Interfaces de Entrada / Salida


Familia de Circuitos que permiten adaptar, leer y/o gobernar seales externas desde y hacia un sistema microprocesador

12

Sistema Microprocesador (varios C.I. en una PCB)

Microcontrolador (nico C.I.)

13

Microcontroladores PIC
Arquitectura Harvard: buses internos separados para memoria de datos (8 bits) y de programa (12, 14 16 bits depende de la familia) Microprocesador RISC: juego de intrucciones reducido Estructura pipe-line: durante la ejecucin de una instruccin, se est accediendo a la memoria de programa para traer la siguiente instruccin a ejecutar. En cuanto se acaba una instruccin, ya se dispone de la siguiente para ejecutar (salvo que se trate de un salto o llamada a subpr.) Todas las instrucciones ocupan una posicin de memoria de programa Todas las instrucciones se ejecutan en un ciclo de instruccin = 4 ciclos de reloj (salvo las instrucciones de salto) Ortogonalidad de los registros: se opera entre el registro de trabajo W y cualquier otro registro, el resultado puede almacenarse en el citado registro o en W
14

Por qu los Microcontroladores PIC de Microchip?


Eficiencia del cdigo: permiten una gran compactacin de los programas Rapidez de ejecucin: a frecuencia de 20MHz

-> 5 millones de instr./seg.

Seguridad en acceso por la separacin de memoria de datos y de programa Juego reducido de instrucciones y de fcil aprendizaje Compatibilidad de pines y cdigo entre dispositivos de la misma familia o incluso de familias distintas Gran variedad de versiones en distintos encapsulados (desde 8 hasta 84 pines) sin reduccin de las prestaciones internas (muy verstiles) Posibilidad de proteccin del cdigo muy fiable Herramientas de desarrollo software y hardware abundantes y de bajo coste
15

Familias de Microcontroladores PIC


Familia PIC12CXXX/12FXXX Encapsulados de 8 pines (DIP SOIC) Instrucciones de 12 14 bits en Memoria de Programa Juego de 33 35 instrucciones Disponibles con EEPROM de datos Modelos con mdulos de conversin A/D Permiten alimentacin a baja tensin de hasta 2,5V

Familia PIC16C5X
Encapsulados de 14, 18, 20 y 28 pines Instrucciones de 12 bits Juego de 33 instrucciones Es la familia base de partida de los PIC Existen versiones que permiten alimentacin a baja tensin (2.0V) y otras de hasta 15V (PIC16HV5XX) para alimentacin directa desde batera

16

Familias de Microcontroladores PIC (II)


Familia PIC16CXXX/16FXXX (+PIC14000)

Encapsulados desde 18 hasta 68 pines (DIP, SSOP, PLCC, QFP) Instrucciones de 14 bits en Memoria de Programa Juego de 35 instrucciones Gran variedad de mdulos integrados
Familia PIC17CXXX Encapsulados de 40 a 80 pines Memoria de Programa de 16 bits Juego de 58 instrucciones (oper. de multiplicacin por hardware) Posibilidad de direccionar memoria externa Familia PIC18CXXX/18FXXX Encapsulados de 18 a 80 pines Memoria de Programa de 16 bits Juego de 77 instrucciones (multiplicacin)
17

Las 5 Familias de Microcontroladores PIC


Familia PIC12CXXX/12FXXX (12/14 bits) Familia PIC16C5X (12 bits) Familia PIC16CXXX/16FXXX (14 bits) Familia PIC17CXXX (16 bits) Familia PIC18CXXX/18FXXX (16 bits) 13 Dispositivos 11 Dispositivos 95 Dispositivos 8 Dispositivos 48 Dispositivos

TOTAL: 175 Dispositivos !


Versiones de Memoria de Programa: OTP, EPROM, EEPROM y FLASH

18

Mdulos Internos Disponibles en la Familia Media (PIC16CXXX/16FXXX)


Puertos de Entrada/Salida Puerto Esclavo Paralelo (PSP) Temporizadores/contadores (TMR0, TMR1, TMR2) Captura / Comparacin / PWM (CCP1 y CCP2) Conversin Analgica / Digital (A/D) Transmisor Receptor Asncrono Sncrono Universal (USART SCI) Puerto Serie Sncrono Bsico Maestro(BSSP MSSP) Memoria EEPROM de datos FLASH EEPROM de programa modificable desde el cdigo
19

8K x 14 368 x 8

Microcontrolador PIC16F877 (familia media)


Puertos de E/S

Tiene de todo !
Temporizadores Puerto Esclavo Paralelo Conversor A/D Mdulos CCP 20
256 x 8

SSP USART

El Procedimiento de Diseo con Microcontroladores


Diseo hardware: conectaremos al micro todo lo que necesita para funcionar y lo que le permite interaccionar con el mundo exterior Definicin de las seales de Entrada, Salida y Alimentaciones Etapas de Adaptacin/Acondicionamiento Elctrico de Seales Seleccin de los mdulos del microcontrolador a utilizar y pines Diseo de la Placa de Circuito Impreso (PCB) Montaje y ensamblado

CAD-CAE

Realizacin + Montaje

21

El Procedimiento de Diseo con Microcontroladores (II)


Diseo software: el micro sin un programa cargado en su memoria no hace absolutamente nada, cuando el micro est grabado con un programa eficiente el conjunto empezar a funcionar Diseo del programa y escritura del cdigo fuente en ensamblador o en C Pruebas, verificacin y modificacin del cdigo: Simulacin del Programa (puro software) Emulacin dentro del Circuito de Aplicacin (software y hardware) Grabacin del cdigo mquina en la memoria interna del microcontrolador Emulacin o Depuracin sobre PCB

Edicin del cdigo, 1 depuracin y simulacin


22

Grabacin del micro

Las herramientas para los microcontroladores PIC


Entorno de Desarrollo: MPLAB IDE (Integrated Development Environment)
Herramientas para generar cdigo mquina:

De Microchip:
MPASM: Ensamblador para generar cdigo mquina absoluto o reubicable MPLINK: Montador de Enlaces para ensamblador y MPLAB-C17 MPLIB: Biblioteca de cdigos pre-compilados para utilizar con MPLINK MPLAB-C17: Compilador de C para la familia PIC17Cxx MPLAB-C18: Compilador de C para la familia PIC18Cxx CCS PIC C: HI-TECH PIC C: IAR PIC C: PBASIC: Compilador de C Compilador de C Compilador de C Intrprete de Basic de Parallax

De Otras compaas:

Simuladores: MPLAB-SIM (incluido en MPLAB-IDE)


23

Las herramientas para los microcontroladores PIC (II)


Emuladores en el Circuito:
Microchip Otros

MPLAB-ICE 2000 MPLAB-ICE 4000 PICMASTER (en desuso) ICEPIC (RF Solutions) .....
Fuente de Alimentacin Cabeza del Emulador

MPLAB IDE

PC con Puerto serie o paralelo


24

Emulador de PIC

Las herramientas para los microcontroladores PIC (III)


Depuradores en el Circuito (In-Circuit Debuggers): MPLAB-ICD MPLAB-ICD2 (tambin puede funcionar como programador/grabador) ICD2 MPLAB IDE

Tarjeta de Aplicacin

25

Las herramientas para los microcontroladores PIC (IV)


Programadores/Grabadores de la memoria de los PIC * PICSTART PLUS * PROMATE II

* MPLAB-ICD2 tambin puede funcionar como programador


26

Paso final: Grabar la memoria con el programa e insertar el microcontrolador

Grabaremos con el ICD2 o con el PICSTART PLUS Ya es autnomo!


27

Hardware de Trabajo
Tarjetas de Evaluacin y Demostracin PICDEM 1 PICDEM 2 PICDEM 3 PICDEM 4 PICDEM 14A PICDEM 17 PICDEM 18R ..... Para entrenamiento sin necesidad de desarrollar hardware

28

El Programador ante los microcontroladores


El programador para software de PC, parte de un lujoso hardware ya cableado, instalado y en funcionamiento: microprocesador, memoria y dispositivos de E/S como el teclado, el ratn y el monitor. El desarrollo de la aplicacin obliga nicamente a tener que escribir el programa y depurar los errores El programador para microcontroladores tiene que disear y crear todo el interface de E/S con el mundo exterior antes de iniciar la escritura del programa. La mayora de los programas estn hechos a medida de una determinada aplicacin y no son demasiado portables. Pero como todava no se hacen PCs del tamao y coste de los microcontroladores (incluyendo el teclado y el monitor), ser necesario seguir utilizando los microcontroladores en los sistemas empotrados Las herramientas de desarrollo para diseos basados en micros sern bsicamente las mismas que para PC si sustituimos las libreras grficas por otras destinadas al manejo de los mdulos del microcontrolador.

29

Programar en lenguaje C o en ensamblador?


La ventaja del C frente al ensamblador es la rapidez en el desarrollo de las aplicaciones y la comodidad a la hora de utilizar las funciones de manejo de los mdulos internos (podemos pasar de 2 3 das a 1 2 semanas con aplicaciones para el manejo de un LCD).

Las ventajas del ensamblador sobre el C residen en la eficiencia y lo compacto que resulta el cdigo (entorno a un 80% menor en tamao). En el ensamblador de los microcontroladores PIC, una instruccin ocupa una nica posicin de la memoria de programa. Una simple instruccin en C que nos ocupa una nica lnea de nuestro cdigo fuente puede traducirse en varias posiciones de memoria de programa (como ejemplo introduzca unas cuantas condiciones en un if...).
Adems, cuando uno utiliza la programacin en ensamblador, se dispone de un control total sobre el tiempo de ejecucin de las instrucciones, lo que puede resultar especialmente importante en ciertas aplicaciones en tiempo real.

El punto de partida debe ser por tanto el Ensamblador


30

31

32

33

PINOUTS

Familia de MCUs 16F87X (I)

34

Familia de MCUs 16F87X (II)

35

Caractersticas elctricas (I)

36

Caractersticas elctricas (II)

TENSIONES DE ALIMENTACION PERMITIDAS EN UN MICRO DE 20 MHz

TENSIONES DE ALIMENTACION PERMITIDAS EN UN MICRO DE 4 MHz

37

Caractersticas elctricas (III)

Tensin mnima de retencin de datos en RAM


38

Propiedades relativas a caractersticas del RESET

Tensiones de alimentacin

Caractersticas elctricas (IV)

Tensin de entrada para considerar un 0 lgico

Tensin de entrada para considerar un 1 lgico Corriente de pull-up cuando se activa el PORTB Corriente de fugas

39

Caractersticas elctricas (V)

Tensin de salida para un 0 lgico Tensin de salida para un 1 lgico Tensin maxima para salida drenador abierto Capacidades asociadas a los pines Caractersticas de la EEPROM Caractersticas de la FLASH EEPROM

40

41

Caractersticas elctricas (VI)

Tiempos mnimos en estado alto bajo de una seal de reloj externa Mxima pendiente de los flancos de la seal de reloj

Cronogramas

42

Gracias

Das könnte Ihnen auch gefallen