Notlar..

320volt / Mikrodenetleyici Projeleri/

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

Mikrodenetleyici Projeleri, blog arşivinde PIC16F84 ILE 0-9999 İLERI GERI SAYICI konusu "09999 sayıcı* microchip pic projeleri* PIC16F84* sayıcı devresi* " ile etiketlendi

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

Projenin Kaynak Dosyaları (isis simülasyon,yazılım) pic16f84-0-9999-sayici

  • alis

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

  • 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

  • uğ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 ;)

  • uğ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???

  • ramon

    ç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.

  • ugurcvk

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

  • knight

    bu devrenin asm kodları var mı acaba sizde?

  • tufan alper

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

  • kemal

    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.