12F683 sigorta ayarları

Başlatan huseyin0579, 22 Şubat 2016, 22:41:28

huseyin0579

Ete hocam 12f675 ile yazılan programda değişiklik yapıp 12f683 için derleme yapıyorum. Yazılım içerisinde 12F675 için osccal değeri veriliyordu. 12F683 için bu ayar gereklimi? 12f683 için osccal gerekiyor'sa nasıl yaparız. Aşağıdaki sigorta ayarları ile derleme yapıyorum.

DEFINE OSC 4
OSCCON=%01100001
CMCON.0 = %00000111
OPTION_REG.7=0
ANSEL=0
ADCON.0=0
TRISIO=%00000011
WPU=3
GPIO=0

ete

Ayarlar doğru. Sadece ADCON0 registeerini kaldır.Çünki Analog pin kullanmıyorsun ona gerek yok.
Bu işlemcide ; DEFINE OSCCAL_1K 1  komut satırına gerek yok. Çünki hafızaya yazılan bir OSCCAL değeri yok.

Ete


huseyin0579

Hocam yardımın için teşekkür ederim. Benim bu soruyu sormamdaki neden 12f675 için hazırlamış olduğum programı yüklüyordum ve 5-6 adet 12f675 programı istenilen zaman gecikmesi ile çalıştırmıyordu. Örnek olarak; 10 adet pic12f675 içerisinden 1-2 adet pic12f675 programı hızlı çalıştırıyor diğerleri normal istenilen hızda çalıştırıyor. Fabrikasyon bir hata diyecem ama, Bu sıkıntı yeniden olmasın diye sormak istedim. 12f675 osccal değeri programlama kartı ile ayarlanabiliyor diyen arkadaşlar var. Hocam yazılım ile uğraşan arkadaşlar için tavsiyem tam olarak çalıştığına emin oldukları mikrodenet'leyici ile yazılım geliştirmeleri,özellikle bu 12f675 ve benzeri olan mikrodenetleyicilerde çok önemli beni 1-2 gün uğraştırdı.

huseyin0579

Ayrıca 12f675 için osccal değeri "DEFINE OSCCAL_1K 1"  1kb hafızaya sahip mikrodenetleyici için verilecek değer, 2kb hafızaya sahip mikrodenetleyici kullanıyorsa osccal değerini  DEFINE OSCCAL_2K 2 olarak yazılacak hocam dün araştırma yaparken gördüm, bu bilgilendirme doğrumudur?

ete

#4
12F675 de OSCCAL değeri program hafızasının son adresi olan 3FF de kayıtlıdır.
Bu işlemciyi programlarken programlayıcı önce bu değeri o adresten okur ve sonra programı yükler ve en son adrese o değeri tekrar ekler ve işlemciye yazar.
Bunu yapabilmesi için ya programlayıcının özel olması yada basic de olduğu gibi bir komut verilmesi gerekiyor.
İŞlemciyi Delete komutu ile silerseniz bu değerde silinir ve o işlemciye sonradan program yüklerseniz OSCCAL değeri olmadığı için dahili OSC si kalibre edilmeden çalışır ancak çok yavaş çalışır.
Sorun bu. PICKIT2 programlama arayüzünde bu değeri yeniden bulup işlemcinin son adresine yazdıracak seçenek var.
Bu seçenekde OSC'a bir değer veriyor ve çıkışında frekansı ölçüyor. 4Mhz e en yakın değeri veren OSCCAL değerini bulup işlemciye yazıyor. Hepsi bu.

Sorduğun bilgilendirme doğrudur. Ama bu doğruluk sadece OSCCAL değeri program hafızası son adresine yazılı olan işlemciler için geçerli. Bu iş sıkıntı yarattı belliki çok fazla işlemcide kullanılmıyor.

Ete

huseyin0579

Hocam 12f683 ile bahsettiğiniz değişikliği yaptım derlerken cmcon için hata veriyor.

huseyin0579

WPU=3 komutu doğrumu hocam adc ve osccal değişikliğini yapmadan derleme yapmış'tım. Deneme yapmak için programı yükledim ve butonlar işlem yapmadı.

ete

WPU=3 demek (WPU=%00000011) GPIO.0 ve GPIO.1 pinleri giriş yapılmış ise bu pinlerde dahili Pullup direnci var demek oluyor.
Doğruluğuna sen karar ver çünki ne için sorduğunu bilmiyorum.

ete

huseyin0579

Hocam giriş pinini düzgün ayarlamadığım için oluyormuş düzelttim ilerleyen zamanlarda eklerim.

Powered by EzPortal