İ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
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
4 yorum:
tebrikler çalışmalarının ve paylaşımlarının devamını dilerim :)
teşekkürler iyi dileklerin için zamanım oldukça burdan paylaşıma devam etcem fikirlerinizi paylaşırsanız sevinirim...
999 sayıcı devremi kurdum ama saymıyor.verilecek değerleri öğrenmek istiyorum acilll
Yorum Gönder