Gracias Artifox
Este es el que yo hice, es para usar el pwm a 38kHz
------------
//migsantiago@tutopia.com
#include "16f88.h"
#fuses nowdt,noput,nobrownout,nolvp,noprotect,NOMCLR,INTRC_IO,ccpb3
//nomclr... habilita la patita mclr para que sea RA5 (I/O)
//intrc_io... usa reloj interno, habilita RA6 y RA7 como I/O
//CCPB3... CCP1 input/output multiplexed with RB3
#use delay(clock=4000000) //4MHz internos
#use fast_io (a)
#use fast_io (b)
#BYTE trisb = 0x86 //para cambiar estado TRISB
int16 duty_time;
void main(void)
{
duty_time=0x0034; //esto nunca cambia (13us)
set_tris_a(0x00); //todo salida
set_tris_b(0x00); //todo salida
SETUP_ADC(ADC_OFF);
SETUP_ADC_PORTS(NO_ANALOGS);
setup_timer_2(T2_DIV_BY_1,25,1);
//PR2=25
set_pwm1_duty(duty_time);
//13us
setup_ccp1(CCP_PWM); //activa PWM
while(1)
{
delay_ms(1000); //espera 1s
set_tris_b(trisb|0x08); //pone a 1 b3, apaga pwm
delay_ms(1000); //espera otro 1s
set_tris_b(trisb&0xf7); //pone a 0 b3, prende pwm
}
}
---------