Mis primeros programas en assembler - Micros Designs
Mis primeros programas en assembler - Micros Designs
Mis primeros programas en assembler - Micros Designs
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Modo PWM: Permite g<strong>en</strong>erar señales digitales moduladas <strong>en</strong> ancho de pulso<br />
El registro principal de este módulo se compone de dos registros de 8 bits, d<strong>en</strong>ominados CCPR1H (16h) y<br />
CCPR1L (15h). La operación del módulo se controla mediante el registro CCP1CON (17h) y el disparo de<br />
ev<strong>en</strong>to especial, el cual es g<strong>en</strong>erado al alcanzarse la igualdad <strong>en</strong> un registro de comparación que reseteará el<br />
Timer 1, ósea que el módulo CCP <strong>en</strong> modo comparación <strong>en</strong> ev<strong>en</strong>to especial junto al timer1 trabajá como el<br />
timer2 junto a PR2.<br />
Selección del modo de operación:<br />
La selección del modo <strong>en</strong> que trabajara el módulo CCP se realiza mediante los cuatro bits m<strong>en</strong>os<br />
significativos del registro CCP1CON, es decir, mediante los bits CCP1M3:CCP1M0 (CCP1CON) de<br />
acuerdo a lo sigui<strong>en</strong>te:<br />
0000 Captura/Comparación/PWM deshabilitados<br />
0100 Captura cada transición de bajada<br />
0101 Captura cada transición de subida<br />
0110 Captura cada cuarta transición de subida<br />
0111 Captura cada 16 transiciones de subida<br />
1000 Comparación, pone salida cada coincid<strong>en</strong>cia<br />
1001 Comparación, limpia salida cada coincid<strong>en</strong>cia<br />
1010 Comparación, g<strong>en</strong>era interrupción cada coincid<strong>en</strong>cia (Se setea bit CCP1IF, salida inalterada)<br />
1011 Comparación, dispara ev<strong>en</strong>to especial (Se setea bit CCP1IF , resetea TMR1(TMR1IF<br />
inalterado) )<br />
11xx Modo PWM<br />
El Modo de Captura<br />
En el modo de captura el registro CCPR1 (CCPR1H:CCPR1L) captura el valor de 16 bits registro TMR1<br />
cuando ocurre un ev<strong>en</strong>to <strong>en</strong> la pin RB3/CCP1. El ev<strong>en</strong>to <strong>en</strong> cuestión puede especificarse previam<strong>en</strong>te como<br />
alguno de los sigui<strong>en</strong>tes que se configura mediante los bits de control CCP1M3:CCP1M0<br />
(CCP1CON):<br />
Cada transición de bajada<br />
Cada transición de subida<br />
Cada cuarta transición de subida<br />
Cada dieciseisava transición de subida<br />
Además de que el valor de TMR1 es capturado, la bandera de solicitud de interrupción CCP1IF es activada,<br />
la cual deberá ser limpiada por software para poder detectarla si se está consultando por poleo.<br />
Si ocurre otro ev<strong>en</strong>to de captura antes de que haya sido leído el registro CCPR1, el valor capturado anterior se<br />
perderá, ya que con la nueva captura este registro es reescrito.<br />
En la figura sigui<strong>en</strong>te se muestra un diagrama de bloques <strong>en</strong> donde se ilustra la manera <strong>en</strong> que trabaja el<br />
módulo CCP <strong>en</strong> modo de captura:<br />
Autor: Suky Mail: inf.pic.suky@live.com.ar Web: www.micros-designs.com.ar