TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: mirasu en 19 de Diciembre de 2013, 09:15:45

Título: Como usar el Rc interno del pic 18f2550?
Publicado por: mirasu en 19 de Diciembre de 2013, 09:15:45
Hola

Monte un pinguino con un 18f2550 y bien, pero al montar el segundo no funciono y parece que me cargue los 2 pics que tenia. Aunque los programo bien con pickit2.

Me gustaria que me ayudarais a hacer un programa que encienda un led intermitente sin usar un cristal(aunque no lo quiero quitar sino me decis lo contrario)
yo tengo pcw 4.114, pero cuando lo intento me da error en la linea que define el delay. pero no entiendo mucho y si me pudierais ayudar os estaria muy agradecido.
el led esta conectado a ra4 o que sea en todos los pines y asi los reviso todos.

Gracias

Título: Re: Como usar el Rc interno del pic 18f2550?
Publicado por: rivale en 19 de Diciembre de 2013, 11:16:30
Podrias poner tu código para ayudarte
Título: Re: Como usar el Rc interno del pic 18f2550?
Publicado por: mirasu en 19 de Diciembre de 2013, 11:49:18
Hola no lo puse porque es el ejemplo de pcw.
Código: [Seleccionar]
#include <main.h>


void main()
{


    //Example blinking LED program
    while(true){
      output_low(LED);
      delay_ms(DELAY);
      output_high(LED);
      delay_ms(DELAY);
    }


}


y cuando compilo me sale este archivo y un error en #use delay(int=200000)

Código: [Seleccionar]
#include <18F2550.h>

#FUSES NOWDT                    //No Watch Dog Timer
#FUSES WDT128                   //Watch Dog Timer uses 1:128 Postscale
#FUSES PLL1                     //No PLL PreScaler
#FUSES CPUDIV1                  //No System Clock Postscaler
#FUSES USBDIV                   //USB clock source comes from PLL divide by 2
#FUSES INTRC_IO                 //Internal RC Osc, no CLKOUT
#FUSES FCMEN                    //Fail-safe clock monitor enabled
#FUSES IESO                     //Internal External Switch Over mode enabled
#FUSES NOPUT                    //No Power Up Timer
#FUSES NOBROWNOUT               //No brownout reset
#FUSES BORV20                   //Brownout reset at 2.0V
#FUSES VREGEN                   //USB voltage regulator enabled
#FUSES PBADEN                   //PORTB pins are configured as analog input channels on RESET
#FUSES LPT1OSC                  //Timer1 configured for low-power operation
#FUSES MCLR                     //Master Clear pin enabled
#FUSES STVREN                   //Stack full/underflow will cause reset
#FUSES NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOXINST                  //Extended set extension and Indexed Addressing mode disabled (Legacy mode)
#FUSES NODEBUG                  //No Debug mode for ICD
#FUSES NOPROTECT                //Code not protected from reading
#FUSES NOCPB                    //No Boot Block code protection
#FUSES NOCPD                    //No EE protection
#FUSES NOWRT                    //Program memory not write protected
#FUSES NOWRTC                   //configuration not registers write protected
#FUSES NOWRTB                   //Boot block not write protected
#FUSES NOWRTD                   //Data EEPROM not write protected
#FUSES NOEBTR                   //Memory not protected from table reads
#FUSES NOEBTRB                  //Boot block not protected from table reads

#use delay(int=200000)
#define LED PIN_A4
#define DELAY 1000

habria algun problema si en la placa tengo un crsital y los condensadores puestos? me refiero al poner el hex sin crsital

gracias
Título: Re: Como usar el Rc interno del pic 18f2550?
Publicado por: thegame en 19 de Diciembre de 2013, 12:37:07
Bueno haber si te puedo ayudar.

Desde mi experiencia, nunca me ha causado problema el echo de tener fisicamente el cristal y los capacitores conectados a sus pines, aqui el caso es simplemente que no estas declarando los bits de configuracion adecuadamente (eso creo yo).

Porque no intentas lo siguiente:

Primero, yo cambiaria la directiva #include<main.h> por---->  #include<18f2550.h>

Despues lo siguiente:

En caso de que estes usando el IDE (entorno de desarrollo) de CCS, ve a la pestaña de view y ahi hay un pequeño boton que dice, config bits, das clic y aparece una lista de PICS, busca el tuyo, seleccionalo y revisa cuales de los FUSES quieres activar, aparece el nombre del BIT DE CONFIGURACION (o FUSE) y la descripcion de lo que realiza, escribelos en tu codigo.

En caso de que estes usando CCS dede el IDE MPLAB, de igual manera, das clic en Configure--->Configuration Bits, y ahi deberan aparecerte los bits de configuracion del PIC en cuestion, los puedes activar desde esa misma ventana o solo mirar como se llaman y que hacen y agregarlos en tu codigo.

Vuelve a compilar y comentas.

Saludos
Título: Re: Como usar el Rc interno del pic 18f2550?
Publicado por: rivale en 19 de Diciembre de 2013, 12:42:02
cambial el int por clock
Título: Re: Como usar el Rc interno del pic 18f2550?
Publicado por: mirasu en 20 de Diciembre de 2013, 10:57:52
He conseguido compilar. luego lo grabo y a ver que pasa.

Para  compilar he usado lo de dice rivale,  thegame gracias por tu ayuda pero cuando intente hacer como me dijiste me salieron mas errores, seguro que hice algo mal.

Pero os comento una cosa curiosa... ayer prole la primera placa y su pic y funciono otra vez, le puse el pic de la segunda placa (la nueva) y no funciona, cuando le volvi a poner su pic tampoco funcionaba.... He probado descargar todos los condensadores que no son muchos y nada. Las placas son pinguino caseras como dije.

gracias y a ver si averiguo porque no van.
Título: Re: Como usar el Rc interno del pic 18f2550?
Publicado por: rivale en 20 de Diciembre de 2013, 11:25:15
Si el programa te funciono una vez, no tendria porque fallar al cambiarle el pic, a mi me suena a problema con el hardware, tal vez tienes algun pequeño corto
Título: Re: Como usar el Rc interno del pic 18f2550?
Publicado por: mirasu en 27 de Diciembre de 2013, 19:23:21
Si tenias razon un mal contacto.
Gracias