elektronikçi11
Üye
- Katılım
- 2 Eki 2009
- Mesajlar
- 3
- Puanları
- 1
0-99'a Sayan Sayacın İleri Doğru Tasarımı Yardımcı Olursanız Sevinirm..
0-99'a Sayan Sayacın İleri Doğru Tasarımı Yardımcı Olursanız Sevinirm..
@ DEVICE pic16F84A 'islemci 16F628
@ DEVICE pic16F84A, WDT_on 'Watch Dog timer kapalı
@ DEVICE pic16F84A, PWRT_ON 'Power on timer açık
@ DEVICE pic16F84A, PROTECT_OFF 'Kod Protek kapalı
@ DEVICE pic16F84A, XT_OSC ‘4 MHz Kristal osilatör kullandık
PortA=0
TrisA=%00000011 ‘portA.0 ve PortA.1 giris digerleri çıkıs yapıldı
PortB=0
TrisB=%00000000 ‘PortB tamamı çıkıs yapıldı.
Symbol TUSA=PORTA.0
SYMBOL TUSB=PORTA.1
SAYI var byte
BIRLER VAR BYTE
ONLAR VAR BYTE
PORTB=0
SAYI=0
'--------------------------------------------------
PAUSE 200
BASLA:
IF TUSA=0 THEN ‘Sayet ilk tusa basılmıs ise
SAYI=SAYI+1 AUSE 150 ‘Sayı degerini bir artır ve 150 ms bekle
IF SAYI=100 THEN SAYI=99 ‘Sayı 100 olmus ise 99 yap çünki 2 digit displayimiz var.
ENDF
IF TUSB=0 THEN ‘Sayet ikinci tusa basılmıs ise
SAYI=SAYI-1AUSE 150 ‘Sayı degerini bir azalt ve 150 ms bekle
IF SAYI=255 THEN SAYI=0 ‘sayı 255 olmus ise (sıfırdan sonra tekrar 255 olur) sayı yı 0 yap.
ENDF
BIRLER=SAYI DIG 0 ‘Birler hanesi Sayının sıfırıncı digitidir.
ONLAR= SAYI DIG 1 ‘Onlar hanesi sayının birinci digitidir.
PORTB=240 | BIRLER ‘PortB nin üst 4 biti daima High olmalı bu nedenle 240 kullanıyoruz.
LOW PORTB.5 ‘Birler hanesi 4511 (LE ) sini Low yaptık yeni sayı çıkısta demektir.
PAUSE 1 ‘Biraz bekledik
HGH PORTB.5 ‘Tekrar (LE) yi High yaptık.
PAUSE 1
PORTB=240 | ONLAR ‘PortB ye (240 OR ONLAR) sonucunu koyduk . Söylede olabilirdi (240+onlar)
LOW PORTB.4 ‘ 4511 in (LE) si enable yapıldı
PAUSE 1
HGH PORTB.4 ‘ LE, tekrar disable yapıldı
PAUSE 2
GOTO BASLA
ENd
99 a kadar sayan sayıcı