7 segment display devresi

Başlatan uzmandr., 30 Mayıs 2015, 12:35:34

uzmandr.

Arkadaşlar selamun aleyküm,
   


şöyle bir devrem var 0-9 sayıcı devresi

şöylede kodlarım var

#include<16f84.h>
#fuses XT,NOWDT,NOPROTECT
#use delay(clock=4000000)

void main()
{
while(true)
{

output_b(0b00111111);//0
delay_ms(1000);//0
/////////////////////////////
output_b(0b00000110);//1
delay_ms(1000);
/////////////////////////////
output_b(0b01011011);//2
delay_ms(1000);
/////////////////////////////
output_b(0b01001111);//3
delay_ms(1000);
/////////////////////////////
output_b(0b01100110);//4
delay_ms(1000);
/////////////////////////////
output_b(0b01101101);//5
delay_ms(1000);
/////////////////////////////
output_b(0b01111101);//6
delay_ms(1000);
/////////////////////////////
output_b(0b00000111);//7
delay_ms(1000);
/////////////////////////////
output_b(0b01111111);//8
delay_ms(1000);
/////////////////////////////
output_b(0b01101111);//9
delay_ms(1000);

}
}

fakat yedi segment display yarım yamalak gösteriyor ölçtüm yedi segmenti çalışıyor hatam nerde yardımcı olurmusunuz lütfen?

sadogan

#1
Display in ortak katot mu?
Evet ise:
Fiziksel bağlantında sorun var.
tek tek her segmenti kontrol eden bir program yaz.
Birde şu yarımyamalak gösteren displayin ve devrenin fotosunu görsek daha faydalı yorumlar yapılabilir.
EDIT:
Programa , main içerisine
set_tris_b(0); satırını ekleyip denermisin.

Kabil ATICI

Bu programda port yönlendirmesi yapılmıyor mu?

Simülasyonda, dirençlerin dijital olarak mı atanmış, kontrol et. Analog ise değiştir.
ambar7

uzmandr.

#3
Alıntı yapılan: sadogan - 30 Mayıs 2015, 12:47:07
Display in ortak katot mu?
Evet ise:
Fiziksel bağlantında sorun var.
tek tek her segmenti kontrol eden bir program yaz.
Birde şu yarımyamalak gösteren displayin ve devrenin fotosunu görsek daha faydalı yorumlar yapılabilir.
EDIT:
Programa , main içerisine
set_tris_b(0); satırını ekleyip denermisin.
displayım ortak anot




mesaj birleştirme:: 31 Mayıs 2015, 03:25:23

Alıntı yapılan: Kabil ATICI - 30 Mayıs 2015, 12:51:51
Bu programda port yönlendirmesi yapılmıyor mu?

Simülasyonda, dirençlerin dijital olarak mı atanmış, kontrol et. Analog ise değiştir.

dijitalmi analogmu nasıl kontrol edeceğimi bilmiyorum açıkçası pek bişeyde bilmiyorum yeni başladım bu işe

mesaj birleştirme:: 30 Mayıs 2015, 13:29:30

Alıntı yapılan: sadogan - 30 Mayıs 2015, 12:47:07
Display in ortak katot mu?
Evet ise:
Fiziksel bağlantında sorun var.
tek tek her segmenti kontrol eden bir program yaz.
Birde şu yarımyamalak gösteren displayin ve devrenin fotosunu görsek daha faydalı yorumlar yapılabilir.
EDIT:
Programa , main içerisine
set_tris_b(0); satırını ekleyip denermisin.

set_tris_b(0); eklediğimde program hata olduğunu söylüyor ve compile yapmıyor

sadogan

Ortak anot için bağlantı doğru değil.
Ortak ucu +5volta baglayip porta giden datanın complimentini
Alman gerekiyor.

mehmet

Örnek1: Ortak Katod,


