DERS 13 PIC 16F84 ile DONANIM SAYICI KULLANIMI İÇERİK KESME Ders 13, Slayt 2 1
TMR0 SAYICISI Ram belleğin h 01 adresi TMR0 adlı özel amaçlı bir saklayıcı olarak düzenlenmiştir. Bu saklayıcı bir sayıcıdır. Değeri h 00 veya herhangi bir sayıdan başlatılarak sayma işlemi gerçekleştirir. Değeri istenilen anda sıfırlanabilir. Ders 13, Slayt 3 TMR0 SAYICISININ ÖZELLİKLERİ 8-bit sayıcıdır Yazılabilir/okunabilir özelliktedir Programlanabilir frekans bölme uygulanabilir yani sayma adımları arttırılabilir Dahili saat veya harici sinyal ile işletilebilir Tetiklme için düşen veya yükselen kenar seçilebilir Sayıcı daima artan yönde çalışır TMR0 saklayıcısını değeri her h FF den h 00 değerine geçişte ilgili flag 1 yapılarak bir kesme oluşturulur TMR0 saklayıcısının özellikleri, Mikrodenetleyiciler ve PIC Prog., sayfa 174 Ders 13, Slayt 4 2
TMR0 SAYICISININ ÖZELLİKLERİ Bu sayıcının bir önemli özelliği ana program veya kesme alt programı çalışırken sayma işleminin devam etmesi dolayısıyla da gerçek zamanla işlemlerinin senkronizasyonuna uygun oluşudur Diğer kesmelerde oluğu gibi kesme şartı oluştuğunda (h FF den h 00 a geçişte) Ders 13, Slayt 5 SAYICI KULLANIMI BLOK ŞEMASI TMR0 sayıcısı kullanım blok şeması, Mikrodenetleyiciler ve PIC Prog., sayfa 175 Ders 13, Slayt 6 3
SAYICI KULLANIMI BLOK ŞEMASI Blok şemada gösterilen anahtarlama işlemleri, kenar tetikleme, frekans bölücü (veya zaman çarpıcı) bir saklayıcıda tanımlı bitler ile kontrol edilirler Bu saklayıcı OPTION adı ile tanımlı olup RAM bellekte 1.bank h 81 adresinde yer alır Frekans bölme değerini bypass yapmak yani sayıcıya etki ettirmemek için bu işlem WDT ye etki ettirilir Frekans bölme değeri sayıcıya etki ettirildiğinde TMR0 sayklayıcısına yazan komutlar frekans bölme değerini silerler Ders 13, Slayt 7 OPTION SAKLAYICISI OPTION saklayıcısının bitleri ve kullnaımları, Mikrodenetleyiciler ve PIC Prog., sayfa 174 Ders 13, Slayt 8 4
SAYICI KULLANIMI Frekans bölme değerini bypass yapmak yani sayıcıya etki ettirmemek için bu işlem WDT ye etki ettirilir Frekans bölme değeri sayıcıya etki ettirildiğinde TMR0 sayklayıcısına yazan komutların tümü frekans bölme değerini silerler Frekans bölme değeri kullanılmadan harici sinyal kaynağı kullanıldığında senkronizasyon için 2 KÇS lik bir gecikme gerekir Sayıcı 1. TMR0 saklayıcısı okunarak 2. Interrupt oluştuğunda (h FF h 00 geçişinde) okunabilmektedir. Ders 13, Slayt 9 FREKANS BÖLME SAYISI Frekans bölme tablosu, Mikrodenetleyiciler ve PIC Prog., sayfa 176 Ders 13, Slayt 10 5
ÖRNEK:KESME İLE SAYICI KULLANIMI Ders 13, Slayt 11 Mikrodenetleyiciler ve PIC Prog., sayfa 181 Ders 13, Slayt 12 Mikrodenetleyiciler ve PIC Prog., sayfa 181-182 6
ÖRNEK:KESME İLE SAYICI KULLANIMI Mikrodenetleyiciler ve PIC Prog., sayfa 186 Ders 13, Slayt 13 Mikrodenetleyiciler ve PIC Prog., sayfa 186 Ders 13, Slayt 14 7
TMR0 SAYICISININ İSTENİLEN SAYIDAN BAŞLATILMASI TMR0 sayıcısı h 00 değil de başka bir sayıdan başlatmak mümkündür Bu durumda 256 ye kadar sayıldığında değil de daha kısa bir aralıkta overflow (taşma) işlemi oluşacaktır Ders 13, Slayt 15 WatchDod Timer PC donanımı içerisinde bulunan ikinci bir zamanlayıcıdır Genellikle program kontrolü elden kaçtığı durumlarda program kontrolünğ tekrara ele almak için kullanılır Ayrıca PIC SLEEP durumuna geçtiğinde yeniden uyandırmak için kullanılır OPTION saklayıcısının 4. biti WDT zamanlayıcısını seçmek için kullanılır Frekans bölme oranı aynı TMR0 sayıcısında olduğu gibi ama farklı değerlerle WDT ye uygulanır Ders 13, Slayt 16 8
WatchDod Timer I. tür kullanımda WDT programlama bitleri yardımıyla off yapılır ama geri planda çalışan zamanlayıcının zaman aşım biti program içerisinde kontrol edilir II. tür uygulamada ise WDT programlama bitleri yardımıyla on yapılır ve her zaman aşımı olduğunda PIC kendisini reset eder. Ders 13, Slayt 17 DERS 13 - SON - -Kaynak: Mikrodenetleyiciler ve PIC Prog., Orhan ALTINBAŞAK, ISBN 975-883-409-6 9