18f4550 zaman gecikmesi

Başlatan Yeniüye1234, 27 Aralık 2021, 18:38:30

Yeniüye1234

Arkadaşlar selamlar. 18F4550 aldım ve dahili osilatörü deneme amaçlı aşağıdaki kodu yazdım. Gecikme süresini 300 ms yaptım. Proteusta düzgün çalışıyor ancak board üzerinde 1 saniye gecikme ile çalışıyor. hata nerde burada? Yardımcı olursanız sevinirim.
#include <18f4550.h> 

#FUSES INTRC, NOWDT, NOPROTECT, NOBROWNOUT, NOPUT, NOCPD, STVREN, NODEBUG, NOLVP, NOWRT, NOWRTD, IESO, FCMEN, NOPBADEN, NOWRTC, NOWRTB, NOEBTR, NOEBTRB, NOCPB, NOMCLR, NOXINST

#use delay (internal=8000000)

#use fast_io(b)




void main ( )
{
        setup_timer_0 (T0_OFF);
        setup_timer_1(T1_DISABLED) ;
        setup_timer_2 (T2_DISABLED,0,1) ;  
        setup_timer_3(T3_DISABLED) ;
        setup_CCP1 (CCP_OFF) ;        
        setup_CCP2 (CCP_OFF) ;        
        setup_adc_ports (NO_ANALOGS);  // analog girişler iptal edilerek dijital yapıldı.
        setup_adc (ADC_OFF|ADC_TAD_MUL_0);
        setup_psp (PSP_DISABLED);
        setup_spi (SPI_SS_DISABLED);
        setup_wdt (WDT_OFF);
        setup_comparator (NC_NC_NC_NC);
        setup_vref (FALSE);
        setup_oscillator (OSC_8MHZ);

  set_tris_b (0b00000000);
  
  
    while (1)
      {
      
    output_toggle(pin_b7);
    delay_ms(300);
      }
    
}

ali.f

Merhaba,
INTRC 32khz de çalışıyordu sanırım. Fuses INTXT veya INTHS olursa düzelebilir sanırım.

Yeniüye1234

#2
Hocam öncelikle ilginiz için çok teşekkür ederim ama düzelmedi.  programda yazılan 300 ms gecikme, board üzerinde 1 saniye, programda 100 ms gecikme yazınca board üzerinde 300 ms gecikme veriyor :)