Buenas a todos. Estoy aprendiendo a programar PICs en C, empleando el CCS y me gustaría compartir con ustedes una información que no había encontrado antes y que me parece bastante explicativa. Quizas ya lo sabéis, pero para los que empiezan quizas les sirva. Muchos de ustedes utilizáis aplicaciones donde se requiere de la creación de una señal PWM. Hay microcontroladores, como por ejemplo, el PIC16F716 que tiene la capacidad de emitir señales PWM en modo: HALF BRIDGE y FULL BRIDGE. Para configurar en ccs un PIC que emita señales PWM en modo HALF BRIDGE, tenemos que hacerlo de la siguiente manera:
setup_ccp1(CCP_PWM_HALF_BRIDGE|CCP_PWM_H_H);
si ponemos solo: setup_ccp1(CCP_PWM_HALF_BRIDGE); no funcionará(esa es mi experiencia). A continuación voy a explicar como funcionan esta configuración. Por ejemplo: para el PIC16F716: RB3(P1A) Y RB5(P1B) son los pines que van a lanzar mi señal de PWM si emleo la configuración HALF BRIDGE. Así pues,
setup_ccp1(CCP_PWM_HALF_BRIDGE|CCP_PWM_H_H);
P1A-->PWM
P1B-->/PWM
setup_ccp1(CCP_PWM_HALF_BRIDGE|CCP_PWM_H_L);
P1A-->PWM
P1B-->PWM
setup_ccp1(CCP_PWM_HALF_BRIDGE|CCP_PWM_L_H);
P1A-->/PWM
P1B-->/PWM
setup_ccp1(CCP_PWM_HALF_BRIDGE|CCP_PWM_L_L);
P1A-->/PWM
P1B-->PWM
Donde PWM, es mi señal PWM original y /PWM es la señal PWM complementaria. Espero que les sirva y que haya servido de ayuda.
NOTA: Estas instrucciones junto con la de la configuracion correspondiente con FULL_BRIDGE y setup-ccp1 (ccp_pwm), al compilarlas y simularla en proteus, no se puede. Proteus no es capaz de leer estas instrucciones, por lo menos, ami no me funciona. He leído algo de que tenía un bug. Para comprobarlo, se tiene que programar el PIC y probarlo experimentalmente con un osciloscopio.
Saludooos!!Cualquier comentario, decirmelo!!!