11 Mayıs 2007 Cuma

Pic ile 0 to 999 Sayıcı

İsmail abinin yanına gittiğim birgün saolsun bana pic16f877 verecekti.Gel dedi sana eski yaptığım devrelerden de veriyim.Verdiği devreler içinde 3lü 7 segment display de vardı.Bu güne kadar üşenip de yapmadığım sayıcı devresini yapmaya karar verdim.Oturdum displayin uçlarını belirledim.Sonra program yapmaya koyuldum.Lookup table sayesinde oldukça kısa bir program ile hallettim bu işi de.Programı tarama mantığı ile yaptım.Proteusta çalışmayan program breadboard üzerinde yüksek performans sergiledi.Hala da yanımda çalışmakta.İlk etapta gecikmelerde hata yapmıştım onları düzelttim.Şuan sayıyor ama tam 1 saniye olmadı gecikme bunu programdaki 333 değerini değiştirerek yapabilirsiniz.Yazdığım program aşağıdadır...

Kurduğum devrenin videosu aşağıdaki linktedir



  • TRISB=0
  • TRISA=0
  • I VAR BYTE
  • DEGER VAR word
  • N VAR BYTE
  • BEKLE VAR WORD

  • BASLA:
  • FOR DEGER=0 TO 999
  • BEKLE=0
  • GOSUB AYAR
  • NEXT DEGER
  • GOTO BASLA

  • AYAR:
  • FOR I=0 TO 2
  • N=DEGER DIG I
  • GOSUB GOSTER
  • pause 1
  • NEXT I
  • IF BEKLE<333>
  • RETURN

  • GOSTER:
  • BEKLE=BEKLE+1
  • porta=0
  • LOOKUP N,[$03,$9F,$25,$0D,$99,$49,$41,$1F,$01,$09],PORTB
  • PORTA=DCD I
  • RETURN
Her türlü sorunuz ve öneriniz için yorum yapabilirsiniz veya mail atabilirsiniz.

4 yorum:

oSi dedi ki...
Bu yorum yazar tarafından silindi.
oSi dedi ki...

tebrikler çalışmalarının ve paylaşımlarının devamını dilerim :)

Serhat BAŞKAYA dedi ki...

teşekkürler iyi dileklerin için zamanım oldukça burdan paylaşıma devam etcem fikirlerinizi paylaşırsanız sevinirim...

sumeyye dedi ki...

999 sayıcı devremi kurdum ama saymıyor.verilecek değerleri öğrenmek istiyorum acilll