7 segmen tarama yönteminde hafif yanık kalan segmentler

Başlatan mcn, 30 Kasım 2011, 19:41:11

mcn

displayler ortak katot.

Allegro, justice_for_all hocam,dediklerinizi yaptım değişen bişey olmadı malesef ???
www.teknikyazi.com --üşenme,erteleme,vazgeçme...

justice_for_all

#16
peki suan entegrenin p1 portunu kullaniyomusun? ayrica hic sabit bi sayi yada rakam gonderip denedin mi?sadece birler basamagina bi rakam gonder bakalim..
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

tuggy

Balık tutma yöntemi: i) Aynı devrede 1 ler basamağındaki 7 segmente 0-9 sayıcı programı yaz
                                ii) Sonra en değersiz 2 segmentte 0-99 programı yaz
                                iii) Ardından bize 0-9999 sayıcının nasıl yapılacağını  ve önceki  hatanı sebepleriyle birlikte buraya yaz

(lütfen)

Kolay gelsin...
                                 

SERRO EFE

Bi tavsiyede benden tarama işini iptal et ilk segmentin ortağını eksiye çek,shiftregistere sayıları gönder. En azından displeye gönderdiğin rakamların doğruluğundan emin ol.

mcn

Şimdi,tüm segmentleri aktif yapıp hepsinde sırayla 1 den 9 a kadar sayıları saydırıyorum.Tarama yaptırmadan yani,burada problem yok.Sayılar düzgün.

Ama tarama yaptırmaya çalıştığımda örneğin tüm segmentlere 1 yazmaya çalıştığımda fotoğrafta da gösterdiğim gibi sayı bozuk çıkıyor.(her segmentte aynı şekilde)

@picmanya
dediğiniz doğru,74164 e veri gönderildikten hemen sonra uln yi aktif ediyorum.Belki sorun bundandır diye,74164 e veri gönder kısmını 2 defa yaptım,bekleme koydum 1ms ama gene değişen bişey olmadı.

@justice_for_all
p1 portunu kullanmıyorum şu an.
www.teknikyazi.com --üşenme,erteleme,vazgeçme...

justice_for_all

bide p1 portunu kullanarak displayleri kullanin derim bence bakalim o zamanda ayni hata olcakmi
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

mcn

Sonundaaaaa!!!!  ;D

Clock ve data pinini p1 portuna alınca düzeldi  ;)

Herkese çok çok teşekkürler,konu çözüldü. :)
www.teknikyazi.com --üşenme,erteleme,vazgeçme...

Mucit23

Ayrıca Taramada 74164 yerine 74595 kullanmanı tavsiye ederim.

z

Alıntı yapılan: mcn - 30 Kasım 2011, 21:54:16
Sonundaaaaa!!!!  ;D

Clock ve data pinini p1 portuna alınca düzeldi  ;)

Herkese çok çok teşekkürler,konu çözüldü. :)

Burda duralim simdi. Port degistirerek sorunun duzelmis olmasi cozum degil. Port degistirmeden de sorunu bulup duzeltebilmen gerekli.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

mcn

Evet bunalmıs hocam haklısınız.BEnde o yazıyı yazdığımdan beri onunla uğraşıp nedenine bakıyorum ancak bir ilerleme kaydedemedim.
www.teknikyazi.com --üşenme,erteleme,vazgeçme...

fatihinanc

Selamlar,

P2 Portunun hangi pini idi sıkıntı olan hocam ?
Kainat dediğimiz kitap, yazıldığı dil ve harfler öğrenilmedikçe anlaşılamaz.  (Galileo Galilei)

mcn

ayrıntıları veriyorum:

kullandığım işlemci MSP430G2553
http://www.ti.com/lit/ds/symlink/msp430g2513.pdf
1 MHZ de dahili osilatörle çalıştırıyorum

Sorunlu haldeki pin bağlantısı:
CLOCK P2.0
DATA   P2.1

P2.2 ULN nin 1. bacağı
P2.3 ULN nin 2. bacağı
P2.4 ULN nin 3. bacağı
P2.5 ULN nin 4. bacağı


daha sonra data ve clock pinlerini şu şekilde değiştirince sorun çözüldü:
CLOCK P1.0
DATA   P1.1
www.teknikyazi.com --üşenme,erteleme,vazgeçme...

fatihinanc

[IMG]http://img836.imageshack.us/img836/307/p2reg.png[/img]

P2DIR ayarlamaları yukarıdaki tablodaki gibi yapıldıktan sonra bir sorun olmamalı ama yine de kesin konuşmam için kodu da ekleseniz iyi olur.
Debug yapıp pinin low-high gerilimlerini olçtünüz mü hiç ? Sonuç ne çıkıyor ?
Kainat dediğimiz kitap, yazıldığı dil ve harfler öğrenilmedikçe anlaşılamaz.  (Galileo Galilei)

mcn

Sanırım sorun kökten çözüldü;
Şimdi,
her 74164 e bilgiyi gönderdikten sonra

kodumdaki onlar basamağının tarama satırı şu şekildeydi:

     
   i=onlar;
         tara();   P2OUT = 0x13; 
         delay(x); P2OUT = 0x00;


burda tarama da son olarak clock pinini lojik0 yaparak tara() fonksiyonundan dönmekte.Ancak ben burada tekrar o clock ve data pinini lojik1 yaptığımdan dolayı taramadan önce
74164 e yüklü olan datayı bozuyordu ve sayıları yanlış gösteriyordu.

Şimdi şu şekilde yapınca:
i=onlar;
         tara();   P2OUT = 0x10; 
         delay(x); P2OUT = 0x00;


Yani tara() fonksiyonundan çıkınca data ve clock pinini 0 da tutmaya devam edince  74164 e tekrar clock ve veri gönderilmemiş sorun çözülmüş  oldu.
Port değiştirince düzelmesinin nedeni de buydu.Şimdi tam olarak sorunu çözdük diyebiliriz sanırım.
www.teknikyazi.com --üşenme,erteleme,vazgeçme...