Академический Документы
Профессиональный Документы
Культура Документы
Microcontroladores PIC
1
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
Caractersticas generales:
Arquitectura Harvard, procesador segmentado.
Compatibilidad software entre los modelos de la misma gama.
Sencillez de uso y herramientas de desarrollo sencillas y baratas.
Cdigo compacto y rpido.
Poco consumo y amplio rango de voltajes de alimentacin.
Pequeo tamao y gran variedad de encapsulados.
precio
2
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
Tipos de PIC
3
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
Tipos de PIC
PIC de gama media (16C(F)XXX):
Datos de 8 bits.
Instrucciones de 14 bits.
35 instrucciones.
Interrupciones
Pila de 8 niveles (anidamiento de subrutinas)
Gran variedad de perifricos: Timers, ADC, USART, LCD, Comparadores, etc.
Ejemplos:
4
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
Tipos de PIC
5
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
Tipos de PIC
PIC de gama alta (17CXXX):
Datos de 8 bits.
Instrucciones de 16 bits.
58 instrucciones.
Potente sistema de gestin de interrupciones vectorizadas.
Arquitectura abierta (bus de datos y direcciones disponibles: como en un P)
Gran variedad de perifricos: como en gama media, ms un multiplicador HW
de gran velocidad.
Ejemplos:
6
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
Tipos de PIC
PIC de gama mejorada (18C(F)XXX):
Datos de 8 bits.
Instrucciones de 16 bits.
77 instrucciones (multiplicacin de 8x8 en un ciclo).
Alta velocidad (hasta 40 Mhz) y alto rendimiento (10 MIPS)
Arquitectura orientada al lenguaje C.
Potentes herramientas de emulacin.
Ejemplos:
7
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PIC de gama media
Arquitectura
Arquitectura Harvard:
Memoria de programa y memoria de datos separadas, con buses distintos
Mayor ancho de banda que en la arquitectura Von Neuman donde el bus
para datos e instrucciones es nico.
Gracias a un bus exclusivo para la memoria de programa se optimizan las
instrucciones a la arquitectura.
Todos los cdigos de operacin son de 14 bits, con un nico acceso a
memoria para cada instruccin, frente a la estructura multi-byte de algunas
instrucciones en arquitectura Von Neuman.
8
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PIC de gama media
Arquitectura
Ejecucin segmentada:
Pipeline de dos estados: solapamiento de la fase de bsqueda y
ejecucin de la instruccin.
Mientras de ejecuta una instruccin se busca el cdigo de
operacin de la siguiente.
Ortogonalidad
Las instrucciones pueden realizar cualquier operacin sobre
cualquier registro, usando cualquier modo de direccionamiento
9
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PIC de gama media
Caractersticas especiales Arquitectura
Cdigo de proteccin
El contenido de la memoria de programase puede proteger contra
lectura.
Existen posiciones de memoria reservadas para incluir nmeros de
serie o cdigos de identificacin.
Power-on Reset (POR)
Autoreset al conectarles la alimentacin.
Lgica Brown-out (BOR)
Reset del C si la alimentacin desciende por debajo de un
determinado valor.
Watchdog Timer (perro guardin)
Temporizador que resetea la MCU si no se actualiza en un tiempo
determinado. Evita cuelgues.
Modo de bajo consumo
Mediante la instruccin SLEEP se para el funcionamiento de la CPU
reduciendo drsticamente el consumo.
Oscilador RC interno.
In-Circuit Serial Programming (ICSP)
Posibilidad de programacin del circuito en la aplicacin final utilizando
un protocolo serie sobre dos lneas de E/S del C.
10
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PIC de gama media
Arquitectura
11
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PIC de gama media
Arquitectura
3. Muchos de los pines de E/S de propsito general estn multiplexados con uno ms mdulos perifricos
13
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PIC de gama media
Esquema de reloj/ciclo de instruccin: Arquitectura
Cuatro ciclos de reloj -> ciclo de instruccin
14
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PIC de gama media
Arquitectura
Ejemplo de ejecucin:
15
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PIC de gama media
16
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PIC de gama media
ALU
Unidad Aritmtico lgica:
Longitud de palabra: 8 bits.
Operaciones de suma, resta , desplazamiento y lgicas.
Operaciones aritmticas en complemento a dos.
Los acarreos (C), acarreo decimal (DC) y resultado cero (Z), se reflejan en
el registro STATUS
17
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PIC de gama media
Instrucciones
Existen tres tipos de instrucciones:
Instrucciones de operacin de bytes en registros
Instrucciones de manipulacin de bits de registros
Instrucciones de control y operacin con literales
18
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PIC de gama media
Instrucciones
19
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PIC de gama media
Instrucciones
20
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PIC de gama media
Reg. STATUS
Registro STATUS:
Indica el estado de las operaciones aritmticas de la ALU
Indica el estado el estado del RESET
Controla la seleccin de bancos en la memoria de datos
Bit 6:5 RP1:RP0: bit de seleccin de banco de registros usado en direccionamiento directo.
11 = Banco 3 (180h - 1FFh)
10 = Banco 2 (100h - 17Fh)
01 = Banco 1 (80h - FFh)
00 = Banco 0 (00h - 7Fh)
Cada banco es de 128 bytes.
Bit 4 TO: bit Time-out.
1 = Despus del encendido, de la instrucciones CLRWDT o SLEEP.
0 = Time-out del WDT.
21
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PIC de gama media
Reg. STATUS
Bit 1, DC: bit Digit carry/borrow (instrucciones ADDWF, ADDLW, SUBLW, SUBWF)
1 = El cuarto bit de menor peso del resultado produce acarreo
0 = El cuarto bit de menor peso del resultado no produce acarreo
22
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PIC de gama media
MEMORIA DE PROGRAMA Organizacin de la Memoria
23
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PIC de gama media
Organizacin de la Memoria
CONTADOR DE PROGRAMA
Instruccin GOTO
24
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PIC de gama media
Organizacin de la Memoria
CONTADOR DE PROGRAMA
Instruccin CALL
25
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PIC de gama media
Organizacin de la Memoria
PILA (STACK):
Tiene 8 niveles.
Se guarda el contenido del PC con la instruccin CALL o cuando
se produce una interrupcin.
No existen instrucciones del tipo PUSH o POP.
Tiene estructura circular:
26
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PIC de gama media
Organizacin de la Memoria
MEMORIA DE DATOS dividida en dos reas:
Registros de funciones especiales (SFR, Special Function Registers)
Controlan la operacin de la CPU y los perifricos.
Se implementan como RAM esttica
Se inicializan a un valor por defecto despus de la alimentacin del C.
Registros de propsito general (GPR, General Purpose Registers)
Almacenamiento de datos.
No se inicializan a un valor por defecto despus de la alimentacin.
La transferencia entre registros ha de hacerse a travs del registro W.
Estructura en bancos de 128 bits accesibles mediante STATUS<7:5>
Acceso directo (bits RP1:RP0) o indirecto (bit IRP y registro FSR) a la informacin.
27
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PIC de gama media
Organizacin de la Memoria
MEMORIA DE DATOS:
Acceso a bancos:
Direccionamiento
directo:
28
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PIC de gama media
Organizacin de la Memoria
MEMORIA DE DATOS:
Direccionamiento indirecto:
Se utiliza como operando el registro INDF
que en realidad no est implementado
fsicamente
29
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PIC de gama media
Organizacin de la Memoria
30
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PIC de gama media
Organizacin de la Memoria
31
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
INTERRUPCIONES
Interrumpen la ejecucin de un programa y pasan a la rutina de servicio del evento
que provoca la interrupcin.
El vector de interrupcin se encuentra en la direccin 04H de la memoria de programa.
Al terminar la rutina de servicio (RETFIE) se retoma el programa en el punto de
ruptura.
Fuentes de interrupcin:
Pin INT, cambio en los terminales del puerto B (RB7:RB4).
Overflow en los temporizadores.
Cambio en el comparador.
Fin de escritura en la memoria EEPROM de datos.
Relacionadas con el Puerto Paralelo Esclavo, con la USART, con el fin de
conversin A/D y en general con los mdulos perifricos con que puede contar una
MCU.
Gestin de interrupciones mediante registros:
INTCON: registro general de control y estado.
En funcin de los perifricos disponibles por una MCU:
PIE1, PIE2 (Peripheal Interrupt Enable) habilitan las interrupciones de cada
perifrico.
PIR1 y PIR2 (Peripheal Interrupt Flag Registers) identifican el perifrico que
interrumpe.
32
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
INTERRUPCIONES
REGISTRO INTCON
Bit 5 T0IE: (Timer 0 Overflow Interrupt Enable) bit de habilitacin del Timer 0.
1 = Habilita la interrupcin con el desbordamiento del Timer 0.
0 = Inhibe la interrupcin con el desbordamiento del Timer 0.
Bit 4 INTE: (INT External Interrupt Enable) bit de habilitacin de interrupcin desde el pin de entrada INT.
1 = Habilita la interrupcin.
0 = Inhibe la interrupcin.
(2) Algunas MCU no disponen de esta caracterstica
33
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
INTERRUPCIONES
REGISTRO INTCON
Bit 3 RBIE: (RB Port Change Interrupt Enable) bit de habilitacin de interrupcin con el cambio de
RB7:RB4
1 = Habilita la interrupcin.
0 = Inhibe las interrupcin.
(2) Algunas MCU no disponen de esta caracterstica
(1) Tambin se puede encontrar con el nombre GPIE.
Bit 2 T0IF: (Timer 0 Overflow Interrupt Flag).
1 = Interrupcin producida por el desbordamiento del Timer 0 (debe ser puesto a cero por SW).
0 = El Timer 0 no se ha desbordado.
Bit 1 INTF: (INT External Interrupt Flag).
1 = Interrupcin producida por INT (debe ser puesto a cero por SW).
0 = INT no ha interrumpido la MCU.
(2) Algunas MCU no disponen de esta caracterstica
Bit 0 RBIF: (RB Port Change Interrupt Flag).
1 = Interrupcin producida por el cambio en alguno de los bits RB7:RB4 (debe ser puesto a cero
por SW).
0 = RB7:RB4 no han interrumpido la MCU.
(2) Algunas MCU no disponen de esta caracterstica
(1) Tambin se puede encontrar con el nombre GPIF.
34
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
INTERRUPCIONES
LGICA DE INTERRUPCIONES
Registros Registro
PIR/PIE INTCON
35
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
INTERRUPCIONES
TIEMPO DE LATENCIA
Es el tiempo que transcurre desde que se produce un evento de
interrupcin hasta que se ejecuta la instruccin de la direccin 04H.
Interrupciones sncronas (normalmente internas) tiempo de
latencia= 3 Tcy.
Interrupciones asncronas (normalmente externas) tiempo de
latencia= 3-3,75 Tcy.
36
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
INTERRUPCIONES
37
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
INTERRUPCIONES
1. PC->Pila y GIE=0
2. PC=0004H
3. Se salvan los registros cuyo contenido se desee conservar (W,
STATUS, etc.) PUSH
4. Se determina la fuente de interrupcin (interrogando los flags
correspondientes)
5. Se ejecuta la rutina de servicio a la interrupcin
6. Se borra el flag relacionado con la interrupcin atendida.
7. Se restauran los registros POP
8. Se ejecuta RETFIE
9. Pila->PC y GIE=1
38
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
INTERRUPCIONES
39
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PUERTOS DE E/S
40
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PUERTOS DE E/S
41
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PUERTOS DE E/S
Puerto A:
Tiene 6 bits.
RA4 Tiene entrada Trigger Schmitt y salida drenador abierto.
El resto admiten niveles de entrada TTL y salida CMOS.
42
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PUERTOS DE E/S
Pin RA4:
43
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PUERTOS DE E/S
Puerto B:
Puerto de 8 bits bidireccionales
Diagrama de bloques
para RB3:RB0.
44
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PUERTOS DE E/S
Diagrama de bloques
para RB7:RB4.
45
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PUERTOS DE E/S
46
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PUERTOS DE E/S
Operaciones sucesivas sobre un puerto de entrada salida
Escritura y lectura sobre el puerto B:
47
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PUERTOS DE E/S
48
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
TIMER 0
Caractersticas:
Contador temporizador de 8 bits
Accesible mediante operaciones de lectura y escritura.
Incorpora un prescaler de 8 bits programable por Sw.
Reloj interno o externo.
Seleccin del flanco del reloj externo
Puede producir una interrupcin al debordarse.
49
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
TIMER 0
REGISTRO OPTION_REG
50
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
TIMER 0
REGISTRO OPTION_REG
51
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
TIMER 0
52
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
TIMER 0
53
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
TIMER 0
54
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
TIMER 0
El reloj/prescaler se muestrea en Q2 y Q4
55
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
TIMER 0
56
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
TIMER 0
57
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
TIMER 0
58
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO