SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
Electrónica Industrial Tema 11. Introducción a los Microprocesadores y Microcontroladores
⋅1⋅
Unidad 11
Introducción a los microprocesadores y
microcontroladores
Andres.Iborra@upct.es
Juan.Suardiaz@upct.es
Septiembre 2002
Electrónica Industrial Tema 11. Introducción a los Microprocesadores y Microcontroladores
⋅2⋅
CONTENIDO
Unidad 11. Introducción a los microprocesadores y
microcontroladores.
11.1Elementos básicos de un sistema microprocesador.
11.2Microprocesadores frente a microcontroladores.
11.3Arquitectura del PIC16F84.
11.4Fundamentos de programación del PIC16F84.
11.5Ejemplos de programación del PIC16F84.
OBJETIVOS ESPECÍFICOS
!Estudiar los bloques básicos de un microprocesador.
!Comprender la diferencia entre lenguaje máquina y lenguaje
ensamblador.
!Comprender el funcionamiento básico de una CPU.
!Estudiar la arquitectura básica del microcontrolador PIC 16F84
!Distinguir entre puerto de E/S dedicado y puerto de E/S “mapeado” en
memoria.
!Estudiar la E/S por sondeo (“polling”), la E/S controlada por
interrupción, y las interrupciones software.
!Saber programar aplicaciones sencillas en un PIC16F84.
Electrónica Industrial Tema 11. Introducción a los Microprocesadores y Microcontroladores
⋅3⋅
1. ELEMENTOS BÁSICOS DE UN SISTEMA
MICROPROCESADOR
El microprocesador
El microprocesador es un circuito integrado digital que puede
programarse con una serie de instrucciones, para realizar
funciones específicas con los datos. Cuando un
microprocesador se conecta a un dispositivo de memoria y se
provee de dispositivos de entrada salida, pasa a ser un sistema
microprocesador.
Electrónica Industrial Tema 11. Introducción a los Microprocesadores y Microcontroladores
⋅4⋅
1. ELEMENTOS BÁSICOS DE UN SISTEMA
MICROPROCESADOR
• Existen tres bloques funcionales básicos: CPU, memoria y puertos.
• Los tres se encuentran conectados mediante buses.
• Los dispositivos de entrada y salida se conectan mediante puertos.
• Un puerto es una interfaz física de una computadora a través del la cual
pasan los datos hacía y desde los periféricos.
• Los programas son un conjunto de instrucciones que entiende la CPU y que
se ejecutan para resolver un problema específico. El programa se almacena
en memoria.
• Cada posición de memoria tiene asignada una dirección exclusiva.
• Las instrucciones son leídas por la CPU a través del bus de datos cuando
ésta las solicita.
• La CPU las interpreta, y las ejecuta secuencialmente. Con frecuencia las
instrucciones vienen acompañadas de datos o direcciones, con objeto de
modificarlos.
• La CPU genera señales de control para coordinar las transacciones.
Memoria Puerto de
entrada
CPU
(µP)
Puerto de salida
Periférico
(Teclado,
ratón,
monitor)
Periférico
(Impresora,
monitor)
Bus de direcciones
Bus de datos
Bus de
control
Electrónica Industrial Tema 11. Introducción a los Microprocesadores y Microcontroladores
⋅5⋅
1. ELEMENTOS BÁSICOS DE UN SISTEMA
MICROPROCESADOR
Unidad central de proceso(CPU) (I). Unidades funcionales
Es un circuito de gran escala de integración que contiene la CPU completa de una
computadora en un único circuito integrado. Los microprocesadores contienen
diversas unidades funcionales que realizan trabajos específicos. El modo de
relacionarse entre ellas establece la arquitectura interna del µP, el conjunto de
instrucciones disponibles y el modo de ejecutarse cada una de ellas.
6800 de Motorola
Unidad aritmético lógica (ALU)
Es el elemento clave de procesamiento del µP. Esta gobernada por la unidad de
control. Se utiliza para realizar operaciones aritméticas y lógicas. Los datos de la
ALU se obtienen de la matriz de registros.
Matriz de registros
Es la colección de registros disponibles pro el programador dentro del
microprocesador. Existen también, registros invisibles no disponibles por el
programador.
Unidad de control
Proporciona las señales de temporización y control.
Electrónica Industrial Tema 11. Introducción a los Microprocesadores y Microcontroladores
⋅6⋅
1. ELEMENTOS BÁSICOS DE UN SISTEMA
MICROPROCESADOR
Unidad central de proceso(CPU) (II). Buses
Bus de direcciones
Es un bus de un solo sentido a través del cual el microprocesador envía un código
de dirección a una memoria o dispositivo externo.
16 líneas = 216= 65.536 posisiones = 64 K (8080)
20, 24 bits
32 líneas = 232= 4.294.467.296 = 4 Gigas (Pentium)
Bus de datos
Es un bus de dos sentidos (8, 16, 32 o 64 bits).
Bus de control
Señales para ciclos de lectura / escritura, ciclos de espera, interrupciones, etc.
Electrónica Industrial Tema 11. Introducción a los Microprocesadores y Microcontroladores
⋅7⋅
1. ELEMENTOS BÁSICOS DE UN SISTEMA
MICROPROCESADOR
Unidad central de proceso(CPU) (III)Programación.
Todos los µP disponen de un conjunto básico de instrucciones que se pueden
agrupar según su funcionalidad. En el Pentium se pueden distinguir siete grupos
básicos:
• Transferencia de datos.
• Aritmética.
• Manipulación de bits.
• Bucles y saltos.
• Cadenas de caracteres.
• Subrutinas e interrupciones.
• Control del procesador.
Las instrucciones son decodificadas antes de que sean ejecutadas. A las
instrucciones en código binario se denomina lenguaje máquina.
Con objeto de no escribir los programas en lenguaje máquina se utilizan
nemónicos que constituyen lo que se conoce como lenguaje ensamblador. Los
programas ensambladores se encargan de traducir los nemónicos en código
máquina. También incluyen pseudo-instrucciones necesarias para facilitar la
programación (reserva de zonas de datos, código, stack, variables, etc.).
Un compilador traduce las instrucciones de un lenguaje de alto nivel máquina.
Electrónica Industrial Tema 11. Introducción a los Microprocesadores y Microcontroladores
⋅8⋅
2. MICROPROCESADORES VS MICROCONTROLADORES.
Concepto general de microcontrolador.
" Es un C.I. que contiene todos los componentes de un computador.
Aplicaciones
1. Periféricos y dispositivos auxiliares de los computadores.
2. Electrodomésticos.
3. Aparatos portátiles y de bolsillo (tarjetas, monederos, teléfonos..)
4. Máquinas expendedoras y juguetería.
5. Instrumentación.
6. Industria de automoción.
7. Control industrial y robótica.
8. Electromedicina.
9. Sistema de navegación espacial.
10. Sistemas de seguridad y alarma.
11. Domótica en general.
Control del motor
Antideslizamiento
Panel de instrumentos
Control de velocidad
Sistema de navegación
Control climatización
Sistema antirrobo
Electrónica Industrial Tema 11. Introducción a los Microprocesadores y Microcontroladores
⋅9⋅
2. MICROPROCESADORES VS MICROCONTROLADORES.
Arquitectura Von Newman VS Harvard
Algunos microcontroladores optimizan su operatividad mediante una arquitectura
Harvard.
Memoria
Procesador
(CPU) Entrada/Salida
Bus de
Bus de direcciones
Bus de control
Bus de control
Bus de direcciones
Bus de datos
Memoria datos Procesador Memoria
programa
Bus de datos (instrucciones)Bus de datos de memoria de programa
Bus de direcciones de memoria de programa
Electrónica Industrial Tema 11. Introducción a los Microprocesadores y Microcontroladores
⋅10⋅
2. MICROPROCESADORES VS MICROCONTROLADORES.
Implantación en el mercado
Algunos fabricantes de µC con algunos modelos.
Fabricante Modelos de µC
INTEL 8048, 8051, 80C196, 80186, 80188, 80386EX
MOTOROLA 6805, 68HC11, 68HC12, 68HC16, 683XX
HITACHI HD64180
PHILIPS Gama completa de clónicos del 8051
SGS-THOMSON (ST) ST-62XX
MICROCHIP PICs
NATIONAL SEMICONDUCTOR COP8
ZILOG Z8, Z80
TEXAS INSTRUMENTS TMS370
TOSHIBA TLCS-870
INFINEON C500
DALLAS DS5000
NEC 78K
Ranking europeo de ventas de MCU de 8 bits (año 1999).
Electrónica Industrial Tema 11. Introducción a los Microprocesadores y Microcontroladores
⋅11⋅
3. ARQUITECTURA DEL PIC16F84
Microcontroladores PIC de Microchip
En la actualidad se emplean cada vez más debido a:
# Velocidad
# Precio
# Facilidad de uso
# Información y herramientas de apoyo.
Gamas
# PIC12C5X, gama baja o clásica ( palabra de programa de 12 bits).
# PIC16CXXX, gama media (palabra de programa de 14 bits).
# PIC17CXXX, PIC18XXX, gama alta (palabra de programa de 16 bits).
Familia Descripción
PIC12C5XX 8-Pin, 8-Bit CMOS
PIC12C67X 8-Pin, 8-Bit CMOS con Convertidor A/D
PIC12F6XX 8-Pin, 8-Bit Flash con EEPROM y A/D
PIC16C5X EPROM/ROM 8-Bit CMOS
PIC16C55X EPROM-Based 8-Bit CMOS
PIC16C6X 8-Bit CMOS
PIC16X62X 8-Pin EPROM-Based 8-Bit CMOS con Comparador
PIC16C64X 8-Bit EPROM con Comparador analógico
PIC16C7X 8-Bit CMOS con convertidor A/D.
PIC16C71X 18 Pin, 8-Bit CMOS con convertidor A/D.
PIC16C43X 18/20 Pin, 8-Bit CMOS con bus LIN.
PIC16C78X Convertidor A/D, D/A, amplificador operacional, comparadores y PSMC.
PIC16C7X5 8-Bit CMOS, A/D , para aplicaciones de USB, PS/2 y dispositivo serie.
PIC16C77X 20-pin, 28-pin y 40-Pin, 8-Bit CMOS con convertidor A/D 12-bit.
PIC16F87X 28/40-Pin, 8-Bit CMOS FLASH con convertidor A/D 10-bit .
PIC16X8X 18-Pin, 8-Bit CMOS FLASH/EEPROM Microcontrollers
PIC16F7X 28/40-pin 8-bit CMOS FLASH
PIC16C9XX LCD, convertidor A/D 8 y 10-bit .
PIC17C4X 8-Bit CMOS EPROM/ROM, alto rendimiento.
PIC17C75X 8-Bit CMOS EPROM, alto rendimiento
PIC18CXXX 8-Bit, arquitectura mejorada.
PIC18F0XX 8-Pin, 8-Bit FLASH con EEPROM, PLVD, BOR y PWM.
PIC18FXX2 Protección de código, 256 EEPROM, LVD, PLL, SLEEP ,multiplicador 8x8 , PSP.
PIC18FXX31 28/40-Pin FLASH con EEPROM, PLVD, PBOR, A/D 10-bit PWM.
Electrónica Industrial Tema 11. Introducción a los Microprocesadores y Microcontroladores
⋅12⋅
3. ARQUITECTURA DEL PIC16F84
Arquitectura general
Características generales.
# Consta de una ALU, decodificador de instrucciones, y una matriz de
registros.
# Incluye también un módulo de memoria para programa y una memoria
auxiliar para datos del tipo EEPROM, por si falla la alimentación.
# Arquitectura Harvard.
# Bus de datos de 8 bits, bus de instrucciones de 14 bits.
# Conjunto de instrucciones reducido, RISC (35 instrucciones).
# Las instrucciones se ejecutan en 1 ciclo, excepto los saltos (2 ciclos).
# Dispone de dos puertos de entrada salida.
# Entradas multiplexadas para interrupciones y el contador/temporizador.
# Dispone de un perro guardian o watchdog.
Electrónica Industrial Tema 11. Introducción a los Microprocesadores y Microcontroladores
⋅13⋅
3. ARQUITECTURA DEL PIC16F84
Memoria de programa
# Tipo Flash integrada en el propio chip.
# Memoria de 1K x 14 (000h – 3FFh).
# En la posición 000h está el Vector de Reset.
o Conexión alimentación
o Al aplicar 0V al terminal MCLR
o Desbordamiento perro guardián (watchdog).
# En la posición 04h está el Vector de
Interrupción.
o Activación del pin INT
o Desbordamiento del temporizador TMR0
o Cambio de estado en pines RB4 - RB7
o Final de escritura en la EEPROM de datos.
# Todo lo grabado (datos y programa) se puede
modificar sobre el circuito por las antradas series RB6(clk)/RB7(datos)
Electrónica Industrial Tema 11. Introducción a los Microprocesadores y Microcontroladores
⋅14⋅
3. ARQUITECTURA DEL PIC16F84
Memoria de datos
Tipo SRAM
Dos bancos o páginas de 128 registros de 8 bits.
o Página ‘0’ ⇒ 80 registros: 12 especiales
(SFR) y 68 generales (GPR).
o Página ‘1’ ⇒ 12 registros de funciones
específicas (SFR).
Tipo EEPROM
• 64 registros de 8 bits cada uno. La información puede permanecer hasta 40
años.
• No se puede acceder a los mismos de una manera directa, sino que hay
que hacerlo por medio del los Registros de Función Específica (SFR).
Electrónica Industrial Tema 11. Introducción a los Microprocesadores y Microcontroladores
⋅15⋅
3. ARQUITECTURA DEL PIC16F84
Puertos de entrada /salida
PUERTO RA0-RA4
Puerto bidireccional de Entrada/Salida.
RA4/T0CKL puede comportarse como una Entrada/Salida normal, o bien como una
entrada de reloj del contador/temporizador TMR0.
PUERTO RB0-RB7
Puerto bidireccional de Entrada/Salida.
RB0/INT puede ser utilizado como una entrada de interrupciones.
RB4/RB7 pueden ser utilizados para generar interrupciones ante un cambio de
nivel.
RB6/RB7 pueden ser utilizados para programa el PIC.
Electrónica Industrial Tema 11. Introducción a los Microprocesadores y Microcontroladores
⋅16⋅
3. ARQUITECTURA DEL PIC16F84
Recursos auxiliares (I)
Oscilador
# Mediante los condensadores y el oscilador se puede seleccionar la
frecuencia del reloj: 455KHz, 2 MHz, 4MHz, 8MHz y 10 MHz.
# Ciclo de instrucción = 4 · Periodo de reloj
Ejemplo: Frecuencia de reloj = 4MHz ⇒ Periodo de reloj =
250ns.
Ciclo de instrucción = 1/Fosc x 4 = 250 ns x 4 = 1 µs.
Estado de reposo (SLEEP)
# Consumo < 3µA
Electrónica Industrial Tema 11. Introducción a los Microprocesadores y Microcontroladores
⋅17⋅
3. ARQUITECTURA DEL PIC16F84
Recursos auxiliares (II)
Temporizador/Contador
Consiste en un contador cíclico de 00h a FFh. Cuando se llega a FF se
produce un desbordamiento. Dos modos de trabajo:
# Temporizador: determinar intervalos concretos de tiempo. Se
incrementa con cada ciclo de instrucción o divisor.
# Contador: contar impulsos producidos en el exterior del sistema.
Perro guardián (watchdog)
# Temporizador independiente del reloj principal. Tiene su propio
oscilador, luego sigue funcionando en modo de bajo consumo.
# Permite detectar cuando se ha “colgado” el programa. Cuando
llega a FFh, se produce el desbordamiento y se provoca el RESET
del PIC.
# El tempo típico de un ciclo es de 18 ms. pero se puede ampliar a
2,5 seg.
Electrónica Industrial Tema 9. Introducción a los Microprocesadores y Microconytroladores
⋅18⋅
3. ARQUITECTURA DEL PIC16F84
Distribución de los terminales
# VDD y VSS : Alimentación (2 V - 6 V).
# MCLR (Master Clear): Reset cuando la tensión < 1,7V .
# RA0- RA4: Entradas/salidas del puerto A.
o IO = 20mA; ∑ IO = 50mA
o II = 25mA; ∑ II = 80mA
o RA4/T0CK1 puede ser contador/temporizador externo TMR0.
# RB0-RB7: Entradas/salidas del puerto B.
o IO = 20mA; ∑ IO = 100mA
o II = 25mA; ∑ II = 150mA
o RB0/INT puede ser interrupción externa.
# OSC1/CLKIN OSC2/CLKOUT : conexión del oscilador del reloj
principal.
+5V
27pF
RA0
RA1
PIC16F84
OSC1
OSC2
VDD
RB7
RB6
RB5
RB4
RA2
RA4/T0CKI
VppMCLR/
VSS
RB0/INT
RB1
RB2
RB3
RA3
27pF
Cristal 4MHz
VDD
10K
100
Electrónica Industrial Tema 9. Introducción a los Microprocesadores y Microconytroladores
⋅19⋅
3. ARQUITECTURA DEL PIC16F84
Periféricos de entrada/salida
Pulsadores
Interruptores
Diodos LED
Relés
Rebotes
Pulsación
IN
R
S
Electrónica Industrial Tema 9. Introducción a los Microprocesadores y Microconytroladores
⋅20⋅
4. FUNDAMENTOS DE PROGRAMACIÓN PIC16F84
Conceptos generales
Un programa es un conjunto ordenado de instrucciones cuya ejecución determina
el procesado de los datos y la obtención de resultados.
EL PIC16F84 entiende un juego de 35 instrucciones (14 bits).
Estructura del programa
Modelo de procesador y sistema de numeración
List p=16F84 ;Se utiliza el microcontrolador PIC16F84
Radix hex ; Se usará el sistema hexadecimal
Variables
ESTADO equ 0x03 ;La etiqueta “ESTADO” está asociada a la dirección 0x03
PUERTAA equ 0x05 ;La etiqueta “PUERTAA” está asociada a la dirección 0x05
Origen del programa
org 0x00 ;Inicio de programa
org 0x00 ;La siguiente instrucción estará al inicio de la memoria
goto INICIO ;Salta a la dirección etiquetada con INICIO
org 0x05 ;La siguiente instrucción estará en la dirección 0x05
INICIO
-------
-------
end
Cuerpo del programa y final
.......
......
end
Electrónica Industrial Tema 9. Introducción a los Microprocesadores y Microconytroladores
⋅21⋅
5. EJEMPLOS DE PROGRAMACIÓN
Ejemplo 1 - Sumar el contenido de dos posiciones de
memoria (I)
# Instrucción mov.
Permite transferir el contenido de un registro fuente f a un registro destino d.
En los PIC todos los datos residen en posiciones de la memoria de datos a
excepción del registro W. La instrucción mov puede mover tres tipos
fundamentales de operandos:
1. El contenido del registro W.
2. El contenido de una posición de memoria de datos.
3. Un literal o valor.
# movf f,d : mueve el contenido del operando fuente f (posición de la memoria
de datos) al destino d (puede ser W o la propia fuente).
# movwf f : mueve el contenido del registro W a la posición de memoria
especificada por f.
# movlw k : mueve el valor k al registro W.
# addwf f,d : suma el contenido del registro W con el de f y deposita el
resultado en W si d = 0 (o W), o en f si d = 1.
# addlw k : suma al contenido del registro W el valor k y deposita el resultado
en W.
Banco 0
00h
Registros
especiales
0Bh
5 0Ch OPERANDO1
2 0Dh OPERANDO2
¿?? 0Eh RESULTADO
4Fh
Electrónica Industrial Tema 9. Introducción a los Microprocesadores y Microconytroladores
⋅22⋅
5. EJEMPLOS DE PROGRAMACIÓN
Ejemplo 1 - Sumar el contenido de dos posiciones de
memoria (II)
List p=16f84
OPERANDO1 equ 0x0C
OPERANDO2 equ 0x0D
RESULTADO equ 0x0E
org 0x00 ;origen
INICIO
movlw 0x05 ;W ← ‘5’
movwf OPERANDO1 ;OPERANDO1←W
movlw 0x02 ;W ← ‘2’
movwf OPERANDO2 ;OPERANDO2←W
addwf OPERANDO1,W ;OPERANDO1+W →W
movwf RESULTADO ;RESULTADO ←W
end
INICIO
Declaración de variables
OPERANDO1 ← ‘5’
OPERANDO2 ← ‘2’
RESULTADO = OPERANDO1 + OPERANDO2
END
Electrónica Industrial Tema 9. Introducción a los Microprocesadores y Microconytroladores
⋅23⋅
5. EJEMPLOS DE PROGRAMACIÓN
Ejemplo 2 - Leer y sacar datos por los puertos (I)
Banco 0 Banco 1
00h 80h
03h STATUS 83h
05h PORTA TRISA 85h
06h PORTB TRISB 86h
0BH
Registro STATUS (dirección 03h)
RP1 RP0
bit7 bit0
# bit 6 – 5: RP0-RP1 Selección del banco de registros
00 = Banco 0
01 = Banco 1
Registro PORTA (dirección 05h Banco 0)
-- -
-
-
-
RA4/T0CKI RA3 RA2 RA1 RA0
bit7 bit0
-- : los tres primeros bits de PORTA siempren se leerán como ‘0’
Registro TRISA (dirección 05h Banco 1)
-- -
-
-
-
TRISA4 TRISA3 TRISA2 TRISA1 TRISA0
bit7 bit0
2 x 10K
3x 680
+5V
27pF
RA0
RA1
PIC16F84
OSC1
OSC2
VDD
RB7
RB6
RB5
RB4
RA2
RA4/T0CKI
VppMCLR /
VSS
RB0/INT
RB1
RB2
RB3
RA3
27pF
4MHz
10K
100
VDD
VDDVDD
10K
Electrónica Industrial Tema 9. Introducción a los Microprocesadores y Microconytroladores
⋅24⋅
5. EJEMPLOS DE PROGRAMACIÓN
Ejemplo 2 - Leer y sacar datos por los puertos (II)
Aparecen en este ejemplo algunas instrucciones nuevas:
# bsf f,d : pone a ‘1’ el bit d del registro f .
# bcf f,d : pone a ‘0’ el bit d del registro f .
# goto etiqueta : salta hasta la instrucción que va precedida por la etiqueta.
List p=16f84
STATUS equ 0x03
PORTA equ 0x05
PORTB equ 0x06
org 0x00
goto INICIO
org 0x05 ;salta el vector de interrupción
INICIO
bsf STATUS,5 ;cambia al banco1
movlw b’00000000’ ;W ← ‘00’
movwf PORTB ;TRISB←W (PORTB salidas)
movlw b’00011111’ ;W ← ‘FF’
movwf PORTA ;TRISA←W (PORTA entradas)
bcf STATUS,5 ;cambia al banco0
BUCLE
movf PORTA,W ;W ← PORTA
movwf PORTB ;PORTB ← W
goto BUCLE
end
INICIO
Declaración de variables
PORTB ← PORTA
Configuración de E/S
Electrónica Industrial Tema 9. Introducción a los Microprocesadores y Microconytroladores
⋅25⋅
5. EJEMPLOS DE PROGRAMACIÓN
Ejemplo 3 - Leer y sacar datos por los puertos, condiciones
(I)
El LED se ilumina cuando se cierra el interruptor.
Este ejemplo incorpora las instrucciones:
# btfsc f,d : salta una instrucción si el bit d del registro f es ‘0’, si no, sigue por la
siguiente instrucción.
# clrf f : borra el contenido del registro f.
10K
680
+5V
27pF
RA0
RA1
PIC16F84
OSC1
OSC2
VDD
RB7
RB6
RB5
RB4
RA2
RA4/T0CKI
VppMCLR /
VSS
RB0/INT
RB1
RB2
RB3
RA3
27pF
4MHz
10K
100
VDD
VDD
Electrónica Industrial Tema 9. Introducción a los Microprocesadores y Microconytroladores
⋅26⋅
5. EJEMPLOS DE PROGRAMACIÓN
Ejemplo 3-Leer y sacar datos por los puertos, condiciones (II)
List p=16f84
STATUS equ 0x03
PORTA equ 0x05
PORTB equ 0x06
org 0x00
goto INICIO
org 0x05 ;salta el vector de interrupción
INICIO
bsf STATUS,5 ;cambia al banco1
clrf PORTB ;Puerto B configurado como salidas
movlw b’00011111’ ;Puerto A configurado como entradas
movwf PORTA
bcf STATUS,5 ;cambia al banco0
BUCLE
btfsc PORTA,0 ;¿RA0=0? salta si RA0 es ‘0’
goto RA0_es_1
bsf PORTB,0 ;pone a ‘1’ RB0, enciende el led
goto BUCLE
RA0_es_1
bcf PORTB,0 ;pone a ‘0’ RB0, apaga el led
goto BUCLE
end
INICIO
Declaración de variables
Configuración de E/S
RA0 ON
RA0=’0’
Encender led
RB0 =’1’
Apagar led
RB0 =’0’
SI
NO

Más contenido relacionado

La actualidad más candente

ATMEL-Presentación
ATMEL-Presentación ATMEL-Presentación
ATMEL-Presentación Estefany Luna
 
02.Arquitectura de los microcontroladores pic
02.Arquitectura de los microcontroladores pic02.Arquitectura de los microcontroladores pic
02.Arquitectura de los microcontroladores picJonathan Ruiz de Garibay
 
Presentacion pic 16f887 y 18f4550
Presentacion pic 16f887 y 18f4550 Presentacion pic 16f887 y 18f4550
Presentacion pic 16f887 y 18f4550 Alejandra Ruiz
 
PIC MICROCONTROLADORES
PIC MICROCONTROLADORESPIC MICROCONTROLADORES
PIC MICROCONTROLADORESada_laura
 
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladoresSesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladoresDidier Tec
 
Programación multitarea en microcontroladores avr de 8 bits.
Programación multitarea en microcontroladores avr de 8 bits.Programación multitarea en microcontroladores avr de 8 bits.
Programación multitarea en microcontroladores avr de 8 bits.Hazur Sahib
 
La Familia De Microcontroladores Pic
La Familia De Microcontroladores PicLa Familia De Microcontroladores Pic
La Familia De Microcontroladores PicAndres
 
Familia De Los Microcontroladores
Familia De Los MicrocontroladoresFamilia De Los Microcontroladores
Familia De Los Microcontroladoresceiv
 
