Percobaan 1 (Kontrol LED)

PERCOBAAN 1
Kontrol LED dengan Mikrokontroler AT89S51


LED (Light Emiting Diode) merupakan dioda yang memancarkan cahaya, saat ini led merupakan alternatif sumber cahaya dan diproduksi dalam berbagai bentuk dan ukuran, led hampir menyingkirkan komponen lain yang menghasilkan sumber cahaya, karena led memiliki daya yang rendah dibandingkan sumber cahaya lain.
Dalam penggunaannya dalam aplikasi mikrokontroler penting halnya untuk memperhatikan batasan arus yang mengalir dalam komponen ini, supaya dapat menghasilkan cahaya yang maksimal dan tidak rusak. Berikut merupakan rumusan dalam menentukan besarnya resistor yang digunakan dalam merangkai led :
 
Dengan parameter tipe led seperti ditunjukan dalam tabel berikut ini :
Karena mikrokontroler jenis AT89S51 ini hanya dapat menghasilkan arus yang rendah pada semua portnya maka pemasangan led hanya bisa dilakukan metode common anoda (mikrokontroler di fungsikan sebagai ground), pernyataan ini akan tampak jelas melalui gambar berikut ini:
 
Dalam seringkali percobaan yang saya lakukan led tidak akan menyala ketika menggunakan metode lain (common katoda) karena arus listrik yang dihasilkan port mikrokontroler sangatlah lemah.

Gambar Percobaan :
 Gambar kontrol led

Langkah Percobaan :
Program 1 : 
Ketikan program berikut ini pada program Top View Simulator dan lakukan simulasi (cara melakukan simulasi klik disini)
$mod51
org    0h               ;Tempatkan memori program pada 0h
start:
mov    P0,#00011100b    ;P0= 00011100b
sjmp start
end

Jika program berjalan dengan baik maka led yang menyala adalah (D1,D2,D6,D7,D8)

Program 2:
Menyalakan led dengan waktu tunda
org    0h
$mod51
start:
mov    p0,#00001111b  ;LED D5-D8 On D1-D4 off
call    delay         ;Panggil Delay (jeda waktu)
mov    p0,#11110000b  ;LED D1-D4 On D5-D8 off
call    delay
sjmp    start         ;kembali ke start
;-------------------------------
;---Sub rutin waktu tunda-------
;-------------------------------
delay: mov R1,#255
ret1: mov R2,#255
ret2: djnz R2,ret2
      djnz R1,ret1
      ret
end
Jika tidak ada masalah maka led akan menyala bergantian (Flip Flop)

Program 3:
Berikut merupakan cara lain dengan metode bit addresing ketika menyalakan led
org    0h
$mod51
setb    p0.0  ; led D1 off
clr     p0.1  ; led D2 on
setb    p0.2  ; led D3 off
clr     p0.3  ; led D4 on
setb    p0.4
clr     p0.5
setb    p0.6
clr     p0.7
end
Program diatas akan menyalakan led dengan perintah "clr".

0 komentar: