Jumat, 17 Mei 2013

ProgramMable Timer Pada MC68HC11F1

PROGRAMMABLE TIMER PADA MIKROKONTROLER MC68HC11F1

          Masih membahas mikrokontroler MC68HC11F1, selanjutnya pada pertemuan kedelapan untuk sesi sistem mikrokontroler kali ini akan kita bahas tenatng programmable timer pada mikrokontroler MC68HC11F1. Sistim pewaktuan pada mikrokontroler MC68HC11 terdiri atas lima buah pembagi clock, pembagi clock utama merupakan free-running counter 16 bit yang dikendalikan oleh prescaler. Programmable prescaler timer utama menyediakan empat pilihan pembagi clock yang dapat dipilih dengan mengatur dua bit kontrol yaitu PR1 dan PR0. Keluaran prescaler adalah pulsa clock yang telah dibagi dengan nilai pembagi 1, 4, 8 atau 16. Keluaran pulsa clock yang lebih lambat ini dipergunakan sebagai pulsa accumulataor, Real-Time Interrerupt (RTI) dan computer operating properly (COP) watchdog subsystem.
          Semua aktivitas sistim timer utama disesuaikan dengan free-running counter ini. Counter mulai dengan hitungan naik dari $0000 seperti (ketika unit mikrokontroler direset), dan berlanjut sampai hitungan maksimum $FFFF, kemudian kembali ke $0000, dan mengeset register flag overflow dan melakukan hitungan lagi seperti semula. Pada mode operasi normal, sama sekali tidak mungkin untuk mereset, mengubah, atau interupsi counter ini. Programmable timer bermula dari sebuah free-running counter 16 bit yang mendapatkan clock dari E-clock yang dibagi dengan bit kontrol yang dapat diset melalui bit PR1 dan PR0 dari register TMSK2 sebagi berikut.

1. Timer Interrupt Mask Register 2 (TMSK2)

Gambar 1. Timer Interrupt Mask Register 2 (TMSK2)

Tabel 1. PR1 dan PR0 Timer Prescaler Select
PR1   PR0   Divide By
0         0        1
0         1        4
1         0        8
1         1        16
          
         Bit control prescaler hanya dapat diset selama 64 pertama E-clock setelah reset. Free-running counter (register TCNT) dapat dibaca kapan saja tanpa merubah isi register dan hanya dapat di-clear dengan reset saja. Free-running counter ini akan menghitung mulai $0000 sampai dengan $FFFF dan setiap terjadi overflow bit maka timer overflow flag (TOF) di register TFLG2 akan diset dan bit timer overflow interrupt enable (TOI) di register TMSK2. Programmable timer ini memiliki tiga register input capture dan empat register output compare yang dapat difungsikan dengan kontrol software.

2. Pulse Accumulator
Akkumulator pulsa adalah sebuah counter 8 bit yang dapat beroperasi satu dari dua mode tergantung dari kondisi kontrol bit pada register PACTL. Mode tersebut adalah :

- Event counting mode
8 bit counter ini mendapatkan signal clock dari pin external yang besarnya frekuensi maksimal adalah setengah E-clock.

- Gated time accumulation mode
8 bit counter ini mendapatkan signal clock dari internal free running Eclock yang besarnya adalah 1/64 dari E-clock selama pin masukan external PAI diaktifkan.

Gambar 2. Diagram Blok Timer

Akkumulator pulsa menggunakan port A bit 7 sebagai masukan,meskipun demikian pin ini juga masih dapat dipergunakan sebagai general-purpose I/O ataupun sebagai output compare. Dan ketika port A 7 ini telah dikonfigurasi sebagai output, pin ini tetap berfungsi segai masukan bagi akkumulator pulsa.

a. Pulse Accumulator Control Register (PACTL)

Gambar 3. Pulse Accumulator Control Register (PACTL)

Tiga bit dari register ini mengontrol sistim 8 bit akkumulator pulsa. Satu bit yang lain berfungsi untuk mengenablekan output compare 5 atau input capture 4, sedangkan bit lainnya untuk memilih rate untuk sistim real-time interrupt.

PAEN : Pulse Accumulator System Enable
1 = Pulse Accumulator on
0 = Pulse Accumulator off

PAMOD : Pulse Accumulator Mode
1 = Gated time accumulator mode
0 = Event counter mode

Tabel 2. Pulse Accumulator Edge Control (PEDGE)
PAMOD   PEDGE   Action on clock
0                0               PAI Falling Edge Increments the counter
0                1               PAI Rising Edge Increments the counter
1                0               A Zero on PAI Inhibits Counting
1                1               A One on PAI Inhibits Counting

I4/O5 Configure TI4O5 Register for IC or OC
1 = IC4 function enabled
0 = OC5 function enabled

Tabel 3. RTR1 and RTR0 Real-Time Interrupt (RTI) Rate

b. Pulse Accumulator Count Register (PACNT)

Gambar 4. Pulse Accumulator Count Register (PACNT)

Register ini berisi hasil counter dari external input PAI pada mode external input events atau selama PAI ini aktiv pada mode gated time accumulation mode.

Tidak ada komentar:

Posting Komentar