You are on page 1of 9

 

Laporan Tugas Kuliah Sistem Mikroprosesor

Aplikasi IC Mikrokontroler AT89C2051


untuk Menyalakan LED

Oleh :
1. Yuni Almaadin (2206.100.035)
2. Imam Mustakim (2206.100.038)

Jurusan Teknik Elektro


Fakultas Teknologi Industri
Institut Teknologi Sepuluh Nopember
Surabaya
2008
 

Aplikasi Mikrokontroler AT89C2051


untuk Menyalakan LED

1. Tujuan
Tujuan dari pembuatan alat ini adalah :
a. Mengetahui cara kerja IC mikrokontroler AT89C2051
b. Mengetahui cara pemrograman IC mikrokontroler AT89C2051
c. Mengetahui cara men-download program ke dalam IC mikrokontroler
AT89C2051
2. Dasar Teori
Yang dimaksud dengan mikrokontroler adalah sebuah system
mikroprosesor lengkap yang terkandung di dalam sebuah chip.
Mikrokontroler berbeda dari mikroprosesor serba guna yang digunakan di
dalam sebuah PC karena dalam sebuah mikrokontroler umumnya telah
berisi komponen komponen pendukung, seperti prosesor, memory, dan
I/O.
Prinsip kerja mikrokontroler adalah sebagai berikut :
a. Berdasarkan nilai yang berada pada register Program Counter,
mikrokontroler mengambil data pada ROM dengan alamat
sebagaimana yang tertera pada register Program Counter. Selanjutnya
isi dari register Program Counter ditambah dengan satu (Increment)
secara otomatis. Data yang diambil pada ROM merupakan urutan
instruksi program yang telah dibuat dan diisikan sebelumnya oleh
pengguna.
b. Instruksi yang diambil tersebut diolah dan dijalankan oleh
mikrokontroler. Proses pengerjaan bergantung pada jenis instruksi,
bisa membaca, mengubah nilai-nilai pada register, RAM, isi Port, atau
melakukan pembacaan dan dilanjutkan dengan pengubahan data.
c. Program Counter telah berubah nilainya (baik karena penambahan
secara otomatris sebagaimana dijelaskan pada langkah 1 di atas atau
karena pengubahan data pada langkah 2). Selanjutnya yang dilakukan

Page 2 of 9 
 
 

mikrokontroler adalah mengulang kembali siklus ini pada langkah 1.


Demikian seterusnya hingga catu daya dimatikan.
IC mikrokontroler yang kita gunakan pada tugas ini adalah keluarga IC
MCS51. Meskipun termasuk tua, keluarga mikrokontroler MCS51 adalah
mikrokontroler yang paling populer saat ini. Keluarga ini diawali oleh
Intel yang mengenalkan IC mikrokontroler type 8051 pada awal tahun
1980-an, 8051 termasuk sederhana dan harganya murah sehingga banyak
digemari, banyak pabrik IC besar lain yang ikut memproduksinya, tentu
saja masing-masing pabrik menambahkan kemampuan pada
mikrokontroler buatannya meskipun semuanya masih dibuat berdasarkan
8051. Sampai kini sudah ada lebih 100 macam mikrokontroler turunan
8051, sehingga terbentuklah sebuah ‘keluarga besar mikrokontroler’ dan
biasa disebut sebagai MCS51. Belakangan ini, pabrik IC Atmel ikut
menambah anggota keluarga MCS51. Atmel merupakan pabrik IC yang
sangat menguasai teknologi pembuatan Flash PEROM. Produksi
mikrokontroler MCS51 Atmel dibagi dua macam, yaitu :
a. AT89Cxx
Beberapa jenis IC tersebut antara lain adalah sebagai berikut.
AT89C51 mempunyai Flash PEROM dengan kapasitas 2 Kilo Byte,
AT89C52 4 Kilo Byte, AT89C53 12 Kilo Byte, AT89C55 20 Kilo
Byte dan AT89C8252 berisikan 8 Kilo Byte Flash PEROM dan 2 Kilo
Byte EEPROM. Yang berkaki 20 adalah MCS51 yang disederhanakan,
penyederhanaan dilakukan dengan cara mengurangi jalur untuk
input/output paralel, kemampuan yang lain sama sekali tidak
mengalami pengurangan. Penyederhanaan ini dimaksudkan untuk
membentuk mikrokontroler yang bentuk fisiknya sekecil mungkin tapi
mempunyai kemampuan sama. Atmel memproduksi 3 buah
mikrokontroler ‘mini’ ini, masing-masing adalah AT89C1051 dengan
kapasitas Flash PEROM 1 Kilo Byte, AT89C2051 2 Kilo Byte dan
AT89C4051 4 Kilo Byte. Ketiga mikrokontroler ini secara umum
disebut sebagai AT89Cx051. Notasi ”C” pada tipe sebuah
mikrokontroler produksi Atmel mengindikasikan bahwa chip tersebut

