Thursday, September 2, 2010

LED Berjalan Sederhana dengan AT89S52

Mikrokontroler adalah alat atau komponen yang berfungsi sebagai pengontrol dalam suatu rangkaian. Mikrokontroler AT89S52 merupakan mikrokontroler kelompok MCS-51. AT89S52 memiliki 40 pin yang terdiri dari empat port (Port 0, port 1, port 2, dan port 3). Dalam penggunaannya, mikrokontroler membutuhkan suatu rangkaian tersendiri agar dapat bekerja sebagaimana mestinya. Rangkaian ini disebut sistem minimum mikrokontroler.

Mikrokontroler membutuhkan tegangan masukan sebesar 5 volt. Dengan adanya hal ini, maka dibutuhkan adanya regulator tegangan. Regulator ini berfungsi mengubah tegangan masukan menjadi tegangan yang diharapkan, yaitu sebesar 5 volt. Tegangan keluaran regulator ini selain digunakan untuk mensuplai mikrokontroler, juga digunakan untuk rangkaian LED sebagai rangkaian output. (Baca juga: LED Berjalan Sederhana dengan AVR (ATmega16))

Gambar rangkaian LED dengan AT89S52

Dalam sistem minimum sendiri terdapat beberapa komponen penting. Salah satu komponen tersebut adalah kristal (XTAL). Komponen ini berfungsi sebagai pemberi detak atau sinyal masukan yang berupa logika 0 atau 1 pada mikrokontroler. Sedangkan kapasitor berfungsi untuk mengurangi noise. Dan resistor untuk mencegah dan mengurangi arus berlebih. Pada mikrokontrol juga terdapat Reset yang berfungsi mengembalikan mikrokontroler ke keadaan semula. Umumnya, pada sistem minimum ditambahkan push button yang bertujuan memudahkan user mengatur hal tersebut. Selain itu, dalam sistem minimum juga ditambahkan port ISP (In System Programing). Ini sebagai tempat untuk mengisi program pada mikrokontroler yang nantinya dihungkan ke computer melalui downloader.

Dalam aplikasi sederhana ini, LED adalah komponen yang digunakan sebagai output. Aplikasi ini berbentuk LED berjalan. Adapun jumlah LED yang digunakan sebanyak delapan buah sesuai jumlah pin pada tiap port. Untuk pemrogramannya, bahasa yang digunakan adalah bahasa Assemby. Alasan menggunakan bahasa ini karena bahasa ini cenderung mudah dipahami.

Program ini berfungsi untuk mengaktifkan kaki-kaki dari mikrokontroler. Dengan menggunakan LED, program diatur dengan berdasarkan penempatan LED pada mikrokontroler. Dalam aplikasi sederhana ini, LED dihubungkan pada port 0. Dan LED dinyalakan dua bersamaan secara bergantian. Untuk pemrogramannya:

org 0h
;----------------------------------------
;PROGRAM LED BERJALAN
;----------------------------------------
ulang:
      mov p0,#00000011b
      Call delay
      Call delay
      Call delay
      mov p0,#00000110b
      call delay
      Call delay
      Call delay
      mov p0,#00001100b
      Call delay
      Call delay
      Call delay
      mov p0,#00011000b
      Call delay
      Call delay
      Call delay
      mov p0,#00110000b
      Call delay
      Call delay
      Call delay
      mov p0,#01100000b
      Call delay
      Call delay
      Call delay
      mov p0,#11000000b
      Call delay
      Call delay
      Call delay
      sjmp ulang
;-------------------
; sub routine delay
;-------------------
delay: djnz r3,delay ; r3=r3-1 bila <> 0 ke   label delay
djnz r1,delay ; r1=r1-1 bila <> 0 ke label delay
ret ; kembali ke alamat setelah perintah
; 'call delay'
end

LED menyala dua sekaligus yang kemudian digeser ke kiri. Pada script program terlihat bahwa LED dihubungkan dengan port 0. Call delay merupakan perintah tunda. Ini bertujuan memberi rentan waktu tiap perintah pergantian LED. Sedangkan sjmp untuk mengulangi program pada awal.


www.mikron123.com
Lab. Mikroprosesor, tim.2007.Pemrograman Mikrokontroler AT89S51 dengan C/C++ dan Assembler.Yogyakarta: Penerbit Andi

Related Post:

1 comment:

  1. Bos, Punya source code program buat dot matrix gk? thanks b 4

    ReplyDelete
:) :( ;) :D ;;-) :-/ :x :P :-* =(( :-O X( :7 B-) :-S #:-S 7:) :(( :)) :| /:) =)) O:-) :-B =; :-c :)] ~X( :-h :-t 8-7 I-) 8-| L-) :-a :-$ [-( :O) 8-} 2:-P (:| =P~ #-o =D7 :-SS @-) :^o :-w 7:P 2):) X_X :!! \m/ :-q :-bd ^#(^ :ar!