Membaca Tombol Tekan

download Membaca Tombol Tekan

of 18

description

This file is report about programming of Assembly

Transcript of Membaca Tombol Tekan

PRAKTIKUM

PRAKTIKUM 2MEMBACA TOMBOL TEKAN

2.1Tujuan 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.2Dasar 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.

(a)(b)(c)

Gambar 2.3. Menghubungkan tombol tekan ke mikokontroler

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.3Daftar alat dan bahan 1. Software Proteus 72. Software MIDE-513. Unit Komputer

2.4Keselamatan Kerja1.Menggunakan pakaian praktikum dengan baik dan rapi2.Sambungkan perangkat-perangkat yang digunakan sesuai dengan petunjuk pembimbing praktikum3.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

startNyalakan LEDBaca dataTombol tekan

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

Nilai tombol= 4?StartLED = onLED = offBaca data tombol

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

Loop:MOVA,P2;ambil nilai saklar

MOVP1,A;keluarkan ke LED

SJMPloop;ulangi proses terus menerus

Program 2.ORG0000h

Loop:MOVA,P2;ambil nilai saklar

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

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

SJMP LED;lompat ke label LED

Tidaksama:MOV A, #00;tidak, siapkan A dengan 0

LED:MOVP1,A;nyalakan led dengan nilai A

SJMPloop;ulangi proses terus menerus

Program 3.ORG0000h

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

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 Percobaana.Hubungkan LED ke port 1 dan saklar ke port 2 seperti pada Gambar 2.5.b. 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.c. Catat penunjukkan indikator LED untuk setiap penekanan tombol tekan pada Tabel 2.1d.Buat program untuk algoritma pada Gambar 2.7, seperti pada program 2 dan kompile serta jalankan program tersebut. e.Catat penunjukkan indikator LED untuk setiap penekanan tombol tekan pada Tabel 2.2f.Buat program untuk algoritma pada Gambar 2.8, seperti pada program 3 dan kompile serta jalankan program tersebut. g.Catat penunjukkan indikator LED untuk setiap penekanan tombol tekan pada Tabel 2.3h.Buat program untuk algoritma pada Gambar 2.9, seperti pada program 4 dan kompile serta jalankan program tersebut. i.Catat penunjukkan indikator LED untuk setiap penekanan tombol tekan pada Tabel 2.4

2.8DataTabel. 2.1 Hasil Program 1Penekanan TombolTampilan LED

D7D6D5D4D3D2D1D0

0ONONONONONONONOFF

1ONONONONONONOFFON

2ONONONONONOFFONON

3ONONONONOFFONONON

4ONONONOFFONONONON

5ONONOFFONONONONON

6ONOFFONONONONONON

7OFFONONONONONONON

Tabel. 2.2 Hasil Program 2Penekanan TombolTampilan LED

D7D6D5D4D3D2D1D0

0OFFOFFOFFOFFOFFOFFOFFOFF

1OFFOFFOFFOFFOFFOFFOFFOFF

2OFFOFFOFFOFFOFFOFFOFFOFF

3ONONONONONONONON

4OFFOFFOFFOFFOFFOFFOFFOFF

5OFFOFFOFFOFFOFFOFFOFFOFF

6OFFOFFOFFOFFOFFOFFOFFOFF

7OFFOFFOFFOFFOFFOFFOFFOFF

Tabel. 2.3 Hasil Percobaan 3Penekanan TombolTampilan LED

D7D6D5D4D3D2D1D0

0

0

0

0

0

0

0

0

1

2

3

4

5

6

7

Tabel. 2.4 Hasil Program 4Penekanan TombolTampilan LED

D7D6D5D4D3D2D1D0

0OFFOFFOFFOFFOFFOFFONOFF

0OFFOFFOFFOFFOFFOFFONON

0OFFOFFOFFOFFOFFONOFFOFF

0OFFOFFOFFOFFOFFONOFFON

0OFFOFFOFFOFFOFFONONOFF

0OFFOFFOFFOFFOFFONONON

0OFFOFFOFFOFFONOFFOFFOFF

0OFFOFFOFFOFFONOFFOFFON

0OFFOFFOFFOFFONOFFONOFF

0OFFOFFOFFOFFONOFFONON

0OFFOFFOFFOFFONONOFFOFF

0OFFOFFOFFOFFONONOFFON

0OFFOFFOFFOFFONONONOFF

0OFFOFFOFFOFFONONONON

0OFFOFFOFFONOFFOFFOFFOFF

0OFFOFFOFFONOFFOFFOFFON

0OFFOFFOFFONOFFOFFONOFF

0OFFOFFOFFONOFFOFFONON

0OFFOFFOFFONOFFONOFFOFF

0OFFOFFOFFONOFFONOFFON

0OFFOFFOFFONOFFONONOFF

0OFFOFFOFFONOFFONONON

0OFFOFFOFFONONOFFOFFOFF

0OFFOFFOFFONONOFFOFFON

0OFFOFFOFFONONOFFONOFF

0OFFOFFOFFONONOFFONON

0OFFOFFOFFONONONOFFOFF

0OFFOFFOFFONONONOFFON

0OFFOFFOFFONONONONOFF

0OFFOFFOFFONONONONON

0OFFOFFONOFFOFFOFFOFFOFF

0OFFOFFONOFFOFFOFFOFFON

0OFFOFFONOFFOFFOFFONOFF

0OFFOFFONOFFOFFOFFONON

0OFFOFFONOFFOFFONOFFOFF

0OFFOFFONOFFOFFONOFFON

0OFFOFFONOFFOFFONONOFF

0OFFOFFONOFFOFFONONON

0OFFOFFONOFFONOFFOFFOFF

0OFFOFFONOFFONOFFOFFON

0OFFOFFONOFFONOFFONOFF

0OFFOFFONOFFONOFFONON

0OFFOFFONOFFONONOFFOFF

0OFFOFFONOFFONONOFFON

0OFFOFFONOFFONONONOFF

0OFFOFFONOFFONONONON

0OFFOFFONONOFFOFFOFFOFF

0OFFOFFONONOFFOFFOFFON

0OFFOFFONONOFFOFFONOFF

0OFFOFFONONOFFOFFONON

0OFFOFFONONOFFONOFFOFF

0OFFOFFONONOFFONOFFON

0OFFOFFONONOFFONONOFF

0OFFOFFONONOFFONONON

0OFFOFFONONONOFFOFFOFF

0OFFOFFONONONOFFOFFON

0OFFOFFONONONOFFONOFF

0OFFOFFONONONOFFONON

0OFFOFFONONONONOFFOFF

0OFFOFFONONONONOFFON

0OFFOFFONONONONONOFF

0OFFOFFONONONONONON

0OFFONOFFOFFOFFOFFOFFOFF

0OFFONOFFOFFOFFOFFOFFON

0OFFONOFFOFFOFFOFFONOFF

0OFFONOFFOFFOFFOFFONON

0OFFONOFFOFFOFFONOFFOFF

0OFFONOFFOFFOFFONOFFON

0OFFONOFFOFFOFFONONOFF

0OFFONOFFOFFOFFONONON

0OFFONOFFOFFONOFFOFFOFF

0OFFONOFFOFFONOFFOFFON

0OFFONOFFOFFONOFFONOFF

0OFFONOFFOFFONOFFONON

0OFFONOFFOFFONONOFFOFF

0OFFONOFFOFFONONOFFON

0OFFONOFFOFFONONONOFF

0OFFONOFFOFFONONONON

0OFFONOFFONOFFOFFOFFOFF

0OFFONOFFONOFFOFFOFFON

0OFFONOFFONOFFOFFONOFF

0OFFONOFFONOFFOFFONON

0OFFONOFFONOFFONOFFOFF

0OFFONOFFONOFFONOFFON

0OFFONOFFONOFFONONOFF

0OFFONOFFONOFFONONON

0OFFONOFFONONOFFOFFOFF

0OFFONOFFONONOFFOFFON

0OFFONOFFONONOFFONOFF

0OFFONOFFONONOFFONON

0OFFONOFFONONONOFFOFF

0OFFONOFFONONONOFFON

0OFFONOFFONONONONOFF

0OFFONOFFONONONONON

0OFFONONOFFOFFOFFOFFOFF

0OFFONONOFFOFFOFFOFFON

0OFFONONOFFOFFOFFONOFF

0OFFONONOFFOFFOFFONON

0OFFONONOFFOFFONOFFOFF

0OFFONONOFFOFFONOFFON

0OFFONONOFFOFFONONOFF

0OFFONONOFFOFFONONON

0OFFONONOFFONOFFOFFOFF

0OFFONONOFFONOFFOFFON

0OFFONONOFFONOFFONOFF

0OFFONONOFFONOFFONON

0OFFONONOFFONONOFFOFF

0OFFONONOFFONONOFFON

0OFFONONOFFONONONOFF

0OFFONONOFFONONONON

0OFFONONONOFFOFFOFFOFF

0OFFONONONOFFOFFOFFON

0OFFONONONOFFOFFONOFF

0OFFONONONOFFOFFONON

0OFFONONONOFFONOFFOFF

0OFFONONONOFFONOFFON

0OFFONONONOFFONONOFF

0OFFONONONOFFONONON

0OFFONONONONOFFOFFOFF

0OFFONONONONOFFOFFON

0OFFONONONONOFFONOFF

0OFFONONONONOFFONON

0OFFONONONONONOFFOFF

0OFFONONONONONOFFON

0OFFONONONONONONOFF

0OFFONONONONONONON

0ONOFFOFFOFFOFFOFFOFFOFF

0ONOFFOFFOFFOFFOFFOFFON

0ONOFFOFFOFFOFFOFFONOFF

0ONOFFOFFOFFOFFOFFONON

0ONOFFOFFOFFOFFONOFFOFF

0ONOFFOFFOFFOFFONOFFON

0ONOFFOFFOFFOFFONONOFF

0ONOFFOFFOFFOFFONONON

0ONOFFOFFOFFONOFFOFFOFF

0ONOFFOFFOFFONOFFOFFON

0ONOFFOFFOFFONOFFONOFF

0ONOFFOFFOFFONOFFONON

0ONOFFOFFOFFONONOFFOFF

0ONOFFOFFOFFONONOFFON

0ONOFFOFFOFFONONONOFF

0ONOFFOFFOFFONONONON

0ONOFFOFFONOFFOFFOFFOFF

0ONOFFOFFONOFFOFFOFFON

0ONOFFOFFONOFFOFFONOFF

0ONOFFOFFONOFFOFFONON

0ONOFFOFFONOFFONOFFOFF

0ONOFFOFFONOFFONOFFON

0ONOFFOFFONOFFONONOFF

0ONOFFOFFONOFFONONON

0ONOFFOFFONONOFFOFFOFF

0ONOFFOFFONONOFFOFFON

0ONOFFOFFONONOFFONOFF

0ONOFFOFFONONOFFONON

0ONOFFOFFONONONOFFOFF

0ONOFFOFFONONONOFFON

0ONOFFOFFONONONONOFF

0ONOFFOFFONONONONON

0ONOFFONOFFOFFOFFOFFOFF

0ONOFFONOFFOFFOFFOFFON

0ONOFFONOFFOFFOFFONOFF

0ONOFFONOFFOFFOFFONON

0ONOFFONOFFOFFONOFFOFF

0ONOFFONOFFOFFONOFFON

0ONOFFONOFFOFFONONOFF

0ONOFFONOFFOFFONONON

0ONOFFONOFFONOFFOFFOFF

0ONOFFONOFFONOFFOFFON

0ONOFFONOFFONOFFONOFF

0ONOFFONOFFONOFFONON

0ONOFFONOFFONONOFFOFF

0ONOFFONOFFONONOFFON

0ONOFFONOFFONONONOFF

0ONOFFONOFFONONONON

0ONOFFONONOFFOFFOFFOFF

0ONOFFONONOFFOFFOFFON

0ONOFFONONOFFOFFONOFF

0ONOFFONONOFFOFFONON

0ONOFFONONOFFONOFFOFF

0ONOFFONONOFFONOFFON

0ONOFFONONOFFONONOFF

0ONOFFONONOFFONONON

0ONOFFONONONOFFOFFOFF

0ONOFFONONONOFFOFFON

0ONOFFONONONOFFONOFF

0ONOFFONONONOFFONON

0ONOFFONONONONOFFOFF

0ONOFFONONONONOFFON

0ONOFFONONONONONOFF

0ONOFFONONONONONON

0ONONOFFOFFOFFOFFOFFOFF

0ONONOFFOFFOFFOFFOFFON

0ONONOFFOFFOFFOFFONOFF

0ONONOFFOFFOFFOFFONON

0ONONOFFOFFOFFONOFFOFF

0ONONOFFOFFOFFONOFFON

0ONONOFFOFFOFFONONOFF

0ONONOFFOFFOFFONONON

0ONONOFFOFFONOFFOFFOFF

