MEMBACA TOMBOL TEKAN

PRAKTIKUM 2
MEMBACA TOMBOL TEKAN

2.1     Tujuan Instruksional Khusus
  • Dapat mengetahui cara kerja tombol tekan
  • Dapat melakukan interface mikroprosesor dengan input tombol tekan
  • Dapat melakukan pemrograman mikrokontroler untuk mengakses input tombol tekan




2.2       Dasar Teori

Tombol Tekan

Tombol tekan dapat digunakan untuk memberikan  masukan  ke mikrokntroler.   Prinsip  kerja  yang  sederhana untuk membaca tombol tekan ini nantinya dapat Anda kembangkan untuk membaca piranti masukan lain seperti sensor-sensor.
Tombol tekan merupakan sebuah piranti masukan mekanis yang berfungsi untuk memberikan data kepada mikrokontroler. Terdapat dua macam tombol, yaitu tombol tekan geser dan tombol tekan tekan.

Gambar 2.1. Tombol tekan geser dan simbolnya



Gambar 2.2. Tombol tekan tekan dan simbolnya


Cara menghubungkan tombol tekan ke mikrokontroler seperti yang ditunjukkan pada Gambar 2.3. Dengan cara pertama (a), Anda dapat menghubungkan tombol tekan ke port mikrokontroler yang mempunyai resistor  pull-up  internal.  Pada  lembar  data, disebutkan  bahwa port  1, port 2, dan port 3 memiliki  resistor  pull-up  internal  sedangkan  port  0  tidak.  Bila  tombol tekan  pada  posisi terbuka maka logika yang dibaca oleh mikrokontroler adalah 1 karena resistor pull-up internal bekerja. Sedangkan saat tombol tekan pada posisi tertutup maka logika yang dibaca oleh mikrokontroler adalah 0.
Cara kedua (b) sama seperti cara pertama. Resistor pull- up eksternal yang dipasang memungkinkan kita untuk menghubungkannya ke port 0. Cara  ketiga  (c)  juga  dapat  dihubungkan  ke  port  manapun  dengan  logika  kerja  yang berkebalikan  dengan  cara  pertama  maupun  cara  kedua.  Pada  cara  ketiga  terdapat kekurangan yaitu bila dihubungkan ke port yang mempunyai resistor pull-up internal maka akan selalu timbul arus yang mengalir dari port ke ground.


Gambar 2.3. Menghubungkan tombol tekan ke mikrokontroler


Saat  Anda  menekan  atau  menggeser  tombol,  pulsa  yang  dihasilkan  tidak  berbentuk persegi  yang  halus  tetapi  mempunyai  sedikit  getaran.  Ini  disebabkan  karena  tombol adalah  peralatan  mekanis  dimana  pelat-pelat  logamnya  bergetar  sebentar  setelah bertabrakan  atau  terlepas.  Perhatikan  gambar  2.4.  Getaran  tersebut  dikenal  dengan istilah  efek  bouncing.  Efek  bouncing  ini  dapat  mengganggu  kinerja  mikrokontroler saat  mengambil  nilai  logika  saklar.  Getaran  yang  terjadi  dapat  menimbulkan  nilai logika saklar yang berubah dengan cepat.



Gambar 2.4. Efek bouncing yang muncul pada saklar mekanis



2.3        Daftar alat dan bahan
  1.  Software Proteus 7
  2. Software MIDE-51
  3. Unit Komputer

2.4       Keselamatan Kerja
  1. Menggunakan pakaian praktikum dengan baik dan rapi
  2. Sambungkan perangkat-perangkat yang digunakan sesuai dengan petunjuk pembimbing praktikum
  3. Jalankan sistem setelah mendapat izin dari pembimbing praktikum.
  4. Bila praktikum telah selesai, maka bongkar  semua perangkat yang digunakan dan simpan pada tempat semula dengan rapi

2.5.      Gambar Kerja

Gambar 2.5. Rangkaian interface input tombol / output LED
Gambar 2. 6. Flowchart pemrograman  interface input tombol / output LED


Gambar 2.7. Flowchart pemrograman  menyalakan LED dengan data bernilai 4 pada tombol tekan


Gambar 2.8. Flowchart pemrograman input tombol bit ke 0 untuk increment data


Gambar 2.9. Flowchart pemrograman  tombol bit ke 0 menentukan nilai LED bertambah satu secara terus menerus bila tombol ditekan dan tidak dilepas

2.6       Program Mikrokontroler

Program 1.

ORG    0000h

Loop:
MOV   A,P2
;ambil  nilai  saklar

MOV   P1,A
;keluarkan  ke  LED

