1. Bit -7: Output Control (OUT) yaitu jika pin SQW/OUT di-disable sehingga tidak mengeluarkan clock, bit-7 ini menentukan level sinyal yang keluar dari pin
2.1.4. Menentukan lamanya satu detik
2.1.4.2. Menentukan satu detik pada mikrokontroler
Sebuah mikrokontroler mempunyai beberapa port keluaran. Dari port tersebut dapat dikeluarkan isyarat clock dengan frekuensi tertentu. Aras rendah clock dapat dikeluarkan dengan memberikan logika rendah pada keluaran port tersebut; dan aras tinggi clock dapat dikeluarkan dengan memberikan logika tinggi pada keluaran port tersebut. Frekuensi tertinggi clock yang dapat dikeluarkan sebuah port tergantung pada frekuensi clock yang diberikan kepada mikrokontoler tersebut dan pemilihan instruksi yang tepat.
Pembangkit isyarat clock
Pembangkitan isyarat clock dapat dilakukan minimal dengan tiga cara. Pertama, dengan mengeluarkan data logika tinggi diikuti dengan data logika rendah secara periodis. Hal ini dapat dilakukan dengan instruksi pemindahan data seperti MOV. Agar dapat diperoleh frekuensi clock cukup tinggi, maka dipilih instruksi yang mempunyai waktu eksekusi paling kecil yaitu satu siklus. Contoh instruksi tersebut adalah MOV P1, A (Atmel Corp., 1997). Jika suatu mikrokontroler dioperasikan dengan clock 24 MHz, maka dengan instruksi tersebut perubahan logika keluaran port 1 dapat dilakukan setiap 0,5 mikrodetik sekali.
Cara kedua dengan mengeset dan mereset sebuah pin port keluaran. Hal ini dapat dilakukan dengan instruksi SETB <pin_port> dan CLR <pin_port>. Cara kedua ini mempunyai kelebihan tidak terlibatnya data di memori lain. Sedangkan cara ketiga adalah dengan menegasikan logika port keluaran. Dengan menggunakan instruksi CPL <pin_port>, maka logika keluaran di suatu pin pada port keluaran dapat dinegasikan setiap satu siklus sekali atau 0,5 mikrodetik sekali.
Pembangkit clock 1 MHz
Dengan mengoperasikan mikrokontroler pada frekuensi 24 MHz, maka satu siklus bahasa mesin yang terdiri dari enam fase dapat dieksekusi dalam waktu 0,5 mikrodetik (Atmel Corp., 2007). Dengan menggunakan instruksi CPL P1.0 berturut-turut, maka di pin 0 port 1 akan diperoleh keluaran isyarat clock dengan periode 1 mikrodetik atau berfrekuensi 1 MHz.
Keluaran pin 0 port 1 diharapkan berbentuk gelombang kotak dengan frekuensi 1 MHz. Namun dengan adanya efek kapasitif pada keluaran port tersebut, bentuk gelombang berbentuk keluaran mungkin tidak kotak, tapi mendekati keluaran gelombang kotak yang telah melalui untai integrator. Untuk mengembalikan bentuk tersebut ke gelombang kotak dapat digunakan gerbang dengan pemicu Schmitt, misalnya gerbang NOT dengan pemicu Schmitt 74LS14 (Tocci dan Widmer, 1998).
Gambar 2.9. Pembangkitan clock 1 MHz di port 1 pin 0
(Teknoin, Volume 13, Nomor 2, Desember 2008, 6-10. ISSN: 0853-8697).
Pembangkit clock kurang dari 1 MHz
Clock dengan frekuensi kurang dari 1 MHz dapat dibentuk dengan menunda pelaksanaan instruksi CPL P1.0 berikutnya. Penundaan dapat dilakukan dengan menyisipkan instruksi untuk tidak mengerjakan apa-apa, yaitu NOP (No operation). Instruksi tersebut membutuhkan waktu eksekusi satu siklus. Penyisipan satu instruksi NOP di antara dua instruksi CPL P1.0 akan menunda eksekusi instruksi CPL P1.0 berikutnya selama satu siklus. Dengan mengoperasikan mikrokontroler ini pada clock 24 MHz, maka instruksi CPL berikutnya akan tertunda satu siklus atau 0,5 mikrodetik, sehingga selang eksekusi dua instruksi CPL adalah 1 μs.
Gambar 2.10. Pembangkitan clock 500 kHz
Penyisipan satu instruksi NOP akan membentuk clock dengan periode 2 mikrodetik atau berfrekuensi 500 kHz. Penyisipan dua instruksi NOP akan membentuk clock dengan frekuensi 333.333 Hz. Jumlah instruksi NOP yang dapat disisipkan dan frekuensi clock keluaran pada tabel 2.4.
Tabel 2.4. Jumlah instruksi NOP yang disisipkan dan frekuensi clock keluaran (Teknoin, Volume 13, Nomor 2, Desember 2008, 6-10. ISSN: 0853-8697).
NOP yang disisipkan 1 2 3 4 5 6 7 8 9
fclock (kHz) 500 333 250 200 167 143 125 111 100
2.1.5.Mikrokontroler AT89C2051
Mikrokontroler AT89C2051 merupakan salah satu keluarga dari MCS-51 keluaran Atmel. Jenis Mikrokontroler ini pada prinsipnya dapat digunakan untuk mengolah data per bit ataupun data 8 bit secara bersamaan.
Pada prinsipnya program pada mikrokontroler dijalankan bertahap, jadi pada program itu sendiri terdapat beberapa set instruksi dan tiap instruksi itu dijalankan secara bertahap atau berurutan.
Beberapa fasilitas yang dimiliki oleh mikrokontroler AT89C2051 adalah sebagai berikut:
1. Sebuah Central Processing Unit 8 bit. 2. Osilator internal dan rangkaian pewaktu. 3. RAM internal 128 byte.
4. Flash memori 2 Kbyte.
5. Lima buah jalur interupsi (dua buah interupsi eksternal dan tiga buah interupsi internal).
6. Empat buah programable port I/O yang masing-masing terdiri dari delapan buah jalur I/O.
7. Sebuah port serial dengan kontrol serial full duplex UART.
8. Kemampuan untuk melaksanakan operasi aritmatika dan operasi logika.
9. Kecepatan dalam melaksanakan instruksi per siklus 1 mikrodetik pada frekuensi 12 MHz.
Pin-pin pada Mikrokontroler AT89C2051
Deskripsi pin-pin pada Microcontroller AT89C2051 adalah sebagai berikut: 1. VCC (Pin 20) – Supplai tegangan.
2. GND (Pin 10) – Ground.
3. Port 3 (Pin 2, 3, 6 – pin 9, 11) – Port 3 merupakan 7 bit port I/O dua arah dengan internal pullup. Port 3 mempunyai fungsi pin masing-masing yang ditunjukkan pada tabel 2.5.
Tabel 2.5. Fungsi masing-masing pin port 3 mikrokontroler AT89S2051. (Data sheet AT89C2051)
Port (pin)
Fungsi
P3.0 (pin 2) RXD (port serial penerima data).
P3.1 (pin 3) TXD (port serial pengirim data).
P3.3 (pin 7) INT1 (input interupsi ekstrernal 1, aktif low).
P3.4 (pin 8) T0 (eksternal input timer / counter 0).
P3.5 (pin 9) T1 (eksternal input timer / counter 1).
P3.7 (pin 11) RD (Read, aktif low) Sinyal kontrol pembacaan memori data input-output eksternal ke port 0.
4. RST (pin 1) – Reset akan aktif dengan memberikan input high selama 2 siklus. 5. XTAL1 (pin 4) – Input untuk clock internal.
6. XTAL2 (pin 5) – Output dari osilator.
2.1.6.IC 4094
IC 4094 adalah suatu IC shift register 8 tingkat yang memiliki register latch untuk setiap bit untuk keperluan memindahkan data dari saluran serial kesaluran paralel dengan 3 tingkatan pergeseren bit Q0 sampai bit Q7 menuju output. Output paralel dapat dihubungkan langsung dengan jalur data umum. Data digeser pada perubahan sinyal clock dari Low ke High, selanjutnya data digeser dari register geser keregister penyimpanan, kemudian dengan memberikan logika high pada pin OE akan menggeser data dari register penyimpangan menuju register output.
Gambar 2.11. Diagram fungsi register (Data Sheet IC 4094)
Ada dua serial yang keluar dari IC 4094 yaitu Qs dan Q’s yang disediakan untuk keperluan penyambungan beberapa IC secara serial. Data tersedia pada Qs pada pergeseran sinyal clock dari logika low ke logika high untuk memungkinkan pergeseran dengan kecepatan tinggi dalam keperluan penyambungan beberapa IC secara serial. Output pada Q’s akan bergeser pada saat sinyal clock berubah dari logika high ke logika low. Gambar 2.4 menunjukkan posisi dan penamaan pin untuk IC 4094.
Gambar 2.12. Diagram Pin IC 4094 (Data sheet IC 4094). Keterangan:
CP = clock input STR = strobe input EO = ouput enable input QS, Q’S = output serial Q0 S/d Q7 = output parallel
2.1.7.Seven Segment
Seven segment merupakan LED yang disusun atas 7 segment yang dipergunakan untuk menampilkan angka 0 sampai 9 dan sejumlah karakter alfabet.
Gambar 2.13. Tampilan seven segmen (Sulhan Setiawan, 2006)
Seven segment terdiri dari dua konfigurasi, yaitu common anoda dan common katoda. Pada seven segment tipe common anoda, anoda dari setiap LED dihubungkan menjadi satu kemudian dihubungkan ke sumber tegangan positif dan katoda dari masing-masing LED berfungsi sebagai input dari seven segment, seperti ditunjukkan pada gambar 2.14.
Gambar 2.14. Konfigurasi seven segmen tipe common anoda (Dwi sutadi, 2002). Sesuai dengan gambar 2.14, maka untuk menyalakan salah satu segmen, maka katodanya harus diberi tegangan 0 volt atau logika low. Misalnya jika segmen a akan dinyalakan, maka katoda pada segmen a harus diberi tegangan 0 volt atau logika low, dengan demikian maka segmen a akan menyala. Demikian juga untuk segmen lainnya.
Pada seven segment tipe common katoda, katoda dari setiap LED dihubungkan menjadi satu kemudian dihubungkan ke ground dan anoda dari masing-masing LED berfungsi sebagai input dari seven segment.
Gambar 2.15. Konfigurasi seven segmen tipe common katoda (Dwi Sutadi, 2002). Sesuai dengan gambar 2.15, maka untuk menyalakan salah satu segmen, maka anodanya harus diberi tegangan minimal 3 volt atau logika high. Misalnya jika segmen a akan dinyalakan, maka anoda pada segmen a harus diberi tegangan minimal 3 volt atau logika high, dengan demikian maka segmen a akan menyala. Demikian juga untuk segmen lainnya.