PIC16F84 ile 0-9999 İleri Geri Sayıcı

| Mayıs 21, 2023 Tarihinde güncellendi
PIC16F84 ile 0-9999 İleri Geri Sayıcı

Bu devrede 16F84A mikroişlemcisi ve 7 parçalı göstergeler kullanılarak 0-9999 sayıcı devresi oluşturulmuştur. Artı (+) butonu sayıcı değerinin artmasını eksi (-) butonu ise azalmasını sağlar. RESET butonu ise sayıcıdaki değeri sıfırlar.

0-9999 sayıcı devre şeması

Şekil 1: PIC16F84A ile 0-9999 sayıcı devresi

PIC16F84A ile 0-9999 sayıcı devresinde kullanılan malzemeler;

  • 1 Adet PIC16F84A mikroişlemci
  • 4 Adet 7 parçalı gösterge (ortak katot)
  • 4 Adet 4511 entegresi
  • 28 Adet 330Ω direnç
  • 2 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ı: 0-9999 SAYICI DEVRESİ                            			             *
'*  Yazar    : HASAN ÜZÜLMEZ                                    			             *
'*  Not      : PIC16F84 İLE 0-9999 İLERİ-GERİ SAYICI            		             *
'*                                                              					             *
'*  TARİH    : 10.09.2008                                       				             *
'****************************************************************
TRISA=1                   		'PORTA'NIN TAMAMI GİRİŞ
TRISB=0                   		'PORTB'NIN TAMAMI ÇIKIŞ

SAYI VAR WORD
BIRLER VAR  WORD          	'1.DİJİT
ONLAR  VAR  WORD          	'2.DİJİT
YUZLER VAR  WORD          	'3.DIJIT
BINLER VAR  WORD          	'4.DIJIT
PORTB=0                   		'PORTB'NİN TAMAMINI SIFIRLA
SAYI=0                    		'SAYI İÇERİĞİNİ SIFIRLA
MAIN:
IF PORTA.0=0 THEN ILERISAY
IF PORTA.1=0 THEN GERISAY
GOTO MAIN
ILERISAY:
IF SAYI=9999 THEN SAYI=0
SAYI=SAYI+1
PAUSE 10
BIRLER=SAYI     DIG 0
ONLAR=SAYI      DIG 1
YUZLER=SAYI     DIG 2
BINLER=SAYI     DIG 3
PORTB=240 | BIRLER
LOW PORTB.7
PAUSE 10
HIGH PORTB.7
PAUSE 10
PORTB=240 | ONLAR
LOW PORTB.6
PAUSE 10
HIGH PORTB.6
PAUSE 10
PORTB=240 | YUZLER
LOW PORTB.5
PAUSE 10
HIGH PORTB.5
PAUSE 10
PORTB=240 | BINLER
LOW PORTB.4
PAUSE 10
HIGH PORTB.4
PAUSE 10
GOTO MAIN
GERISAY:
IF SAYI=0 THEN SAYI=9999
SAYI=SAYI-1
PAUSE 10
BIRLER=SAYI     DIG 0
ONLAR=SAYI      DIG 1
YUZLER=SAYI     DIG 2
BINLER=SAYI     DIG 3
PORTB=240 | BIRLER
LOW PORTB.7
PAUSE 10
HIGH PORTB.7
PAUSE 10
PORTB=240 | ONLAR
LOW PORTB.6
PAUSE 10
HIGH PORTB.6
PAUSE 10
PORTB=240 | YUZLER
LOW PORTB.5
PAUSE 10
HIGH PORTB.5
PAUSE 10
PORTB=240 | BINLER
LOW PORTB.4
PAUSE 10
HIGH PORTB.4
PAUSE 10
GOTO MAIN
END
pic16f84-ile-0-9999-ileri-geri-sayici

Şifre-Pass: 320volt.com

Yayım tarihi: 2008/10/15 Etiketler: , , ,



12 Yorum “PIC16F84 ile 0-9999 İleri Geri Sayıcı

  1. alisalis

    ilginç bir devre neden 0-9999 9999dan daha fazla olmuyormu bu devreyi yapmayı düşünüyorum maliyeti ortalama ne olur teşekkürler

    CEVAPLA
  2. KonyalıKonyalı

    pic pin sayısına ve kullanımına bağlı olarak 0-9999 pinleri farklı kullanarak çok daha fazla basamaklı sayıcılar yapabilirsiniz

    CEVAPLA
  3. uğuruğur

    pic in 12 adet port çıkışı olduu için ancak 4 display çalıştırılabiliyor. 4 displayde de yazılabilecek en büyük sayı değeri 9999 dur
    eğer daha fazla saydırmak istiyorsanız ya daha fazla port çıkışı olan pic sececeksiniz yada devreye ek malzemeler eklemek gerekir böle oluncada hem program değişir hemde dere. bu kunuyla ilgili bilgiler internettte mevcut aynı zamanda bu devrenin daha az maaliyetlileride bulunuyor 😉

    CEVAPLA
  4. uğuruğur

    peki arkadaşlar bu devrenin 10 adet clock pulse geldiğinde 1 diye sayması ve her 10 clock pulsede 1 artması için ne gibi bir değişiklik yapmalıyız???

    CEVAPLA
  5. ramonramon

    çok güzel bi çalışma olmuş emğinize sağlık.
    ben ASM ile program yazıyordum baktım bir yere kadar gidebiliyorum ASM ile.
    BASIC i öğrenmeye çalışıyorum şimdi.
    buna benzer bi program daha inceledim daha basitti.
    orada da “DIG” komutu ve
    PORTB=240 l birler
    şeklinde ifadeler vardı.
    tam olarak bu komutlar ne işe yarıyor. Yada BASİC komutlarını detaylı olarak anlatan bir kaynak varsa çok daha güzel olur benim için.

    CEVAPLA
  6. ugurcvkugurcvk

    kodları MicroCode Studio Plusina yazıyorum ama çalışmadı hata veriyor nedendir..?

    CEVAPLA
  7. tufan alpertufan alper

    öncelikle teşekkür ederim ama ben bunun baskı devresini arıyorum elinizde mevcut ise gönderebilir misiniz?

    CEVAPLA
  8. kemalkemal

    bana bu devrenin 16f877 ile yapılıp mikro C ile hazırlanmış hali lazım elinizde çalışan yazılım varsa verirmisiniz? malum bu dersi geçmem lazım projem.

    CEVAPLA
  9. Enes ÖzakEnes Özak

    bunun ares çizimini bana atabilecek bi vatandaş var mı rica etsem

    CEVAPLA
  10. ENESENES

    MERHABA DEVREYİ KURDUM PROGRAMI YAZDIM ÇALIŞIYOR AMA TEK SIKINTI 3 ER 3ER SAYIYOR NE YAPABİLİRİM

    CEVAPLA
  11. Mehmet AkbaşMehmet Akbaş

    Devreyi yaptım çok güzel çalışıyor, enerji kesildiğinde son sayı değerini saklamak için, SAYI değişkenini EEPROM a kaydediyorum ve READ la okutuyorum, sorun bazen farklı değerler çıkıyor, nedeni ne olabilir.?

    CEVAPLA

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir