1000 kişiden bir kişi için ! devam.... 320volt blog

Elektronik Devreler Projeler » Microchip PIC devreleri bilgiler, Yazar Projeleri Makaleler Elektronik Genel »

PIC16F84A ile Lcd Göstergeli Sayıcı Devresi

lcd göstergeli sayıcı devresi

Bu devrede PIC16F84A mikroişlemcisi ve 16X2 LCD ekran kullanılarak 12 basamaklı bir sayıcı yapılmıştır. SWITCH butonundan gönderilen her sinyal LCD ‘deki değerin bir artmasını sağlar. SIFIRLA butonu ise LCD ’deki değerin sıfırlanmasını sağlar.

PIC16F84A ile sayıcı devre şeması
microchip pic16f84 sayıcı devresi

PIC16F84A ile LCD sayıcı devresinde kullanılan malzemeler;

  • 1 Adet PIC16F84A mikroişlemci
  • 1 Adet 16X2 LCD
  • 3 Adet 10K direnç
  • 1 Adet 4.7K direnç
  • 1 Adet 4Mhz kristal osilatör
  • 2 Adet 22pF kondansatör
  • 2 Adet buton

Kaynak Kodlar
Devreye ait mikroişlemci kodları MicroCode Studio Plus PICBASIC PRO derleyicisinde yazılmış ve derlenmiştir. Derleme işlemi için bilgisayarınızda PBP246 ve MPASM assembly derleyici dosyaları bulunmalıdır.

'****************************************************************
'*  Proje Adı: LCD SAYICI DEVRESİ                               *
'*  Yazar    : HASAN ÜZÜLMEZ                                    *
'*  Not      : LCD 12 basamaklı sayıcı devresi                  *
'*                                                              *
'*  Date     : 10.09.2008                                       *
'****************************************************************
DEFINE LCD_DREG PORTA 'LCD data bacakları hangi porta bağlı?
DEFINE LCD_DBIT 0 'LCD data bacakları hangi bitten başlıyor?
DEFINE LCD_RSREG PORTA 'LCD RS Bacağı Hangi Porta bağlı ?
DEFINE LCD_RSBIT 4 'LCD RS bacağı Hangi Bite bağlı ?
DEFINE LCD_EREG PORTB 'LCD Enable Bacağı Hangi Porta bağlı?
DEFINE LCD_EBIT 0 'LCD Enable Bacağı Hangi bite bağlı ?
DEFINE LCD_BITS 4 'LCD 4 bit mi yoksa 8 bit olarak bağlı?
DEFINE LCD_LINES 2 'LCD Kaç sıra yazabiliyor
TRISA=0
TRISB=%11000000
SAYI  VAR WORD
SAYI1 VAR WORD
SAYI2 VAR WORD
SAYI3 VAR WORD
SAYI4 VAR WORD
SAYI=0
SAYI1=0
SAYI2=0
SAYI3=0
SAYI4=0
ANA:
    IF PORTB.6=0 THEN SAYI=0:SAYI1=0:SAYI2=0:SAYI3=0:SAYI4=0
    LCDOUT $FE,$80,"URETIM MIKTARI=>"
    LCDOUT $FE,$C0,DEC3 SAYI1,".", DEC3 SAYI2,".",DEC3 SAYI3,".",DEC3 SAYI4
    PAUSE 100
    IF PORTB.7=1 THEN GOTO ANA
    SAYI4=SAYI4+1
    IF SAYI4>=1000 THEN
    SAYI4=0
    SAYI3=SAYI3+1
    IF SAYI3>=1000 THEN
    SAYI3=0
    SAYI2=SAYI2+1
    IF SAYI2>=1000 THEN
    SAYI2=0
    SAYI1=SAYI1+1
    IF SAYI1>=1000 THEN
    SAYI1=0
    SAYI=SAYI+1
    IF SAYI>=10 THEN
    SAYI=0
    ENDIF
    ENDIF
    ENDIF
    ENDIF
    ENDIF
    GOTO ANA
    END

Devrenin Proteus Ares programında görünümü
lcd göstergeli sayıcı devresi proteus ares pcb

Projenin Koynak simülasyon pcb ve kod dosyaları pic16f84-lcd-sayici-devresi

Yazar: Konyalı