Tutorial-pic16 f877a- algunas-mejoras
Tutorial-pic16 f877a- algunas-mejorasTutorial-pic16 f877a- algunas-mejoras
Tutorial-pic16 f877a- algunas-mejorasAldo Corp
 
Introduccion al msp430
Introduccion al msp430Introduccion al msp430
Introduccion al msp430Cesar MARTI
 
Memorias, puertos, y registros del pic
Memorias, puertos, y registros del picMemorias, puertos, y registros del pic
Memorias, puertos, y registros del picMario Sandi
 

La actualidad más candente (19)

Pic 16 F84 A
Pic 16 F84 APic 16 F84 A
Pic 16 F84 A
 
Turorial avr Bascom
Turorial avr BascomTurorial avr Bascom
Turorial avr Bascom
 
FAMILIA MICROCONTROLADORES
FAMILIA MICROCONTROLADORESFAMILIA MICROCONTROLADORES
FAMILIA MICROCONTROLADORES
 
ATMEL-Presentación
ATMEL-Presentación ATMEL-Presentación
ATMEL-Presentación
 
02.Arquitectura de los microcontroladores pic
02.Arquitectura de los microcontroladores pic02.Arquitectura de los microcontroladores pic
02.Arquitectura de los microcontroladores pic
 
Presentacion pic 16f887 y 18f4550
Presentacion pic 16f887 y 18f4550 Presentacion pic 16f887 y 18f4550
Presentacion pic 16f887 y 18f4550
 
