16F628A-DAHİLİ OSC VE PİCKİT3 SORUNU

Başlatan cızgılıkedı, 16 Ocak 2016, 19:31:37

cızgılıkedı

Arkadaşlar pickit 3 ile uğraşmıştım 2-3 gündür.Sorunu çözdük Çok şükür.Fakat yinede pickit3 de bir sıkıntımı var,pic'temi bir sıkıntı var vs diye yükleme anıda resimledim. Ardından bir deneyeyim dedim basit bir program ve devre ile,fakat ısıs sümilasyonunda çalışan devreyi breakbord'a kurduğum zaman çalışmadı sadece bir tek led yandı.O led'te a0 butonuna bastığım zaman yanıyor daha da sönmüyor.
Devrenin yazılımında "#fuses intrc_io" dahili osc kullandım.
Resimleri ve programı yükledim bakabilirmisiniz arkadaşlar.Kolay gelsin.İyi çalışmalar
#include <main.h>

#use fast_io(a)
#use fast_io(b)

#define ileri pin_a0


void main(){
//setup_psp(PSP_DISABLED); // PSP birimi devre dışı
// setup_spi(SPI_SS_DISABLED); // SPI birimi devre dışı
 setup_timer_1(T1_DISABLED); // T1 zamanlayıcısı devre dışı
 setup_timer_2(T2_DISABLED,0,1); // T2 zamanlayıcısı devre dışı
// setup_adc_ports(NO_ANALOGS); // ANALOG giriş yok
 //setup_adc(ADC_OFF); // ADC birimi devre dışı
 setup_CCP1(CCP_OFF); // CCP1 birimi devre dışı
 //setup_CCP2(CCP_OFF); // CCP2 birimi devre dışı

set_tris_a(0b00000001);
set_tris_b(0x00);
output_b(0x00);

   while(1)
   {
   if(input(ileri))
   {
    output_high(pin_b0);
    delay_ms(1000);
    output_low(pin_b0);
    delay_ms(1000);
    }
    else{
    output_high(pin_b1);
    delay_ms(1000);
    output_low(pin_b1);
    delay_ms(1000);
    
    
    }
    
    
    
   }

}


**************************
#include <16F628A.h>

#FUSES NOWDT                    //No Watch Dog Timer
#FUSES NOBROWNOUT               //No brownout reset
#FUSES NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#fuses NOPROTECT
#fuses NOPUT

#fuses NOCPD
#fuses intrc_io
#use delay(crystal=4000000)







kaganayanoglu

Merhaba,
Pickit ile proglama yaparken programın başına 500ms gibi bir gecikme koyun. Programlama biter bitmez program çalışma başlayınca pickit3 doğrulama yapamıyor ve program yürütülürken hatalar oluşabiliyor. Başıma geldiği için söylüyorum. Özellikle ICSP ile programlama yapıyorsanız bircok hata ortaya çıkıyor.

Fakat sorununuz bu şekilde çözülmezse kodları inceleyin. Ben bakardım ama PBP biliyorum sadece.

Kolay gelsin.

pwm.c

#use delay(crystal=4000000)

burayı şu şekilde değiştirin:
#use delay(internal=4MHz)


birde,yeni program yazarken ccs içindeki "picwizard" eklentisini kullanarak ön ayarları daha kolay yapabilirsiniz. 16f877 için yazılmış kodları 16f628 e eklemeye çalışmayın.
_/\/\/\_ -[ı- -ı>|- -|ı|ı|ı- -ı< -||- -l[]l-

dursuncemal

 islemciyle yeni calisirken sana onerim;ilkonce buton kullanmadan while(1) in icinde  1 saniye  araliklarda hangi portlari kullanmak istiyorsan  ledleri yak sondur. hatta olcu aletiyle kontrol et portlara hukmetigini bir gor.

bu cok basit bir deneme eger olmuyorsa configlerde veya yaziliminda sorun ara ;1: osilatorun calismiyor olabilir  biliyorsun islemcinin kalbi osilatordur. 2: wacdog aciktir resete gidiyorsundur. önlemini biliyorsun tasmadan once sifirlamalisin 3: mclr

bacaginikullanmisindir  ama + ya baglamamişsindir 4: portu cikis yapmammisindir  son olarakta pic bozuktur. ilk aklima gelenler bunlar

ondan sonra yavas yavas fonksiyonlarını yaz. sorunun nerde oldugunu cok kolay bulursun. umarim kotarırsın
:=

cızgılıkedı

Hocalarım allah razı olsun..

Alıntı yapılan: pwm.c - 17 Ocak 2016, 00:02:10
#use delay(crystal=4000000)

burayı şu şekilde değiştirin:
#use delay(internal=4MHz)


birde,yeni program yazarken ccs içindeki "picwizard" eklentisini kullanarak ön ayarları daha kolay yapabilirsiniz. 16f877 için yazılmış kodları 16f628 e eklemeye çalışmayın.

pwm.c hocam; burda biz dahili osc. kullandıgımız için mi biz "#use delay(internal=4MHz)" bu sekıl değiştirdik..