Yazarımızın 320volt.com Blog üzerinde şu an okuduğunuz yazı dahil 15 yazısı bulunmaktadır. Yazarımız hakkında bilgileri ve diğer yazılarını görmek için bakınız;

Elektronik

 
  1. elektrofizik says:

    12 basamaklı sayımı ! :D kardeş naaptın sen… 12 basamak trilyon ediyor yav. bunu saymaya insan ömürü yetmez :D

  2. Konyalı says:

    bu devreyi lisede staj yaparken(teneke ambalaj fabrikası) bir çok makinada görmüştüm, ama doğru bu kadar basamak var mıydı hatırlamıyorum. Maksat LCD ekran zengin gözüksün:)

  3. orhan says:

    bu devreyi kurdum fakat çalışmıyor sanırım bir hata var.lcd üst satırda siyah kareler çıkıyor, alt satırda ise hiçbirşey çıkmıyor.
    programın 2. satırında “DEFINE LCD_DBIT 0″ komutu “DEFINE LCD_DBIT 4″ olması gerekmez miydi?

  4. Konyalı says:

    DEFINE LCD_DBIT 0 data ucunun kaçıncı pinden başladığını belirtir devrede PORTA 0 bitinden başlıo zaten. ayrıca kodların yanında açıklamalarda yazıyor, devreyi proteustamı kurdunuz yoksa gerçek hayattamı:)

  5. orhan says:

    tamam hata bendeymiş devre normal çalışıyor fakat birşey sormak istiyorum;
    beslemeyi kesince ekrandaki sayma değeri sıfırlanıyor bunu hafızada tutmak için ne yapmak gerekir?

  6. sezai says:

    enerji kesilmesinde bilginin kaybolmaması için bilgiyi eeproma kaydetmelisin..

  7. bme_gokhan says:

    dostum merhaba. ben ares dosyasını açamadım. proteus 7.6 sp0 var hangi versiyonu kurmam gerekli. ayrıca pcb çizimi yeni öğreniyorum. bu geniş yollar ( plane ) nasıl yapılıyor söyleyebilir misin? zone mode ile yapmaya çalıştım ama olmadı.

  8. gevv says:

    @bme_gokhan

    isis, ares kullanım kılavuzu işinize yarayabilir

    http://320volt.com/proteus-isisares-turkce-kullanim-kilavuzu/

  9. Tolga says:

    kardeş ben bu devreyi 12 basamaklı değilde 2 basamaklı yapacağım ama bunu programdan ayarlayabılrmiyim acaba yardımcı olursnız sevinirim sadece tek fark 12 basamak değil 2 basamak olacak ben 30 a kadar saydırıcam bu lcd yi

  10. Hakan says:

    ben devreyi boarda kuruyorum fakat yazılar birbirine giriyor ayrıca saymıyor devrede hangi osilatör kullanılacak söyleyebilirmisiniz

  11. Konyali says:

    @Hakan
    4 MHz kristal ve 22pF kondansatör kullanmıştım.(Bunlar zaten malzeme listesinde var) yazıların birbirine girmesi muhtemelen temas probleminden kaynaklanıyor boardu kontrol edin

  12. Solea says:

    Merhabalar;
    Ben bu devreyi bobin sarıyorken spir sayısı sayması için yapmayı istiyorum. Ancak devreden anlayamadığım birkaç sorum olacak..
    Devre kaç volt enerji ile çalışmakta, ve pıc ile hiç çalışma yapmadığım için devre bittikten sonra pıc e o kodları nasıl göndereceğiz. Yardımcı olursanız sevinirim. Elektronik bilgim çok fazla yok, 10 sene önce liseden öğrendiğim bilgilerden kalanlar ile yapmayı deneyeceğim.. Teşekkürler..

Yorum Sayfaları

Yorum yapın

Doğrulama: (kutuyu işaretleyiniz)

  • Lütfen Türkçe imla kurallarına dikkat etmeye özen gösteriniz.
  • Yorumunuz yönetici tarafından kontrol edilmeden yayımlanmaz.
  • Paylaşılan devrelerin malzeme listesini istemeyiniz. Olsa zaten paylaşılırdı şema üzerinden listeyi çıkartabilirsiniz
  • Gavatar sitesine avatarınızı yükleyebilirsiniz.