Autor Tema: Error al programar 16F628A  (Leído 5402 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado elfrancho

  • PIC16
  • ***
  • Mensajes: 101
Error al programar 16F628A
« en: 15 de Septiembre de 2010, 21:27:48 »
Hola muchachos, hice un pequeño código para el pic 16f628A y al grabar el micro me dice lo siguiente:


Programming Target...
...Validating configuration fields
ICDWarn0033: MPLAB ICD 2 does not support programming this device if both the internal oscillator and internal MCLR are selected.  You may continue programming, but you are encouraged to cancel, reconfigure your device, and try again.
...Erasing Part
...Programming Program Memory (0x0 - 0x67)
Verifying...
...Program Memory
...Verify Succeeded
Programming Configuration Bits
.. Config Memory
Verifying configuration memory...
...Verify Succeeded
...Programming succeeded
15-Sep-2010, 21:22:18






Código:

#include <16F628A.h>
#FUSES NOWDT                  //No Watch Dog
#FUSES INTRC_IO               //Osc interno
#FUSES NOPUT                  //No Power Up Timer
#FUSES NOPROTECT         //Codigo no protegido para lectura
#FUSES BROWNOUT          //Reset when brownout detected
#FUSES MCLR                   //Master Clear pin enabled
#FUSES NOLVP                  //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD                  //No EE protection
#use delay(clock=4000000)
#use rs232(baud=300,parity=N,xmit=PIN_B2,rcv=PIN_B1,bits=8)
void main()
{
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_comparator(NC_NC_NC_NC);
   setup_vref(FALSE);
   setup_oscillator(False);

 while (1){
  delay_ms(1000);
  printf("A");            //
   output_high(PIN_A0);
  delay_ms(1000);
   output_low(PIN_A0);
 }
}



No se a que se refiere....  saludos !!!


Desconectado bmb

  • PIC18
  • ****
  • Mensajes: 423
Re: Error al programar 16F628A
« Respuesta #1 en: 15 de Septiembre de 2010, 22:05:35 »
Hola elfrancho, dale una miradita a la página 98 del datasheet del PIC16F628A.  Al final de la página puedes ver:
Citar
When MCLR is asserted in INTOSC mode, the internal clock oscillator is disabled.

Saludos!

Desconectado elfrancho

  • PIC16
  • ***
  • Mensajes: 101
Re: Error al programar 16F628A
« Respuesta #2 en: 15 de Septiembre de 2010, 23:44:36 »
Hola elfrancho, dale una miradita a la página 98 del datasheet del PIC16F628A.  Al final de la página puedes ver:
Citar
When MCLR is asserted in INTOSC mode, the internal clock oscillator is disabled.

Saludos!


hola bmb....  sigo sin entender, yo ya he grabado muchos 16f628 con oscilador interno y usando el pin RA5 como reset...

La unico que cambié es que ahora estoy trabajando con CCS y antes con assembler.

Esta es la config de fuses que usaba en asm  y siempre funciono bien:

__CONFIG   _INTOSC_OSC_NOCLKOUT & _PWRTE_ON & _WDT_OFF & _CP_OFF & _MCLRE_ON & _BOREN_ON & _LVP_OFF & _DATA_CP_OFF

Saludos

Desconectado bmb

  • PIC18
  • ****
  • Mensajes: 423
Re: Error al programar 16F628A
« Respuesta #3 en: 16 de Septiembre de 2010, 07:23:48 »
Hola elfrancho, pues la verdad es que yo tampoco sabía de esa condición para ese PIC y debido al mensaje que te da el Mplab, fué que hice la consulta en el datasheet.  Tampoco entiendo porque se dejan programar los PICs en asembler y el Mplab no te da la advertencia.  Si tengo un rato libre el fin de semana trato de montar el circuito y programar en ambos lenguages con Mplab ICD2 a ver que ocurre.

Saludos!

Desconectado elfrancho

  • PIC16
  • ***
  • Mensajes: 101
Re: Error al programar 16F628A
« Respuesta #4 en: 16 de Septiembre de 2010, 09:45:46 »
Bien no se porqué probé con otra PC y lo grabó sin problemas...   estas cosas me vuelven loco.....

Y ahora tengo otro problema amigo!!!!  que es el siguiente:

Una vez que grabo el micro, cuando lo pongo en la placa, funciona el programa pero miles de veces mas lento...

Por ejemplo prendo un led con  B5 en 1, pongo delay_ms(100) y lugo apago el led...  pero en lugar de 100 ms, demora una eternidad, lo hace LEEEEEEEENTO...  COMO CADA 10 SEGUNDOS hace el cambio...



aqui el codigo

#include <16F628A.h>

#FUSES NOWDT                    //No Watch Dog Timer
#FUSES INTRC_IO                 //Internal RC Osc, no CLKOUT
#FUSES NOPUT                    //No Power Up Timer
#FUSES NOPROTECT                //Code not protected from reading
#FUSES BROWNOUT                 //Reset when brownout detected
#FUSES MCLR                     //Master Clear pin enabled
#FUSES NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD                    //No EE protection

#use delay(clock=4000000)
#use rs232(baud=300,parity=N,xmit=PIN_B2,rcv=PIN_B1,bits=8)

void main()
{

   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_comparator(NC_NC_NC_NC);
   setup_vref(FALSE);
   setup_oscillator(False);
   set_tris_a (00000000);
   set_tris_B (00000000);
   

   // TODO: USER CODE!!
   while (1){
      delay_ms(100);
      output_high(pin_B5);
      delay_ms(100);
      output_low(pin_B5);
   }

}
« Última modificación: 16 de Septiembre de 2010, 09:50:58 por elfrancho »

Desconectado mtristan

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 395
Re: Error al programar 16F628A
« Respuesta #5 en: 16 de Septiembre de 2010, 10:35:37 »
.


Citar
When MCLR is asserted in INTOSC mode, the internal clock oscillator is disabled.

A la miércole... no sabía de ese detalle :shock:

When you see a good move, look for a better one (Emanuel Lasker)

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Error al programar 16F628A
« Respuesta #6 en: 16 de Septiembre de 2010, 11:52:21 »
Tema cerrado.

El tema se continúa acá.

http://www.todopic.com.ar/foros/index.php?topic=32061.msg267845#msg267845

Francho, no abras nuevos hilos con preguntas repetidas.