Tengo la placa programadora pipo2 y me carga el programa sin problemas en el pic 18f252. Compilo con CCS C y quemo con IC-Prog 1.05A.
En la placa de aplicación he utilizado:
- Para el reset:
R1= 1K, R= 20K, C=18nF,D=1n4148.
- Para el oscilador:
C=15pF,Xtal=4 Mhz.
Según las referencias de la hoja de características:
http://ww1.microchip.com/downloads/en/DeviceDoc/39564b.pdfAdjunto el programa que le he cargado para comprobar los pines del puertoB:
#include <18f252.h>
#fuses XT,NOWDT,NOPROTECT
#use delay(clock=4000000)
#use fast_io(B)
void main()
{
set_tris_b(0x00);
while (1)
{
output_b(0xff);
delay_ms(2000);
output_b(0xf0);
delay_ms(2000);
output_b(0x10);
delay_ms(2000);
output_b(0x20);
delay_ms(2000);
output_b(0x40);
delay_ms(2000);
output_b(0x80);
delay_ms(2000);
output_b(0xff);
delay_ms(2000);
}
Utilizo dos micros 18f252 y mis problemas son los siguientes.
- En los dos no se enciende el Led del pin RB5.
- Los retardos no funcionan igual en los dos micros. Mientras que en uno el retardo es de 2 segundos(lo correcto), el otro es de 1 min. Si cambio el código y cambio los retardos a 500 ms el primer micro sigue funcionando bien cambiando cada medio segundo, mientras que el otro cada 15 segundos. Con esto quiero decir que los tiempos se mantienen proporcionales cambiando los retardos.
¿Qué problema tengo?. Creo que el circuito de reset o el oscilador no va bien. ¿Alguién puede ayudarme?.