Rabu, 14 Januari 2009

Jurnal Sumardiansyah

Perancangan Sistem Voting Elektronika Berbasis Mikrokontroler Atmel AT89C51

Sumardiansyah

Mahasiswa Jurusan Teknik Elektronika D3 Universitas Negeri Jakarta

Alat ini berfungsi untuk membuat sistem voting elektronika berbasis mikrokontroler AT89C51. alat ini terdiri dari tiga bagian utama. Pertama merupakan blok rangkaian input yang terdiri dari tiga rangkaian sakelar tekan. Bagian kedua adalah blok rangkaian proses yang terdiri dari rangkaian sistem minimum mikrokontroler AT89C51. Sedangkan bagian ketiga merupakan blok rangkain penampil seven segmen sebagai output.

Kata kunci : mikrokontroller AT89C51, transistor, seven segmen.

A. Kajian Teoritis

1. Mikrokontroller Atmel AT89C51

AT89C51 adalah mikrokontroler yang memiliki daya rendah yang memiliki performa yang tinggi dan merupakan jenis IC CMOS 8 bit mikrokomputer dengan 4 Kbytes Flash Memory (EPROM). Perangkat ini dibuat dengan menggunakan teknologi Atmel (high involtalite memory technology) yang disesuaikan denganstandar instruksi dan pin-pin keluaran (pinout) keluarga mikro kontroler MCS-51. Pada chip flash program memori diperkenankan untuk kembali diprogram ulang didalam sistem yang telah diprogram atau dengan sebuah program konvensional memori nonvolatile. AT89C51 merupakan sebuah mikrokomputer yang menyediakan sebuah fleksibilitas yang tinggi dan solusi harga yang relatif murah untuk berbagai aplikasi kontrol.1

a. Kontrol Pin Mikrokontroler

IC mikrokontroler dikemas dalam bentuk yang berbeda. Namun pada dasarnya, kaki yang ada pada Ic memiliki persamaan . berikut ini adalah penjelasan fngsi kaki yang ada pada mikrokontroler.

1. Port 0

Merupakan port yang memeiliki dua kegunaan. Pada desain yang minimum digunakan sebagai port I/O. pada desain yang lanjut pada perancangan dengan memori eksternal digunakan sebagai data dan alamat yang di-multiplex. Port 0 pada pin 32-39.

2. Port 1

Merupakan port yang hanya berfungsi sebagai port I/O, kecuali pada IC 8032 dan 8052 yang menggunakan P1.0 dan P1.1 sebagai input eksternal untuk timer ketiga. Pin 1 terdapat pada pin 1-8.

3. Port 2

Merupakan dual-purpose port. Pada desain minimum digunakan sebagai port I/O. Pada desain lebh lanjut digunakan sebagai high byte dari alamat. Port 2 terdapat pada pin 21-28.

4. Port 3

Merupakan dual purpose port. Selain sebagai port I/O juga mempunyai fungsi sebagai berikut.

PORT PIN

FUNGSI ALTERNATIF

P3.0

RXD (Serial Input Port)

P3.1

TXD (Serial Output Port)

P3.2

INT0 (External Interrupt 0)

P3.3

INT1 (External Interrupt 1)

P3.4

T0 (Timer 0 external input)

P3.5

T1 (Timer 1 External Input)

P3.6

WR (Externel Data Memory Write Strobe)

P3.7

RD (Externel Data Memory Read Strobe

5. PSEN

PSEN adalah kontrol sinyal yang mengizinkan untuk mengakses program memori ekstrnal. Pin ini dihubungkan ke pin OE (output enable) dari EPROM. Sinyal PSEN akan 0 pada tahap penjemputan instruksi. PSEN akan selalu bernilai 0 pada pembacaan program memori internal. PSEN trdapat pada pin 29.

6. ALE

Digunakan untuk men-demultiplex alamat dan data bus. Ketika menggunakan program memori external dan port 0 akan berfungsi sebagai alamat dan data bus. Ppda setangah paruh pertama cycle ALE akan bernuilai satu sehingga mengizinkan penulisan alamat pada register external dan pada setengah paruh berikutnya akan bernilai satu hingga port 0 dapat digunakan sebagai data bus. ALE terdapat pada pin 30.

7. EA

Jika EA diberi masukan 1 maka akan menjalankan program memori external saja dan akan menjalankan instruksi ROM/EPROM ketika isi program hitung (counter) kurang dari 4096 atau 1000H. jika EA diberi masukan 0 maka hanya akan menjalankan program memori external (PSEN akan bernilai 0). EA terdapat pada pin 31.

8. RST

RST terdapat pada pin 9 yang merupakan reset pada AT89C51. jika pin ini diberi masukan 1 selama minimal 2 machine cycle maka sistem akan di-reset dan register-register internal pada AT89C51 akan berisi nilai default tertentu.

9. On-Chip Oscillator

AT89C51 memiliki on-chip­ oscillator yang yang dapat bekerja jika drive menggunakan kristal. Tambahan kapasitor diperlukan untuk menstabilkan sistem. Nilai kristal yang biasa digunakan AT89C51 adalah 12 MHz. walaupun jenis pada jenis 80C31BH-1 dapat menggunakan kristal dengan frekuensi sampai dengan 16 MHz. oon-chip oscillator tidak hanya dapat di drive dengan menggunakan kristal, tapi juga dapat menggunakan TTL osilator.

10. Koneksi Power

AT89C51 beroperasi pada tegangan 5 volt. Pin VCC terdapat pada pin 40, sedangkan GND terdapat pada pin 20.

b. Organisasi Memori

Program-program dan data pada komputer mauoun pada mikrokontroller disimpan dalam memori. Memori yang diakses oleh mikroprosesor ini terdiri dari RAM dan ROM. Perbedaan ram dan rom ini adalah:

1. RAM bisa ditulis dan dibaca sedangkan ROM hanya bisa dibaca.

2. RAM bersifat volatile (isinya hilang jika tegangan dihilangkan), sedangkan ROM bersifat nonvolatile.2 Biasanya mikrokontroler berarsitektur MCS-51 mengimplementasikan pembagian ruang memori untuk data dan peogram. ROM biasanya berisi kode untuk mengendalikan kerja dari mikrokontroler, sedangkan RAM biasanya diisi data yang aakan dieksekusi oleh mikrokontroler. Ruang internal memori dibagi menjadi register banks, bit addresable, general purpose RAM dan, special function register. Pemisahan memori program dan memori data membolehkan memori data untuk diakses oleh memori data 8 bit. Sekalipun demikian, alamat 16 bit dapat dihasilkan melalui register DPTR. Memori program hanya dapat dibaca karena disimpan dala EPROM. Dapat dibuat hingga 64 Kbyte. Dalam hal ini EPROM yang tersedia dalam serpih tunggal AT89C51 adalah 4 Kbyte.3

1. Memori Program

Setiap interrupsi mempunyai lokasi tetap dalam memori program. Interupsi dapat menyebabkan CPU melompat ke lokasi terdapatnya sub-rutin yang harus dilaksanakan. Pada EPROM 4 Kbyte, jika EA bernilai tinggi, maka program akan melompati alamat 0000H sampai dengan 0FFFH secara internal. Jika bernilai rendah maka EA akan mengalami 1000H sampai dengan FFFFH ke program external.

2. Memori Data

Ruang memori data dibagi menjadi tiga blok yaitu ruang lower 128, upper 128, dan ruang SFR (Special Function Register).

a. General Purpose RAM

General Purpose RAM berfungsi sebagai tempat penyimpanan data yang akan dieksekusi maupun hasil eksekusi yang dapat diakses secara langsun. General purpose RAM ini diakses secara byte per byte.

b. Bit addressable location

pada addressable RAM ini memiliki fungsi yang sama dengan general purpose RAM, tapi memiliki keistimewaan untuk bisa diakses secara bit per bit.

c. Register Banks

Set instruksi dari AT89C51 mendukung 8 register, yaitu R0-R7, dan default nya setelah menunjukkan bahwa bahwa register ini berada pada alamat 00H-07H. Pada AT89C51 ini terdapat 4 bank register yang terdiri dari Bank0-Bank 3. Bank yang aktif dapat dipilih setelah kita mengubah select bit register banks pada program status word.

d. Special Function Register (SFR)

SFR ini terdapat accumlator dan B register

e. Program Status Word (PSW)

PSW terdapat pada alamat D0H dan terdiri dari status bit seperti yang tercantum dalam tabel.

BIT

SIMBOL

ADDRES

BIT DESCRIPTION

PSW.7

CY

D7H

Carry Flag

PSW.6

AC

D6H

Auxillary Carry Flag

PSW.5

F0

D5H

Flag 0

PSW.4

RS1

D4H

Register Bank Select 1

PSW.3

RS0

D3H

Register Bank Select 0

00=bank 0; pada alamat 00H-07H

01=bank 1; pada alamat 08H-0FH

10=bank 2; pada alamat 10H-17H

11=bank 3; pada alamat 18H-1FH

PSW.2

0V

D2H

Overflow Flag

PSW.1

-

D1H

Reserved

PSW.0

P

D0H

Even Varity Flag

f. Stack Pointer (SP)

Stack Pointer adalah bit 8 register yang berada pada alamat 81H. Stack ini berisi alamat dari data yang berada paling awal yangmasuk kedalam stack. Operasi stack terdiri dari masukan data pada stack dan mengeluarkan data dari stack. Memasukan data ke stack ini akan mengakibatkan peningkatan nilai dari SP sebelum menulis data, dan mengeluarkan data akan mengakibatkan penurunan nilai SP.

g. Data Pointern (DP)

Data pointer digunakan untuk mengakses program dan data eksternal merupakan 16 bit register yang terletak pada alamat 82H (DPL, low byte) dan 83H (DPH, high byte).

h. Port Register

Pada AT89C51 port 0 pada alamat 80H, port 1 pada alamat 90H, port 2pada alamat A0 dan port 3pada alamat B0H. seluruh port adalah bit addressable.

i. Timer Port Register

Pada AT89C51 terdiri dari 2 buah bit 16 bit timer/counter untuk interval waktu atau menghitung kejadian. Timer 0 berada pada alamat 8AH dan 8CH, dan Timer 1 berada pada alamat 8BH dan 8DH. Operasi timer diatur oleh timer Mode Register.

j. Serial Port Register

AT89C51 berisi serial port on chip untuk berkomunikasi dengan peralatan terminal atau modem, atau untuk antarmuka dengan IC, lainnya dengan serial interface seperti A/D converter. (SBUF) pada alamat 99H menangani antaram menerima dan mengirim data. Menulis ke SBUF mengambil data untuk dikirimkan, membaca SBUF memgakses data yang diterima.

k. Interrupt Register

AT89C51 mempunyai 5 number, struktur 2 tingkat prioritas interupsi.

c. Dasar Pemrograman MCS-51

dalam pemrograman komputer dikenal dua jenis tingkatan bahasa, jenis yang pertama adalah bahasa pemrograman tingkat tinggi dan jenis kedua adalah bahasa pemrograman tingkat rendah. Baha sa pemrograman tingkat tinggi lebih berorientasi kepada manusia yaitu bagaimana pernyataan-pernyataan yang ada dalam pemrograman yang mudah dimengerti oleh manusia. Sedangkan bahasa tingkat rendah lebih berorientasi kepada mesin, yaitu bagaimana agar komputer dapat langsung menginterpretasikan pernyataan program. Untuk mengerjakan suatu tugas tertentu, program yang ditulis dalam bahasa ringkat rendah relatif lebih panjang dan sulit untuk difahami, namun kelebuhannya adalah lebih efisien dan lebih cepat untuk dieksekusi oleh mesin. Bahasa assembly merupakan program assembler untukmengkonversi instruksi-instruksi ke daam bahasa mesin. Dalam pemrograman assembly AT89C51 terdapat dua macam instruksi, yang pertama adalah INSTRUCTION SET, yaitu instruksi yang digunakan untuk memprogram mikrokontroler AT89C51 dengan bahasa rakitan dan yang kedua adalah ASSEMBLER DIRECTIVE, yaitu instruksi-instruksi untuk mengarahkan program assembler.

2. Transistor Sebagai Sakelar

Operasi logika dalam sebuah rangkaian memerlukan suatu komponen yang dapat berubah antara 2 keadaan stabil, keadaan stabil pertama untuk logika 1 dan keadaan stabil kedua untuk logika 0. Sakelar mekanik de=igunakan untuk malakukan tugas ini, tetapi relatif membutuhkan waktu untuk berubah dari keadaan yang kedua, dan tahanan kontak tidak stabil bila dilalui arus listrik yang kecil. Transistor dapat berfungsi sebagai sakelar bila dioperasikan pada salah satu dari titik saturasi atau titik sumbat, tetapi tidak disepanjang garis beban. Apabila transistor dalam keadaan saturasi, transistor tersebut tersumbat, transistor seperti sebuah sakelar terbuka.4

3. Seven Segmen

Seven Segmen merupakan jenis tampilan yang terrdiri dari tujuh segmen terpisah yang diberi label a sampai g seperti yang disajikan dalam gambar dibawah ini.5 Tujuh Segmen merupakan cacah segmen minimum yang diperlukan untuk menampulkan angka 0 sampai 9.

Di pasaran terdapat dua jenis seven segmen yaitu common anoda dan common catoda, dalam pemakaian common anoda titik commonnya hrus dihubungkan dengan +Vcc dan segmen lainnya dihubungkan dengan memberikan logika rendah. Sementara pada seven segmen common catoda, titik katodanya dihubungkan dengan groung dan segmen lainnya dihubungkan dengan memberikan logika tinggi. Sejumlah karakter alfabetis juga dapat ditampilkan dengan menggunakan seven segmen ini, dengan menyalakan beberapa segmen yang dikenali, tetapi campuran huruf besar dan huruf kecil harus dipakai untuk menghindarkan kesalahan penafsiran ‘8’ dengan ‘B’, atau ‘O’ dengan ‘D’.

B. Kerangka Berfikir

Port=port parallel pada IC mikrokontroller AT89C51 dimanfaatkan sebagai pin masukan dan keluaran serta dimanfaatkan aritmatika logik yang ada maka dapat dibuat suatu sistem voting elektronik. Tombol-tombol pilihan untuk menentukan suara masing-masing peserta rapat dalam pengambilan keputusan secara voting digunakan sebagai masukan data, yakni untuk pilihan A dan pilihan B. Setelah data didapatkan, maka dengan memanfaatkan aritmatika logik kedalam sistem minimum mirokontroler AT89C51. Pada sistem minimum terdapat beberapa komponen pendukung yaitu, trnsistor, quartz cristal 12 MHz, sakelar tekan reset dan sakelar tekan preset, data tersebut kemudian dijumlahkan sesuai dengan masing-masing pilihan tombol yang ditekan. Kemudian hasil jumlahan tersebut ditampilkan dengan menggunakan seven segmen display melalui port-port paralel.

1 Kholid, Idham. Pemanfaatan Mikrokontroler AT89C51 sebagai Sistem Pengaman ruang dari Bahaya Kebakaran dan Gangguan Keamanan, TA:2003

2 1 Kholid, Idham. Pemanfaatan Mikrokontroler AT89C51 sebagai Sistem Pengaman ruang dari Bahaya Kebakaran dan Gangguan Keamanan, TA:2003, h 31.

3 M. Ibnu Malik, Anistardi. Bereksperimen dengan mikrokontroler 8031., Jakarta: Elex Media Komputindo 1999, h 9.

4 Malvino, Albert Paul. Prinsip-prinsip Elektronik. Alih bahasa : Hanafi Gunawan. Jakarta: Erlangga 1999 , h 122.

Tidak ada komentar:

Posting Komentar