avatar_efeworld

dotmatrix problem

Başlatan efeworld, 03 Nisan 2016, 23:29:03

efeworld

sevgili ete hocam ve arkadaşlar kayan yazı ile ilgili çalışıyorum son zamanlarda simülasyon olarak gayet güzel çalışıyorlar fakat devreyi gerçekte yapmak istediğimde 8*8 dotmatrixin nerdeyse tüm ledleri yanıyor.74595 in çıkışlarının her birine 330 ohm direnç bağladım.uln 2803 ün giriş uçlarına pull up dirençler bağladım uln 2803 ün çıkışlarına 330 ohm direnç bağladım.74595 in 11 ve 12 nolu bacaklarına pull down direnç bağladım fayda etmedi.bu programı çok sade yaptım amaç sadece ekranda A harfinin görünmesi isiste gayet güzel çalışıyor ama gerçekte nerdeyse bütün ledler yanıyor yardımlarınızı bekliyorum teşekkürler.
 trisa=0
    trisb=0
    trisc=0
    trisd=0
    trise=0
    portb=0
    a var byte[8]
    satir var byte                               
    a[1] =$10                                 
    a[2]= $28
    a[3]= $44
    a[4]=$44                                 
    a[5]=$7c
    a[6]=$44
    a[7]=$44
    a[8]=$00
    x var byte
    symbol dta=portb.7
    symbol clk =portb.6
    symbol ver=portb.5

    basla:
   for x=0 to 7
   satir=a[x]
   dta=satir.0
   pulsout clk,1
   next
   pulsout ver,1
   portc=%00000001
   pause 1
   portc=0
   x=0
     for x=0 to 7
   satir=a[x]
   dta=satir.1
   pulsout clk,1
   next
   pulsout ver,1
    portc=%00000010
    pause 1
     portc=0
     x=0
     for x=0 to 7
   satir=a[x]
   dta=satir.2
   pulsout clk,1
   next
   pulsout ver,1
      portc=%00000100
      pause 1
     portc=0
     x=0
     for x=0 to 7
   satir=a[x]
   dta=satir.3
   pulsout clk,1
   next
   pulsout ver,1
    portc=%00001000
    pause 1
        portc=0
    x=0 
     for x=0 to 7
   satir=a[x]
   dta=satir.4
   pulsout clk,1
   next
   pulsout ver,1
      portc=%00010000
      pause 1
        portc=0
       x=0
     for x=0 to 7
   satir=a[x]
   dta=satir.5
   pulsout clk,1
   next
   pulsout ver,1
     portc=%00100000
     pause 1
           portc=0
          x=0
     for x=0 to 7
   satir=a[x]
   dta=satir.6
   pause 1
   pulsout clk,1
   next
   pulsout ver,1
      portc=%01000000
      pause 1
              portc=0
              x=0
     for x=0 to 7
   satir=a[x]
   dta=satir.7
   pulsout clk,1
   next
   pulsout ver,1
     portc=%10000000
     pause 1
   portc=0
   x=0

   goto basla

~ENES~

Sigortalar nerede? İslemci olarak ne kullandin ? Mclr aktifmi pasif mi ? Devre şemasi nerede ? Bunlari eklersen daha mantikli yardimci olmaya çalişiriz üstadim ..malum olmazsa olmazlar bunlar ...
ALLAH'a teslim olmuş bir insan ! Ne sultan tanir , ne sadrazam !

efeworld

işlemci 16f877a mclr 1, oe 0,yani 74595 in 10 nolu ucu +5 volt 13 nolu ucu 0 şemayı eklemeyi beceremedim sigorta ayarlarını programa eklediğimde microcode studio hata veriyor bende sigorta ayarlarını micropro 26 üzerinden yapıyorum.ilginize teşekkür ederim

efeworld

sayın  ete hocam ve sayın arkadaşlar.ben bu site ve ete hocam sizin sayenizde altından değerli bilgiler öğrendim.fakat bazı katı kurallarınız var ve ben istemedende olsa onları yerine getiremedim.
    sözün kısası çok uzun zaman uğraştım ama eninde sonunda hatayı gördüm.aslında hata değil ama nedense uln 2803 ün com ucuna 0 volt verdiğimde bütn ledler yanıyor gibi oluyor ama com ucunu boşta bırakırsam kayan yazı gayet güzel çalışıyor.eğer bu sorunla karşılaşan arkadaşlara duyurumdur

ete

Öğrendiğin bilgileri daima bir temele dayandır. Bu konuda görsel hafıza çok iyidir. Bu nedenle olayı anlamak için Uln2803 ün data sheet ine bakman yeterli olacak idi. Uln entegresi bir sıralı dizilmiş NPN transistör elemanıdır. Çıkışları yani transistörün Collector ucu ile Com pini arasında yalnızca bir diyot vardır. Bu diyot aslında bir röle sürerken röle uçlarına bağlanmış diyot ile aynı görevi üstlenir. Bu nedenle com ucuna + verilmesi gerekir. O uca gnd verirsen diyottan geçer ve çıkışların hepsine ulaşır.
Ama devreni çalıştırmaz çaşıştırır gibi gözükür zire bütün çıkışlara low ulaşmış olur. Halbuki sana lazım olan işemciden çıkan kombinasyona göre bazı pinlerin low bazılarının high olmasıdır.
Sonuçta devrende bir kusur olduğu apaçık ortada. Uln nin com ucuna low vermek de doğru bir iş değil. Ya işlemcinden gerekli high low kombinasyonu ulny ulaşmıyor yada işlemcin çalışmyor. Devrene bak bana kalırsa.

Ete

efeworld

Şu an problem yok hocam com ucunu boş bıraktım ilginize teşekkür ederim


Powered by EzPortal