0ONONOFFOFFONOFFOFFON

0ONONOFFOFFONOFFONOFF

0ONONOFFOFFONOFFONON

0ONONOFFOFFONONOFFOFF

0ONONOFFOFFONONOFFON

0ONONOFFOFFONONONOFF

0ONONOFFOFFONONONON

0ONONOFFONOFFOFFOFFOFF

0ONONOFFONOFFOFFOFFON

0ONONOFFONOFFOFFONOFF

0ONONOFFONOFFOFFONON

0ONONOFFONOFFONOFFOFF

0ONONOFFONOFFONOFFON

0ONONOFFONOFFONONOFF

0ONONOFFONOFFONONON

0ONONOFFONONOFFOFFOFF

0ONONOFFONONOFFOFFON

0ONONOFFONONOFFONOFF

0ONONOFFONONOFFONON

0ONONOFFONONONOFFOFF

0ONONOFFONONONOFFON

0ONONOFFONONONONOFF

0ONONOFFONONONONON

0ONONONOFFOFFOFFOFFOFF

0ONONONOFFOFFOFFOFFON

0ONONONOFFOFFOFFONOFF

0ONONONOFFOFFOFFONON

0ONONONOFFOFFONOFFOFF

0ONONONOFFOFFONOFFON

0ONONONOFFOFFONONOFF

0ONONONOFFOFFONONON

0ONONONOFFONOFFOFFOFF

0ONONONOFFONOFFOFFON

0ONONONOFFONOFFONOFF

0ONONONOFFONOFFONON

0ONONONOFFONONOFFOFF

0ONONONOFFONONOFFON

0ONONONOFFONONONOFF

0ONONONOFFONONONON

0ONONONONOFFOFFOFFOFF

0ONONONONOFFOFFOFFON

0ONONONONOFFOFFONOFF

0ONONONONOFFOFFONON

0ONONONONOFFONOFFOFF

0ONONONONOFFONOFFON

0ONONONONOFFONONOFF

0ONONONONOFFONONON

0ONONONONONOFFOFFOFF

0ONONONONONOFFOFFON

0ONONONONONOFFONOFF

0ONONONONONOFFONON

0ONONONONONONOFFOFF

0ONONONONONONOFFON

0ONONONONONONONOFF

0ONONONONONONONON

1OFFOFFOFFOFFOFFOFFOFFOFF

2OFFOFFOFFOFFOFFOFFOFFOFF

3OFFOFFOFFOFFOFFOFFOFFOFF

4OFFOFFOFFOFFOFFOFFOFFOFF

5OFFOFFOFFOFFOFFOFFOFFOFF

6OFFOFFOFFOFFOFFOFFOFFOFF

7OFFOFFOFFOFFOFFOFFOFFOFF

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

Jawaban :a. Setelah melakukan percobaan dapat saya analisa bahwa rangkaian percobaan yang telah dirangkai adalah rangkaian dengan menggunakan saklar atau tombol tekan, dimana saklar ini sebagai inputan atau pemicu hidup/matinya LED berdasarkan program yang digunakan apakah tombol sebagai pemicu matinya LED atau menghidupkan LED pada Port Output.b. Berdasarkan percobaan diatas dapat disimpulkan bahwa, penggunaan saklar atau tombol tekan pada rangkaian diatas adalah sebagai pengontrol jalannya sebuah proses dari rangkaian tersebut secara manual, dimana keputusan diambil dari konsep dasar saklar yaitu sebagai penutup dan pembuka sebuah rangkaian.c. Perbedaan antara program 3 dan 4 adalah pada pengulangan programnya, pada program 3 digunakan increment atau penambahan +1 pada setiap pengulangan, dimana pengulangan program 3 dilakukan secara berkali-kali hanya dengan menekan tombol Port 2.0 sekali saja, dimana kecepatan pengulangan dilakukan berdasarkan kecepatan dari mikroprosessor itu sendiri. Pada program 4 juga menggunakan increment atau penambahan +1 setiap pengulangan program, dan pengulangan pada program 4 ini dilakukan secara manual atau sekali menekan tombol maka penambahan hanya dilakukan sekali saja dan pengulangan juga dilakukan hanya sekali saja, penambahan akan berlanjut jika kita terus menekan tombol pada Port 2.0.d. Alternatifnya hanya menambahkan :Hapus:Mov C,P2.0JNC Hapuse.

6

23