Anda di halaman 1dari 11

RUNNING LED DENGAN MIKROKONTROLER AT89S51

OLEH:

1. I Nyoman Endy Triatmaja 2. I Gusti Ngr Dion Adi Putra

(1004405002) (1004405004)

JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS UDAYANA BUKIT JIMBARAN 2012

1.1

Mikrokontroler AT89S51

Mikrokontroler tipe AT89S51 merupakan mikrokontroler keluarga MCS51 dengan konfigurasi yang sama persis dengan AT89C51 yang cukup terkenal, hanya saja AT89S51 mempunyai fitur ISP (In-System Programmable Flash Memory). Mikrokontrol AT89S51 hanya memerlukan tambahan 3 kapasitor, 1 resistor dan 1 kristal serta catu daya 5 Volt. Kapasitor 10 mikro-Farad dan resistor 10 Kilo Ohm dipakai untuk membentuk rangkaian reset. Dengan adanya rangkaian reset ini AT89S51 otomatis direset begitu rangkaian menerima catu daya. Kristal dengan frekuensi maksimum 24 MHz dan kapasitor 30 piko-Farad dipakai untuk melengkapi rangkaian oscilator pembentuk clock yang menentukan kecepatan kerja mikrokontroler. Memori merupakan bagian yang sangat penting pada mikrokontroler. Mikrokontroler memiliki dua macam memori yang sifatnya berbeda.

Read Only Memory (ROM) yang isinya tidak berubah meskipun IC kehilangan catu daya. Sesuai dangan keperluannya, dalam susunan MCS-51 memori penyimpanan progam ini dinamakan sebagai memori progam.

Random Access Memori (RAM) isinya akan sirna begitu IC kehilangan catu daya, dipakai untuk menyimpan data pada saat progam bekerja. RAM yang dipakai untuk menyimpan data ini disebut sebagai memori data. Jenis memori yang dipakai untuk Memori Program AT89S51 adalah Flash PEROM, program untuk mengendalikan mikrokontroler diisikan ke memori itu lewat bantuan alat yang dinamakan sebagai AT89S51 Flash PEROM Programmer. Memori Data yang disediakan dalam chip AT89S51 sebesar 128 byte, meskipun hanya kecil saja tapi untuk banyak keperluan memori kapasitas itu sudah cukup. Sarana Input/Ouput yang disediakan cukup banyak dan bervariasa. AT89S51 mempunyai 32 jalur Input/Ouput. Jalur Input/Ouput paralel dikenal sebagai Port 1 (P1.0..P1.7) dan Port 3 (P3.0..P3.5 dan P3.7). Mikrokontroler AT89S51 dilengkapi UART (Universal Asyncronous Receiver /Transmiter) yang biasa dipakai untuk komunikasi data secara seri. Jalur

untuk komunikasi data seri (RXD dan TXD) diletakan berhimpitan dengan P1.0 dan P1.1 di kaki nomor 2 dan 3, seningga kalau sarana input/ouput yang bekerja menurut fungsi waktu. Clock penggerak untaian pencacah ini bisa berasal dari oscillator kristal atau clock yang diumpan dari luar lewat T0 dan T1. T0 dan T1 berhimpitan dengan P3.4 dan P3.5, sehingga P3.4 dan P3.5 tidak bisa dipakai untuk jalur input/ouput parelel kalau T0 dan T1 dipakai.

Konfigurasi PIN Mikrokontroler AT 89S51

Gambar 1.1 Konfigurasi Pin AT89S51

Penjelasan dan fungsi pin dari mikrokontroler AT89C51 adalah sebagai berikut : Pin 1 sampai 8 (Port 1) Port 1 merupakan saluran/bus I/O 8 bit dua arah dengan internal pull-up yang dapat digunakan untuk berbagai keperluan. Pada port ini juga digunakan sebagai saluran alamat pada saat pemrograman dan verifikasi. Pin 9

