PIC16F84A ile 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ı

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ü

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; Konyali












12 basamaklı sayımı ! :D kardeş naaptın sen… 12 basamak trilyon ediyor yav. bunu saymaya insan ömürü yetmez :D
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:)
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?
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ı:)
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?
enerji kesilmesinde bilginin kaybolmaması için bilgiyi eeproma kaydetmelisin..
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ı.
@bme_gokhan
isis, ares kullanım kılavuzu işinize yarayabilir
http://320volt.com/proteus-isisares-turkce-kullanim-kilavuzu/
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
ben devreyi boarda kuruyorum fakat yazılar birbirine giriyor ayrıca saymıyor devrede hangi osilatör kullanılacak söyleyebilirmisiniz
@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
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..