İçindekiler:

Proteus'ta Pic18f4520 Kullanan Kronometre 7 Segmentli: 6 Adım
Proteus'ta Pic18f4520 Kullanan Kronometre 7 Segmentli: 6 Adım

Video: Proteus'ta Pic18f4520 Kullanan Kronometre 7 Segmentli: 6 Adım

Video: Proteus'ta Pic18f4520 Kullanan Kronometre 7 Segmentli: 6 Adım
Video: MPLAB XC8 İle PIC Programlama / Ders 6 : 7 Segmentli Display İle Aşağı Yukarı Sayıcı 2024, Kasım
Anonim
Proteus'ta Pic18f4520 Kullanan Kronometre 7 Segmentli
Proteus'ta Pic18f4520 Kullanan Kronometre 7 Segmentli

Pic controller ile çalışmaya yeni başladım, bir arkadaşım ondan bir kronometre yapmamı istedi. Yani paylaşacak donanım imajım yok, Proteus yazılımında kod yazdım ve simüle ettim.

Burada aynı şemayı paylaştım.

üç değişken milisaniye, saniye, dakika tanımlanır

Burada 10 ms'lik timer interrupt kullandık, her 1000 milisaniyede saniye değişkeni artacak, her 60 saniyede bir dakika değişkeni artacak.

Adım 1: Gerekli Şeyler

1 pic18f4520 denetleyici

2 yedi segmentli ekran

3 bc547 transistör

Başlatma/durdurma/sıfırlama için 4 anahtar

5 direnç 330E, 10K, 1K

6 mikroC'yi resim için indirin

7 proteus'u indirin

Adım 2: Kod Mantığı ve Ekranı

Kod Mantığı ve Ekranı
Kod Mantığı ve Ekranı
Kod Mantığı ve Ekranı
Kod Mantığı ve Ekranı

Yedi Segment Ekran Nedir? Yedi Segment Ekran (SSD) en yaygın, ucuz ve kullanımı basit ekranlardan biridir. Yukarıdaki gibi görünüyor.

Burada Ortak katot tipi 7 segmentli ekran kullanmalıyız – Ortak katot tipi SSD'de, tüm LED'lerin –ve terminali yaygın olarak 'COM' pinine bağlanır. İlgili LED segmentine '1' verildiğinde ve ortak kısma toprak bağlandığında bir segment yanabilir. İç kısımlar şekil 2'de verilmiştir.

Adım 3: Mikrodenetleyici ile Sürüş Ekranı

Mikrodenetleyicili Sürüş Ekranı
Mikrodenetleyicili Sürüş Ekranı

Devremde NPN BC547 Transistör kullandım.

Bir BJT'nin anahtar olarak basit kullanımı için, baz terminalde bir giriş sinyali olduğunda emitör-toplayıcı bağlantıları kısalır, aksi takdirde kesik kalır. Giriş uygun bir direnç üzerinden verilmelidir.

Adım 4: Neden Çoğullama?

Genellikle iki, üç veya daha fazla SSD kullanmamız gerekir ve bu da yalnızca tek bir MCU kullanır, ancak karşılaştığımız sorunlardan biri MCU'da G/Ç pinlerinin olmamasıdır, çünkü bir SSD 8 pin ve dolayısıyla üç SSD alır. 24 pin alacaktı. pic18'de sadece 48 I/O pinimiz var. Çözüm nedir?

Bir olasılık, daha fazla I/O pinli daha büyük bir MCU kullanmamızdır. Ancak yine de kullanılabilecek maksimum 3 SSD ile sınırlıyız. Bu soruna çok daha iyi ve önerilen bir başka çözüm de Yedi Segment Ekranı çoğaltmaktır.

Wikipedia, 'Telekomünikasyon ve bilgisayar ağlarında, çoğullama (muxing olarak da bilinir), çoklu analog mesaj sinyallerinin veya dijital veri akışlarının paylaşılan bir ortam üzerinden tek bir sinyalde birleştirildiği bir yöntemdir. Amaç pahalı bir kaynağı paylaşmaktır.'Yedi segmentli ekranın çoğullanmasından kastımız, tüm SSD'lerde ekranı vermek için sadece 7 çıkış portu kullanacağımızdır.

Adım 5: Bu Nasıl Elde Edilir?

Burada 'Vizyon Kalıcılığı' kullanacağız. Şimdi bu terimi daha önce görmüş olmalısınız. Evet, bu, sinematografide kullanılan tekniğin aynısıdır (görüntüleri o kadar hızlı gösterir ki beynimiz iki ardışık görüntü arasındaki gecikmeyi ayırt edemez). Benzer şekilde, birden fazla SSD'yi muxladığımızda, aynı anda yalnızca bir SSD görüntülüyoruz ve aralarında o kadar hızlı geçiş yapıyoruz ki beynimiz onları ayırt edemiyor.

Diyelim ki her bir ekran bir seferde sadece 5 milisaniye aktif, yani saniyede 1/0.0045 kez aydınlanıyor, bu kabaca 222 kez/saniyeye eşittir. Gözlerimiz bir değişikliği bu kadar hızlı algılayamaz ve bu nedenle gördüğümüz tüm ekranların aynı anda çalıştığıdır. Donanımda gerçekte olan şey, MCU'nun pine '1' vermesidir (unutmayın, bir BJT'nin tabanına '1' vererek, Kollektör ve emitör bağlantısını kısaltır?), ilgili ekranlar, bağlantı noktasını 5 milisaniye boyunca 'AÇIK' tutar ve ardından tekrar kapatır. Bu prosedür sonsuz bir döngüye konur, böylece ekranı sürekli olarak görebiliriz.

Adım 6: Çoğullama Algoritması

Çoğullama Algoritması
Çoğullama Algoritması

Biri segment veri portu ve segment kontrol portu için olmak üzere kodda iki bağlantı noktası tanımlayın.

Buradaki hile, verileri 7 segmentin tamamında görüntülemenizdir. ve bu verileri görüntülemeniz gereken bir kontrol pinini etkinleştirin. verileri değiştirin ve kontrol pimini kaydırın.

burada bu talimatta 6 basamaklı çoğullama kullandık, sadece ekli c dosyasını gözden geçirin ve onu temizleyeceksiniz.

Önerilen: