You are on page 1of 58

MICROCONTROLADORES PIC

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

PIC de gama bsica (16C5XX):


Datos de 8 bits.
Instrucciones de 12 bits.
33 instrucciones.
Sin interrupciones
Pila de dos niveles
Alimentacin desde 2,5 v.
Ejemplos:

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

PIC miniatura (12C(F)XXX):


Datos de 8 bits.
Instrucciones de 14/12 bits.
35/33 instrucciones.
8 pines y hasta 6 lneas de E/S.
Consumo menor de 2 mA a 5v y 4 Mhz.
Ejemplos:

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

Juego de instrucciones reducido:


35 instrucciones que se ejecutan en un solo ciclo, ssalvo las de
salto.
Arquitectura en banco de registros:
Todos los registros especiales incluido el contador de programa, los
puertos, temporizadores, etc. estn mapeados en memoria.
A los registros/memoria se puede acceder con direccionamiento
directo o indirecto.

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

2. No todos los dispositivos


incluyen esta caracterstica
12
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

Se incrementa La nueva instruccin se Decodificacin y ejecucin de


el contador de almacena en el registro de la instruccin
programa instruccin

14
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PIC de gama media
Arquitectura
Ejemplo de ejecucin:

Hasta Tcy3 en cada ciclo se ejecuta una instruccin.


Al acabar de ejecutarse la tercera instruccin la CPU almacena la direccin de
la cuarta instruccin en la pila e introduce la direccin de SUB_1 en el PC,
aunque la bsqueda de la fase de bsqueda cuarta de la cuarta instruccin ya
se ha completado.
Durante Tcy4 la ejecucin de la cuarta instruccin se ignora (ejecutando un
NOP) y se busca el cdigo de operacin correspondiente a la direccin SUB_1.
Todas las instrucciones se realizan en un ciclo de instruccin
salvo las de salto que lo hacen en dos.

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

Bit7 IRP: bit de seleccin de banco de registros usado en direccionamiento indirecto.


1 = Bank 2, 3 (100h - 1FFh)
0 = Bank 0, 1 (00h - FFh)
Para circuitos con Banco 0 y Banco 1 este bit esta reservado y siempre esta cero

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 3 PD: bit power-down


1 = Despus del encendido o por la instruccin CLRWDT
0 = Por la ejecucin de la instruccin SLEEP.

Bit 2 Z: bit cero


1 = El resultado de una operacin aritmtica o lgica es cero.
0 = El resultado de una operacin aritmtica o lgica no es cero

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

Bit 0, C: bit Carry/borrow (instrucciones ADDWF, ADDLW,SUBLW,SUBWF)


1 = El resultado produce acarreo
0 = El 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

Mximo espacio de memoria 8K palabras (13 bits


de bus de direcciones)
Cuatro pginas de 2K cada una
El byte de menor peso del contador de programa:
PCL es accesible por el usuario en lectura y
escritura a travs de un registro del mismo
nombre.
Los 5 bits de mayor peso del PC (PCH) son
accesibles a travs de PCLATCH<4:0>
Un RESET pone a cero el registro PCLATCH
Acceso a las pginas mediante PCLATCH <4:3>
Vector de reset en 0000h
Vector de interrupcin en 0004h

23
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PIC de gama media
Organizacin de la Memoria
CONTADOR DE PROGRAMA

Instruccin con PCL como destino

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

Instruccin RETURN, RETFIE o RETLW

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

El siguiente cdigo pone a


cero las posiciones de
memoria comprendidas
entre las direcciones 20h y
2Fh

29
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PIC de gama media
Organizacin de la Memoria

Distribucin de las reas


de registros SFR Y GPR
en cada banco de
memoria

30
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PIC de gama media
Organizacin de la Memoria

Distribucin de las reas de


registros SFR Y GPR en cada
banco de memoria para
dispositivos de 18 patillas.

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 7 GIE: (Global Interrupt Enable) bit de habilitacin global de interrupciones


1 = Habilita las interrupciones.
0 = Inhibe todas las interrupciones.
Se pone a cero cuando se reconoce una interrupcin (para evitar interrupciones
anidadas) y a 1 cuando se vuelve de su rutina de servicio.
Bit 6 PEIE: (Peripheral Interrupt Enable) bit de habilitacin de interrupciones de perifricos.
1 = Habilita las interrupciones desde los perifricos.
0 = Inhibe las interrupciones desde los perifricos.
(3) En MCU con un solo perifrico puede ser EEIE o ADIE

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

