7 segment display konusunda yardım

Başlatan burç tankal, 24 Mart 2015, 01:48:22

burç tankal


Arkadaşlar resimdeki ortak katotlu 3 adet 7 segment display sürmek üzere 7448 entegresini pic'ime bağladım.Tarama yöntemini kullanacağım için sadece Q1 transistörünün bağlı olduğu pin'i high yaparak  portb=4; komutu gönderdiğimde displaylerin 3'ününde yandığını gördüm. Oysa ki sadece ilk displayin çalışmasını istiyorum. Nerede hata yapmış olabilirim.

Edit: Devreyi kurmadım, hatayı proteus'ta alıyorum

sbit s1     at RB5_bit;
sbit s2     at RB6_bit;
sbit s3     at RB7_bit;
void main() 
{
 trisb=0x00;
 portb=0x00;
 trisc=0x00;
 portc=0x00;
 s1=1;
 portc=4;
}

z

Beyzler ile kollektörleri karıştırmış olabilirsin.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

burç tankal

#2
Giriş yazımı şimdi editledim. Bahsetmeyi unutmuşum. Devreyi gerçekte kurmadım. Hatayı proteus'ta alıyorum. Devre şemasını yukarıda verdim. Beyzler ve kolektörler doğru sanırım.

mesaj birleştirme:: 24 Mart 2015, 03:00:17

Gerçek devrede uygulanmamak üzere display katotlarının bir direnç ile pull-up yapılması gerekiyormuş.

z

portc=4; satırından sonra while (1); satırını eklemeyi dene.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Mucit23

Isiste bu durum yaşanır ama gerçekte normal çalışır. Isisteki bu durumu önlemek için transistorlerin kollektorlerini 10K ile pull-up yap.

Gökhan BEKEN

main()
{
işlem
işlem
işlem
while(1);
}

şeklinde olsun yoksa (yanlış hatırlamıyorsam) sürekli başa döner, yani reset atmış gibi olur.
Özel mesaj okumuyorum, lütfen göndermeyin.

burç tankal

Evet sorun isis'teymiş. Kolektörleri pull up yapınca sorun halloldu. Sanırım gerçek devrede bunları kullanmayacağız.