16F628 RA4 Bacağına 3,2768MHz Kristal Bağlamak

Başlatan etokar, 13 Nisan 2013, 17:11:01

etokar

Arkadaşlar merhaba. Kronometre devresi yapmaya çalışıyorum fakat senkronu bir türlü tutturamıyorum, ya daha hızlı yada daha yavaş sayıyor. Forumda şöyle bir yorum gördüm;

"TMR0 interrupt...

3.2768 Mhz  kristal kullaniyorsun  [Anadolu'nun en ucra koselerinde bile var artik]

TMR0 kesmesini sn de 100 defa kesme olusturacak sekilde ayarliyorsun. nasil ?

3276800            /     4      /  256   /  32        = 100    Yapar.
Osc frekansin/zorunlu/8bit/prescaler  = Sonuc

Boylece hic ugrasmazsin , hic ayar yapmasan bile en kotu ihtimalle bir gunde toplam 15 sn hata yapar. Normal sartlarda 7-8 sn. Ayar yaparsan 1-2 sn ...  Bu hata OSC frekansinin dogruluguna bagli olur...

Yazilimsal hata yapmani engeller..."

Kristali nasıl bağlayacağım? Yardımlarınızı bekliyorum. Teşekkürler.

etokar

ÇÖZÜLDÜ
Kristali RA4 ucuna değil OSC1/OSC2 uçlarına harici osilatör olarak bağlamak gerekiyormuş. Sorun halloldu.

ferit06

Eğer PIC ile başka şeylerde yapıyorsan ve PIC çalışma frekansı 3.2768 Mhz dan farklı bir şey olacak ise TMR1 i kullanırsın ve kristali RB6, RB7 ye OSC girişlerine bağladığın şekilde bağlayıp TMR1 ile kronometreni yapabilirsin.

etokar

PIC'i dahili osilatörü (4 MHz) kullanacak şekilde programlayacağım ve aynı zamanda 3,2768 MHz kristali OSC uçlarına bağlayacağım, tmr1 3,2768 MHz kristali kullanacak ama pic 4 MHz'de çalışmaya devam edecek. Doğru mu anladım?

mehmet

Alıntı yapılan: etokar - 16 Nisan 2013, 12:09:01
PIC'i dahili osilatörü (4 MHz) kullanacak şekilde programlayacağım ve aynı zamanda 3,2768 MHz kristali OSC uçlarına bağlayacağım, tmr1 3,2768 MHz kristali kullanacak ama pic 4 MHz'de çalışmaya devam edecek. Doğru mu anladım?
Evet bu şekilde. Hatta 32.768KHz kristal
de kullanabilirsiniz. Bölme ayarları
buna göre yapılacak...
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr
https://creativecommons.org/licenses/by/4.0/deed.tr "CC BY"

sadogan

16f628A da bu işler için tmr1 mödülünü kullanabilirsin
tmr1 için RB6 ve RB7 ye 32768 hz kristal ve 2x15pf gnd ye bağlayıp
tmr1 harci clock ayarladığında işlem tamam olur.

etokar

tmr1 için deneyeceğim hepinize teşekkür ederim.

ferit06

Alıntı yapılan: etokar - 16 Nisan 2013, 12:09:01
PIC'i dahili osilatörü (4 MHz) kullanacak şekilde programlayacağım ve aynı zamanda 3,2768 MHz kristali OSC uçlarına bağlayacağım, tmr1 3,2768 MHz kristali kullanacak ama pic 4 MHz'de çalışmaya devam edecek. Doğru mu anladım?

Benim mesajımda RB6 ve RB7 ye bağlayacağınız yazılı ( Bunlar TIMER1 için osc pinleri), siz OSC girişleri derken RA6 ve RA7( bunlar sistem osc pinleri ) yi mi kastediyorsunuz?

etokar

RA6 ve RA7 uçlarına bağlayarak tmr0 'ı tam istediğim gibi çalıştırdım ve sorunum halloldu. tmr1 için bunu hatırlattığın iyi oldu. tmr0 ile tmr1 arasındaki fark nedir? Neden tmr1 kullanmalıyım? Teşekkürler

ferit06

TMR1 16 bit tir ve giriş için osilatör devresi kurabilirsin. TMR0 8 bittir doğrudan clock girişi vardır. TMR1 i eğer PIC i  3.2768 Mhz den farklı bir frekansta çalıştırman gerekirse diye önermiştim.

etokar

Verdiğin bilgiler benim için altın değerinde. Teşekkür ederim.