13.11.2012 Views

Mis primeros programas en assembler - Micros Designs

Mis primeros programas en assembler - Micros Designs

Mis primeros programas en assembler - Micros Designs

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!