Você está na página 1de 30

Ciclos de Fetch y Execute.

Segmentacin
Rutinas de retardo por software
Configuracin Manejo temporizados (Timer)
Timer 0
Timer 1
Timer 2
Ejemplos de programacin y Aplicacin
Rutinas de Retardo y Pulsadores
Timer y Reloj digital
Generacin de Pulsos
Manejo de ServoMotores y Motores de Paso
La seal de reloj (Osc) es utilizada para generar internamente cuatro seales (sin solapamiento)
Q1,Q2,Q3 y Q4, las cuales sirven de base de tiempo para todos los procesos requeridos para ejecutar las
instrucciones

Fetch : Q1 se utiliza para cargar la instruccin y aumentar el PC. La instruccin es buscada en la memoria
de programa y copiada en el IR (instruccin register) durante Q4
Execute: Q1 se emplea para leer la inst. desde el IR y decodificarla. En Q2 se leen los operando. Q3
permite a la ALU ejecutar (procesar) la inst. Q4 se utiliza para escribir los resultados.
En conclusin: Todas las instrucciones del microcontrolador PIC tienen
una duracin conocida que no depende del tipo de operando ni modo de
direccionamiento utilizado sino nicamente de la frecuencia de reloj de
trabajo. Todas las instrucciones duran un solo ciclo salvo aquellas que
impliquen un cambio (salto) del program counter por lo tanto el desarrollo
de rutinas de software se hace muy simple.
Por lo tanto crear una rutina que sirva de base de tiempo para realizar
temporizaciones, se reduce a crear un lazo iterativo que contenga una cierta cantidad
de instrucciones equivalentes en tiempo de ejecucin al intervalo de espera que se
desea introducir en el programa.
Todos los microcontroladores poseen recursos especializados de hardware destinados a controlar la
generacin de bases de tiempo, conteo y temporizacin de eventos en general lllamados
temporizadores o timers. Estos permiten descargar al CPU de invertir todo su tiempo en ciclos de
conteo y espera, permitiendo un uso mas eficiente del procesador.

En general, cuenta de una estructura basados en contadores y escaladores de frecuencia as como
mecanismo para indicar que la accin de conteo alcanz el valor deseado.

Registro
Contador
Pre-
Escalador
Post-
Escalador
Reloj
(Int/ext)
Valor Inicio Valor Final
Bandera
Temporizacin = TbaseReloj x PreE x (Valor Final Valor Inicio) x PostE
Incremento cada = 256 * TCY
Tint = Pre * 256 * TCY
Temporizacin = Pre * (256 ValorInicial) * TCY
Temporizacin = Pre * (256 ValorInicial) * TCY
Aula: Simulacin Retardos de Software y Timer 0
Resumen Uso Timer 0:

Paso 1: Seleccionar el modo:
El modo de temporizador se selecciona por el bit TOSC del registro OPTION_REG (TOSC: 0=temporizador,
1=contador).
Cuando se asigna el pre-escalador al temporizador/contador se debe poner a cero el bit PSA del registro
OPTION_REG. El valor del divisor de frecuencias se configura al utilizar los bits PS2-PS0 del mismo registro.
Al utilizar una interrupcin, los bits GIE y TMR0IE del registro INTCON deben estar a uno.

Paso 2: Medir y contar

Para medir tiempo:
Reiniciar el registro TMR0 o escribir un valor conocido en l.
El tiempo transcurrido se mide al leer el registro TMR0.
El bit de bandera TMR0IF del registro INTCON se pone a uno automticamente siempre que ocurra el
desbordamiento del registro TMR0. Si est habilitada, ocurre una interrupcin.
Para contar pulsos:
La polaridad de pulsos a contar en el pin RA4 se selecciona por el bit TOSE del registro OPTION_REG
(T0SE: 0=flanco positivos, 1=flanco negativos).
Varios pulsos se pueden leer del registro TMR0. El pre-escalador y la interrupcin se utilizan de la misma
forma que en el modo de temporizador.
MDULO Timer 1:
Es un contador/temporizador de 16 bits
Puede ser ledo o escrito por medio de los registros TMR1L y TMR1H
Entrada de Reloj interna o externa
Pre-escalador de 3 bits programable a cuatro relaciones: 1:1 ,1:2, 1:4 ,1:8
Genera una interrupcin cuando se desborda (pasa de FFFF a 0000)
Puede ser re-inicializado desde el modulo CCP (Capture-Compare-PWM)
Entrada opcional para control de habilitacin de cuenta (T1G) por salida del comparador o terminal E/S
Puede operar con cristal externo tipo LP
Cuando opera con reloj externo puede trabajar sincronizado o no con el reloj principal del CPU
Estructura del Timer1
Operacin como Temporizador (con reloj interno)
Operacin como Temporizador (reloj externo)
Los terminales RC0 Y RC1 se colocan como entradas independientemente de la
configuracin del registro TRIS
La cuenta puede o no estar sincronizada con el reloj principal. Si est sincronizada no
funciona cuando el micro esta en modo sleep
El oscilador LP est diseado para frecuencias menores a 200 Khz. Tpicamente se utiliza
con 32,768 Khz


Operacin como contador
Detalle entrada de control para activacin de la cuenta
CM2CON1: T1GSS,C2SYNC Fuente de la entrada para habilitacin del conteo y sincronizacin del
comparador con el timer
0xF63C
TMR1L = 3C
TMR1H = F6
4 Configurar opciones en el T1CON -> T1CON = 00000001
6 Inicializar sistema de interrupciones: TMR1IF = 0, TMR1IE = 1, PEIE = 1, GIE = 1
5 Cargar valor inicial del timer
Aula:
Determinar valores mximos para temporizar con timer 2
Modificar Ejemplo de interrupciones TMR1

Você também pode gostar