Setelah sudah lama tidak membahas tentang Mikrokontroler, akhirnya bias
share ilmu sedikit lagi nih.. yah hitung – hitung menyebarkan ilmu yang mungkin dapat bermanfaat untuk pembaca setia blog ini.
Pengertian Counter
Secara bahasa counter berarti pencacah, artinya rangkaian ataupun aplikasi counter bias digunakan untuk mencacah / menghitung baik hitungan secara keatas (counter up) ataupun menghitung mundur (counter down). Untuk aplikasi dilapangan biasanya digunakan pada conveyor untuk level industry ataupun aplikasi lainnya, secara hardware pun counter bisa digunakan untuk sensor apapun tetapi lebih ke sensor yang keluarannya berupa lebel tegangan digital semisal, push button, saklar proximity tetapi bukan berarti tidak bisa digunakan pada tegangan analog seperti suhu, tekanan dan lainnya, hanya saja sedikit kurang maksimal.
Counter pada Mikrokontroler
Pada pembahasan tentang counter ini mungkin dikhusukan pada mikrokontroler keluarga ATmega tipe apapun. Sesuai dengan pembahasa diatas mengenai pengertian rangkain counter sebenarnya dengan menggunakan bahasa pemrograman tingkat tinggi (high level language) semisal basic dengan compilernya Bascom (Basic compiler) ataupun C dengan compiler Codevision AVR kita dapat “mengakali aplikasi counter secara software missal:
Do
if tombol = 1 then
A = A + 1
If A =5 then
Lampu = 1
End if
Program diatas merupakan program counter menggunakan bahasa basic yang dimana ketika tombol ditekan sebanyak 5 kali baru lampu akan hidup. Namun kali ini saya akan membahas tentang menggunakan fasilitas counter pada hardware mikrokontroler (yang biasanya pada datasheet disebut interupsi baik interupsi timer maupun counter).
Agar lebih mudah memahami interupsi, kita langsung menganalisi contoh aplikasi berikut:
Rangkaian aplikasi Interupsi
Tambahkan push button ataupun sensor pada pin int0 atau int1
Program dengan menggunakan Bascom
$regfile = “Mega8538.dat”
Dim A as byte, B as bit
Enable interrupts
Enable Int0
On Int Count
Set Tcon.0
A=0
Do
PortA=A
Loop Until A=25
End
Count:
A=A+1
Return
Penjelasan Program
Enable Interrupts, digunakan untuk membolehkan semua interupsi
Enable Int0, digunakan untuk membolehkan Interupsi eksternal 0
On Int0 count, jika terjadi interupsi eksternal 0 maka program akan melopat menuju count:
Set Tcon.0, digunakan untuk mengaktifkan interupsi.
*Ket: untuk jenis interuspsi(mis: interupsi eksternal/internal,Tcon.1/Tcon0,dll) sesuai datasheet pada mikrokontroler.
Mudahkan…
Selamat belajar
Salam santun…