BAB
5
PENCACAH/ COUNTER
MATERI :
- Karakteristik Dan Jenis – Jenis Counter
- Proses dan Modulus (MOD) Counter
- Penerapan Counter dalam Rangkaian
- Pemograman Counter
PENDAHULUAN
Banyak aplikasi yang membutuhkan perhitungan suatu kejadian/ event ataupun
membangkitkan waktu tunda, sehingga untuk keperluan tersebut maka diperlukanlan suatu
register counter. Register sendiri merupakan suatu kumpulan dari elemen – elemen memory
yang bekerja bersama sebagai satu unit. Sedangkan counter (pencacah) merupakan jenis
khusus dari register.
Penerapan rangkaian counter secara sederhana dapat dibangun dengan menggunakan
Flip – Flop dan gerbang logika dasar. Flip – Flop merupakan suatu piranti yang memiliki dua
keadaan stabil, piranti tersebut akan tetap bertahan pada salah satu dari dua keadaan itu
sampai adanya pemicu yang membuatnya berganti keadaan. Selain dengan menggunakan
Flip – Flop penerapan counter dapat juga dibangun dengan menggunakan IC dan
mikrokontroler.
Suatu rangkaian counter mempunyai kemampuan untuk membangkitkan dan
mencacah kejadian (event) sinyal periodik dengan frekuensi khusus. Berdasarkan itulah
suatu counter berhubungan erat dengan frekuensi, perioda dan duty cycle. Frekuensi adalah
jumlah pulsa yang terjadi dalam satu satuan waktu. Perioda merupakan waktu yang
diperlukan atau kebalikan dari frekuensi, sedangkan duty cycle merupakan siklus kerja
(perbandingan lebar sinyal (pulsa) pada keadaan tinggi terhadap periode siklus).
CopyRigh@Ekabudi
5. 1 Karakteristik Dan Jenis – jenis Counter
Pencacah (counter) adalah merupakan jenis khusus dari register, yang dirancang guna
mencacah/menghitung jumlah pulsa-pulsa detak yang tiba pada masukan-masukannya.
Secara sederhana counter/ mencacah dibangun dengan flip – flop dan gerbang logika dasar,
dalam mengcounter/ mencacah flip – flop jenis JK merupakan elemen yang ideal untuk
digunakan.
Counter banyak digunakan pada peralatan yang berhubungan dengan teknologi
digital, biasanya untuk menghitung jumlah kemunculan sebuah kejadian/event atau untuk
menghitung pembangkit waktu (sinyal detak).
Gambar. Flip – Flop JK dan tabel logika
Pada Flip – Flop JK masukan – masukan J dan K merupakan sinyal – sinyal
kendali, yang mengatur apa yang dilakukan rangkaian dari sinyal detak, bila J dan
K rendah, maka kedua gerbang masukan menjadi tak aktif dan rangkaian tidak
berfungsi sepanjang waktu itu. Sedangkan bila kedua masukan J dan K dalam
tingkat logika tinggi, maka flip – flop dapat diset atau direset.
a) Karakteristik counter
- Sampai berapa banyak ia dapat mencacah (modulo pencacah)
=> Misalnya : counter modul 10, berarti counter tersebut dapat mencacah sebanyak 10
kondisi (contoh dalam desimal dengan rentang nilai 0 – 9 )
- Mencacah maju atau mencacah mundur
- Kerjanya sinkron atau tidak sinkron
b) Jenis – jenis counter
Berdasarkan proses perhitungan yang dilakukan counter secara sequential,
maka dapat dibedakan atas yaitu : menghitung naik (Up Counter), menghitung turun
(Down Counter) dan menghitung naik turun (Up Down Counter). Sedangkan
berdasarkan sumber clock (pembangkit sinyal detak) maka counter dapat dibedakan
atas , yaitu Asinkronous Counter dan Sinkronous Counter.
CopyRigh@Ekabudi
Asinkronous Counter disebut juga Ripple Through Counter atau Counter
Serial (Serial Counter), karena output masing-masing flip-flop yang digunakan akan
berubah kondisi dari “0” ke “1” dan sebaliknya secara berurutan, hal ini disebabkan
karena flip-flop yang paling ujung dikendalikan oleh sinyal clock, sedangkan sinyal
clock untuk flip-flop lainnya berasal dari masing-masing flip-flop sebelumnya.
Gambar rangkaian asinkronous counter adalah sebagi berikut.
Gambar. Rangkaian Asinkronous 4 bit
Sedangkan pada counter sinkron, output flip-flop yang digunakan bergantian
secara serempak. Hal ini disebabkan karena masing-masing flip-flop tersebut
dikendalikan secara serempak oleh sinyal clock. Oleh karena itu Counter Sinkron
dapat pula disebut sebagai Counter paralel (Parallel Counter).
Gambar. Rangkaian sinkronous 4 bit
5. 2 Proses Dan Modulus (MOD) Counter
Rangkaian penghitung atau pencacah digital (Counter) merupakan
rangkaian “clock”sekuensial yang hampir sama, yaitu terdiri dari gerbang flip-flop dan
gerbang kombinasi dengan sistem sambungan umpan balik (feedback) yang mana digunakan
pada elektronika digital dalam menghitung bilangan logika.
Rangkaian counter juga merupakan suatu rangkaian yang komprehensif, yaitu
perpaduan dari IC counter digital yang tersedia untuk dikombinasikan dengan komponen
CopyRigh@Ekabudi
digital dasar sebagai dekoder (seperti gerbang AND, OR, NOT, NAND, NOR, ataupun
EXOR), dan komponen analog (seperti, dioda, transistor) yang dibentuk dalam satu unit
kesatuan rangkaian kontrol digital sederhana. Contoh alur dari proses rangkaian counter dapat
dilihat pada gambar berikut :
Gambar. Blok Diagram Proses Rangkaian Counter Digital
Proses perancangan suatu counter dapat dilakukan dengan pendekatan State machine.
State machine merupakan konstruksi logika yang digunakan untuk mendefinisikan sifat
sistem yang sederhana, contoh dalam hal ini perancangan suatu rangkaian digital maka dapat
dimulai dari mendefinisikan permasalahan yang seharusnya telah diketahui dan bagaimana
cara pemecahannya.
State machine digambarkan dengan state diagram, didalam state diagram terdapat 4
komponen yaitu : state, input, output dan transisi. Berikut merupakan bagan state machine
yang sederhana.
State machine outputnya tergantung pada present state, proses transisi dinyatakan
dengan tanda panah, hal – hal yang terkait dari state diagram :
- Present state (status sekarang) => tidak hanya ditentukan oleh masukan (input)
sekarang, tetapi juga oleh semua masukan sebelumnya (history)
- Next state (status yang akan datang) => bergantung pada masukan (input) dan
status sekarang.
CopyRigh@Ekabudi
Urutan keadaan/ state
- Urutan naik (Up) sederhana
Model Rangkaian :
- Urutan naik/ turun (Up/ Down) 2 arah
Model Rangkaian
Contoh 1 :
- Misalkan A, B, dan C adalah suatu output yang dipresentasikan dengan 6 state
yaitu : 000, 001, 010, 011, 100, 101 dan diulang kembali dari keadaan yang
pertama yaitu di 000. Buatlah state diagram dan tabel logika dari kondisi tersebut.
Pembahasan :
Definisi state dan transisi dari state
State => 000, 001, 010, 011, 100, 101 => terdiri dari 6 transisi
CopyRigh@Ekabudi
Ubah dalam bentuk state diagram
Dari gambaran diatas dapat dinyatakan bahwa state tersebut mod – 6
Timing diagram
Tabel . State diagram
Present State Next State Input Forming Logic
ABC ABC JA KA JB KB JC KC
000 001 0X 0X1X
001 010 0 X 0 X X 1
010 011 0 X X 0 1 X
011 100 1 X X 1 X 1
100 101 X 0 0 X 1 X
101 000 X 1 0 X X 1
Kondisi X : Menyatakan kondisi tak peduli (bisa dalam logika 0 dan 1), tergantung
dari input dan menyatakan komplemennya
5. 2 . 1 Modulus (MOD) Counter
Modulus (mod) counter merupakan istilah dalam menentukan bilangan counter paling
tinggi yang bisa dihasilkan oleh sebuah counter, ditentukan oleh banyak jumlah kombinasi
ouputnya. Secara sederhana Modulus Counter dapat ditentukan dengan rumus 2n-1, dengan n
adalah jumlah flip-flop yang digunakan, contoh Modulus 8 berarti rangkaian yang dapat
menghitung hingga 23-1 = 7(10) .
Penghitung modulus, atau hanya penghitung MOD, ditentukan berdasarkan jumlah
bagian yang akan diurutkan oleh penhitung sebelum kembali ke nilai semula.
Sebagai contoh, penghitung 2-bit yang dihitung dari 002 sampai 112 dalam biner, yaitu 0
sampai 3 dalam desimal, memiliki nilai modulus 4 (00 → 01 → 10 → 11, kembali kembali
ke 00 sehingga oleh karena itu disebut modulus-4, atau mod-4 penghitung.
CopyRigh@Ekabudi
A) Up Counter Sinkron Dengan Flip – Flop
Contoh 2: Penerapan counter 2 bit dengan Flip – flop mod – 4
Jadi dapat diketahui bahwa nilai bit tertinggi adalah 11 (dalam desimal = 3) dan pada
kondisi desimal = 4 kembali ke 00.
Untuk flip – flop yang digunakan : 4 = 2n => n = 2
N = jumlah flip – flop = 2
Dalam rangkaiannya dapat digambarkan sebagai berikut :
Tabel logika State diagram Desimal
1
Present State Next State 2
00 01 3
01 10 0
10 11
11 00
Timing State diagram
Contoh 3: Penerapan counter 2 bit dengan Flip – flop mod – 8
8 = 2n = 23 => n = 3
Jumlah flip – flop = 3
CopyRigh@Ekabudi
Tabel logika State diagram
Present State Next State Desimal
000 001 1
001 010 2
010 011 3
011 100 4
100 101 5
101 110 6
110 111 7
111 000 0
B) Down Counter Sinkron Dengan Flip – Flop
Contoh 4: Penerapan down counter 2 bit dengan Flip – flop mod – 4
Dalam rangkaian
Tabel logika State diagram Down Counter Mod – 4
Present State Next State Desimal
00 11 3
11 10 2
10 01 1
01 00 0
Contoh 5 : Penerapan down counter 2 bit dengan Flip – flop mod – 8
Dalam rangkaian
CopyRigh@Ekabudi
Tabel logika State diagram Down Counter Mod – 8
Present State Next State Desimal
000 111 7
111 110 6
110 101 5
101 100 4
100 011 3
011 010 2
010 001 1
001 000 0
Latihan 1:
Berdasarkan contoh diatas, buatlah :
a) Rangkaian counter Up Counter Sinkron Mod – 16 dan tabel logika statenya
b) Rangkaian counter Down Counter Sinkron Mod – 16 dan tabel logika statenya
5. 3 Penerapan Rangkaian Counter dengan IC (Integrated Circuit)
Integrated Circuit (IC) merupakan Komponen Elektronika Aktif yang terdiri dari
gabungan ratusan, ribuan bahkan jutaan Transistor, Dioda, Resistor dan Kapasitor yang
diintegrasikan menjadi suatu Rangkaian Elektronika dalam sebuah kemasan kecil.
Didalam perancangan rangkaian counter yang lebih komplek disamping/ selain
dengan menggunakan mikrokontroler, penggunaan IC sangatlah penting.
5.3.1 Rangkaian Counter dengan BCD (Dekade counter)
BCD merupakan bilangan kode biner 4 bit yang dikonversi dari bilangan desimal
dasar (0 sampai 9). Berikut merupakan tabel kode BCD :
Desimal 0 1 2 3 4 567 8 9
Biner 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
Diantara IC BCD yang sering digunakan yaitu : IC 74160 (Sinkron BCD Counter
Decade & Asinkron reset, IC 74190 (Sinkron BCD Counter Decade Up/ Down), IC 74192
(Sinkron BCD Counter Decade Up /Down) dan lainnya. Bagan alur rangkaian counter BCD
(Decade Counter) adalah seperti berikut :
CopyRigh@Ekabudi
BCD counter (0 sampai 9) mempunyai 4 masukan yang digunakan untuk
mengeset mulainya hitungan dengan operasi Parallel Load (PL). Counter ini juga
menghitung up/down dengan menentukan masukan U/D. Kaki Count Enable (CE) adalah
masukan aktif-LOW yang digunakan untuk meng-enable/inhibit counter. Kaki keluaran yang
ada pada IC BCD adalah Q0, Q1, Q2, dan Q3 serta TC (Terminal Count) dan RC
(Ripple Clock). TC maupun RC dapat digunakan sebagai masukan clock untuk counter
yang lebih tinggi.
Output dari BCD decade merupakan input dari BCD 7 segment yang mana
keluarannya adalah penghubung ke peraga 7 segment. Seven segmen dibedakan atas
Common anoda dan Common katoda.
- Common anoda merupakan pin yang terhubung dengan semua kaki anoda LED
dalam seven segment. Common anoda diberi tegangan VCC dan seven segmen
dengan common anoda akan aktif pada saat diberi logika rendah (0) atau sering
disebut aktiflow. Kaki katoda dengan label a sampai h sebagai pin aktifasi yang
menentukan nyala LED.
- Common katoda merupakan pin yang terhubung dengan semua kaki katoda LED
dalam seven segmen dengan common katoda akan aktif apabila diberi logika tinggi
(1) atau disebut aktif high. Kaki anoda dengan label a sampai h sebagai pin aktifasi
yang menentukan nyala LED. Gambar dari jenis 7 segment tersebut adalah seperti
berikut :
CopyRigh@Ekabudi
Tabel. Logika dari fungsi BCD 7 segment
Tabel. Pengkodean Karakter LED 7 Segment Common Anoda
Tampilan Karakter dp g f e d c b a heksa
0 1 1 0 0 0 0 0 0 C0
1 1 1 1 1 1 0 0 1 F9
2 1 0 1 0 0 1 0 0 A4
3 1 0 1 1 0 0 0 0 B0
4 1 0 0 1 1 0 0 1 99
5 1 0 0 1 0 0 1 0 92
6 1 0 0 0 0 0 1 0 82
7 1 1 1 1 1 0 0 0 F8
8 1 0 0 0 0 0 0 0 80
9 1 0 0 1 0 0 0 0 90
A 1 0 0 0 1 0 0 0 88
b 1 0 0 0 0 0 1 1 83
C 1 1 0 0 0 1 1 0 C6
d 1 0 1 0 0 0 0 1 A1
E 1 0 0 0 0 1 1 0 86
F 1 0 0 0 1 1 1 0 8E
Kode – kode tersebut untuk pemasangan ke PORTB dalam mikrokontroler
CopyRigh@Ekabudi
Tabel. Pengkodean Karakter LED 7 Segment Common Cathoda
Tampilan Karakter dp g f e d c b a heksa
0 0 0 1 1 1 1 1 1 3F
1 0 0 0 0 0 1 1 0 06
2 0 1 0 1 1 0 1 1 5B
3 0 1 0 1 1 1 1 1 5F
4 0 1 1 0 0 1 1 0 66
5 0 1 1 0 1 1 0 1 6D
6 0 1 1 1 1 1 0 1 7D
7 0 0 0 0 0 1 1 1 07
8 0 1 1 1 1 1 1 1 7F
9 0 1 1 0 1 1 1 1 6F
Contoh 6: Rangkaian counter BCD (Dekade) ke 7 Segment Dekoder
Cara kerja rangkain :
Rangkaian diatas merupakan rangkaian Up Counter Mod – 10, rangkaian tersebut
mencacah/ mengkonter naik (Up Counter) 0 – 9 empat masukan (D0,D1,D2,D3).
Operasi Parallel Load (PL) untuk mengeset mulainya hitungan, pulsa detak
(clock) mengumpankan ke PIN Up dalam hal ini menyatakan pencacah naik.
Untuk menginstruksi perhitungan turun (Down counter) kita Cuma mengganti Pin
Up dengan Down yang dihubungkan ke clock.
CopyRigh@Ekabudi
Contoh 7 : berikut merupakan BCD 7 segment decoder common cathode yang diterapkan
pada rangkaian counter JK-Flip – Flop
Cara kerja rangkaian :
Rangkaian diatas merupakan rangkaian Up Counter Sikron Mod 16. FF A
mendapat arus tegangan, kondisi clock dalam keadaan aktif memberikan keadaan
pacu (set dan reset), FF A memberikan detak ke Flip – flop selanjutnya (FF B), ke
Output A (OA) dan gerbang AND 1, mengakibatkan FF B dalam keadaan pacu
memberikan pulsa detak ke kaki AND1 dan ke Output B (OB), OA dan gerbang
AND1 aktif dan memberikan tegangan ke AND2, FF C sehingga memberikan
keadaan pacu sehingga memberikan tegangan ke Output C (OC), AND 2 kondisi
aktif memberikan tegangan ke FF D dan memberikan keadaan pacu ke Output D
(OD). BCD Decoder sebagai input ke peraga display 7 segment menerima
tegangan dari OA, OB, OC dan OD berdasarkan pin dari kakinya (PIN A ke jalur
OA) dan seterusnya.
Penerapan rangkaian counter dengan cara – cara Flip – flop dan penerapan IC sangat
bergantung terhadap banyaknya kebutuhan komponen, hal tersebut untuk mengcounter/
mencacah rangkaian sederhana sangat mungkin dilakukan, tetapi untuk rangkaian counter
yang lebih komplek sangat tidak efektif karena sangat sukar dimodifikasi. Misalnya contoh
berikut untuk mengkonter 2 digit 7 segment seidaknya kita membutuhkan beberapa IC,
belum lagi ditambah dengan kebutuhan – kebutuhan lainnya.
CopyRigh@Ekabudi
Contoh 8 : Rangkaian Up Counter Mod 100 2 Digit 7 Segment
Cara kerja :
Kondisi clock memberikan pulsa detak ke BCD Decade A1 dan mengaktifkan
tegangan keluaran pada Q0,Q1,Q2 dan Q3 serta mengaktifkan kondisi BCD Decoder 7
Segment A2 untuk mengaktifkan display 7 segment DISPLAY1 Up counter, pada counter ke
9 kondisi tringger Up aktif dalam hal ini PIN 12 yang memberikan tegangan pada B1 untuk
meng – Up Counter DISPLAY2, dan pada kondisi counter ke 99 kembali ke 0 sampai
melakukan perulangan terus menerus.
Pada kasus diatas untuk melakukan down counter dari 99 sampai 0, kita
memposisikan posisi clock pada B1 yaitu pada pin 4 (down) dan posisi parallel load pada pin
5 (Up), serta pada tringger B1 (PIN 13) ke PIN 4 (down) pada A1.
5. 3 Penerapan Rangkaian Counter dengan Mikrokontroler
Untuk mengkonter yang lebih komplek sangat baik menggunakan mikrokontroler, hal
tersebut sangat mudah dimodifikasi, pengaturan waktu detakpun lebih leluasa. Pada
penerapan counter dengan mikrokontroler kita harus menanamkan program dalam
mikrokontroler tersebut, dalam hal ini bisa dengan mengunakan AVR Studio, Code Vision
AVR (umum digunakan) ataupun yang lainnya.
Materi tentang counter dengan mikrokontroler hanya bersifat pembekalan dan
menambah pengetahuan serta pemahaman terhadap mikrokontroler.
CopyRigh@Ekabudi
Berikut merupakan contoh kasus dalam penerapan rangkaian counter dengan
mikrokontroler menggunakan aplikasi AVR Studo Versi 5 dan Proteus 7.
Contoh A1 :
Misalkan kita menyalakan/ mengcounter angka 5 pada tampilan LED 7 Segment common
anoda (kode karakter LED 7 Segment common anoda dan common cathoda berbeda seperti
pada tabel diatas) pada PORT B yang ada di mikrokontroler, maka penyelesaiannya seperti
berikut :
Kode untuk rangkaian tersebut :
#include <avr/io.h>
int main(void)
{
DDRA = 0xFF ;
DDRB = 0xFF ;
while(1)
{
PORTA = 0x7F;
PORTB = 0x92;
}
return ;
}
CopyRigh@Ekabudi
Keterangan :
- Perintah DDRA dan DDRB merupakan inisialisasi PORT sebagai output
- Perintah PORTA = 0x7F menyatakan perintah untuk menyalakan 7 segment
dalam hal ini sinyal power
- Perintah PORTB=0x92 menyatakan perintah untuk mengirimlan angka 5 (lihat di
tabel kode karakter 7 segment common anoda)
Berdasarkan contoh A1 dengan rangkaian yang sama kita bisa menghasilkan output
yang berbeda. Misalkan, Contoh A2 : Rangkaian Up Counter Mod 10 untuk
menampilkan angka 0 – 9 secara terus menerus dengan waktu detak (delay) selama
0,5 detik.
Kode programnya :
Keterangan :
- Perintah DDRA dan DDRB merupakan inisialisasi PORT sebagai output
- PORTA = 0b01111111 menyatakan perintah penyalaan 7 segment
- PORTB =0XC0 menyatakan perintah kirim angka 0 ke PORTB (untuk instruksi
lainnya menyatakan perintah mengirim angka seperti pada tabel kode karakter
common anoda)
- _delay_ms(500) menyatakan perintah delay setengah detik (untuk mengganti
perintah delak 1 detik tinggal diganti ke 1000)
CopyRigh@Ekabudi
Berikut merupakan contoh kasus dalam penerapan rangkaian counter dengan
mikrokontroler menggunakan aplikasi CodeVision AVR dan Proteus 7.
Contoh A3 :
Misalkan kita menyalakan/ mengcounter UP/ Down Counter MOD 10000 pada tampilan 4
digit LED 7 Segment common cathoda (kode karakter LED 7 Segment common cathoda
dapat dilihat pada tabel diatas) pada PORT C dan D sebagai output dengan waktu delay 1
ms (1 mili detik).
Catatan : 1000 ms (1000 mili detik) = 1 detik
Kode Program :
CopyRigh@Ekabudi
TUGAS KELOMPOK : DIKUMPUL WAKTU UTS
Buat Laporan di Jilid (Cover Kampus) tentang penerapan rangkaian counter dalam
yang nampak disekitar kita, dengan ketentuan penulisan laporan :
- Judul
- Latar belakang, perumusan masalah
- Penyelesaian masalah
- Kesimpulan (Tambahkan kalau ada saran)
Ketentuan text dan penulisan :
- Alinea : 1,5
- Karakter text : times new roman
- Perataan : Justify (rata kiri – kanan )
Nama – nama kelompok :
Kelompok 1 :
- Andy Pratama - Zundi Ropigu Suhada
- Nova Rianti Utami - Moh Randy Dwi
- Sairin
CopyRigh@Ekabudi
Kelompok 2 : - Bayu Putra Haryanto
- M. Fadjri aditya - Jhon Roy Hansea Hutapea
- Malik Fajar
- Latifa
Kelompok 3 : - Muhd Ali Kaufri
- Lutfi Hidayat - Teguh Tri Laksono
- M . Adren
- Marsaulina Magdalena Siahaan
Kelompok 4 : - Udi Yono
- Hakiki Hasibuan - Yoki Rahmad Afdal
- Ditio Ardanata - Rio Waidiman Manurung
- Rino Fitri Nanda
Kelompok 5 :
- Azwat
- Kurniawan
- Dika Apriani Rahayu
- Dicky Zulkarnaen Hutapea
- Rindianisesa Perdanosrri
- Andrian Bayu Pratama
CopyRigh@Ekabudi