Mikroprosesor adalah sebuah chip yang memiliki fungsi untuk memproses data biner secara digital dan komponennya terdiri dari ALU (Arithmetic Logic Unit),instrukai decoder,register,bus control circuit, control dan timing unit.
Sebuah mikroprosesor yang menggabungkan sebagian atau Semua fungsi Besar Dari sebuah Komputer unit pengolah pusat (CPU) PADA Satu sirkuit Terpadu (IC atau microchip ).
TEORI
Rangkaian minimum untuk menghidupkan 8 LED melalui Port 1 ditunjukkan pada gambar 1.1. Yang perlu diperhatikan adalah konfigurasi rangkaian LED itu sendiri yaitu Common Anode ( CA ), artinya untuk menghidupkan LED pada Port 1 yang bersangkutan harus dikirim atau ditulis logika ‘0’, jika ‘0’ kita tulis ke Port ‘0’ maka keluaran dari lacth yang akan menghidupkan LED sehingga baik kaki Port ‘0’ maupun resistor Pullup internal akan di Pulled-Low ( secara internal juga ), sehingga LED yang terhubung secara Common Chatode ( CC ), maka untuk menyalakan LED butuh penulisan ‘1’namun penulisan ‘1’ini menyebabkan port 0 menjadi masukan berimpedansi ( karena adanya resistor Pullup internal ) dan hanya cocok untuk masukan bukan keluaran ( arus dari Pullup internal tidak kuat untuk menyalakan LED karena ordenya µA, sedangkan keluarannya bisa mencapai sekitar 3,8 mA ). Hal ini berlaku juga untuk Port 2 dan Port 3. penggunaan resistor 330 Ohm sebagai pembatas arus, dengan tegangan Vcc 5 Volt maka arusnya sekitar 15 mA dan ini cukup untuk menghidupkan LED ( biasanya sekitar 10 mA ).

Pengendalian LED dengan Mikrokontroller pada dasarnya adalah mengatur variasi bilangan biner pada port yang digunakan sebagai output pengendali LED. Pada modul ini LED dihubungkan dengan port 1 dengan alamat 80H, sehingga jika kita ingin menyalakan semua LED maka kita harus mengirimkan data 0FFH ke alamat 80H dan jika kita ingin mematikan semua LED maka kita harus mengirimkan data 00H ke alamat 80H.

Untuk menyalakan LED dengan variasi tertentu maka kita harus mengirimkan data ke alamat 80H sesuai dengan bobot LED yang akan dinyalakan. Misalnya LED yang akan dinyalakan adalah LED paling kiri ( bobotnya adalah 80H ) dan LED paling kanan ( bobotnya adalah 01H ) maka data yang harus dikirim adalah 80H + 01H = 81H.

Program Empat LED Mati Hidup Secara Bergantian
$include(reg51.inc)
; ————————————
; Lampu Flip Flop Pada Port 1
; ————————————
Org 0h
Mulai : Mov P1,#00001111B ; LED P1.4 s/d P1.7 Nyala
Call Delay ; Panggil subrutine Delay
Mov P1,#11110000B ; LED P1.1 s/d P1.3 Nyala
Call Delay
Sjmp Mulai
; ————————-
; Sub Runtine Delay
; ————————-
Delay :
Mov R0,#5 ; Isi register R0dengan 5
Delay1 : Mov R1,#255
Delay2 : Mov R2,#0
Djnz R2,$
Djnz R1, Delay2; Kurangi R1 dengan 1, bila hasil
Belum sama dengan 0 maka lompat
Ke Delay2
Djnz R0, Delay1 ; Kurangi R1 dengan 1, bila hasil
Belum sama dengan 0 maka lompat
ke Delay1
Ret ; Kembali ke alamat setelah perintah
‘ACALL DELAY’
End
Tabel Kebenaran

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

Kondisi 0 0 0 0 1 1 1 1
1 1 1 1 0 0 0 0

Keterangan :
0 = Lampu Kondisi Nyala
1 = Lampu Kondisi Padam

Program Untuk Membuat LED Menyala Bergantian (Bergeser) Dari P1.0 Ke P1.7
$include(reg51.inc)
; ———————————————————-
; Lampu Flip Flop Geser satu per satu
; ———————————————————-
Org 0H
Ini: Mov a,#11111110B
Lagi: Mov P1,a
Call Delay
R1 a
Cjne a,#0feh,Lagi
Mula: rr a
Mov P1,a
Call Delay
Djne a,#0feh,Mula
Sjmp ini

Delay: Mov r0,#5
Delay1: Mov r1,#155
Delay2: Mov r2,#0
Djnz r2,$
Djnz r1,Delay2
Djnz r0,Delay1
Ret
End

Tabel Kebenaran
LED P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0

Kondisi 1 1 1 1 1 1 1 0
1 1 1 1 1 1 0 1
1 1 1 1 1 0 1 1
1 1 1 1 0 1 1 1
1 1 1 0 1 1 1 1
1 1 0 1 1 1 1 1
1 0 1 1 1 1 1 1
0 1 1 1 1 1 1 1

Keterangan :
0 = Lampu Kondisi Nyala
1 = Lampu Kondisi Padam

To be Continue….

Nama : ASti Yuniarti
Nim : .11.11.2405
Kelas : TI 11 F
STIMIK AMIKOM PURWOKERTO

http://guru.technosains.com