Anda di halaman 1dari 24

TEMPORIZADORES

TIMER 0
TEMPORIZADORES
TIMER 0
TEMPORIZADORES
TIMER 0
TEMPORIZADORES
TIMER 0
TEMPORIZADORES
TIMER 0
TEMPORIZADORES
TIMER 0
TMR0 - PROTN IDE
DEVICE 16F77
XTAL 4
ALL_DIGITAL TRUE
T = 20ms
ON_HARDWARE_INTERRUPT GoTo TMR0_INTERRUP
Symbol T0IF = INTCON.2 ' TMR0 Overflow Interrupt Flag

GoTo Principal
TMR0_INTERRUP:
PORTB = PORTB ^ 1
T0IF = 0
TMR0 = 178 CARGA
Context Restore

Principal:
OPTION_REG = %11010111 Configuracin del temporizador Tmr0
INTCON = %10100000 Configuracin de interrupcin Tmr0 Overflow
TRISB = %00000000
TRISC = %00000000
TMR0 = 178 CARGA

Inicio:
Low LED
DelayMS 500
High LED
DelayMS 500
GoTo Inicio
TMR0 - PROTN IDE
DEVICE 16F77
XTAL 4

T = 1 Seg
ON_HARDWARE_INTERRUPT GoTo TMR0_INTERRUP

Dim CONT As Byte


Symbol T0IF = INTCON.2 ' TMR0 Overflow Interrupt Flag

GoTo Principal

TMR0_INTERRUP:
TMR0 = 178
CONT = CONT + 1
If CONT = 50 Then CONT = 0: PORTB = PORTB ^ 1 : End If
T0IF = 0
Context Restore

Principal:
TRISB = %00000000
TRISC = %00000000
PORTB = 0
PORTC = 0
CONT = 0

OPTION_REG = %11010111 ;configuracin del temporizador TMR0


INTCON = %10100000 ;Habilitacin de la Interrupcin
TMR0 = 178

Inicio:
Low PORTC.0
DelayMS 1000
High PORTC.0
DelayMS 1000
GoTo Inicio
TMR0 - EJERCICIOS

EJERCICIO :

1.- REALICE LAS ASIGNACIONES REQUERIDAS PARA CONFIGURAR LA


INTERRUPCIN POR DESBORDE DEL TMRO Y GENERAR UNA
TEMPORIZACIN DE 1mSeg APROXIMADO. (CONSIDERE EL USO DE UN
OSCILADOR DE 4MHZ).

2.- CODIFIQUE EN PROTON LO REQUERIDO PARA ACTIVAR UN LED


SEGUNDERO. (CONSIDERE EL USO DE UN OSCILADOR DE 12 MHZ)
MODULO CCP
CAPTURA, COMPARACIN Y PWM
MODULO CCP
MODULO CCP
CCP1CON/CCP2CON
MODULO CCP
MODO CAPTURA
MODULO CCP
MODO COMPARACIN
MODO PWM
SALIDA PWM

UNA SALIDA PWM TIENE UNA BASE DE TIEMPO (PERIODO) Y UN TIEMPO


EN EL CUAL LA SALIDA PERMANECE EN ALTO (DUTY CYCLE).

Frecuencia PWM = 1/Periodo PWM


MODO PWM
PWM BLOCK DIAGRAM

PERIODO PWM

CUANDO EL TMR2 ES IGUAL A PR2


DE PRODUCEN LOS SIGUIENTES
TRES EVENTOS:
1.- TMR2 ES LIMPIADO

2.- EL PIN CCP1 ES COLOCADO A UNO


(EXCEPTO CUANDO EL CICLO DE
SERVICIO ES 0%)

3.-EL VALOR DEL REGISTRO CCPR1L ES


TRANSFERIDO AL REGISTRO CCPR1H.
MODO PWM
PWM BLOCK DIAGRAM

CICLO DE SERVICIO PWM

CUANDO EL TMR2 ES IGUAL A


CCPR1H EL PIN CCP1 ES LIMPADO
MODO PWM

EJEMPLO DE FRECUENCIAS Y RESOLUCIONES A 20 MHZ


MODO PWM
REGISTROS ASOCIADOS CON CAPTURA, COMPARE Y PWM
MODO PWM
CONFIGURACIN DE LA OPERACIN PWM

AJUSTAR EL PERIODO PWM ESCRIBIENDO EL REGISTRO PR


PR2
2

AJUSTAR EL CICLO DE SERVICIO ESCRIBIENDO EL REGISTRO CCPR1L


Y LOS BITS CCP1CON<5:4>.
CCP1CON<5

CONFIGURAR COMO SALIDA EL PIN CCP1 (RC2).

CONFIGURAR EL VALOR DEL PREESCALER DEL TMR2


TMR2 Y HABILITAR EL
TMR2 CON LA ESCRITURA DEL REGISTRO T2CON

CONFIGURAR EL MODULO CCP1 PARA OPERACIN PWM.


EJERCICIOS - PWM

EJERCICIO :

1.- REALICE LAS ASIGNACIONES REQUERIDAS PARA CONFIGURAR EL


MODULO CCP1 EN EL MODO PWM CON UNA FRECUENCIA DE 1KHZ
EXACTOS Y UN CICLO DE SERVICIO DE 25% APROX. (NOTA : CONSIDERE
EL USO DE UN OSCILADOR DE 4MHZ).

2.- REALICE LAS ASIGNACIONES REQUERIDAS PARA CONFIGURAR EL


MODULO CCP1 EN EL MODO PWM CON UNA FRECUENCIA DE 1KHZ APROX
Y UN CICLO DE SERVICIO DE 30% APROX. (NOTA : CONSIDERE EL USO DE
UN OSCILADOR DE 20MHZ).
PWM PROTON IDE
DECLARACIONES
Declare CCP1_PIN PORT.PIN SELECCIN EL PIN PARA EL MODULO CCP1

Declare CCP2_PIN PORT.PIN SELECCIN EL PIN PARA EL MODULO CCP2

SENTENCIAS
HPWM Canal ,Ciclo_Servicio, Frecuencia

Canal Una constante que especifica el canal pwm a usar. 1 o 2. ; en el pic16f877 el Canal 1
es CCP1 asociado al PORTC.2. y el canal 2 es el CCP2 asociado al pin PORTC.1.

Ciclo_Servicio -variable o constante (0-255), o expresin que especifica el tiempo en


que la seal pwm permanecer alto. Un valor de 127 indica 50%

Frequencia variable o constante (0-255), o expresin que especifica la frecuencia


(Hz) deseada de la seal pwm.
PWM PROTON IDE
La mas alta frecuencia a obtener con
cualquier oscilador es de 32767Hz y la
frecuencia mas baja para cada oscilador
son las siguientes:

XTAL Frecuencia PWM frecuencia mas baja


4MHz 145Hz
8MHz 489Hz
10MHz 611Hz
12MHz 733Hz
16MHz 977Hz
20MHz 1221Hz
24MHz 1465Hz
33MHz 2015Hz
40MHz 2442Hz
PWM PROTON IDE
Device = 16F877
XTAL = 4

Declare CCP1_PIN PORTC.2


Declare CCP2_PIN PORTC.1
SERVO MOTOR
INICIO:
HPWM 1,70,250
HPWM 2,70,250
DelayMS 1000

HPWM 1,110,250
HPWM 2,100,250
DelayMS 1000

HPWM 1,125,250
HPWM 2,120,250
DelayMS 1000

GoTo INICIO
Proteus

Anda mungkin juga menyukai