Merupakan masukan reset (aktif high), pulsa transisi dari rendah ke tinggi akan me-reset mikrokontroler ini. Pin 10 sampai 17 (Port 3) Port 3 merupakan saluran/bus I/O 8 bit dua arah dengan internal pull-up yang memiliki fungsi khusus. Bila fungsi khusus tidak dipakai, maka dapat digunakan sebagai port paralel 8 bit serbaguna. Selain itu sebagian dari port 3 dapat berfungsi sebagai sinyal kontrol pada saat proses pemrograman dan verifikasi. Pin 18 dan 19 Pin ini merupakan masukan ke penguat osilator berpenguat tinggi. Selain itu XTAL 1 dapat juga sebagai input untuk inverting oscilator amplifier dan input ke rangkaian internal clock sedangkan XTAL 2 merupakan output dari inverting oscilator amplifier Pin 20 Merupakan ground sumber tegangan yang diberi simbol GND. Pin 21 sampai 28 (Port 2) Port 2 merupakan saluran/bus I/O 8 bit dua arah dengan internal pull-up. Saat pengambilan data dari program memori eksternal atau selama mengakses data memori eksternal yang menggunakan alamat 16 bit (MOVX @ DPTR), port 2 berfungsi sebagai saluran/bus alamat tinggi (A8 A15). Sedangkan pada saat mengakses ke data memori eksternal yang menggunakan alamat 8 bit (MOVX @ R1), port 2 mengeluarkan isi dari P2 pada Special Function Register. Pin 29 Program Strobe Enable (PSEN) merupakan sinyal pengontrol untuk mengakses program memori eksternal masuk ke dalam bus selama proses pemberian/ pengambilan instruksi (fetching). Pin 30 Address Latch Enable (ALE)/PROG merupakan penahan alamat memori eksternal (pada port 1) selama mengakses ke memori eksternal. Pena ini

juga sebagai pulsa/sinyal input pemrograman (PROG) selama proses pemrograman. Pin 31 External Access Enable (EA) merupakan sinyal kontrol untuk pembacaan memori program. Pada kondisi low maka pin ini akan berfungsi sebagai EA yaitu mikrokontroler akan menjalankan program yang ada pada memori eksternal. Apabila berkondisi high maka pin ini akan berfungsi untuk menjalankan program yang ada pada memori internal. Pin ini juga berfungsi sebagai tegangan pemrograman (VPP = +12V) selama proses pemrograman. Pin 32 sampai 39 (Port 0) Port 0 merupakan saluran/bus I/O 8 bit open colector, dapat juga digunakan sebagai multipleks bus alamat rendah dan bus data selama adanya akses ke memori program eksternal. Pada saat proses pemrograman dan verifikasi port 0 digunakan sebagai saluran data. External pull-up diperlukan saat verifikasi. Pin 40 Merupakan sumber tegangan positif yang diberi simbol VCC

Spesifikasi Mikrokontroler AT89S51

Compatible with MCS-51 Products 4K Bytes of In-System Programmable (ISP) Flash Memory Endurance: 10,000 Write/Erase Cycles

Three-level Program Memory Lock 128 x 8-bit Internal RAM 32 Programmable I/O Lines Two 16-bit Timer/Counters Six Interrupt Sources Full Duplex UART Serial Channel Low-power Idle and Powerdown Modes

4.0V to 5.5V Operating Range Fully Static Operation: 0 Hz to 33 MHz

Interrupt Recovery from Power-down Mode Dual Data Pointer