PIC MICROCONTROLADORES
PIC MICROCONTROLADORESPIC MICROCONTROLADORES
PIC MICROCONTROLADORES
 
3 microcontroladores
3 microcontroladores3 microcontroladores
3 microcontroladores
 
50824079 datasheet-pic18f4550-espanol
50824079 datasheet-pic18f4550-espanol50824079 datasheet-pic18f4550-espanol
50824079 datasheet-pic18f4550-espanol
 
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladoresSesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
 
Familia De Los Microcontroladores Pic
Familia De Los Microcontroladores PicFamilia De Los Microcontroladores Pic
Familia De Los Microcontroladores Pic
 
Programación multitarea en microcontroladores avr de 8 bits.
Programación multitarea en microcontroladores avr de 8 bits.Programación multitarea en microcontroladores avr de 8 bits.
Programación multitarea en microcontroladores avr de 8 bits.
 
La Familia De Microcontroladores Pic
La Familia De Microcontroladores PicLa Familia De Microcontroladores Pic
La Familia De Microcontroladores Pic
 
Familia De Los Microcontroladores
Familia De Los MicrocontroladoresFamilia De Los Microcontroladores
Familia De Los Microcontroladores
 
Tutorial-pic16 f877a- algunas-mejoras
Tutorial-pic16 f877a- algunas-mejorasTutorial-pic16 f877a- algunas-mejoras
Tutorial-pic16 f877a- algunas-mejoras
 
Introduccion al msp430
Introduccion al msp430Introduccion al msp430
Introduccion al msp430
 
Diapos de pic
Diapos de picDiapos de pic
Diapos de pic
 
Memorias, puertos, y registros del pic
Memorias, puertos, y registros del picMemorias, puertos, y registros del pic
Memorias, puertos, y registros del pic
 
Apuntes del pic 16f84
Apuntes del pic 16f84Apuntes del pic 16f84
Apuntes del pic 16f84
 

Similar a 04 procesadores y microcontroladores

Similar a 04 procesadores y microcontroladores (20)

Introducción
IntroducciónIntroducción
Introducción
 
Microcontrolador wiki
Microcontrolador wikiMicrocontrolador wiki
Microcontrolador wiki
 
Micro1.ppt
Micro1.pptMicro1.ppt
Micro1.ppt
 
