====== HPWM (Modulacion de Ancho de Pulso Por Hardware) ====== [[.|retour ]] Syntaxe : HPWM canal, frequencia, ciclo de trabajo Explication : Este comando permite trabajar con el módulo de hardware PWM dentro del PIC para generar una forma de onda PWM de una frecuencia y ciclo de trabajo dada. Una vez que este comando es llamado, el PWM se emitira hasta que el PWMOff sea llamado. Si usted solo necesita una frecuencia y ciclo de trabajo en particular, usted deberia usar PWMOn y las constantes PWM_Freq and PWM_Duty instead. canal es 1 o 2, y corresponde a los pines CCP1 and CCP2 respectivamente. En chips con solo un puerto CCP, el pin CCP o CCP1 es siempre usado, y canal es ignorado. (deberia ser puesto en 1 de cualquier manera para permitir futuras mejoras en PICs mas poderosos.) frequency fija la frecuencia de salida PWM. Es medida en KHz. El valor maximo permitido es 255 KHz. El valor minimo varía dependiendo de la velocidad de reloj del PIC. 1 KHz es el mínimo en PICs de 16 MHz o por debajo y 2 Khz es el mas bajo posible en PICs de 20 MHz. En situaciones que no requieran una frecuencia PWM especifica, la frecuencia PWM seria igual a aproximadamente 5/100 de la velocidad de reloj del PIC (ej. 40 Khz en un chip de 20 Mhz, 16 Khz en un chip de 8 MHz). Esto da la mejor resolución de ciclo de trabajo posible 1/500 de la velocidad del clock del PIC (ej. 40 Khz en un chip de 20 MHz., 16 Khz. en un chip de 8 MHz.). Esto da la mejor resolucion de ciclo de trabajo posible. ciclo de trabajo especifica la relacion deseada de ciclo de trabajo en la señal de PWM, esto da un rango de 0 a 255 donde 255 es el 100% del ciclo de trabajo Ejemplo: 'Este programa alterará el brillo de un LED usando 'Hardware PWM. 'Seleccione el modelo PIC y su velocidad #chip 16F877A, 20 'Ponga el pin CCP1 en modo de salida DIR PORTC.2 out 'Código principal do 'Encienda el brillo durante 2.5 segundos For Brillo = 1 to 255 HPWM 1, 40, Brillo wait 10 ms next 'Baje el brillo durante 2.5 segundos. For Brillo = 255 to 1 HPWM 1, 40, Brillo wait 10 ms next loop Pour plus d'aide, voir : [[PWMOff]]