Picproje Elektronik Sitesi

DERLEYİCİLER => Hi-Tech => Konuyu başlatan: isa_1907 - 13 Aralık 2013, 14:41:37

Başlık: Led'i sonsuz yanmiyor
Gönderen: isa_1907 - 13 Aralık 2013, 14:41:37
Arkadaslar merhabalar,
Pic16f877 kullaniyorum basit bir buton led uygulamasi kodu yazdim dogru.Kodla ilgili bir sknti yok.Tek skntim devrede 1 saniye yaniyor ve duruyor aslinda kodda sonsuz bir dongu var butona bastiginda yanacak ve elini cektginde halen yanmaya devam etmesi gerekirken, led sonuyor.
Onerilere ve yardima ihtiyacim var, yardim edicek arkadaslar oncelikle kodun dogru oldugunu varsaysinlar.
Başlık: Ynt: Led'i sonsuz yanmiyor
Gönderen: mistek - 13 Aralık 2013, 15:23:26
Sorunsuz kodu birde biz görebilir miyiz?
Başlık: Ynt: Led'i sonsuz yanmiyor
Gönderen: isa_1907 - 13 Aralık 2013, 15:40:59
while(1)
{
int a=0;
if(RB0==1)// buon basiliyor
a=1;
while(a==1)
RD0=1;// led yaniyor
}
Başlık: Ynt: Led'i sonsuz yanmiyor
Gönderen: mdargut - 13 Aralık 2013, 16:51:41
Watchdog timer kapalı mı? Eğer açık kalmışsa süre dolunca işlemci resetleyip programın başına dönüyor olabilir. Buton basılı olmadığı için led sönüyordur. Başka bir resetleme sebebide olabilir tabiki. Mesela besleme nasıl?
Başlık: Ynt: Led'i sonsuz yanmiyor
Gönderen: isa_1907 - 13 Aralık 2013, 17:17:48
Watchdog timer kapali. Besleme 7805 ile geliyor direk 4,98v var devrede baska bir guc kaynagi da kullanarak denedim direk 5 v verdim sonuc ayni, led in hep yanmasi gerekirken yanmiyor
Başlık: Ynt: Led'i sonsuz yanmiyor
Gönderen: Tagli - 13 Aralık 2013, 17:49:49
"Bir saniye yanıyor, sonra sönüyor" demişsin. Bu süre her seferinde aynı mı? LVP'yi devre dışı bıraktın mı?
Başlık: Ynt: Led'i sonsuz yanmiyor
Gönderen: engerex - 13 Aralık 2013, 19:36:13
Reset mi atıyor onu görmek için kodun başına bir şeyler ekleyebilirsin. Örneğin başka bir port/pine başka bir led bağla. Butona basilinca sonsun.
Başlık: Ynt: Led'i sonsuz yanmiyor
Gönderen: isa_1907 - 13 Aralık 2013, 21:20:32
Alıntı yapılan: Tagli - 13 Aralık 2013, 17:49:49
"Bir saniye yanıyor, sonra sönüyor" demişsin. Bu süre her seferinde aynı mı? LVP'yi devre dışı bıraktın mı?
LVP ve watchdog sigorta ayarlarindan hepsi kapali, demek istedigim 1 sn de oluyor 2 sn de ama 3 sn calistigini gormedim.Sorun neden kaynaklaniyordur halen cozebilmis degilim?

Alıntı yapılan: engerex - 13 Aralık 2013, 19:36:13
Reset mi atıyor onu görmek için kodun başına bir şeyler ekleyebilirsin. Örneğin başka bir port/pine başka bir led bağla. Butona basilinca sonsun.

Reseti hangi durumlarda atar ki?
Başlık: Ynt: Led'i sonsuz yanmiyor
Gönderen: erpay - 13 Aralık 2013, 21:41:01
Devre şemasını da görebilir miyiz belki orada kaçırılan bir detay var.
Başlık: Ynt: Led'i sonsuz yanmiyor
Gönderen: z - 13 Aralık 2013, 21:49:30
Butona bastin ve led  1 sn yandi sonra da sondu.

1) Sondukten sonra tekrar butona basarsan gene yaniyor ve 1 sn sonra sonuyormu?

2) Programinda herhangi bir interrupt enable edildimi? 
Başlık: Ynt: Led'i sonsuz yanmiyor
Gönderen: isa_1907 - 13 Aralık 2013, 22:13:45
Alıntı yapılan: erpay - 13 Aralık 2013, 21:41:01
Devre şemasını da görebilir miyiz belki orada kaçırılan bir detay var.

Devre semasi isiste calisiyor zaten mclr ucuna 10k ile 5v bagli...

Alıntı yapılan: z - 13 Aralık 2013, 21:49:30
Butona bastin ve led  1 sn yandi sonra da sondu.

1) Sondukten sonra tekrar butona basarsan gene yaniyor ve 1 sn sonra sonuyormu?

2) Programinda herhangi bir interrupt enable edildimi? 