MICROCONTROLADORES.ppt
MICROCONTROLADORES.pptMICROCONTROLADORES.ppt
MICROCONTROLADORES.ppt
 
Curso Micro Tema 1
Curso Micro Tema 1Curso Micro Tema 1
Curso Micro Tema 1
 
Pic16 f877
Pic16 f877Pic16 f877
Pic16 f877
 
Autor
AutorAutor
Autor
 
Curso microprocesadores y_microcontroladores_unidad_1
Curso microprocesadores y_microcontroladores_unidad_1Curso microprocesadores y_microcontroladores_unidad_1
Curso microprocesadores y_microcontroladores_unidad_1
 
Curso de microcontrolador MCS51
Curso de microcontrolador MCS51Curso de microcontrolador MCS51
Curso de microcontrolador MCS51
 
microcontroladores.ppt
microcontroladores.pptmicrocontroladores.ppt
microcontroladores.ppt
 
Micro1
Micro1Micro1
Micro1
 
El microcontrolador PIC16F877
El microcontrolador PIC16F877El microcontrolador PIC16F877
El microcontrolador PIC16F877
 
Microcontroladores ASM
Microcontroladores ASMMicrocontroladores ASM
Microcontroladores ASM
 
Libro basico pic
Libro basico picLibro basico pic
Libro basico pic
 
Microcontroladores PIC
Microcontroladores PICMicrocontroladores PIC
Microcontroladores PIC
 
Sm parte 1
Sm parte 1Sm parte 1
Sm parte 1
 
Microcontroladoresf2
Microcontroladoresf2Microcontroladoresf2
Microcontroladoresf2
 
Apunte de microprocesadores pic
Apunte de microprocesadores picApunte de microprocesadores pic
Apunte de microprocesadores pic
 
Micros Capitulo 1
Micros Capitulo 1Micros Capitulo 1
Micros Capitulo 1
 
Micros Capitulo 1
Micros Capitulo 1Micros Capitulo 1
Micros Capitulo 1
 

Último

Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webDecaunlz
 
Tema 1 - Fundamentos de gestión contable.pptx
Tema 1 - Fundamentos de gestión contable.pptxTema 1 - Fundamentos de gestión contable.pptx
Tema 1 - Fundamentos de gestión contable.pptxchinojosa17
 
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdfFernandaHernandez312615
 
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdfFLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdfYuriFuentesMartinez2
 
El uso de las tic en la vida continúa , ambiente positivo y negativo.
El uso de las tic  en la vida continúa , ambiente positivo y negativo.El uso de las tic  en la vida continúa , ambiente positivo y negativo.
El uso de las tic en la vida continúa , ambiente positivo y negativo.ayalayenifer617
 
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULDGRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULDLeslie Villar
 
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIA
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIAFisica General.pdf ESCUELA D QUIMICA E INGENIERIA
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIAcoloncopias5
 
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsxactividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx241532171
 
3Mayo2023 Taller construcción de Prototipos.pptx
3Mayo2023 Taller construcción de Prototipos.pptx3Mayo2023 Taller construcción de Prototipos.pptx
3Mayo2023 Taller construcción de Prototipos.pptxadso2024sena
 
Producto académico 03 - Habilidades Comunicativas.pptx
Producto académico 03 - Habilidades Comunicativas.pptxProducto académico 03 - Habilidades Comunicativas.pptx
Producto académico 03 - Habilidades Comunicativas.pptx46828205
 
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxrodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxssuser61dda7
 
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptxPRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptxRodriguezLucero
 
COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfCOMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfOscarBlas6
 
Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenadanielaerazok
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAdanielaerazok
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenajuniorcuellargomez
 
CamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptxCamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptx241518192
 
GRUPO 5 Software en el campo de la salud.pptx
GRUPO 5 Software en el campo de la salud.pptxGRUPO 5 Software en el campo de la salud.pptx
GRUPO 5 Software en el campo de la salud.pptxNicolas Villarroel
 
libro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdflibro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdfFAUSTODANILOCRUZCAST
 

Último (19)

Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la web
 
Tema 1 - Fundamentos de gestión contable.pptx
Tema 1 - Fundamentos de gestión contable.pptxTema 1 - Fundamentos de gestión contable.pptx
Tema 1 - Fundamentos de gestión contable.pptx
 
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
 
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdfFLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
 
El uso de las tic en la vida continúa , ambiente positivo y negativo.
El uso de las tic  en la vida continúa , ambiente positivo y negativo.El uso de las tic  en la vida continúa , ambiente positivo y negativo.
El uso de las tic en la vida continúa , ambiente positivo y negativo.
 
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULDGRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
 
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIA
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIAFisica General.pdf ESCUELA D QUIMICA E INGENIERIA
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIA
 
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsxactividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
 
3Mayo2023 Taller construcción de Prototipos.pptx
3Mayo2023 Taller construcción de Prototipos.pptx3Mayo2023 Taller construcción de Prototipos.pptx
3Mayo2023 Taller construcción de Prototipos.pptx
 
Producto académico 03 - Habilidades Comunicativas.pptx
Producto académico 03 - Habilidades Comunicativas.pptxProducto académico 03 - Habilidades Comunicativas.pptx
Producto académico 03 - Habilidades Comunicativas.pptx
 
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxrodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
 
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptxPRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
 
COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfCOMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdf
 
Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalena
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalena
 
CamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptxCamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptx
 
GRUPO 5 Software en el campo de la salud.pptx
GRUPO 5 Software en el campo de la salud.pptxGRUPO 5 Software en el campo de la salud.pptx
GRUPO 5 Software en el campo de la salud.pptx
 
libro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdflibro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdf
 

