SAKLAR PUSH BUTTON


SAKLAR PUSH BUTTON

TUJUAN:
1 Mahasiswa memahami rangkaian mikrokontroller dengan interface ke saklar
2. Mahasiswa dapat memahami program assembly untuk mengambil data saklar dan mengeluarkan data ke LED.
3. 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:
1. Buka jumper pada EN_DAC apabila sedang terhubung.
2. Hubungkan modul Microcontroller Trainer dengan power supply +5V
3. Hubungkan modul Microcontroller Trainer dengan rangkaian programmer
4. Buka Program M-IDE Studio for MCS-51, sebagai editor dan compiler program
5. Ketik program berikut ini: (download file prog21a.asm)

 Org 0h Start: Mov A, P2 ;Ambil data dari P2 dan Simpan ke A Mov P0, A ;Kirim data A ke P0 sjmp start end

6. Simpanlah program yang anda ketik dan beri nama : prog21a.asm
7. Pada program MIDE tersebut pilih Build /F9 atau untuk melakukan kompilasi program dari *.asm ke *.hex.
8. Lakukan pemrograman mikrokontroller dengan menggunakan Program ISP Software ( Lihat Petunjuk Penggunaan)
9. 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:
1. Hubungkan modul Microcontroller Trainer dengan power supply +5V
2. Hubungkan modul Microcontroller Trainer dengan rangkaian programmer
3. Buka Program M-IDE Studio for MCS-51, sebagai editor dan compiler program
4. 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

5. Simpanlah program yang anda ketik dan beri nama : prog22a.asm
6. Pada program MIDE tersebut pilih Build /F9 atau untuk melakukan kompilasi program dari *.asm ke *.hex.
7. Lakukan pemrograman mikrokontroller dengan menggunakan Program ISP Software ( Lihat Petunjuk Penggunaan)
8. Lakukan pengamatan pada LED.
9. 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:
1. Hubungkan modul Microcontroller Trainer dengan power supply +5V
2. Hubungkan modul Microcontroller Trainer dengan rangkaian programmer
3. Buka Program M-IDE Studio for MCS-51, sebagai editor dan compiler program (download file prog23a.asm)

Gambar 2.5. Diagram alir percobaan 2.3

4. 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

5. Simpanlah program yang anda ketik dan beri nama : prog23a.asm
6. Pada program MIDE tersebut pilih Build /F9 atau untuk melakukan kompilasi program dari *.asm ke *.hex.
7. Lakukan pemrograman mikrokontroller dengan menggunakan Program ISP Software ( Lihat Petunjuk Penggunaan)
8. Lakukan pengamatan pada LED.
9. Lakukan modifikasi pada percobaan tersebut sesuai dengan dengan mengganti port tersebut dengan P2.5 (Setting UP), P2.6 (Setting Dn) dan P2.7 (Enter).

 

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s