Page 3 of 9 
 
 

dalam pemrogramannya harus menggunakan rangkaian terpisah yang


biasa disebut dengan ”downloader”. Sehingga bila ingin melakukan
pemrograman ulang sebuah chip AT89Cxx harus mengeluarkannya
(mencabut) dari rangkaian aplikasi.
b. AT89Sxx
Mikrokontroller 8-bit dengan 4K. Byte ISP (In System Programming)
mikrokontroler saat ini tidak asing lagi dalam dunia elektronika,
hampir semua peralatan elektronik dewasa ini menggunakan perangkat
ini, mikrokontroler merupakan pengendali utama dalam peralatan
elektronik saat ini, maka mikrokontroler merupakan suatu hal yang
penting untuk dipelajari bagi mereka yang berkecimpung dalam dunia
elektronika. Mikrokontroler yang dibahas disini adalah mikrokontroler
buatan ATMEL yang mudah ditemui di pasaran di Indonesia, yaitu
dari keluarga MCS-51. AT89S51 dan AT89S52 mempunyai
kemampuan serial downloading atau lebih dikenal dengan istilah In
System Programming (ISP) sehingga mikrokontroler langsung dapat
diprogram pada rangkaiannya tanpa harus mencabut IC untuk
diprogram, Programmer ISP dapat dibuat menggunakan beberapa
resistor via paralel port komputer sehingga bagi mereka yang belum
memiliki programmer dapat tetap bereskperimen menggunakan
mikrokontroler ini dengan biaya yang relatif murah.
Konfigurasi pin-pin dari IC mikrokontroler AT89C2051 adalah sebagai
berikut :

RST/VPP 1 20 VCC
(RXD) P3.0 2 19 P1.7
(TXD) P3.1 3 18 P1.6
XTAL2 4 17 P1.5
XTAL1 5 16 P1.4
(INT0) P3.2 6 15 P1.3
(INT1) P3.3 7 14 P1.2
(T0) P3.4 8 13 P1.1 (AIN1)
(T1) P3.5 9 12 P1.0 (AIN0)
GND 10 11 P3.7

Masing-masing fungsi pin adalah sebagai berikut :


a. Pin 1 (RST)

Page 4 of 9 
 
 

Masukan reset yang aktif dengan memberikan input high selama 2


siklus mesin. Pin ini dihubungkan ke rangkaian power on reset.
b. Pin 2,3,6,7,8,9,11 (Port 3)
Port 3 hanya memiliki 7 bidirectional I/O pin karena pin P1.6
merupakan port internal sebagai output dari on chip analog
komparator. Setiap port memiliki internal pull up. Port 3 sebagai
output dapat menghasilkan arus sampai 20 mA. Ketika data bernilai 1
(high) dikirimkan ke port 3 maka port port tersebut masih dapat
digunakan sebagai input. Ketika port 3 digunakan sebagai input dan
terhubung ke ground oleh peralatan input maka chip akan
mengeluarkan arus karena secara internal sudah terdapat resistor pull
up di dalam chip. Port 3 juga berfungsi sebagai jalur input interrupt
bagi AT89C2051 seperti tampak pada table berikut ini.
Port pin Alternate function
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 output)

c. Pin 4,5 (XTAL)


Tempat pemasangan Kristal bagi oscillator internal. Pemasangannya
adalah sebagai berikut.

Page 5 of 9 
 
 

