Autor Tema: Temporizar Led intermitente cada 2 segundos con CSS en pic18f2550  (Leído 3359 veces)

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

Desconectado kicho

  • PIC10
  • *
  • Mensajes: 39
Temporizar Led intermitente cada 2 segundos con CSS en pic18f2550
« en: 12 de Noviembre de 2008, 09:16:44 »

Buenas a todos esta es la primera vez que posteo en este foro, mi problema es que estoy ya casi una sem,ana peleando con la temporizacion de mi pic y no ay manera a que parpadee cada sos segundos, midu da entre tantas otras ya que estoy empezando a programar en c los pic es que si lo le fijo una velocidad de relog y le digo k tarde 2 segundos por que no se autoajusta, cambiando la velocidad el reloj logro disminuirla pero no tengo del todo claro lo que estoy aciendo, por lo que os dejo mi codigo fuente a ver si sabeis cual es mi error. Un saludo y muchas gracias a todos

Archivo Main.h

#include <18F2550.h>
#device adc=8
#device icd=true

#FUSES NOWDT                    //No Watch Dog Timer
#FUSES WDT128                   //Watch Dog Timer uses 1:128 Postscale
#FUSES XT                       //Crystal osc <= 4mhz
#FUSES NOPROTECT                //Code not protected from reading
#FUSES BROWNOUT                 //Reset when brownout detected
#FUSES BORV20                   //Brownout reset at 2.0V
#FUSES NOPUT                    //No Power Up Timer
#FUSES NOCPD                    //No EE protection
#FUSES STVREN                   //Stack full/underflow will cause reset
#FUSES NODEBUG                  //No Debug mode for ICD
#FUSES LVP                      //Low Voltage Programming on B3(PIC16) or B5(PIC18)
#FUSES NOWRT                    //Program memory not write protected
#FUSES NOWRTD                   //Data EEPROM not write protected
#FUSES IESO                     //Internal External Switch Over mode enabled
#FUSES FCMEN                    //Fail-safe clock monitor enabled
#FUSES PBADEN                   //PORTB pins are configured as analog input channels on RESET
#FUSES NOWRTC                   //configuration not registers write protected
#FUSES NOWRTB                   //Boot block not write protected
#FUSES NOEBTR                   //Memory not protected from table reads
#FUSES NOEBTRB                  //Boot block not protected from table reads
#FUSES NOCPB                    //No Boot Block code protection
#FUSES MCLR                     //Master Clear pin enabled
#FUSES LPT1OSC                  //Timer1 configured for low-power operation
#FUSES XINST                    //Extended set extension and Indexed Addressing mode enabled


#use delay(clock=4000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)

Archivo main.c

#include "C:\Documents and Settings\Pedro Francisco\Desktop\pruevas\main.h"

void main()
{

   setup_adc_ports(NO_ANALOGS|VSS_VDD);
   setup_adc(ADC_OFF);
   setup_spi(SPI_SS_DISABLED);
   setup_wdt(WDT_OFF);
   setup_timer_0(RTCC_INTERNAL);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_comparator(NC_NC_NC_NC);
   setup_vref(FALSE);
//Setup_Oscillator parameter not selected from Intr Oscillotar Config tab

   // TODO: USER CODE!!

       set_tris_b(0x00);                //portb como salida(RB0,las demas desactivadas) 
      disable_interrupts(GLOBAL);        //todas las interrupciones desactivadas 
       
      do{
        output_high(PIN_B2);        //Led on 
          delay_ms(2000);     
          output_low(PIN_B2);            //Led off 
          delay_ms(2000);                 
           
      }while(true) ;                 //bucle infinito 
   }




Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: Temporizar Led intermitente cada 2 segundos con CSS en pic18f2550
« Respuesta #1 en: 12 de Noviembre de 2008, 15:27:51 »
en que parte de tu codigo cambias la velocidad del reloj?
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Temporizar Led intermitente cada 2 segundos con CSS en pic18f2550
« Respuesta #2 en: 12 de Noviembre de 2008, 16:39:59 »
Hola.

Debes tener en cuenta que el 2550 posee un modulo para manejo de USB, por lo que debes configurar los #fuses para que todo corra bien.

Prueba con los siguientes:
Código: [Seleccionar]
#fuses XT,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL1,CPUDIV1,VREGEN,FCMEN
Saludos
El papel lo aguanta todo

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: Temporizar Led intermitente cada 2 segundos con CSS en pic18f2550
« Respuesta #3 en: 12 de Noviembre de 2008, 18:44:34 »
una pregunta, ¿ves que los leds parpadeen?

hay unos cuantos pines del portb que son entrada analógica por defecto, debes fijarte que al entrar al bucle quede como salida.



La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado kicho

  • PIC10
  • *
  • Mensajes: 39
Re: Temporizar Led intermitente cada 2 segundos con CSS en pic18f2550
« Respuesta #4 en: 16 de Noviembre de 2008, 16:43:16 »
Ya lo solucione perdon el tiempo en contestar era algo tan tonto como en el main le faltaba la siguiente linea ya que la temporizacion a de estar diplicada en el .h y en el .c

la lineas es:
setup_oscillator(OSC_4MHZ|OSC_INTRC|OSC_31250|OSC_PLL_OFF);

Ahora estoy con las lcs pero no ay manera, seguire mirando post. Gracias