0-99'a Sayan Sayacın İleri Doğru Tasarımı

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

dostum forumda bu konu ile ilgili bir çok örnek var..Ama sen farklı özellikleri olsun (ileri - geri saysın kendini sıfırlasın ) gibi özellikler eklemek istiyorsan yardımcı oluruz.Ayrıcasayan degerleri nerede göstermeyi planlıyorsun.7 segmentli display işini görecektir diye düşünüyorum.Daha açık bilgiler verirsen dediğim gibi yardımcı oluruz.
 
0-99 sadece ileri yönde sayacın tasarımı lasım özellikleri farketmez

-----------------------------------------------------------------

ilhano1978 adlı üye yardımcı olcam dedi fakat hiçbirşey yapmadı
 
Moderatör tarafında düzenlendi:
@ 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 :pAUSE 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-1:pAUSE 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ı
 
Sayıcı senkron mu olacak yoksa asenkron mu? Çünkü tasarım her iki durum için farklı olacaktır. Bir de hangi tip FF(FLİP_FLOP) ile yapacaksınız(Şayet FF ile tasarlayacaksanız).
Bunları belirtirseniz daha kolay yardımcı oluruz....
 
jk flip flop işini görür... 7bitlik bi sistem olarak dizayn edebilirsin...
 
@ 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 :pAUSE 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-1:pAUSE 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ı

pıck olmadanda yapılabilien bir devre
saygılar
 

Forum istatistikleri

Konular
128,179
Mesajlar
915,650
Kullanıcılar
449,940
Son üye
yavuzturan

Yeni konular

Geri
Üst