TUJUAN:
- Mahasiswa memahami rangkaian mikrokontroller dengan interface ke saklar
- Mahasiswa dapat memahami program assembly untuk mengambil data saklar dan mengeluarkan data ke LED.
- Mahasiswa memahami beberapa instruksi assembly dasar, MOV, Setb, Clr, RL dan RR.

Gambar 2.2. Rangkaian Interface Push Button
Pada gambar 2.2.a tersebut tampak rangkaian push button, bila saklar ditekan maka port sesuai dengan bit tersebut akan mendapat logika low '0' dan sebaliknya bila saklar tidak ditekan maka port tersebut akan mendapat logika high '1'.
Percobaan 2.1. Ambil Data Saklar
Pada percobaan ini, LED akan nyala bila saklar ditekan sesuai dengan bit tersebut. Untuk melakukan percobaan ini lakukan beberapa langkah sebagai berikut:
- Buka jumper pada EN_DAC apabila sedang terhubung.
- Hubungkan modul Microcontroller Trainer dengan power supply +5V
- Hubungkan modul Microcontroller Trainer dengan rangkaian programmer
- Buka Program M-IDE Studio for MCS-51, sebagai editor dan compiler program
- Ketik program berikut ini: (download file prog21a.asm)
Org 0h
Start: Mov A, P2 ;Ambil data dari P2 dan Simpan ke A
CPL A ;Komplemen/ Invert terhadap A
Mov P0, A ;Kirim data A ke P0
sjmp start
end
- Simpanlah program yang anda ketik dan beri nama : prog21a.asm
- Pada program MIDE tersebut pilih Build /F9 atau untuk melakukan kompilasi program dari *.asm ke *.hex.
- Lakukan pemrograman mikrokontroller dengan menggunakan Program ISP Software ( Lihat Petunjuk Penggunaan)
- Lakukan pengamatan pada LED.
| Saklar | Kondisi LED yang Nyala (D1-D2-D3-D4-D5-D6-D7-D8) |
|--------|--------------------------------------------------|
| SW1 | |
| SW2 | |
| SW3 | |
| SW4 | |
| SW5 | |
| SW6 | |
| SW7 | |
| SW8 | |
Percobaan 2.2. Putar Kanan-Kiri
Pada percobaan ini, LED akan berjalan kekanan atau kekiri mengikuti penekanan tombol P2.0 atau P2.1. Untuk melakukan percobaan ini lakukan beberapa langkah sebagai berikut:
- Hubungkan modul Microcontroller Trainer dengan power supply +5V
- Hubungkan modul Microcontroller Trainer dengan rangkaian programmer
- Buka Program M-IDE Studio for MCS-51, sebagai editor dan compiler program
- Ketik program berikut ini: (download file prog22a.asm)
org 0h
CekP20: JB P2.0,CekP21 ; Menguji bit P2.0, apakah adalah logika '1'
call RLeft ; Jika P2.0=0, maka LED putar kiri
CekP21: JB P2.1,CekP20 ; Menguji bit P2.1, apakah adalah logika '1'
call RRight ; Jika P2.1=0, maka LED putar kanan
sjmp CekP20 ; jump forever to CekP2.0
;========================================
;Subrutin ini digunakan untuk menggerakkan LED Ke Kanan
;========================================
RLeft: mov A,#11111110b;send data to Acc
RLeft1: mov P0,A ;send data to P0
call delay ;call delay time
JB P2.1,RLeft2 ;Menguji bit P2.1, apakah adalah logika '1'
sjmp EndRLeft ;Jika P2.1=0, maka lompat ke EndRLeft
RLeft2: RL A
sjmp RLeft1
EndRLeft: ret
;
;======================================
;Subrutin ini digunakan untuk menggerakkan LED Ke Kiri
;======================================
RRight: mov A,#01111111b;send data to Acc
RRight1: mov P0,A ;send data to P0
call delay ;call delay time
JB P2.0,RRight2 ;Menguji bit P2.0, apakah adalah logika '1'
sjmp EndRRight ;Jika P2.0=0, maka lompat ke EndRRight
RRight2: RR A
sjmp RRight1
EndRRight: ret
;=======================================
;subroutine delay time
;=======================================
delay: mov R1,#255
del1: mov R2,#255
del2: djnz R2,del2
djnz R1,del1
ret
end
- Simpanlah program yang anda ketik dan beri nama : prog22a.asm
- Pada program MIDE tersebut pilih Build /F9 atau untuk melakukan kompilasi program dari *.asm ke *.hex.
- Lakukan pemrograman mikrokontroller dengan menggunakan Program ISP Software ( Lihat Petunjuk Penggunaan)
- Lakukan pengamatan pada LED.
- Lakukan modifikasi pada percobaan tersebut sesuai dengan dengan mengganti port tersebut dengan P2.2 (putar kanan) dan P2.3 (putar kiri).
Percobaan 2.3. Setting Up/Dn dan Enter dengan display LED
Pada percobaan ini, LED yang ON akan bertambah atau berkurang mengikuti penekanan tombol P2.1 (UP) atau P2.2 (DN). LED akan berhenti bertambah atau atau berkurang bila ditakan tombol P2.0 ( ENTER). Untuk melakukan percobaan ini lakukan beberapa langkah sebagai berikut:
- Hubungkan modul Microcontroller Trainer dengan power supply +5V
- Hubungkan modul Microcontroller Trainer dengan rangkaian programmer
- Buka Program M-IDE Studio for MCS-51, sebagai editor dan compiler program (download file prog23a.asm)
- Ketik program berikut ini:
org 0h
start:
mov R7,#1 ;inisialisasi data setting
Setup:mov A,R7 ;simpan data R7 ke A
cpl A ;komplemen A,
mov P0,A ;output data ke LED
jnb p2.0,getout;bilasw1(P2.0)ditekan mkgetout(selesai)
jb P2.1,SetDn ;bila sw2(P2.1) ditekan mk INC R7
inc R7 ;R7:=R7+1
acall delay ;waktu tunda, antar penekanan tombol
cjne R7,#100d,setup;deteksi apakah setting=100d
mov R7,#1 ;reset R7 -> 1
sjmp Setup
;
SetDn:Mov A,R7 ;simpan data R7 ke A
cpl A ;komplemen A,
mov P0,A ;output data ke LED
jnb P2.0,getout;bila sw1(P2.0)ditekan mkgetoutselesai)
jb p2.2,Setup ;bila sw2(P2.1) ditekan mk INC R7
dec R7 ;R7:=R7-1
acall delay ;waktu tunda lama penekanan tombol
cjne R7,#0d,setDn;deteksi apakah setting=0d
mov R7,#1d ;reset R7 -> 1
sjmp Setdn
getout:
sjmp getout
;
delay:mov R0,#255
delay1:mov R2,#255
djnz R2,$
djnz R0,delay1
ret
end
- Simpanlah program yang anda ketik dan beri nama : prog23a.asm
- Pada program MIDE tersebut pilih Build /F9 atau untuk melakukan kompilasi program dari *.asm ke *.hex.
- Lakukan pemrograman mikrokontroller dengan menggunakan Program ISP Software ( Lihat Petunjuk Penggunaan)
- Lakukan pengamatan pada LED.
- Lakukan modifikasi pada percobaan tersebut sesuai dengan dengan mengganti port tersebut dengan P2.5 (Setting UP), P2.6 (Setting Dn) dan P2.7 (Enter).