20 mhz için saat ayarı

Başlatan einstain90, 08 Haziran 2008, 15:25:51

einstain90

Arkadaşlar 4 mhzde çalışan saat devresi duzgun çalışırken.Devreyi 20  mhz ile çalıtırdığımda çok hızlı ilerliyor bunu  nasıl duzelte bilirim.Entegrem 16f877
OPTION_REG  =   $55
INTCON      =   $a0
ON  INTERRUPT   GOTO    tickint
Her işte her zaman bir aksilik çıkar.Siz yeterki pes etmeyin...

aslan_korhan

Programın başına

DEFINE OSC 20


ekledinmi?
Dünyada 10 çeşit insan vardır. Binary bilen ve bilmeyenler.

ilker_32

4MHz kristali söküp yerine 20MHz'lik kristali takıyorsan kodlardan gerekli değişikleri yapman gerekir. Saatin hızlı gitmesi normaldir. Ve titreşimde artabilir. Kodlarını ve şemanı koyabilirdin.

einstain90

Kesme ile ilgili var olan tum komutlar ustte ondan baska komut yok.Devredede zaten bir değişiklik yok tek yapyıgım 4 mhzlık kristal yerine 20 mhz takmak. Devrenin basına DEFINE OSC 20 kodu ekli.  

OPTION_REG  =   $55
INTCON      =   $a0

bu iki satırda yapılıcak bir değişiklikle olay hallediliyor ama ben bir türlü yapamadım Sanırım bolme oranı değişicek
Her işte her zaman bir aksilik çıkar.Siz yeterki pes etmeyin...

Gurkan-Demirbas

Merhaba;
Yanlış anlamadıysam PBP kullanıyorsun;
Problemin prescaler'ından kaynaklandığını düşünmek mantıklı bence,

Bu arada PBP'da bazı komutlar DEFINE OSC tanımlamasından bağımsızdır.
Programını göremediğim için yorum da yapamıyorum.
Örnek :
PULSIN Komutu
Alıntı YapThe resolution of PULSIN is dependent upon the oscillator frequency. If a 4MHz oscillator is used, the pulse width is returned in 10us increments. If a 20MHz oscillator is used, the pulse width will have a 2us resolution. Defining an OSC value has no effect on PULSIN. The resolution always changes with the actual oscillator speed.
Kullandığın komutları tekrar gözden geçirebilirmisin?

Gürkan