16f648a ile basit led uygulaması sorunu

Başlatan pars, 14 Nisan 2014, 07:40:05

pars

Merhaba ben PIC programlamaya yeni başlayanlardanım ilk olarak basit led uygulamasını 16f648a ile denedim olmadı. pickit 3 programlayıcı kullanıyorum . Programlayıcıya yazdığım kodlar sorunsuz yüklendi diyor.
Ama Devre çalışmıyor Pic sanki düz kablo gibi davranıyor. Devreyi ve kodları proteusda denedim istediğim gibi çalıştı devrede olmadı

polleme

Kod ve devre iletirseniz yorum yaparız. Bu hali ile nerede hata olduğu konusunda yorum yapmak zor.

ferit06


Pic sanki düz kablo gibi davranıyor.?  Ne demek?

Demek istediğini anlayabilmişsem eğer VCC ve GND bağlantılarını kontrol edin.

pars

Alıntı yapılan: polleme - 14 Nisan 2014, 08:59:15
Kod ve devre iletirseniz yorum yaparız. Bu hali ile nerede hata olduğu konusunda yorum yapmak zor.

tabi ,  gönderiyorum:
void main() {
  cmcon=0x07;
  option_reg=0x80;
  trisb.rb0=0;
  portb.rb0=0;
  while(1)
  {
   portb.rb0=1;
   delay_ms(2000);
   portb.rb0=0;
   delay_ms(2000);
   }
}

selimkoc

* Önce PIC'in beslemesi geliyor mu? (+5V 14.pine, GND 5.pine)
* PIC'in konfigurasyon parametreleri nedir? (MCLR enable ise disable yapınız. WDT disable edilmeli, Osilatör olarak dahili osilatör kullanılacaksa INTOSC yapılmalı)

eğer bunlar tamamsa çalışması gerekir.

pars

#5
Alıntı yapılan: selimkoc - 14 Nisan 2014, 19:10:16
* Önce PIC'in beslemesi geliyor mu? (+5V 14.pine, GND 5.pine)
* PIC'in konfigurasyon parametreleri nedir? (MCLR enable ise disable yapınız. WDT disable edilmeli, Osilatör olarak dahili osilatör kullanılacaksa INTOSC yapılmalı)

eğer bunlar tamamsa çalışması gerekir.
5.4V DC Geliyor . devrenini resmini çektim ona bakabilrisini osilatör kullanmadım dahili var diye


resimde görüldüğü gibi led de ışık yok gerilimde yoktu.

veliusta

Led'e 220R direnç bağlamalısın. Pic'i yakarsın.

pars

#7
Alıntı yapılan: veliusta - 15 Nisan 2014, 04:14:30
Led'e 220R direnç bağlamalısın. Pic'i yakarsın.

Nedeni sizce o mu ? , birde neden bağlamam  gerekiyor onu açıklayabilirmisiniz, peki yanmissa nazil anlariz Pic in

ferit06

 Bakın yukarıda ;
MCLR enable ise disable yapınız. WDT disable edilmeli, Osilatör olarak dahili osilatör kullanılacaksa INTOSC yapılmalı

denilmiş.

CONFIG yazmacını uygun şekilde ayarlamaz iseniz  osilator konumu RC_OSC_CLKOUT EQU 0X3FFF şeklindedir. Ve osilatorü buna göre RC çifti ile oluşturmanız gerekir. Config ayarını dahili osilator olarak ayarlamadığınız takdirde  dahili osilator çalışmaz.

MCLRE OFF olarak ayarlamaz iseniz  MCLRE konumu MCLRE_ON EQU 0X3FFF şeklindedir. MCLR pininden Vcc ye bir 10 K bağlamanız gerekir.

Bu iki şartı yerine getirmez iseniz devreniz çalışmaz. Çalışmadığı için de henüz PIC yanma konumuna ulaşamamıştır.( yanarsa da ilgili portunuz yanar)

Fgocmen

osilator ve MCLR için Direnc Yok
Devreni Bu Şekilde Kurup I/O Pinlerini Ona Göre Değiştir

YaFeS

mehmet