Respuesta a un evento en el pin INT.

(1) El flag INTF se muestrea cada Q1.


(2) El tiempo de latencia comprendido entre 3 y 3,75 Tcy.
(3) CLKOUT disponible solo si el oscilador es RC.
(4) Anchura mnima de pulso requerida en funcin de la MCU (para el 16F84A 20ns.)
(5) INTF debe ponerse a cero por Sw.

37
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
INTERRUPCIONES

Fases en la gestin de 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

Salvaguarda de W y el registro STATUS, en un rutina de servicio a una


interrupcin:

39
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PUERTOS DE E/S

Se pueden considerar los perifricos ms sencillos, implementan las


entrada-salida de la MCU.
Se utilizan mediante dos registros: PORTx (datos) y TRISx (control)
Pueden implementarse hasta siete puertos de caractersticas
distintas (x puede sustituirse con identificadores de puerto desde la
A hasta la G)
Cada uno de los bits de TRISx establece la direccin de la
informacin de su correspondiente bit (pin) en PORTx.
Un 1 configura el pin como entrada. Una operacin de lectura
obtiene el nivel presente en el terminal implicado.
Un 0 configura ese pin como salida, manteniendo el bit de salida
mediante un latch.
Despus de un reset todos los bits de TRISx son 1.
Los pines de entrada/salida pueden estar multiplexados con varios
perifricos. Para conocer con exactitud las caractersticas de cada
puerto en concreto es imprescindible. Consultar las hojas de
caractersticas de cada dispositivo.

40
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PUERTOS DE E/S

Puerto de entrada/salida tpico:

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.

Diagrama de bloques para RA3:RA0 y RA5.

42
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PUERTOS DE E/S
Pin RA4:

Ejemplo de inicializacin del puerto A

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

La escritura en un puerto implica una lectura-modificacin-escritura.


Puede acarrear problemas en operaciones de escritura sobre puertos en los
que unos pines estn configurados como entradas y otros como salidas:

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:

A frecuencias de reloj ms altas, una escritura seguida por una lectura


puede ser problemtica debido a la capacidad externa, en esos casos
puede ser conveniente utilizar NOP entre esas instrucciones.

47
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
PUERTOS DE E/S

Operaciones sucesivas sobre un puerto de entrada salida


Operaciones que implican lectura-modificacin escritura:

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

Bit 7 RBPU: bit de habilitacin de resistencias pull-up


1 = Inhibidas
0 = habilitadas

Bit 6 INTEDG: bit de seleccin del flanco activo de la interrupcin INT


1 = Flanco ascendente
0 = Flanco descendete

Bit 5 T0CS: bit de seleccin de reloj para TMR0


1 = Transicin del pin T0CKI (reloj externo).
0 = Reloj interno (CLKOUT).

Bit 4 T0SE: bit de seleccin de flanco cuando el reloj es externo


1 = Flanco de bajada de T0CKI.
0 = Flanco de subida de T0CKI

50
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
TIMER 0
REGISTRO OPTION_REG

Bit3 PSA: bit de asignacin del prescaler


1 = Prescaler asignado al WDT.
0 = Prescaler asignado al TIMER 0.

Bit 2:0 PS2:PS0: Valor de divisin del prescaler

PS2 TMR0 WDT


000 1:2 1:1
001 1:4 1:2
010 1:8 1:4
011 1:16 1:8
100 1:32 1:16
101 1:64 1:32
110 1:128 1:64
111 1:256 1:128

51
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
TIMER 0

Escritura en TMR0 (reloj interno, sin prescaler):

Una escritura en TMR0 provoca dos ciclos de instruccin (2Tcy) en


los que no se puede volver a escribir en l.

52
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
TIMER 0

Escritura en TMR0 (reloj interno, prescaler 1:2):

Una escritura en TMR0 actualiza el registro e inicializa el prescaler.


El incremento del temporizador 0 (TMR0+prescaler) se inhibe durante dos ciclos
de instruccin (2 Tcy), como el prescaler est configurado como divisor por 2, el
temporizador 0 no se incrementar durante 4 tiempos de reloj.

53
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
TIMER 0

Temporizacin de la interrupcin del timer 0:

54
SISTEMAS ELECTRNICOS AVANZADOS. ING. TC. INDUSTRIAL ELECTRNICO
MICROCONTROLADORES PIC
TIMER 0

T0CKI debe se 1 al menos 2TOSC


Sincronizacin con reloj externo:

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

You might also like