Timer Fonksiyonları


Timer FonksiyonlarıCloseTimer0() / Closetimer1() /CloseTimer2():void CloseTimer0(void);void CloseTimer1(void);void Closetimer2(void); 
Belirtilern timer modülünü devre dışı bırakır.OpenTimer0(): void OpenTimer0(unsigned char config);Timer0 modülünü aktifleştirir. Timer modüllerinin ne tür işlemler için kullanıldığına ilerleyen yazılarda değineceğim. Şimdilik sadece aldığı parametrelerin ne işe yaradığı üzerinde konuşacağız.config:
- Enable Timer0 Interrupt:
 Timer0 modülünün oluşturacağı kesmelerin durumunu belirtir.
TIMER_INT_ON: Timer0 kesmeleri aktif.
TIMER_INT_OFF:Timer0 kesmeleri devre dışı
- Timer Width: Timer0 modülündeki sayacın 8-bit olarak mı yoksa 16-bit olarak mı kullanılacağını belirtir. 8 bitlik ise 0-255 arası, 16 bitlik ise 0-65536 arası sayma işlemi yapılır.
T0_8BIT: 8 bitlik sayaç
T0_16BIT: 16 bitlik sayaç
- Clock Source: Timer0 modülünün clock olarak hangi kaynağı kullanacağını belirtir (Clock kaynağı timer0 biriminin kesme oluşturma süresini doğrudan etkiler).
T0_SOURCE_EXT: Clock kaynağı dışarda (I/O pin)
T0_SOURCE_INT: Clock kaynağı içerde (T0sc)
- Prescale Value: Seçilen kaynak(clock’)tan gelen clock sinyali direkt olarak kullanılmaz. Bu değer prescale(bölme oranı) ile çarpılır. Yani prescale değeri ne kadar küçük olursa(1:128, 1:256 gibi) sayaç o kadar hızlı sayar diyebiliriz.
T0_PS_1_1:  1:1 bölme oranı
T0_PS_1_2:  1:2 bölme oranı
T0_PS_1_4:  1:4 bölme oranı
T0_PS_1_8:  1:8 bölme oranı
T0_PS_1_16:  1:16 bölme oranı
T0_PS_1_32:  1:32 bölme oranı
T0_PS_1_64:  1:64 bölme oranı
T0_PS_1_128:  1:128 bölme oranı
T0_PS_1_256:  1:256 bölme oranı
Örnek kullanım;OpenTimer0( TIMER_INT_OFF  & T0_8BIT & T0_SOURCE_INT & T0_PS_1_32 );
OpenTimer1(): void OpenTimer1(unsigned char config);
Timer1 modülünü aktifleştirir.
config:- Enable Timer0 Interrupt: Timer1 modülünün oluşturacağı kesmelerin durumunu belirtir.
TIMER_INT_ON: Timer1 kesmeleri aktif.
TIMER_INT_OFF: Timer1 kesmeleri devre dışı
- Timer Width: Timer1 modülündeki sayacın 8-bit olarak mı yoksa 16-bit olarak mı kullanılacağını belirtir.
T1_8BIT_RW: 8 bitlik sayaç
T1_16BIT_RW: 16 bitlik sayaç
- Clock Source: Timer1 modülünün clock olarak hangi kaynağı kullanacağını belirtir
T1_SOURCE_EXT: Clock kaynağı dışarda (I/O pin)
T1_SOURCE_INT: Clock kaynağı içerde (T0sc)
- Prescale Value: Timer1 biriminin sayma süresiyle ters orantılı.
T0_PS_1_1:  1:1 bölme oranı
T0_PS_1_2:  1:2 bölme oranı
T0_PS_1_4:  1:4 bölme oranı
T0_PS_1_8:  1:8 bölme oranı
- Oscillator Use: Timer1 osilatörünün kullanılma durumunu belirtir.
T1_OSC1EN_ON: Timer1 osilatörü aktif.
T1_OSC1EN_OFF: Timer1 osilatörü devre dışı.
- Synchronize Clock Input: Harici saat sinyali ile senkronize olma durumunu belirtir.
T1_SYNC_EXT_ON: Harici saat sinyaliyle senkronize.
T1_SYNC_EXT_OFF: Harici saat sinyaliyle senkronize değil.
Örnek kullanım;
OpenTimer1( TIMER_INT_ON  & T1_SOURCE_EXT & T1_PS_1_1 & T1_OSC1EN_OFF & T1_SYNC_EXT_OFF );
OpenTimer2(): void OpenTimer2 (unsigned char config);
Timer2 modülünü aktifleştirir.
config:
- Enable Timer0 Interrupt:
 Timer2 modülünün oluşturacağı kesmelerin durumunu belirtir.
TIMER_INT_ON: Timer2 kesmeleri aktif.
TIMER_INT_OFF: Timer2 kesmeleri devre dışı
Prescale Value: Timer2 biriminin sayma süresiyle ters orantılı.
T0_PS_1_1:  1:1 bölme oranı
T0_PS_1_4:  1:4 bölme oranı
T0_PS_1_16:  1:16 bölme oranı
- Postscale Value: Timer2 biriminin sayma işlemini kaç defa tekrarlayacağını belirtir. Sadece Timer2 modülü için kullanılabilir.
T0_POST_1_1:  1:1 bölme oranı
T0_POST_1_2:  1:2 bölme oranı
T0_POST_1_3:  1:3 bölme oranı
T0_POST_1_4:  1:4 bölme oranı
T0_POST_1_5:  1:5 bölme oranı
T0_POST_1_6:  1:6 bölme oranı
T0_POST_1_7:  1:7 bölme oranı
T0_POST_1_8:  1:8 bölme oranı
T0_POST_1_9:  1:9 bölme oranı
T0_POST_1_10:  1:10 bölme oranı
T0_POST_1_11:  1:11 bölme oranı
T0_POST_1_12:  1:12 bölme oranı
T0_POST_1_13:  1:13 bölme oranı
T0_POST_1_14:  1:14 bölme oranı
T0_POST_1_15:  1:15 bölme oranı
Örnek kullanım;
OpenTimer2( TIMER_INT_OFF & T2_PS_1_1 & T2_POST_1_8);

Yorumlar