You are on page 1of 12

INSTITUTO POLITECNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERA MECNICA Y ELCTRICA UNIDAD AZCAPOTZALCO

Recordando como es la transmisin de datos.

INSTITUTO POLITECNICO NACIONAL


ESCUELA SUPERIOR DE INGENIERA MECNICA Y ELCTRICA UNIDAD AZCAPOTZALCO

Recordando que el microcontrolador PIC dispone de una arquitectura Harvard.

INSTITUTO POLITECNICO NACIONAL


ESCUELA SUPERIOR DE INGENIERA MECNICA Y ELCTRICA UNIDAD AZCAPOTZALCO

La arquitectura Harvard le permite al microcontrolador con segmentacin pipeline.


Q1

Q2

Q3

Q4

Ciclo de reloj

Ciclo de mquina

1 Ciclo de mquina = 4 Ciclos de reloj

INSTITUTO POLITECNICO NACIONAL


ESCUELA SUPERIOR DE INGENIERA MECNICA Y ELCTRICA UNIDAD AZCAPOTZALCO

La segmentado pipeline permite procesar las instruccuines del PIC de la siguiente manera:

INSTITUTO POLITECNICO NACIONAL


ESCUELA SUPERIOR DE INGENIERA MECNICA Y ELCTRICA UNIDAD AZCAPOTZALCO

Tiempo realizado por cada instruccin (Tosc):

Tosc = (1/f). Donde:


Tosc = Tiempo de oscilacin, es decir, es el tiempo del oscilador T(inst) = 4 x Tosc 4 Se refiere a los cuatro ciclos mquina descritos anteriormente. F = frecuencia del oscilador. Ejemplo: Si se considera un oscilador XT de 4 Mhz. Tenemos: T(inst) = 4 (1/4 Mhz) = 1 microsegundo. Es por eso que cada instruccin del mc pic16f84a tarda un microsegundo en procesarse, excepto las instrucciones de salto que tardan 2 microsegundos tal y como se vio en la segmentacin

INSTITUTO POLITECNICO NACIONAL


ESCUELA SUPERIOR DE INGENIERA MECNICA Y ELCTRICA UNIDAD AZCAPOTZALCO

El Temporizador / Contador TMR0 Funciones:

1. Temporizador.- Determina intervalos de tiempo


2. Contador.- Cuenta los impulsos que se producen en el exterior del sistema.

INSTITUTO POLITECNICO NACIONAL


ESCUELA SUPERIOR DE INGENIERA MECNICA Y ELCTRICA UNIDAD AZCAPOTZALCO

Como Temporizador TMR0 Para usar el temporizador TMR0 del PIC16F84A, primeramente tenemos que configurar su respectivo registro (OPTION).

REGISTRO DE CONFIGURACIN OPTION 01


RBPU# INTEDG T0CS T0SE PSA PS2 PS1 PS0

INSTITUTO POLITECNICO NACIONAL


ESCUELA SUPERIOR DE INGENIERA MECNICA Y ELCTRICA UNIDAD AZCAPOTZALCO

REGISTRO DE CONFIGURACIN OPTION 01


RBPU# INTEDG TOCS TOSE PSA PS2 PS1 PS0

PS2 0 0 0 0 1 1 1 1

PS1 0 0 1 1 0 0 1 1

PS0 0 1 0 1 0 1 0 1

DIVISIN DEL TMR0 1:2 1:4 1:8 1:16 1:32 1:64 1:128 1:256

DIVISIN DEL WDT 1:1 1:2 1:4 1:8 1:16 1:32 1:64 1:128

INSTITUTO POLITECNICO NACIONAL


ESCUELA SUPERIOR DE INGENIERA MECNICA Y ELCTRICA UNIDAD AZCAPOTZALCO

REGISTRO DE CONFIGURACIN OPTION 01


RBPU# INTEDG TOCS T0SE PSA PS2 PS1 PS0

Asignacin del divisor de frecuencia


PSA

1 = El divisor de frecuencia se le asigna al WDT 0 = El divisor de frecuencia se le asigna al TMR0

Tipo de flanco en T0CKI


T0SE

1 = Incremento del TMR0 cada flanco descendente 0 = Incremento del TMR0 cada flanco ascendente Tipo de reloj para el TMR0

T0CS

1 = Pulsos introducidos a travs del T0CKI (Contador) 0 = Pulsos de reloj interno Fosc/4 (Temporizador)

INSTITUTO POLITECNICO NACIONAL


ESCUELA SUPERIOR DE INGENIERA MECNICA Y ELCTRICA UNIDAD AZCAPOTZALCO

REGISTRO DE CONFIGURACIN OPTION 01


RBPU# INTEDG TOCS TOSE PSA PS2 PS1 PS0

INTEDG

Flanco activo interrupcin externa 1 = Flanco ascendente 0 = Flanco descendente

RBPU#

Resistencias Pull up Puerto B 1 = Desactivadas 0 = Activadas

INSTITUTO POLITECNICO NACIONAL


ESCUELA SUPERIOR DE INGENIERA MECNICA Y ELCTRICA UNIDAD AZCAPOTZALCO

TIEMPOS CON EL TEMPORIZADOR TMR0


Cuando el TMR0 se desborda, pasa del valor FF a 00 y el sealizador T0IF (bit 2) se pone en automtico en 1. Esta bandera T0IF se localiza en el registro INTCON de la direccin 0B de la memoria de datos. El tiempo calculado usando el TMR0 Cuando se carga inicialmente el TMR0 con el valor N10 , cuenta 256 N impulsos, siendo el tiempo que tarda en hacerlo lo que indica la siguiente formula:

Temporizacin = 4 x Tosc x (256 - N10 ) x Rango del divisor de frecuencia.

INSTITUTO POLITECNICO NACIONAL


ESCUELA SUPERIOR DE INGENIERA MECNICA Y ELCTRICA UNIDAD AZCAPOTZALCO

TIEMPOS CON EL TEMPORIZADOR TMR0


Ejemplo: Cada cuanto tiempo producir TMR0 una interrupcin si se le carga continuamente con el valor de 4010 ; el Divisor de frecuencia est programado en el rango de 1:8 y el microcontrolador dispone de un cristal de 1 Mhz. SOLUCIN: Temporizacin = 4 x Tosc x (256 - N10 ) x Rango del divisor de frecuencia. Tosc = 1/1Mhz = 1microseg.

Temporizacin = 4 x Tosc x (256 - N10 ) x Rango del divisor de frecuencia.


Temporizacin = 4 x 1s x (256 - N10 ) x Rango del divisor de frecuencia. Temporizacin = 4 x 1 x (256 - 40 ) x 8 Temporizacin = 6.912 ms

You might also like