16f1827 de kristal ayarı

Başlatan bulutay, 21 Kasım 2016, 14:08:52

baran123

Sayın @bulutay hocam naçizane bir tavsiyede bulunmak isterim.
Seni bu derleyiciye bağlayan bir şey yoksa XC8 e geçmeni öneririm.
Bu kadar çırpınmana gerek kalmaz.
3-5 register ile bitirirsin bu OSC Config işini :)

JOKERAS

bulutay, OSCTAT  Oislatör durum bitlerini tutan register.
Ona ne yapasanız yapın osc değişmez.

OSCTUNE Registeri ise şu.
Bir işlemcide İnternal Osc kullandığınız zaman iç osilatör yapısının R, C, Cmos, TTL elemanları bir kalıptan çıkmış
gibi olmaz,sonuçta gerçek hayatta 8-16-32Mhz vs internal olarak ayarladığınız osc tam değer vermez.

8Mhz ayarlarsınız tam 8Mhz olmaz bu.+/- töleransı vardır.Bir işlemcide 7.980Mhz osc olurken aynı işlemciden başkası
8.100Mhz verebilir.
Veya Tam 8Mhz ayalamış ve çalışyordur fakat ortam ısısı,işlemci chipinin kendi ürettiği ısı bu osilatörün kaymasına neden olur.
Bu çok kritik durumlar için önem azeder.
İşte o gibi durumlarda Osilatör'ü Tuning edersiniz.
Dolayısı ile o registerlerin bir etkisi olmaz.Boşuna kafanızı karıştırmayın.

bulutay

teşekkürler ilgilediginiz için

biraz daha ugraşalım bakalım.

xoom

Alıntı yapılan: baran123 - 24 Kasım 2016, 16:50:54
Sayın @bulutay hocam naçizane bir tavsiyede bulunmak isterim.
Seni bu derleyiciye bağlayan bir şey yoksa XC8 e geçmeni öneririm.
Bu kadar çırpınmana gerek kalmaz.
3-5 register ile bitirirsin bu OSC Config işini :)
Sorun PIC C compiler'da değil

sadogan

Alıntı yapılan: JOKERAS - 24 Kasım 2016, 12:30:33
@sadogan  ,Siz ve bir kaç arkadaş bu direktifi gösterdiniz,
O zaman bu arkadaşlar niye olmuyor diyor?


Bilimiyorum ben 16 mhz de çalıştırmıştım.

baran123

Alıntı yapılan: xoom - 24 Kasım 2016, 18:40:05
Sorun PIC C compiler'da değil
Hocam ben sorun orada demedim zaten.

mehmet

//genel de...
#BIT PLLR = 0x9A.6
#BIT HFIOFR = 0x9A.4
#BYTE OSCCON = 0x99


//main de en başa ilave
OSCCON = 0b11110000;
delay_ms(1000);
while (!PLLR);
while (!HFIOFR);
//diger işlemler...


Olur mu acaba? Zira CCS C bilmiyorum...
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr


bulutay

https://gputils.sourceforge.io/html-help/PIC16F1827-conf.html


kristal ayarları confıig word de yapılıyor 32 mhz çalıştırmak için

RaMu

Konu üzerinden epey vakit geçmiş:
Bu kadar zaman yılmadım, sonucu buldum, forumada bilgi veririm diyorsun :)

CcsC için register ayarı vs. yapmaya gerek yoktur,
Project Wizard ile proje oluşturulurken,
dahili osilatör ve 32 MHz seçilirse,
gerekli kod CcsC tarafından üretilir ve
MCU 32MHz dahili osilatörle çalışır.

Gerçekte denediğim bir devrenin kodlarından alıntı:
tek osilatör ayarı bu;
#include <16F1827.h>
#device ADC=16

//.
//. diğer konfigurasyon ayarları
//.

#fuses intrc_io
#use delay(internal=32MHz)

Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

bulutay

en kısa zamanda deniyecegim

RaMu

Dene yaz,
bende 16F1827 datasheet ten
bu osilatör ayar ile ilgili detay bir durum gördüm onu yazayım sonra.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

bulutay

CONFIGURATION WORD 1 ty olarak yazdım    f2 f1 f0 fosc
#byte     ty = 0x8007
#bit   f2     = ty.2
#bit   f1     = ty.1
#bit   f0     = ty.0
#bit   mcrl     = ty.5
CONFIGURATION WORD 2 pll olarak yazdım pl de pll 13 bit
#byte     pll = 0x8008
#bit   pl     = ty.13

çalıştı

bulutay


bulutay