B

12F675 OSCCAL Sorunu

Başlatan Bülent, 26 Mayıs 2013, 10:27:18

Hattuşa

Alıntı yapılan: est32 - 11 Ekim 2013, 22:04:35
umarım pin yanmamıştır.

usta dediğin gibi çıktı, pin yanmış dikkatsizlikten 100uF cond. ile şaselemişim çıkışı, sanırım pinin yanma nedeni bundan kaynaklı, bazen insan daldırıyor. ilginiz için tşk ederim.

est32

Alıntı yapılan: pro-TR - 12 Ekim 2013, 10:40:02
usta dediğin gibi çıktı, pin yanmış dikkatsizlikten 100uF cond. ile şaselemişim çıkışı, sanırım pinin yanma nedeni bundan kaynaklı, bazen insan daldırıyor. ilginiz için tşk ederim.
Canın sağolsun sana bişey olmasın:)
hocam bir de pini giriş olarak deneseydin, önceki yazdığım şekilde veya sadece okuma yapacak şekilde???
Yanlış bilmiyorsam pinlerde(iç yapısından bahsediyorum) giriş ve çıkış olmak üzere farklı transistörler kullanılıyor, belki çıkış yanmıştır ama giriş çalışıyor olabilir. Cahilce bir yorum yapmış da olabilerem.

Musty89

Benimde uğraştığım bir proje vardı en son buldum sorunu;
pickit 2 yazılımında tools bölümünde use vpp first program entry
seçeneğini aktif ederseniz sıkıntı ortadan kalkmış olur.
diğer programlayıcılarda da böyle bir seçenek olması gerekir.

gogoce

Alıntı yapılan: ete - 26 Mayıs 2013, 13:57:17O picleri yeniden kullanabilirsin elbette. Pickit2 programlayıcı bu işi otomatik yapar ve oscal değerini yitirmiş piclerede kendisi bir program yükleyip uygun oscal değerini bulur ve pice yazar.

Pek çok programlayıcı program içinde yer alan define satırına göre hareket eder ve önce oscal değerini okur sonra programı yüklediğin zaman son adse oscal değerini kendi yazıp pice programı yazar.
Basic de program yazıyorsan mutlaka define oscal_1k   Komutunu yazmayı ihmal etme.
Ete

hocam pickit 3 bu işi yapabiliyor mu? sanırım benim de oscal sorunum var
Ne ukalayı affederim nede yapılan haksızlığı ...
Ya sus adam sansınlar , yada adam gibi kouş ilham alsınlar

ete

Elbette Pickit3 de aynı işi yapar. Tools menüsünde OSCCAL seçeneğini seçerek yapabilirsiniz.
Aslında bu işi kendi başınızada yaparsınız. iki metod var. Birincisi rastgele OSCCAL değeri vermek. Genelde OSCCAL değeri $3F34-3F48 gibi değerler alıyor. Orada yazılı olan asıl değer fabrikası tarafından kabrasyonu yapılmış değerdir. Ama en azından pic çalışsında çok hassas bir 4Mhz vermesede olur derseniz şu metodu kullanın.

@ ORG 3FFh
@ RETLW 34h

Bu iki satırı programın en sonuna ekleyin.
Bu iki satır program hafızasının son adresi olan $3FF'e 34 değerini yazmaktadır.
Siz isterseniz 38h veya daha farklı bir değer verebilirsiniz. Ama frekansı ölçmedikten sonra ne verseniz fark etmeyecektir.

Diğer metod bir frekansmetre gerektiriyor. Yapılacak iş ;
Sİgorta ayarlarına,
@ __config _INTRC_OSC_CLKOUT & _WDT_OFF & _PWRTE_ON & _MCLRE_OFF & _CP_OFF , komutu vererek GP4 pininden CLK out çıkışı alın. Bu pic osc Clk çıkış pini olacak.


