16f628a ya bağlı 2 adet 74hc154 ile karaşimşek sorunu?

Başlatan HD, 02 Nisan 2011, 15:23:12

HD

meraba arkadaşlar ben yakın bi zamanda led tabela işine başladım.kodlamalarıda pic basicle kendim yapıyorum.sorunun şuki 16f628a ya bagladığım 2 adet 74hc154 den pin cogullayarak bi karaşimşek devresi hazırladım.yaptıgım kodlama çalışıyor ancak nedense 1. 74hc154 ün son pinine baglı ledle 2.nin ilk pinine bağlı led degişmeli olarak sürekli yanık kalıyor. bu sorunu nasıl çözerim.yardımcı olabilecek varsa sevinirim.şimdiden teşekkürler.
kodlama aşagıdadır.proteusu görüntüsünü eklemeyi beceremedm.biri yardımcı olursa onuda eklerm.

'***************************************************************************
'*  Name    : pincok.BAS                                              *
'*  Author  : [HASAN DEMİR]                                                *
'*  Notice  : SHİFT REGİSTER kullanarak pin çogaltıp 32 led li karaşimşek. *
'*          : All Rights Reserved                                          *
'*  Date    : 06.03.2011                                                   *
'*  Version : 1.1                                                          *
'*  Notes   :                                                              *
'*          :                                                              *
'***************************************************************************
i var byte
TRISb=%00000
TRISA=%00000
PORTA=0
PORTb=0             'porta nın 1.pinine bağlı led yandı
pause 100            '100 ms bekle   

BASLA:             

for i = 1 to 15         'porta nın2. pininden 16. pinine kadar yak
   
    PORTA=i
    pause 100             'her pin yandığında 100 ms bekle diğerini yak
next

for i = 1 to 15          'porta nın2. pininden 16. pinine kadar yak
   
    PORTb=i
    pause 100             'her pin yandığında 100 ms bekle diğerini yak
next

for i = 14 to 0 step -1   'geriye doğru yak
   
    PORTb=i
    pause 100
   
next

for i = 15 to 0 step -1   'geriye doğru yak
   
    PORTA=i
    pause 100
    if i=0 THEN goto BASLA  'eğer ilk led yandıysa başa dön
next












kardes

Alıntı yapılan: FxDev - 02 Nisan 2011, 16:12:23
1.'nin Q7' bacağına umarım led bağlamadınız. Devre şeması nasıl?

Fx kardeş hc595 ile karıştırmış olacaksın hc154'de q7' yok, hd kardeş kodlamada şu dikkatimi çekti, her 1 den 15e kadar saymadan sonra son açık kalan ledi kapatmayı unutuyorsun, her 1 den 15e ya da 15den 1 e sayarken son kalan ledleri de kapat ve hemen altına delay ms 100 ekle bakalım nasıl olacak.

HD

premuh kardeş ben ledleri ''-''  den ''+'' ya dogru hz154 bacaklarına bagladom E1E2 bacaklarını topraga baglayıp +5v yi ledlerden verdim.1.hc154 porta ya digeride portb ye bağlı.bağlantıda sence bi sorunmu var?
forma dosyaları ekleyemedm nasıl olacagını soylersen sana gondereyim.

kardes

Kardeş yukarıdaki yazımı bi daha okumalısın yapman gerekeni yazdım orda.

ete

Sorun tamamen, adresleme ile ilgili. 74154 ün ABDC adres bacaklarına %0000 bilgisini verip orada bırakırsanız 1 nolu çıkış aktif olur (LOW)
Aynı şekilde ABCD adres girişine %1111 bilgisini verip bıakırsanız 15 nolu çıkışda aktif olur (yani LOW çıkar) birinci döngüye başlamadan önce portu sıfırladığınız zaman otomatikman 1. ve 2. 154 lerin adres bacakları %0000 olmakta ve otomatikman ilk çıkış LOW olmaktadır.
Aynı şekilde birinci döngüden ikinciye geçerken ilk 154 ün adres bacaklarına %1111 verilmiş oluyor ve tekrar oraya dönünceye kadar bu bilgi orada kalıyor. O halde ilk 154 ün 15 nolu çıkışıda Low da bekliyor yani aktif oluyor demektir.
Çözüm entegrelerin enable uçlarınıda kullanarak picden bu bacakları kullanmak ve gerektiği zaman enable bacaklarını low'a çekerek sistemi çalıştırmaktır.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com