:10000000FE2F00308A000408840A820700343F343F
:1000100006345B344F3466346D347D3407347F34BA
:020020006F343B
:100F9E008312031386018316031386018312031330
:100FAE009F010800F301CF27F3010A3073020318E3
:100FBE00FC2F7308013E8400012083120313860068
:100FCE000330F2008A30F1005630F000F00BED2FB6
:100FDE00F10BED2FF20BED2FF42F0130F000700816
:100FEE00F3070A307302031CE02FF301DB2F83019A
:020FFE00D92FE9
:02400E0058FE5A
:00000001FF


Örnek2: Ortak Anod,


:10000000FE2F00308A000408840A820700343F343F
:1000100006345B344F3466346D347D3407347F34BA
:020020006F343B
:100F9C008312031386018316031386018312031332
:100FAC009F010800F301CE27F3010A3073020318E6
:100FBC00FC2F7308013E84000120FF3A83120313B7
:100FCC0086000330F2008A30F1005630F000F00B4E
:100FDC00ED2FF10BED2FF20BED2FF42F0130F00074
:100FEC007008F3070A307302031CDF2FF301DA2FAA
:040FFC008301D82F66
:02400E0058FE5A
:00000001FF
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr
https://creativecommons.org/licenses/by/4.0/deed.tr "CC BY"

uzmandr.

Alıntı yapılan: sadogan - 30 Mayıs 2015, 17:51:32
Ortak anot için bağlantı doğru değil.
Ortak ucu +5volta baglayip porta giden datanın complimentini
Alman gerekiyor.
ustam +5 volta bağladığımda zaten bu sıkıntıyı yaratıyor sema ornek sadecede datanın complimentini almak derken neyi kastediyorsunuz?

overlok

"output_b(0b00111111);//0" bu kısımları;

"output_b(0b11000000);//0" bu şekilde değiştirip dener misin? Tersini al yani portb nin.


Hanımların dikkatine, overlok makinesi ayağınıza geldi!

RaMu

Bu program ortak katod display için yazılmış.
Ortak katod = display deki segment ledlerinin hepsini
eksi uçları birbirine bağlı demektir.
Soldaki ortak katod.


a,b,c,d,e,f,g,nokta
pinlerinden hangisine artı 1 5V verirsen o led yanar.
(direnç değeri 5V için 330ohm 470ohm uygundur.)

Eğer isiste ortak katod seçmediysen ortak katod display bulup onu kulanmalısın.
isiste eleman seçimi modundayken P ye tıklayıp library ye girdiğinde
"7seg-com-cathode" şeklinde arattığında bulacağın eleman 7 segment ortak katod displaydir.


Complement dediğimiz tersleme,
misal ortak katod için 1 olan değerler
ortak anad için 0 olması gerekir,
yani sen ortak katod displayde 1 yazabilmek için 0b 0000 0110 gönderiyorsan
              ortak anod displeyde  1 yazabilmek için 0b 1111 1001 göndermelisin,
bu iki sayı birbirinin komplementidir.

Direnci digital yap dediğimiz, isisle alakalı birşey,
isis çalışma alanındaki direnç elemanına çift tıkladığında veya
sağ tıklayıp edit properties dediğinde
açılan menüden  Model types kısmına tıklayıp,
anolag değil digital yapacaksın.
Ama eğer 330 ohm direnç ile
display pic bacakları arası bağlantıları yaptıysan buna gerek kalmaz zaten.

  Yinede çalıştıramazsan
isis ve ccsc projelerini zipleyip
bir dosya paylaşım sitesine yükleyip
indirme linkini burada paylaş,
kontrol edip yardımcı olmaya çalışırım.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

vitruvius

Uygulamayı simulasyonda değil de devreyi kurup deneyin. Isis 7-segment simüle etmede sıkıntılı.

RaMu

1 tane display i denemede hiçbir sıkıntı olmaz,
eğer display taramayı simue edecekseniz sıkıntı çıkabilir.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

uzmandr.

teşekkürler arkadaşlar çözdüm olayı.Aynı kod aynı devreye ortak katot display bağlayınca cözüldü ;D