Fast Programming Time Flexible ISP Programming (Byte and Page M

Sebelum memrogram permainan nyala LED, terlebih dahulu kita harus tentukan jumlah LED yang akan digunakan dan jenis koneksi yang akan kita gunakan. Pada rangkaian ini menggunakan 8 buah LED sesuai dengan jumlah bit dalam 1 port AT89S51 (8 bit) dengan menggunakan jenis koneksi CA. Kelebihan dari koneksi ini adalah nyala LED akan lebih terang dari CC karena arus yang mengalir pada LED langsung dari supply (+) rangkaian. Kemudian setelah kita tentukan jenis koneksi, kita pun perlu menentukan port atau pin mana yang akan kita gunakan untuk menyalakan LED tersebut. Pada tutorial ini, port yang kita gunakan untuk mengendalikan LED adalah PORT-2 (P2.0-P2.7)

Gambar 1.2 Skema Rangkaian Running LED

1.2

Prinsip Kerja Running LED

VCC 5volt di supply ke mikrokontroler AT 89S51 yang dimana catu daya tersebut diperlukan untuk beroprasi,kemudian program yang telah di inputkan ke mikrokontroler berjalan dan langsung member perintah,pada program jika program belogika 0 maka LED akan menyala dan jika program berlogika 1 maka LED akan mati.

Gambar 1.3 LED 1 Menyala

Gambar 1.3 LED 2 Menyala

Gambar 1.4 LED 3 Menyala

LED akan terus berjalan sampai dengan LED 8,sesudah sampai dikanan,maka program akan memerintahkan kembali ke perintah pertama.begitu seterusnya samapai dengan catu daya diputuskan. Daftar Komponen berikut ini adalah daftar komponen yang digunakan dalam pembuatan Simulasi LED berjalan :

Nama komponen AT 89S51 LED Resistor 1k Resistor 100k Capasitor 22uf Capasitor 10 uf Push button Crystal 12 mhz

Jumlah komponen 1 Buah 8 Buah 8 buah 1 Buah 2 Buah 1 Buah 1 Buah 1 Buah

Tabel 1.1 Daftar Komponen Running LED

1.3

Analisis Rangkaian Running LED Dalam pembuatan simulasi dari LED berjalan,digunakan software proteus

untuk mendesain dan mengiputkan program ke AT 89S51 berikut adalah gambar skema rangakian LED berjalan :

C1
22u

X1 C2
22u CRYSTAL
19 18 29 30 31 9 1 2 3 4 5 6 7 8

XTAL1

XTAL2

PSEN ALE EA

RST

P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7

U1
AT89C51

R9
100k

C3
10u

39 38 37 36 35 34 33 32

21 22 23 24 25 26 27 28

D1
LED-RED

D2
LED-RED

D3

10 11 12 13 14 15 16 17

P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD

P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7

P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15

D4

D5

D6
LED-GREEN

D7
LED-BLUE

D8
LED-BLUE

LED-YELLOW LED-YELLOW LED-GREEN

R1
1k

R2
1k

R3
1k

R4
1k

R5
1k

R6
1k

R7
1k

R8
1k

Gambar 1.5 Skema Rangkaian Running LED dengan proteus

Sedangkan untuk membuat program AT89S51 disini digunakan software MIDE-51 yang dimana bahasa pemrograman yang digunakan adalah bahasa assembly berikut adalah listing program di AT89S51.

Listing Program Running LED

Org 0000 Sjmp Mulai Delay: ;Program Waktu Tunda. Mov r7, #3 Mov r6, #255 Mov r5, #255 LoopDelay: Djnz r5, LoopDelay Djnz r6, LoopDelay Djnz r7, LoopDelay Ret Mulai: Mov a, #11111110b ;Isi accumulator dengan data ;biner. Loop1: Mov P2, a ;Tampilkan isi accumulator. Acall Delay Rl a ;Geser kiri isi accumulator. Cjne a, #11111110b, Loop1 ;Jika belum sampai pojok kanan, ;kembali ke Loop1. MOV A,#11111111B

Sjmp MULAI ;Kembali ke "MULAI". END

Gambar 1.6 Listing program Running LED

DAFTAR PUSTAKA

1. http://www.toko-elektronika.com/tutorial/uc1.html 2. http://atmelmikrokontroler.wordpress.com/2009/06/23/programmerwriter-mikrokontroler-at89s51/ 3. http://rezutopia.wordpress.com/2009/03/27/mikrokontroler-at89s51/ 4. http://repository.usu.ac.id/bitstream/123456789/14218/1/09E02500.pdf