Alıntı yapılan: pars - 15 Nisan 2014, 11:43:40
Nedeni sizce o mu ? , birde neden bağlamam  gerekiyor onu açıklayabilirmisiniz, peki yanmissa nazil anlariz Pic in
Hep bu Kirchhoff amca yüzünden bunlar...
Led içinden 20mA civarında bir akım geçirmeniz gerekmekte
fazlası hem lede hem de mcu ya zarar verir. Mcu
pinleri genelde 25mA kadar dayanabilmektedir.
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr

pars

Alıntı yapılan: Yafes - 15 Nisan 2014, 13:06:04
osilator ve MCLR için Direnc Yok
Devreni Bu Şekilde Kurup I/O Pinlerini Ona Göre Değiştir

(Resim gizlendi görmek için tıklayın.)

Devreyi proteusda osilatörsüz çalıştirdim

Birde devreyi topraklamayla led yanmıyor
Topraksiz yaniyor



pars

#12
Alıntı yapılan: mehmet - 15 Nisan 2014, 15:02:49
Hep bu Kirchhoff amca yüzünden bunlar...
Led içinden 20mA civarında bir akım geçirmeniz gerekmekte
fazlası hem lede hem de mcu ya zarar verir. Mcu
pinleri genelde 25mA kadar dayanabilmektedir.

Teşekkürler  :)

mesaj birleştirme:: 15 Nisan 2014, 17:51:16

Alıntı yapılan: ferit06 - 15 Nisan 2014, 12:16:55
Bakın yukarıda ;
MCLR enable ise disable yapınız. WDT disable edilmeli, Osilatör olarak dahili osilatör kullanılacaksa INTOSC yapılmalı

denilmiş.

CONFIG yazmacını uygun şekilde ayarlamaz iseniz  osilator konumu RC_OSC_CLKOUT EQU 0X3FFF şeklindedir. Ve osilatorü buna göre RC çifti ile oluşturmanız gerekir. Config ayarını dahili osilator olarak ayarlamadığınız takdirde  dahili osilator çalışmaz.

MCLRE OFF olarak ayarlamaz iseniz  MCLRE konumu MCLRE_ON EQU 0X3FFF şeklindedir. MCLR pininden Vcc ye bir 10 K bağlamanız gerekir.

Bu iki şartı yerine getirmez iseniz devreniz çalışmaz. Çalışmadığı için de henüz PIC yanma konumuna ulaşamamıştır.( yanarsa da ilgili portunuz yanar)

Tam olarak anlayamadim demek istediğinizi biraz daha aşşığı seviyeye anlatır gibi anlatirmisiniz 

pars


Maxim

pars yanlış yoldasın
en basit bir led yakma devresi bile olsa bu işin kuralları var
yukarıda arkadaşlar yazmış etmiş hiç geri dönüş yapmamışsın hep yaptım olmadı, çalışmadı...
bu yazdıklarımızı aynen yapman gerekiyor.

1-güç kaynağı önemli, düzgün olacak, temiz DC voltaj olacak
ve 5.0 volt olacak , öyle 5.4 yada 5.6 voltaj bilmem ne olmaz
5.4 volt üst sınıra çok yakın.
düzgün güç kaynağı yoksa gidip alın.

2-işlemcinin besleme ayaklarında 100nf kondansatör olacak mecbursun buna.
yoksa gidip alın

3-şema çizmesini öğrenmelisin
foruma soru sorduktan sonra ilgili şemayı ve kodu eklemelisin yoksa ya cevap gelmez yada günler geçer iş bitmez.
bu bir huy olmalı.

4-işlemcilere ait config satırı var o olmadan bu iş yürümez
her işlemcinin config satırını kodun en başına eklemek zorundasın
mclr açıkmı? kapalımı? watch dog kapalı açık?
bunların ne olduğunu bilmen lazım
ama konfig satırını mutlaka ekle

5- en basidinden direnç-kondansatör ve transistor nedir nasıl çalışır öğrenmelisin
10bin satırlık roket kodu bile yazsan bunları bilmiyorsan çuvallarsın
konuya bir bütün olarak bak.
tasarım demek, bunların hepsini bilmek zorundasın demektir. sadece kod yazmak yetmez.


şimdi buraya gene denedim çalışmadı yazma lütfen
tek tek yukarıda yazdıklarımı uygula ve buraya ne yaptığını tek tek anlatarak yaz
şema ve kodu eksiksiz koy, config satırıda olsun.