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 Kaynak simülasyon pcb ve kod;
Şifre-Pass: 320volt.com
Yayım tarihi: 2008/10/16 Etiketler: 2X16 LCD, microchip pic projeleri, Microcode studio, MPASM, PBP246, PIC16F84 örnekleri, PIC16F84A, picbasic pro, sayıcı devresi
12 basamaklı sayımı ! 😀 kardeş naaptın sen… 12 basamak trilyon ediyor yav. bunu saymaya insan ömürü yetmez 😀
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
https://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..
konyalı arkadaşım bu devreyi arabaya uyarlamak istiyorum ama iki satır sayı sayması gerekmette ilk satır sürekli sayacak sıfırlanmayacak ve 0,000,000 değerinde yani milyona kadar çıkmalı ikinci satır 0,000 binler değerinde sayacak hafıza konusunu ve kalibrasyon işi bana ait bunları ayarlayabilirim bana sadece iki satır sayması gerekiyor bana bu konuda yardımcı olacak bir arkadaş varmı ?
merhabalar.Ben bu devreyi gerçek hayatta kurdum çalışıyor.ancak bir sorunum var sayma işlemi için butona bastığımda sayı butona basıldığı sürece artmaya devam ediyor, butondan elimi çektiğimde sayma duruyor tekrar saymak için bastığımda sayı sıfıra dönüp tekrar saymaya başlıyor.ben butona bastığımda sayının tek tek artm.asını istiyorum yardımcı olursanız sevinirim
merhabalar sayıcı devresini kurdum gayet güzel çalışıyor. arkadaşın dediği gibi butona basılı tutulduğu sürece sayıyor. bunu butona her basış 1 defa sayacak şekilde nasıl düzenleyebiliriz teşekkürler.
iyi çalışmalar
Hocam devreyi yaptımda lcd ekranı kareler var yazı yok