T

12f675 uyku moduna geçirme ve çıkarma

Başlatan turbojet, 02 Ekim 2013, 20:58:10

turbojet

herkeslare selam öncelikle önceki konumda yardımcı yorumlarınızdan dolayı teşekkür ederim ..

ekte 12f675 in içine atıp denediğim bir animasyon mevcut ..tek butonla animasyonlar değiştirilmektedir bu programı uyku moduna nasıl geçirebilirim mesela 4.animasyondan sonra butona tekrar basınca uyku moduna geçsin ..butona tekrar basınca da çıksın ..eğer tek butonla mümkün değilse nasıl yapmalıyım bu programa uyku modu değişikliklerini ekleyebilirmisiniz

ete

Basic te iki çeşit uyku modu vardır. Birincisi süreli yani belirli bir süre için uykuya sokma işlemi Sleep 5  gibi. Diğeri ise ASM sisteminde uyku modu olup bu moda soktunuzmu ancak bir kesme oluşturularak uykudan çıkartılabilir işlemci.
Sizin isteğiniz bu ikinci tarife uyuyor.
Uykuya sokmak istediğiniz yere;
@ Sleep
yazmanız yeterli olacaktır. Bu komutu gören işlemci uyku moduna girer.
Tuşa basılır basılmaz ise uykudan uyanır.
Ancak WDT da sistemi uykudan uyandırır. Bu nedenle WDT OFF yapılmalıdır.
Ayrıca programda harici INT kesmesi açılması gerekir. Fakat şöyle bir bakınca programın kesme için hiçde uygun olmadığını görebiliyoruz. Epeyce tadilat gerekir.
Tadilat deyince programdaki eksikler şunlar;
1. DEFINE OSCCAL_1K 1    'bu komutu yazmaz isen pic programlanırken OSCCAL değeri pice yazılmaz ve pic hatalı çalışır.
2. GPIO=0:TRISIO=%00000100     'bu iki satır yazılarak kim giriş kim çıkış belirlenmelidir.
3. Buton pini dahili Pullup direnci ile kullanılabilir. Bunun için ;
OPTION_REG.7=0:WPU=%00000100   'komut satırları eklenmelidir.
4.Uyku modunda işlemcinin daha az akım çekebilmesi için şu komut programa ilave edilmelidir.    Vrcon.7=0

İstediğini ilişikte yolladığım programda yapmaya çalıştım. Süreler döngü süresi ile ayarlanabilir.
Ete


turbojet

çok teşekkür ederim programı bir deneyim suçları paylaşırım ..

turbojet

ete hocam program çalışmadı ..DEFINE OSCCAL_1K bo kodu silince normal çalışıyor ledler yanıp sönüyor ama uyku moduna geçmiyor bi sorun var galiba

ete

#4
12f675 in 3fff adresinde kayıtlı osccal değeri yazılmıştır. Bu yazılan değeri koruyarak (define osccal.... Komutu bu işi yapar) pic e program yazmış isen sorun yok ama şayet 3fff adresinde bir şey kayıtlı değil ise ki genelde 3434 veya 3448 gibi değerler kayıtlıdır pic normal çalışmıyor demektir.
Şayet pickit2 programlayıcı kullanıyor isen otomatikman o adreste bir şey kayıtlı değil ise hemen anlayıp ekrana ikaz verir. Pickit2 kayıp yada silinmiş osccal değerini yeniden bulup oraya yazabilir.
Sen en iyisi programlayıcının read komutu ile entegreyi oku ve en sondaki adrese bak bakalım ne yazıyor orada.
Ete

turbojet

#5
hocam usb burn kullanıyorum programlayıcıda brenner 8  bu hatayı nasıl düzeltecem birtürlü halledemedim

detaylı olarak anlkatabilirmisiniz sizede zahmet veriyorum ama deli olacam yaaa bi devreyi bitiremedim

ete

Usbburn hiç kullanmadım bilemiyorum. Tarifimi yaptım. Pic program hafızasını okuyup ekrana vererek en sondaki adrese 3FFF adresine bakacaksın. O adreste ne yazılı şayet 34FF yazıyor ise pic yanlış osccal değeri ile çalışıyordur. Böyle bir pic den her şey beklenir.
Ete

turbojet

hocam tekrar merhaba sizin yadığınız programdan oscall 1k1 kaldırınca devreyi çalıştırdım ama basen kararsız çalışıyor .devre pille çalışıyor çalışma voltajındaki değişiklik durumu etkileyebilir mi bu kararsızlık osilatörle de alakalı olabilirmi

ete

Hangi derleyiciyi kullanıyorsun.
Programlayıcı basic in orjinal komutuna itiraz etmemesi gerekir.
Yeniden söylüyorum. O komutu kaldırırsan pic osilatörü kararsız hatta abuk subuk çalışır. Bu da programı etkiler.  Zaten bir kere kaldırdınmı oscal değeri 3fff değerine dönmüştür. Ya piclit2 bulup osccal değerini yeniden bulduracaksın yada sıfır bir pic daha kullanacaksın çaresi yok.

Ete

F®T

Yanılmıyorsam brennerda arayüzdeki configrasyon oscal değeri çıkıyordu.değerin değiştiğini tam hatırlamıyorum ama işlemciyi tarat ve configrasyona bas orda oscal çıkıyorsa belki manuel giriş yapabilirsin.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

est32

Alıntı yapılan: F.T - 13 Ekim 2013, 09:29:35
Yanılmıyorsam brennerda arayüzdeki configrasyon oscal değeri çıkıyordu.değerin değiştiğini tam hatırlamıyorum ama işlemciyi tarat ve configrasyona bas orda oscal çıkıyorsa belki manuel giriş yapabilirsin.
Evet brenner pic'i tanıdığı anda ana ekranda zaten oscal değeri anında görünüyor, daha önceden aynısı başıma geldiği için ilk okuma sırasında hemen o değeri bir yere not alıyorum. daha olmadı o pici kristal ile kullanabilir çöpe atılacak değil ya...

Powered by EzPortal