d. Pin 10 (GND)
Dihubungkan ke ground dari power supply.
e. Pin 12-19 (Port 1)
Port 1 adalah 8 bit port I/O bidirectional. Port P1.2 sampai P1.7 sudah
memiliki internal pull up sedangkan P1.1 dan P1.0 harus diberi resistor
pull up secara external. P1.0 dan P1.1 dapat menerima input tegangan
positif (AIN0) dan input tegangan negative (AIN1) untuk
menggerakkan on-chip analog comparator. Port 1 sebagai output dapat
menghasilkan arus sampai 20mA dan dapat menyalakan LED secara
langsung. Ketika data bernilai 1 (high) dikirimkan ke port 1 maka port
tersebut masih dapat digunakan sebagai input. Ketika pin P1.2 sampai
P1.7 digunakan sebagai input dan terhubung ke ground oleh peralatan
input maka chip akan mengeluarkan arus karena secara internal sudah
terdapat resistor pull up di dalam chip.
f. Pin 20 (Vcc)
Dihubungkan dengan tegangan supply 5V (Vcc).

3. Peralatan dan Fasilitas yang Digunakan


Peralatan yang kami gunakan untuk membuat alat ini adalah sebagai
berikut :
a. Software
Software yang kami pakai untuk membuat listing program assembly
adalah MIDE-51.exe untuk membuat file *.asm dan *.hex serta
EDSIM-51.jar sebagai media untuk simulasi IC yang telah kita
program. Untuk mendownload program yang telah jadi kita gunakan
software bawaan dari DT-HQ.
b. Hardware
Hardware dan peralatan lain yang kita pakai untuk membuat alat ini
adalah sebagai berikut.
i. IC AT89C2051
ii. Kapasitor keramik 30pF sebanyak 2 buah

Page 6 of 9 
 
 

iii. Krital oscillator 40pF/12MHz sebanyak 1 buah


iv. Switch sebanyak 2 buah
v. Lampu LED sebanyak 1 buah
vi. PCB
vii. Power supply dengan output tegangan 5 V
viii. Downloader DT-HQ
ix. Solder dan timah

4. Pelaksanaan
Pelaksanaan untuk mengaplikasikan rangkaian ini adalah sebagai berikut.
a. Membuat listing program
Listing program yang kami buat menggunakan bahasa assembly.
Berikut ini adalah listing program yang kami buat.

org 100h
start :
mov P1,p3 ; memindahkan nilai port P3 ke P1
call delay ; memanggil subroutine “delay”

delay :
mov R0,#100
loop :
djnz r0, loop ;decrement register R0 dan jump ke
;subroutine loop bila tidak zero
ret ;kembali ke main program
end

Setelah kita dapatkan listing program maka yang kita lakukan


selanjutnya adalah membuat file *.hex yang selanjutnya nanti akan kita
load ke dalam IC AT89C2051.
b. Mensimulasikan rangkaian
Setelah kita membuat listing program dan file *.hex selanjutnya kita
simulasikan program yang telah kita buat dengan software edsim51.jar.
Software ini dapat berjalan jika kita computer kita sudah terinstall Java
Runtime. Jika telah berjalan, berarti program kita sudah benar dan siap
untuk kita load ke dalam IC AT89C2051.

Page 7 of 9 
 
 

c. Flash (mendownload kode *.hex ke dalam IC AT89C2051)


Kita siapkan hardware downloader dan DT-HQ. Masukkan pin-pin IC
AT89C2051 ke dalam socket yang sesuai dengan petunjuk pada board.
Jika sudah kita kunci IC AT89C2051. Kita buka software aplikasi dari
DT-HQ kemudian kita browse file *.hex yang akan kita load ke dalam
IC dan pilih file yang akan kita load. Setelah kita temukan file *.hex,
klik write untuk menulis kode program ke dalam IC AT89C2051. Pilih
“FF” untuk alamat memori yang tidak terpakai. Klik verify untuk
memverifikasi apakah isi memori sudah berubah. Jika sudah kita bisa
melepaskan IC AT89C2051 dari socket downloader.

d. Mengaplikasikannya ke dalam PCB.


Jika IC sudah selesai kita flash maka kita siap untuk membuat
rangkaiannya pada PCB. Skematik rangkaian adalah sebagai berikut.

Page 8 of 9 
 
 

Desain pada board PCB adalah sebagai berikut.

Kita tempatkan komponen-komponen pada tempatnya kemudian kita


solder.
e. Menguji rangkaian
Jika rangkaian sudah selesai kita solder maka kita bisa menguji apakah
rangkaian sudah benar atau belum. Hubungkan Vcc (pin 20) ke
positive power supply dan ground (pin 10) ke negative power supply.
Jika LED menyala tekan switch untuk reset. Jika sudah kita tekan
switch untuk input maka LED yang semula padam akan menyala. Jika
switch kita tekan lagi maka LED yang semula menyala akan padam.

Page 9 of 9