SJMP  loop
;ulangi  proses  terus  menerus

Program 2.

ORG    0000h

Loop:
MOV   A,P2
;ambil  nilai  saklar

CJNE A,#0F7h,tidaksama
;apakah nilai tombol = 4 ?

MOV   A,#0FFh
;ya,  siapkan  A  dengan  FFh

SJMP LED
;lompat  ke  label  LED
Tidaksama:
MOV   A, #00
;tidak,  siapkan  A  dengan  0
LED:
MOV   P1,A
;nyalakan  led  dengan  nilai  A

SJMP  loop
;ulangi  proses  terus  menerus

Program 3.

ORG    0000h


Mov  A,#1
; nilai awal
Loop:
Mov  p1,A
; nyalakan LED pada posisi A
Baca:
Mov  C,P2.0
; baca tombol bit ke-0

JC  Baca
: ulangi sampai saklar ditekan
Tambah:
INC  A
; increment acumulator

SJMP  loop
; ulang menyalakan LED

Program 4.

ORG    0000h


MOV  A,#1
; NILAI AWAL
LOOP:
MOV  P1,A
; NYALAKAN LED PADA POSISI
TEKAN:
MOV  C,P2.0
; BACA TOMBOL BIT KE-0

JC  TEKAN
; ULANGI SAMPAI TOMBOL DITEKAN
LEPAS:
MOV  C,P2.0
; BACA TOMBOL BIT KE-0

JNC  LEPAS
; ULANGI SAMPAI SAKLAR DI LEPAS
TAMBAH:
INC A
; increment acumulator

SJMP LOOP
; ulang menyalakan LED


2.7       Langkah Percobaan
  1. Hubungkan  LED  ke  port  1  dan  saklar  ke  port  2  seperti  pada  Gambar 2.5.
  2. Buat program untuk algoritma pada Gambar  2.6,  seperti pada program 1 dan kompile serta jalankan   program   tersebut.   Program   ini   akan   membaca   nilai   saklar   dan menampilkannya ke LED.
  3. Catat penunjukkan indikator LED untuk setiap penekanan tombol tekan pada Tabel 2.1
  4. Buat program untuk algoritma pada Gambar 2.7,  seperti pada program 2 dan kompile serta jalankan   program   tersebut
  5. Catat penunjukkan indikator LED untuk setiap penekanan tombol tekan pada Tabel 2.2
  6. Buat program untuk algoritma pada Gambar 2.8,  seperti pada program 3 dan kompile serta jalankan   program   tersebut
  7. Catat penunjukkan indikator LED untuk setiap penekanan tombol tekan pada Tabel 2.3
  8. Buat program untuk algoritma pada Gambar 2.9,  seperti pada program 4 dan kompile serta jalankan   program   tersebut
  9. Catat penunjukkan indikator LED untuk setiap penekanan tombol tekan pada Tabel 2.4


2.8       Data
Tabel. 2.1 Hasil Program 1
Penekanan Tombol
Tampilan LED

D7
D6
D5
D4
D3
D2
D1
D0
0








1








2








3








4








5








6








7









                                               







Tabel. 2.2 Hasil Program 2
Penekanan Tombol
Tampilan LED

D7
D6
D5
D4
D3
D2
D1
D0
0








1








2








3








4








5








6








7


















Tabel. 2.3 Hasil Percobaan 3
Penekanan Tombol
Tampilan LED

D7
D6
D5
D4
D3
D2
D1
D0
0








0








0








0








0








0








0








0








1








2








3








4








5








6








7























Tabel. 2.4 Hasil Program 4

Penekanan Tombol
Tampilan LED

D7
D6
D5
D4
D3
D2
D1
D0
0








0








0








0








0








0








0








0








1








2








3








4








5








6








7
























2.9       Pertanyaan
  1.  Lakukan analisis terhadap hasil percobaan
  2. Buatlah kesimpulan terhadap hasil analisis yang telah dilakukan
  3. Perhatikan apa saja perbedaan pada program 4 dengan program 3 terhadap hasilnya
  4. Bagaimana alternatif lain yang dapat digunakan pada program 3 agar hasilnya dapat serupa dengan hasil program 4
  5. Buat konfigurasi nyala LED dalam  bentuk berbeda untuk setiap penekanan masing-masing tombol

Tidak ada komentar:

Posting Komentar

Terima kasih sudah membaca blog saya, silahkan tinggalkan komentar anda

Silinder penggerak tunggal

Silinder penggerak tunggal Pada silinder ini udara bertekanan yang diberikan pada silinder hanya satu arah saja, sehingga jenis ini menghasi...