04 procesadores y microcontroladores

  • 1. Electrónica Industrial Tema 11. Introducción a los Microprocesadores y Microcontroladores ⋅1⋅ Unidad 11 Introducción a los microprocesadores y microcontroladores Andres.Iborra@upct.es Juan.Suardiaz@upct.es Septiembre 2002
  • 2. Electrónica Industrial Tema 11. Introducción a los Microprocesadores y Microcontroladores ⋅2⋅ CONTENIDO Unidad 11. Introducción a los microprocesadores y microcontroladores. 11.1Elementos básicos de un sistema microprocesador. 11.2Microprocesadores frente a microcontroladores. 11.3Arquitectura del PIC16F84. 11.4Fundamentos de programación del PIC16F84. 11.5Ejemplos de programación del PIC16F84. OBJETIVOS ESPECÍFICOS !Estudiar los bloques básicos de un microprocesador. !Comprender la diferencia entre lenguaje máquina y lenguaje ensamblador. !Comprender el funcionamiento básico de una CPU. !Estudiar la arquitectura básica del microcontrolador PIC 16F84 !Distinguir entre puerto de E/S dedicado y puerto de E/S “mapeado” en memoria. !Estudiar la E/S por sondeo (“polling”), la E/S controlada por interrupción, y las interrupciones software. !Saber programar aplicaciones sencillas en un PIC16F84.
  • 3. Electrónica Industrial Tema 11. Introducción a los Microprocesadores y Microcontroladores ⋅3⋅ 1. ELEMENTOS BÁSICOS DE UN SISTEMA MICROPROCESADOR El microprocesador El microprocesador es un circuito integrado digital que puede programarse con una serie de instrucciones, para realizar funciones específicas con los datos. Cuando un microprocesador se conecta a un dispositivo de memoria y se provee de dispositivos de entrada salida, pasa a ser un sistema microprocesador.
  • 4. Electrónica Industrial Tema 11. Introducción a los Microprocesadores y Microcontroladores ⋅4⋅ 1. ELEMENTOS BÁSICOS DE UN SISTEMA MICROPROCESADOR • Existen tres bloques funcionales básicos: CPU, memoria y puertos. • Los tres se encuentran conectados mediante buses. • Los dispositivos de entrada y salida se conectan mediante puertos. • Un puerto es una interfaz física de una computadora a través del la cual pasan los datos hacía y desde los periféricos. • Los programas son un conjunto de instrucciones que entiende la CPU y que se ejecutan para resolver un problema específico. El programa se almacena en memoria. • Cada posición de memoria tiene asignada una dirección exclusiva. • Las instrucciones son leídas por la CPU a través del bus de datos cuando ésta las solicita. • La CPU las interpreta, y las ejecuta secuencialmente. Con frecuencia las instrucciones vienen acompañadas de datos o direcciones, con objeto de modificarlos. • La CPU genera señales de control para coordinar las transacciones. Memoria Puerto de entrada CPU (µP) Puerto de salida Periférico (Teclado, ratón, monitor) Periférico (Impresora, monitor) Bus de direcciones Bus de datos Bus de control
  • 5. Electrónica Industrial Tema 11. Introducción a los Microprocesadores y Microcontroladores ⋅5⋅ 1. ELEMENTOS BÁSICOS DE UN SISTEMA MICROPROCESADOR Unidad central de proceso(CPU) (I). Unidades funcionales Es un circuito de gran escala de integración que contiene la CPU completa de una computadora en un único circuito integrado. Los microprocesadores contienen diversas unidades funcionales que realizan trabajos específicos. El modo de relacionarse entre ellas establece la arquitectura interna del µP, el conjunto de instrucciones disponibles y el modo de ejecutarse cada una de ellas. 6800 de Motorola Unidad aritmético lógica (ALU) Es el elemento clave de procesamiento del µP. Esta gobernada por la unidad de control. Se utiliza para realizar operaciones aritméticas y lógicas. Los datos de la ALU se obtienen de la matriz de registros. Matriz de registros Es la colección de registros disponibles pro el programador dentro del microprocesador. Existen también, registros invisibles no disponibles por el programador. Unidad de control Proporciona las señales de temporización y control.
  • 6. Electrónica Industrial Tema 11. Introducción a los Microprocesadores y Microcontroladores ⋅6⋅ 1. ELEMENTOS BÁSICOS DE UN SISTEMA MICROPROCESADOR Unidad central de proceso(CPU) (II). Buses Bus de direcciones Es un bus de un solo sentido a través del cual el microprocesador envía un código de dirección a una memoria o dispositivo externo. 16 líneas = 216= 65.536 posisiones = 64 K (8080) 20, 24 bits 32 líneas = 232= 4.294.467.296 = 4 Gigas (Pentium) Bus de datos Es un bus de dos sentidos (8, 16, 32 o 64 bits). Bus de control Señales para ciclos de lectura / escritura, ciclos de espera, interrupciones, etc.
  • 7. Electrónica Industrial Tema 11. Introducción a los Microprocesadores y Microcontroladores ⋅7⋅ 1. ELEMENTOS BÁSICOS DE UN SISTEMA MICROPROCESADOR Unidad central de proceso(CPU) (III)Programación. Todos los µP disponen de un conjunto básico de instrucciones que se pueden agrupar según su funcionalidad. En el Pentium se pueden distinguir siete grupos básicos: • Transferencia de datos. • Aritmética. • Manipulación de bits. • Bucles y saltos. • Cadenas de caracteres. • Subrutinas e interrupciones. • Control del procesador. Las instrucciones son decodificadas antes de que sean ejecutadas. A las instrucciones en código binario se denomina lenguaje máquina. Con objeto de no escribir los programas en lenguaje máquina se utilizan nemónicos que constituyen lo que se conoce como lenguaje ensamblador. Los programas ensambladores se encargan de traducir los nemónicos en código máquina. También incluyen pseudo-instrucciones necesarias para facilitar la programación (reserva de zonas de datos, código, stack, variables, etc.). Un compilador traduce las instrucciones de un lenguaje de alto nivel máquina.
  • 8. Electrónica Industrial Tema 11. Introducción a los Microprocesadores y Microcontroladores ⋅8⋅ 2. MICROPROCESADORES VS MICROCONTROLADORES. Concepto general de microcontrolador. " Es un C.I. que contiene todos los componentes de un computador. Aplicaciones 1. Periféricos y dispositivos auxiliares de los computadores. 2. Electrodomésticos. 3. Aparatos portátiles y de bolsillo (tarjetas, monederos, teléfonos..) 4. Máquinas expendedoras y juguetería. 5. Instrumentación. 6. Industria de automoción. 7. Control industrial y robótica. 8. Electromedicina. 9. Sistema de navegación espacial. 10. Sistemas de seguridad y alarma. 11. Domótica en general. Control del motor Antideslizamiento Panel de instrumentos Control de velocidad Sistema de navegación Control climatización Sistema antirrobo
  • 9. Electrónica Industrial Tema 11. Introducción a los Microprocesadores y Microcontroladores ⋅9⋅ 2. MICROPROCESADORES VS MICROCONTROLADORES. Arquitectura Von Newman VS Harvard Algunos microcontroladores optimizan su operatividad mediante una arquitectura Harvard. Memoria Procesador (CPU) Entrada/Salida Bus de Bus de direcciones Bus de control Bus de control Bus de direcciones Bus de datos Memoria datos Procesador Memoria programa Bus de datos (instrucciones)Bus de datos de memoria de programa Bus de direcciones de memoria de programa
  • 10. Electrónica Industrial Tema 11. Introducción a los Microprocesadores y Microcontroladores ⋅10⋅ 2. MICROPROCESADORES VS MICROCONTROLADORES. Implantación en el mercado Algunos fabricantes de µC con algunos modelos. Fabricante Modelos de µC INTEL 8048, 8051, 80C196, 80186, 80188, 80386EX MOTOROLA 6805, 68HC11, 68HC12, 68HC16, 683XX HITACHI HD64180 PHILIPS Gama completa de clónicos del 8051 SGS-THOMSON (ST) ST-62XX MICROCHIP PICs NATIONAL SEMICONDUCTOR COP8 ZILOG Z8, Z80 TEXAS INSTRUMENTS TMS370 TOSHIBA TLCS-870 INFINEON C500 DALLAS DS5000 NEC 78K Ranking europeo de ventas de MCU de 8 bits (año 1999).
  • 11. Electrónica Industrial Tema 11. Introducción a los Microprocesadores y Microcontroladores ⋅11⋅ 3. ARQUITECTURA DEL PIC16F84 Microcontroladores PIC de Microchip En la actualidad se emplean cada vez más debido a: # Velocidad # Precio # Facilidad de uso # Información y herramientas de apoyo. Gamas # PIC12C5X, gama baja o clásica ( palabra de programa de 12 bits). # PIC16CXXX, gama media (palabra de programa de 14 bits). # PIC17CXXX, PIC18XXX, gama alta (palabra de programa de 16 bits). Familia Descripción PIC12C5XX 8-Pin, 8-Bit CMOS PIC12C67X 8-Pin, 8-Bit CMOS con Convertidor A/D PIC12F6XX 8-Pin, 8-Bit Flash con EEPROM y A/D PIC16C5X EPROM/ROM 8-Bit CMOS PIC16C55X EPROM-Based 8-Bit CMOS PIC16C6X 8-Bit CMOS PIC16X62X 8-Pin EPROM-Based 8-Bit CMOS con Comparador PIC16C64X 8-Bit EPROM con Comparador analógico PIC16C7X 8-Bit CMOS con convertidor A/D. PIC16C71X 18 Pin, 8-Bit CMOS con convertidor A/D. PIC16C43X 18/20 Pin, 8-Bit CMOS con bus LIN. PIC16C78X Convertidor A/D, D/A, amplificador operacional, comparadores y PSMC. PIC16C7X5 8-Bit CMOS, A/D , para aplicaciones de USB, PS/2 y dispositivo serie. PIC16C77X 20-pin, 28-pin y 40-Pin, 8-Bit CMOS con convertidor A/D 12-bit. PIC16F87X 28/40-Pin, 8-Bit CMOS FLASH con convertidor A/D 10-bit . PIC16X8X 18-Pin, 8-Bit CMOS FLASH/EEPROM Microcontrollers PIC16F7X 28/40-pin 8-bit CMOS FLASH PIC16C9XX LCD, convertidor A/D 8 y 10-bit . PIC17C4X 8-Bit CMOS EPROM/ROM, alto rendimiento. PIC17C75X 8-Bit CMOS EPROM, alto rendimiento PIC18CXXX 8-Bit, arquitectura mejorada. PIC18F0XX 8-Pin, 8-Bit FLASH con EEPROM, PLVD, BOR y PWM. PIC18FXX2 Protección de código, 256 EEPROM, LVD, PLL, SLEEP ,multiplicador 8x8 , PSP. PIC18FXX31 28/40-Pin FLASH con EEPROM, PLVD, PBOR, A/D 10-bit PWM.
  • 12. Electrónica Industrial Tema 11. Introducción a los Microprocesadores y Microcontroladores ⋅12⋅ 3. ARQUITECTURA DEL PIC16F84 Arquitectura general Características generales. # Consta de una ALU, decodificador de instrucciones, y una matriz de registros. # Incluye también un módulo de memoria para programa y una memoria auxiliar para datos del tipo EEPROM, por si falla la alimentación. # Arquitectura Harvard. # Bus de datos de 8 bits, bus de instrucciones de 14 bits. # Conjunto de instrucciones reducido, RISC (35 instrucciones). # Las instrucciones se ejecutan en 1 ciclo, excepto los saltos (2 ciclos). # Dispone de dos puertos de entrada salida. # Entradas multiplexadas para interrupciones y el contador/temporizador. # Dispone de un perro guardian o watchdog.
  • 13. Electrónica Industrial Tema 11. Introducción a los Microprocesadores y Microcontroladores ⋅13⋅ 3. ARQUITECTURA DEL PIC16F84 Memoria de programa # Tipo Flash integrada en el propio chip. # Memoria de 1K x 14 (000h – 3FFh). # En la posición 000h está el Vector de Reset. o Conexión alimentación o Al aplicar 0V al terminal MCLR o Desbordamiento perro guardián (watchdog). # En la posición 04h está el Vector de Interrupción. o Activación del pin INT o Desbordamiento del temporizador TMR0 o Cambio de estado en pines RB4 - RB7 o Final de escritura en la EEPROM de datos. # Todo lo grabado (datos y programa) se puede modificar sobre el circuito por las antradas series RB6(clk)/RB7(datos)
  • 14. Electrónica Industrial Tema 11. Introducción a los Microprocesadores y Microcontroladores ⋅14⋅ 3. ARQUITECTURA DEL PIC16F84 Memoria de datos Tipo SRAM Dos bancos o páginas de 128 registros de 8 bits. o Página ‘0’ ⇒ 80 registros: 12 especiales (SFR) y 68 generales (GPR). o Página ‘1’ ⇒ 12 registros de funciones específicas (SFR). Tipo EEPROM • 64 registros de 8 bits cada uno. La información puede permanecer hasta 40 años. • No se puede acceder a los mismos de una manera directa, sino que hay que hacerlo por medio del los Registros de Función Específica (SFR).
  • 15. Electrónica Industrial Tema 11. Introducción a los Microprocesadores y Microcontroladores ⋅15⋅ 3. ARQUITECTURA DEL PIC16F84 Puertos de entrada /salida PUERTO RA0-RA4 Puerto bidireccional de Entrada/Salida. RA4/T0CKL puede comportarse como una Entrada/Salida normal, o bien como una entrada de reloj del contador/temporizador TMR0. PUERTO RB0-RB7 Puerto bidireccional de Entrada/Salida. RB0/INT puede ser utilizado como una entrada de interrupciones. RB4/RB7 pueden ser utilizados para generar interrupciones ante un cambio de nivel. RB6/RB7 pueden ser utilizados para programa el PIC.
  • 16. Electrónica Industrial Tema 11. Introducción a los Microprocesadores y Microcontroladores ⋅16⋅ 3. ARQUITECTURA DEL PIC16F84 Recursos auxiliares (I) Oscilador # Mediante los condensadores y el oscilador se puede seleccionar la frecuencia del reloj: 455KHz, 2 MHz, 4MHz, 8MHz y 10 MHz. # Ciclo de instrucción = 4 · Periodo de reloj Ejemplo: Frecuencia de reloj = 4MHz ⇒ Periodo de reloj = 250ns. Ciclo de instrucción = 1/Fosc x 4 = 250 ns x 4 = 1 µs. Estado de reposo (SLEEP) # Consumo < 3µA
  • 17. Electrónica Industrial Tema 11. Introducción a los Microprocesadores y Microcontroladores ⋅17⋅ 3. ARQUITECTURA DEL PIC16F84 Recursos auxiliares (II) Temporizador/Contador Consiste en un contador cíclico de 00h a FFh. Cuando se llega a FF se produce un desbordamiento. Dos modos de trabajo: # Temporizador: determinar intervalos concretos de tiempo. Se incrementa con cada ciclo de instrucción o divisor. # Contador: contar impulsos producidos en el exterior del sistema. Perro guardián (watchdog) # Temporizador independiente del reloj principal. Tiene su propio oscilador, luego sigue funcionando en modo de bajo consumo. # Permite detectar cuando se ha “colgado” el programa. Cuando llega a FFh, se produce el desbordamiento y se provoca el RESET del PIC. # El tempo típico de un ciclo es de 18 ms. pero se puede ampliar a 2,5 seg.
  • 18. Electrónica Industrial Tema 9. Introducción a los Microprocesadores y Microconytroladores ⋅18⋅ 3. ARQUITECTURA DEL PIC16F84 Distribución de los terminales # VDD y VSS : Alimentación (2 V - 6 V). # MCLR (Master Clear): Reset cuando la tensión < 1,7V . # RA0- RA4: Entradas/salidas del puerto A. o IO = 20mA; ∑ IO = 50mA o II = 25mA; ∑ II = 80mA o RA4/T0CK1 puede ser contador/temporizador externo TMR0. # RB0-RB7: Entradas/salidas del puerto B. o IO = 20mA; ∑ IO = 100mA o II = 25mA; ∑ II = 150mA o RB0/INT puede ser interrupción externa. # OSC1/CLKIN OSC2/CLKOUT : conexión del oscilador del reloj principal. +5V 27pF RA0 RA1 PIC16F84 OSC1 OSC2 VDD RB7 RB6 RB5 RB4 RA2 RA4/T0CKI VppMCLR/ VSS RB0/INT RB1 RB2 RB3 RA3 27pF Cristal 4MHz VDD 10K 100
  • 19. Electrónica Industrial Tema 9. Introducción a los Microprocesadores y Microconytroladores ⋅19⋅ 3. ARQUITECTURA DEL PIC16F84 Periféricos de entrada/salida Pulsadores Interruptores Diodos LED Relés Rebotes Pulsación IN R S
  • 20. Electrónica Industrial Tema 9. Introducción a los Microprocesadores y Microconytroladores ⋅20⋅ 4. FUNDAMENTOS DE PROGRAMACIÓN PIC16F84 Conceptos generales Un programa es un conjunto ordenado de instrucciones cuya ejecución determina el procesado de los datos y la obtención de resultados. EL PIC16F84 entiende un juego de 35 instrucciones (14 bits). Estructura del programa Modelo de procesador y sistema de numeración List p=16F84 ;Se utiliza el microcontrolador PIC16F84 Radix hex ; Se usará el sistema hexadecimal Variables ESTADO equ 0x03 ;La etiqueta “ESTADO” está asociada a la dirección 0x03 PUERTAA equ 0x05 ;La etiqueta “PUERTAA” está asociada a la dirección 0x05 Origen del programa org 0x00 ;Inicio de programa org 0x00 ;La siguiente instrucción estará al inicio de la memoria goto INICIO ;Salta a la dirección etiquetada con INICIO org 0x05 ;La siguiente instrucción estará en la dirección 0x05 INICIO ------- ------- end Cuerpo del programa y final ....... ...... end
  • 21. Electrónica Industrial Tema 9. Introducción a los Microprocesadores y Microconytroladores ⋅21⋅ 5. EJEMPLOS DE PROGRAMACIÓN Ejemplo 1 - Sumar el contenido de dos posiciones de memoria (I) # Instrucción mov. Permite transferir el contenido de un registro fuente f a un registro destino d. En los PIC todos los datos residen en posiciones de la memoria de datos a excepción del registro W. La instrucción mov puede mover tres tipos fundamentales de operandos: 1. El contenido del registro W. 2. El contenido de una posición de memoria de datos. 3. Un literal o valor. # movf f,d : mueve el contenido del operando fuente f (posición de la memoria de datos) al destino d (puede ser W o la propia fuente). # movwf f : mueve el contenido del registro W a la posición de memoria especificada por f. # movlw k : mueve el valor k al registro W. # addwf f,d : suma el contenido del registro W con el de f y deposita el resultado en W si d = 0 (o W), o en f si d = 1. # addlw k : suma al contenido del registro W el valor k y deposita el resultado en W. Banco 0 00h Registros especiales 0Bh 5 0Ch OPERANDO1 2 0Dh OPERANDO2 ¿?? 0Eh RESULTADO 4Fh
  • 22. Electrónica Industrial Tema 9. Introducción a los Microprocesadores y Microconytroladores ⋅22⋅ 5. EJEMPLOS DE PROGRAMACIÓN Ejemplo 1 - Sumar el contenido de dos posiciones de memoria (II) List p=16f84 OPERANDO1 equ 0x0C OPERANDO2 equ 0x0D RESULTADO equ 0x0E org 0x00 ;origen INICIO movlw 0x05 ;W ← ‘5’ movwf OPERANDO1 ;OPERANDO1←W movlw 0x02 ;W ← ‘2’ movwf OPERANDO2 ;OPERANDO2←W addwf OPERANDO1,W ;OPERANDO1+W →W movwf RESULTADO ;RESULTADO ←W end INICIO Declaración de variables OPERANDO1 ← ‘5’ OPERANDO2 ← ‘2’ RESULTADO = OPERANDO1 + OPERANDO2 END
  • 23. Electrónica Industrial Tema 9. Introducción a los Microprocesadores y Microconytroladores ⋅23⋅ 5. EJEMPLOS DE PROGRAMACIÓN Ejemplo 2 - Leer y sacar datos por los puertos (I) Banco 0 Banco 1 00h 80h 03h STATUS 83h 05h PORTA TRISA 85h 06h PORTB TRISB 86h 0BH Registro STATUS (dirección 03h) RP1 RP0 bit7 bit0 # bit 6 – 5: RP0-RP1 Selección del banco de registros 00 = Banco 0 01 = Banco 1 Registro PORTA (dirección 05h Banco 0) -- - - - - RA4/T0CKI RA3 RA2 RA1 RA0 bit7 bit0 -- : los tres primeros bits de PORTA siempren se leerán como ‘0’ Registro TRISA (dirección 05h Banco 1) -- - - - - TRISA4 TRISA3 TRISA2 TRISA1 TRISA0 bit7 bit0 2 x 10K 3x 680 +5V 27pF RA0 RA1 PIC16F84 OSC1 OSC2 VDD RB7 RB6 RB5 RB4 RA2 RA4/T0CKI VppMCLR / VSS RB0/INT RB1 RB2 RB3 RA3 27pF 4MHz 10K 100 VDD VDDVDD 10K
  • 24. Electrónica Industrial Tema 9. Introducción a los Microprocesadores y Microconytroladores ⋅24⋅ 5. EJEMPLOS DE PROGRAMACIÓN Ejemplo 2 - Leer y sacar datos por los puertos (II) Aparecen en este ejemplo algunas instrucciones nuevas: # bsf f,d : pone a ‘1’ el bit d del registro f . # bcf f,d : pone a ‘0’ el bit d del registro f . # goto etiqueta : salta hasta la instrucción que va precedida por la etiqueta. List p=16f84 STATUS equ 0x03 PORTA equ 0x05 PORTB equ 0x06 org 0x00 goto INICIO org 0x05 ;salta el vector de interrupción INICIO bsf STATUS,5 ;cambia al banco1 movlw b’00000000’ ;W ← ‘00’ movwf PORTB ;TRISB←W (PORTB salidas) movlw b’00011111’ ;W ← ‘FF’ movwf PORTA ;TRISA←W (PORTA entradas) bcf STATUS,5 ;cambia al banco0 BUCLE movf PORTA,W ;W ← PORTA movwf PORTB ;PORTB ← W goto BUCLE end INICIO Declaración de variables PORTB ← PORTA Configuración de E/S
  • 25. Electrónica Industrial Tema 9. Introducción a los Microprocesadores y Microconytroladores ⋅25⋅ 5. EJEMPLOS DE PROGRAMACIÓN Ejemplo 3 - Leer y sacar datos por los puertos, condiciones (I) El LED se ilumina cuando se cierra el interruptor. Este ejemplo incorpora las instrucciones: # btfsc f,d : salta una instrucción si el bit d del registro f es ‘0’, si no, sigue por la siguiente instrucción. # clrf f : borra el contenido del registro f. 10K 680 +5V 27pF RA0 RA1 PIC16F84 OSC1 OSC2 VDD RB7 RB6 RB5 RB4 RA2 RA4/T0CKI VppMCLR / VSS RB0/INT RB1 RB2 RB3 RA3 27pF 4MHz 10K 100 VDD VDD
  • 26. Electrónica Industrial Tema 9. Introducción a los Microprocesadores y Microconytroladores ⋅26⋅ 5. EJEMPLOS DE PROGRAMACIÓN Ejemplo 3-Leer y sacar datos por los puertos, condiciones (II) List p=16f84 STATUS equ 0x03 PORTA equ 0x05 PORTB equ 0x06 org 0x00 goto INICIO org 0x05 ;salta el vector de interrupción INICIO bsf STATUS,5 ;cambia al banco1 clrf PORTB ;Puerto B configurado como salidas movlw b’00011111’ ;Puerto A configurado como entradas movwf PORTA bcf STATUS,5 ;cambia al banco0 BUCLE btfsc PORTA,0 ;¿RA0=0? salta si RA0 es ‘0’ goto RA0_es_1 bsf PORTB,0 ;pone a ‘1’ RB0, enciende el led goto BUCLE RA0_es_1 bcf PORTB,0 ;pone a ‘0’ RB0, apaga el led goto BUCLE end INICIO Declaración de variables Configuración de E/S RA0 ON RA0=’0’ Encender led RB0 =’1’ Apagar led RB0 =’0’ SI NO