He estado probando el programita con los delays...pero me he dado cuenta de que no me sirve.
Yo tengo conectado al pic un circuito RC, con un condensador variable.Dependiendo de ese condensador, mi frecuencia de oscilación variará...y por lo tanto la salida que necesito, señal de fosc/48, también variará...por lo tanto no puedo hacerlo con retardos ya que estos retardos son constantes, no me varían con la frecuencia de oscilación, y por lo tanto, no varía mi salida.
Supongo que eso que dices es imposible ya que los retardos dependen de la frecuencia de oscilacion, a menos que el micro este configurado para usar el oscilador interno, o solo lo hayas simulado en Proteus, si es este el caso la frecuencia nunca variara aunque varies el valor del RC ya que proteus no usa la frecuencia del oscilador externo sino que usa la frecuencia que le declaras en las propiedades, para comprobarlo puedes quitar el oscildor externo y observaras que proteus simulara igual el circuito.
Si quieres tener una frecuencia exacta (que puede variar mediante software) te recomiendo que utilices el modulo CCP de algun PIC, en mi caso voy a usar un codigo para MikroC V8.2, que ya tiene implementadas las rutinas de configuracion del PWM, y el PIC18F452. La frecuencia de oscilacion externa es de 8MHz.
void main() {
PORTB = 0; // Set PORTB to 0
TRISB = 0; // PORTB is output
ADCON1 = 6; // All ADC pins to digital I/O
PORTA = 255;
TRISA = 255; // PORTA is input
PORTC = 0xFF; // Set PORTC to $FF
TRISC = 0; // PORTC is output
Pwm_Init(5000); // Initialize PWM module at 5KHz
Pwm_Start(); // Start PWM
}//~
El esquema y el codigo provienen de la ayuda de MikroC.
Ya que tu quieres poner un oscilador externo RC, solo lo debes cambiar por el oscilador Cristal que se muestra en la figura superior, y simplemente debes calcular la frecuencia de este oscilador RC y dividirla entre 48, luego debes ingresar este valor donde dice Pwm_Init(Freq_calculada), cuando varies el valor RC la frecuencia de salida tambien variara.
No se si en CCS o C18 existan funciones similares a estas.