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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

62. btfss STATUS,Z ; CCPR1L=0x00?<br />

63. return ; No.-<br />

64. incf CCPR1H,1 ; Si, increm<strong>en</strong>ta parte alta<br />

65. return<br />

66.<br />

67. ;...............................................<br />

68. <strong>en</strong>d<br />

Modo PWM (Modulación de Ancho de Pulso).<br />

Con este modo de trabajo se consigu<strong>en</strong> impulsos lógicos cuya anchura del nivel alto es de duración variable,<br />

que son de <strong>en</strong>orme aplicación <strong>en</strong> el control de dispositivos tan populares como los motores y triacs.<br />

El pin RB3/CCP1 esta configurado como salida y cambia <strong>en</strong>tre los niveles 0 y 1 a intervalos de tiempos<br />

variables, logrando un pulso cuyo nivel alto ti<strong>en</strong>e un ancho variable d<strong>en</strong>tro del intervalo del periodo de<br />

trabajo:<br />

La base de tiempos es el Timer2 más dos bits adicionales para t<strong>en</strong>er los 10.<br />

El periodo se determina con el registro PR2, ya que cuando TMR2=PR2:<br />

Se borra el TMR2<br />

Se pone a “1” el pin CCP1<br />

Se pasa el valor del CCPR1L al CCPR1H (para evitar glitch)<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!