@ ORG 3FFh
@ RETLW 34h
komutlarını prohgrama yazın ve pic i çalıştırın. GP4 de bir frekansmetre balaayrak frekansı ölçün. 4Mhz den büyük ise 34 rakamını küçültün. 4Mhz den küçük ise 34 rakamını büyütün.
Bunu basit bir programlada yapabilirsiniz.
Ama manuel yapmak en doğrusu.

Ete


gogoce

Alıntı yapılan: ete - 22 Ocak 2020, 13:42:33Elbette Pickit3 de aynı işi yapar. Tools menüsünde OSCCAL seçeneğini seçerek yapabilirsiniz.
Aslında bu işi kendi başınızada yaparsınız. iki metod var. Birincisi rastgele OSCCAL değeri vermek. Genelde OSCCAL değeri $3F34-3F48 gibi değerler alıyor. Orada yazılı olan asıl değer fabrikası tarafından kabrasyonu yapılmış değerdir. Ama en azından pic çalışsında çok hassas bir 4Mhz vermesede olur derseniz şu metodu kullanın.

@ ORG 3FFh
@ RETLW 34h

Bu iki satırı programın en sonuna ekleyin.
Bu iki satır program hafızasının son adresi olan $3FF'e 34 değerini yazmaktadır.
Siz isterseniz 38h veya daha farklı bir değer verebilirsiniz. Ama frekansı ölçmedikten sonra ne verseniz fark etmeyecektir.

Diğer metod bir frekansmetre gerektiriyor. Yapılacak iş ;
Sİgorta ayarlarına,
@ __config _INTRC_OSC_CLKOUT & _WDT_OFF & _PWRTE_ON & _MCLRE_OFF & _CP_OFF , komutu vererek GP4 pininden CLK out çıkışı alın. Bu pic osc Clk çıkış pini olacak.


@ ORG 3FFh
@ RETLW 34h
komutlarını prohgrama yazın ve pic i çalıştırın. GP4 de bir frekansmetre balaayrak frekansı ölçün. 4Mhz den büyük ise 34 rakamını küçültün. 4Mhz den küçük ise 34 rakamını büyütün.
Bunu basit bir programlada yapabilirsiniz.
Ama manuel yapmak en doğrusu.

Ete


Bendekinde 242c verilmiş hocam dediklerinizi deneyeyim frekansmetrem yok dimmer yapmaya çalışıyorum facia oldu bu iş :)
Ne ukalayı affederim nede yapılan haksızlığı ...
Ya sus adam sansınlar , yada adam gibi kouş ilham alsınlar

ete

242c çok enteresan bir değer. Hiç görmemiştim. Genelde 3448 , 3434, 34A0 gibi değerler gördüm.
Adetimdir. İlk defa bir 12F675 programlamadan önce işlemciyi okutur ve son adresteki değeri programına kayıt ederim. Yada işlemciye bir etiket yapıştırıp üzerine yazmak en doğrusu. Böylece değer kaybolsa bile verdiğim komutlarla tekrar yerine yazdırılabilir.

Ete

İlyas KAYA

Pickit3 de yeniden değer verme çıkmıyor malesef. Pickit2 de olması ama pickit3 de olmaması enteresan.
Artık yeni nesil piclerde bu sorun olmadığı için olabilir.

Halen üretimini yaptığım kartlarda 12f675 smd kullanıyorum ve hepsinde 34 ile başlayan bir değer var. Henüz hiç 34 den farklı görmedim.

Ancak çok fazla çakması var. Belki çakma değil microchip üretimini yapmadığı picleri farklı bir fabrikaya fason yaptırıyor da olabilir ama hiç de memnun değilim.
Bacakları lehim tutmuyor ve ısıtınca tuhaf kokuyor. Programlarken bir hata olmamasına ve osccal değeri hatalı olmamasına rağmen bazıları hiç çalışmıyor.
Sanırım yeniden kartı tasarlama vakti gelmiş. :)
Göz odur ki dağ ardını görsün,
Akıl odur ki başa geleceği bilsin.!

Powered by EzPortal