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
Top Related