1-) Ayni dediginiz gibi butona bastigim surece yaniyor elimi cektigimde hemn sonuyor.
2-) interrupt kullanmadim ve aktif edilmedi
Başlık: Ynt: Led'i sonsuz yanmiyor
Gönderen: mehmet - 14 Aralık 2013, 01:53:55
int a=0; ifadesini while(1) ifadesinden
önce koymayı denediniz mi?
İlla a sıfır olması gerek derseniz
sadece önceden int a; ile tanımlama
yapınız ve ilgili yerde a=0; olarak
kullanınız.
Başlık: Ynt: Led'i sonsuz yanmiyor
Gönderen: xoom - 14 Aralık 2013, 08:48:09
o kadar kişi yardım etmeye çalışmış ama ne kod var ne şema ben bir devre kurdum bir şemam var ama reset atıyor hadi bulun :)
o kadar basit bir şema ve kod ise neden paylaşmıyorsun ! forumdaki insanlarımı sınıyorsun ?
Başlık: Ynt: Led'i sonsuz yanmiyor
Gönderen: isa_1907 - 15 Aralık 2013, 03:12:05
Alıntı yapılan: xoom - 14 Aralık 2013, 08:48:09
o kadar kişi yardım etmeye çalışmış ama ne kod var ne şema ben bir devre kurdum bir şemam var ama reset atıyor hadi bulun :)
o kadar basit bir şema ve kod ise neden paylaşmıyorsun ! forumdaki insanlarımı sınıyorsun ?

Farkındaysan kodu yukarıda paylaşmışım dikkat etmen gerekiyordu xoom ;)

Şema dediğin nedir?İki direncli bir mcu lu bir led li şema ise artık gerek kalmadı sorunu çözdüm .PicKit2 ile config ayarlarından kaynaklı bir sorunmuş, LVP kapalı oldgunu sanıyordum ordan açıkmış.Herkese çok teşekkürler, bu devre bir buton ve led'in en yalın haliydi.Daha önceden 877 ile asansör devresinde sorum var demiştim, herkes kod yolladı, herkes kendi algoritmasını yazdı, biri stucture yapısına bile girdi.Hepsine minnettarım işime yaramasada elbet birilerinin işine yarayacaktır.Orada ki sorumda aynıydı, butona bastıgımda sonsuz döngüye girmiyor demiştim ve inanılmaz derece tuhaf yorumlar aldım.Kod böle olmaz, böle yazamazsın vs. Her yiğidin bir yogurt yiğişi vardır.Herkesin kafası aynı çalışmaz, işte ben kodu yalın yazmaktan yanayımdır.Proje bitsin tamamlansın, hatta yayınlarım bile en azından yeni başlayanlar için destekli yardımcı olur.PC kontrollü 877 ile yapılmış 4 katlı asansör sistemi...

Şimdilik sıkıntım yok ama olursa sorularıma burada tecrübeli forum üyelerinden her türlü yardımcı olacaklarından şüphem yok.Bilgi paylaşıldıkça güzel.İyi forumlar...
Başlık: Ynt: Led'i sonsuz yanmiyor
Gönderen: robomaster - 15 Aralık 2013, 09:56:27
Verdiğiniz program da neden butonu kontrol etmek için bir değişken illa kullandınız ki.
Ayrıca iç içe döngüler de cabası . Çok daha yalın yazılabilir. illa da benim kod diyorsanız biraz düzenlenmiş hali
1 kez butona basılınca led yanacaktır ancak ondan sonra basılma basılmama nın hiç bir fonksiyonu olmayacaktır  Not: x li satırları direkt sil aynı işi yapacaktır zaten ;)


int a=0;      x
while(1)
{
if(RB0==1)// buon basiliyor
a=1;          x
if(a==1)    x
RD0=1;// led yaniyor
}
Başlık: Ynt: Ynt: Led'i sonsuz yanmiyor
Gönderen: xoom - 15 Aralık 2013, 10:52:44
Alıntı yapılan: isa_1907 - 15 Aralık 2013, 03:12:05
Farkındaysan kodu yukarıda paylaşmışım dikkat etmen gerekiyordu xoom ;)

Şema dediğin nedir?İki direncli bir mcu lu bir led li şema ise artık gerek kalmadı sorunu çözdüm .PicKit2 ile config ayarlarından kaynaklı bir sorunmuş, LVP kapalı oldgunu sanıyordum ordan açıkmış.Herkese çok teşekkürler, bu devre bir buton ve led'in en yalın haliydi.Daha önceden 877 ile asansör devresinde sorum var demiştim, herkes kod yolladı, herkes kendi algoritmasını yazdı, biri stucture yapısına bile girdi.Hepsine minnettarım işime yaramasada elbet birilerinin işine yarayacaktır.Orada ki sorumda aynıydı, butona bastıgımda sonsuz döngüye girmiyor demiştim ve inanılmaz derece tuhaf yorumlar aldım.Kod böle olmaz, böle yazamazsın vs. Her yiğidin bir yogurt yiğişi vardır.Herkesin kafası aynı çalışmaz, işte ben kodu yalın yazmaktan yanayımdır.Proje bitsin tamamlansın, hatta yayınlarım bile en azından yeni başlayanlar için destekli yardımcı olur.PC kontrollü 877 ile yapılmış 4 katlı asansör sistemi...

Şimdilik sıkıntım yok ama olursa sorularıma burada tecrübeli forum üyelerinden her türlü yardımcı olacaklarından şüphem yok.Bilgi paylaşıldıkça güzel.İyi forumlar...
Demekki kodunu bile eksik vermissin. Dikkat ettiysen sorununun yine tam olarak vermedigin o eksik  kodlarindaki sigorta ayarlarindan  kaynaklandigini anlardin.. iyi çalışmalar.
Başlık: Ynt: Led'i sonsuz yanmiyor
Gönderen: hacimusatr - 26 Aralık 2013, 08:55:08
Sorun çözülmüş sevindik ama eğer programının tamamında böyle bir led yakmak için kullandığın değişken gibi değişkenler kullanırsan pici yorarsın. Lütfen dikkatli ol. Emin ol kodu okudum anlayamadım. Led yakmak için olduğunu öğrenince gülümsedim. Benim ilk başladığım sıralardaki gibi  :) Neyse yine de dikkatli olmanı isterim. Fazla değişken kullanma ki program şişmesin