TMR0 ile peryodik acma kapama

Başlatan fofo, 17 Mart 2006, 13:40:53

fofo

TMR0 sayıcısını kullanarak peryodik acma ve kapama  yapmak istiyorum soyleki benim ayarladıgım dakikada bir acılacak yine ayarladıgım saniye kadar acık duracak sonra kapanacak bu peryodik bir sekilde devam edecek
bunu Pic basic proyla nasıl yapılr yardımlarınız icin simdiden teşekkürler.

SpeedyX

iki 555, bir 4017 ile yaparsın bu işi, pic e gerek yok gibi... ekranlı göstergeli butonlu bişey olacaksa, olabilir.

fofo

evet LCD li menulu olacak menu üzerinden ayarlanacak hangi komutları kullanmam gerekiyor PIC basic pro kuıllanıyorum.

ismetelk

ustad option regissterinin ilk üç bitini kullanarak frekans bolme işlemini yaparsın sonra tmr0 içeriğin herhangi bi değer atarak yada sıfırlayarak tmr0 sayıcısını çalıştırmış olursun. daha sonra tmr0 h'ff' den h'00' a gelince kesme oluşur. kesmede işlemini yaparsın ancak 8 bitlik olan bu sayıcı frekans bölme işlemiyle birlikte (4mhz ile çalışıyosan) maksimum 64ms lik gecikmeyle işlem yapma imkanı sağlar. 16f628 gibi mikrodenetleyici kullancakasan onda 16 bitlik tmr1 sayıcısı vardır ve t1con registerinin 4. ve 5. bitleri ile frekans bolme işlemi yapılır.buda maksimum yaklaşık 500 ms lik gecikmelerle işlem yaptırır.

fofo

TMR0 sayacını kuruyorum ve kesme olusturuyorum saniye ve dakikalarıda saydırıyorum onda sonra sorun yok. Sorun menudeki deger aralıgında acıp kapama yapmak istiyorum  ayarlanan deger içerisinde bir defa acıp kapatıyor
ikinci acma ve kapamayı yapmıyor. Ne yapmalıyım ?

SpeedyX

Projeyi ver buraya,birlikte bakalım.

stlg

Sevgili fofo
Arkadasım tmr0 a atadıgın degeri program icerisinde her seferinde yeniden atamak gerekir belki bu yuzden programın bir seferlik calısıyor sonra duruyordur kolay gelsin

               ALLAHA EMANET OLUNUZ
ALLAHA EMANET OLUNUZ Hoştur bana senden gelen,  Ya gonca gül yahut diken,  Ya kaftandır yahut kefen,  Kereminde hoş lütfunda hoş.

vatandas30

tmr0 ı program içerisinde tekrar sıfırdan kurmak için ne yapmak gerekiyor. bende bir satranç saati yapacağım. 2 buton olacak. yani her oyuncu için 60dk geriye doğru sayacak.