1. PENDAHULUAN
ATMega 8535 merupakan salah satu chip
mikrokontroler dari AVR yang dapat digunakan
untuk mempelajari sistem mikroprosesor.
Pengaplikasiannya dengan interface seperti 7 Gambar 2-1 Tampilan Seven Segment
Segment, keypad, dan LCD sering diaplikasikan dan
dibutuhkan dalam dunia nyata. 2.2 SCANNING KEYPAD
Adapun tujuan praktikum kali ini adalah sebagai Pada prinsipnya, teknik scanning pada keypad
berikut: mirip dengan teknik scanning pada seven segmen.
Namun, pada scanning keypad, selain dilakukan
a. Memahami datsheet ATMega 8535. pengaturan logika pin secara bergantian, juga
b. Membuat aplikasi Seven Segment, Keypad, dan dilakukan secara bergantian pemeriksaan atau
LCD. pembacaan pin oleh mikrokontroler untuk
mengetahui tombol keypad mana yang sedang
2. STUDI PUSTAKA ditekan. DT-51 Trainer Board memiliki keypad
2x2 dengan kondisi sebagai berikut :
2.1 SCANNING SEVEN SEGMENT Pin penerima output dari mkrokontroler
adalah pin KBO1 (dari port “I/P S KEY”)
Salah satu teknik untuk menjalankan perangkat dan KBO2 (dari port “I/P S KEY”) yang
seven segment adalah teknik scanning. Dengan bersifat active low.
teknik scanning ini, sejumlah seven segmen dapat Sedangkan pin yang memberikan input
dijalankan secara bergantian (dengan frekuensi pada mikrokontroler adalah KBI1 (dari
tertentu) melalui jumlah port yang minimum. port “I/P S KEY”) dan KBI2 (dari port
Aturan untuk menjalankan kedua seven segmen “I/P S KEY”) yang bersifat active low.
tersebut adalah sebagai berikut :
Berikut ini tahap-tahap untuk menjalankan
Untuk menjalankan seven segment 1 keypad 2x2 :
(berlabel DIGIT1) maka pin DO1 (dari Port
”I/P S KEY”) harus diberi logika “0”. Pertama, berikan logika “0” pada pin
KBO1 (sementara pin KBO2 berlogika
“1”). Lalu, periksa logika dari data input
SSegment
modifikasi program sesuai spek pada tugas IV.C.3
Tugas IV.A.1
Case’2'
Pada percobaan kali ini didapatkan hasil sebagai Kodehex = 0x5b
berikut.
Case’3'
Kodehex = 0x4f
Case’4'
Kodehex = 0x66
Case’5'
Kodehex = 0x6d
Gambar 4-1 Hasil Percobaan IV.A.1
Case’6'
Port A dan port D diset sebagai output. Untuk Kodehex = 0x7d
menghemat penggunaan pin ATMega maka
masing-masing Seven segment menggunakan pin Case’7'
yang sama untuk setiap segmennya. Untuk Kodehex = 0x07
membedakan pengaktifannya digunakan pin
enable. Maka dari itu seven segment kiri dan Case’8'
Kodehex = 0x7f
kanan dinyalakan secara bergantian dengan delay
1 ms. Delay sebesar 1 ms memberikan kesan Case’9'
bahwa lampu menyala terus karena delay berupa Kodehex = 0x6f
led mati tidak kasat mata.
7segment kiri diaktifkan dengan mengeset nilai PD7
Return Kodehex
menjadi 0. 7segment kanan diaktifkan dengan
mengeset nilai PD6 menjadi 0. Tampilan pada
7segment diatur pada PORTA. Setiap bit pada Gambar 4-2 Diagram Alir Percobaan IV.A.1
PORTA dihubungkan langsung dengan 7Segment
dengan urutan dari MSB ke LSB (titik g f e d c b c).
Pengaturan untuk setiap bit pada PORTA akan
merepresentasikan nyala segment pada 7segment.
Ketika 7Segment 1 diaktifkan maka PORTA =
SSegmen(„7‟) | (1<<7). Pada fungsi SSegmen
PORTA diberikan nilai 0x07 (pengaktifan segment
a, b, c). Operasi or dengan (1<<7) dilakukan untuk
memunculkan titik setelah angka 7.
+ 2 detik
+ 3 detik
+ 4 detik
1
Pengimplementasian tidak dapat dilakukan hanya
dengan menggunakan fitur delay saja karena
2
7Segment menyala dengan nilai yang berubah-
ubah. Implementasi dilakukan dengan looping.
3
Banyaknya loop menandakan lamanya tampilan
yang muncul. Rentang waktu 1 detik
4
membutuhkan loop sebanyak 500 kali. Digunakan
Laporan Praktikum - Laboratorium Dasar Teknik Elektro – ITERA 4
PORTA, PD4 dan PD5 saja diset sebagai output. Tugas IV.B.2
Sisa Pin diset sebagai input. Pada percobaan kalli
Hasil pada percobaan kali ini adalah sebagai
ini akan dilakukan scanning PD4, PD5 dan PIND.
berikut.
Proses scanning akan dijelaskan sebagai berikut :
Tabel 4-2 Hasil Percobaan IV.B.2
Jika PD5 bernilai 0 maka kolom 2 yang terdiri dari
KEY1 dan KEY 4 akan aktif. Apabila KEY1 ditekan
maka PIND bit-0 bernilai 0 dan KEY1 akan terbaca.
Berdasarkan implementasi yang dibuat maka hal
ini akan menyalakan LED bit ke 0. Apabila KEY4 Keadaan Awal
ditekan maka PIND bit-1 bernilai 0 dan KEY4 akan
terbaca. Berdasarkan implementasi yang dibuat
maka hal ini akan menyalakan LED bit ke 0, 1, 2,
dan 3.
Jika PD4 bernilai 0 maka kolom 1 yang terdiri dari
KEY2 dan KEY3 akan aktif. Apabila KEY2 ditekan Key1 ditekan
maka PIND bit-0 bernilai 0 dan KEY2 akan terbaca.
Berdasarkan implementasi yang dibuat maka hal
ini akan menyalakan LED bit ke 0 dan 1. Apabila
KEY3 ditekan maka PIND bit-1 bernilai 0 dan
KEY3 akan terbaca. Berdasarkan implementasi
yang dibuat maka hal ini akan menyalakan LED
bit ke 0, 1, dan 2. Key2 ditekan
Key3 ditekan
Key4 ditekan
Tugas IV.C.2
Hasil yang diperoleh adalah pada baris pertama
LCD muncul tampilan ”***Tekan Tombol
Scanning Keypad***” yang bergerak dari kiri ke
kanan. Pada baris kedua muncul karakter yang
muncul berdasarkan inputan dari keypad 2x2.
Ketika KEY1 ditekan maka karakter yang muncul
ialah ”&”, ”5” untuk KEY2, ”7” untuk KEY3, “a”
untuk KEY4. Perintah LCDshiftRight(1)
digunakan untuk menggeser seluruh tampilan ke
kanan satu karakter. Perintah CopyStringtoLCD
digunakan untuk menampilkan string “***Tekan
Gambar 4-5 Diagram Alir Percobaan IV.B.2 Tombol Scanning Keypad***”.
Untuk melakukan pengaturan penampilan
4.3 LCD karakter berdasarkan keypad yang ditekan maka
Tugas IV.C.1 digunakan program seperti pada percobaan
scanning keypad namun dengan pengaturan nilai
Pada tugas IV.C.1 ini dilakukan pengeditan 4 baris PORT output untuk LCD.
perintah pada file lcd_lib.h menjadi sebagai
berikut : Flowchart percobaan kali ini adalah sebagai
berikut.
#define LDP PORTC
Laporan Praktikum - Laboratorium Dasar Teknik Elektro – ITERA 6
dalam if(bit_is_clear). Nilai awal j ialah -1
supaya kursor pertama kali pada kolom 0.
Sehingga pada penekanan pertama nilai j
menjadi -1+1=0. Pengaturan posisi ini
menggunakan prosedur LCDGotoXY(j, 1);
Variabel increment i difungsikan untuk
mengetahui jumlah penekanan key. Variabel
increment ini disisipkan didalam if(bit_is_clear).
Nilai i kembali kenilai 0 ketika mencapai 4.
Bersamaan dengan itu dilakukan shiftkanan
tampilan LCD sebanyak 2 kali dengan prosedur
LCDshiftRight(2).
Flowchart yang digunakan pada percobaan kali
ini adalah sebagai berikut.
Tugas IV.C.3
Pada percobaan kali ini pada layar LCD tampilan
awal bertuliskan “*PERCOBAAN LCD*‟. Apabila
KEY1 ditekan maka akan muncul angka 1 pada
baris 2, angka 2 untuk KEY2, angka 3 untuk KEY3 ,
dan angka 4 untuk KEY4. Posisi angka tampilan
pada baris kedua akan bergeser seluruhnya 2
karakter ke kiri apabila Key ditekan setelah 4 kali Gambar 4-8 Diagram Alir Percobaan IV.C.3
atau kelipatannya.
Tugas IV.C.4
Prosedur CopyStringtoLCD digunakan Percobaan yang dilakukan seperti pada IV.C.3
untuk menulis ”*PERCOBAAN LCD*” namun dengan menggunakan keypad4x4.
dengan string yang telah diassign pada Dibutuhkan 4 port sebagai output dan 4 port lagi
variabel LCDtombol1. Pengaturan sebagai input untuk scanning. Pertama-tama
pemunculan kursor dikanan karakter terakhir scanning dilakukan per kolom dengan set nilai 4
yang diinput dapat dilakukan dengan port output yang berbeda tergantung pada kolom
melakukan increment j sebagai pengatur posisi mana yang mau dicek. Selanjutnya dilakukan
pengecekan per baris pada scanning perkolom.
angka tersebut. Increment j dimasukkan di
Laporan Praktikum - Laboratorium Dasar Teknik Elektro – ITERA 7
Flowchart yang digunakan adalah sebagai berikut. length, bit, register data, cursor, blinking,
dan clearing display.
Pada percobaan ini dapat digunakan fitur
LCD menampilkan string, char, mengatur
posisi tampilan, dan mengeser tampilan.
DAFTAR PUSTAKA
[1] Mervin T. Hutabarat dkk, Petunjuk Praktikum
Sistem Mikroprosesor, Laboratorium Dasar
Teknik Elektro STEI ITB, Bandung, 2016
[2] Datasheet ATMega 8535, www.atmel.com.
5. KESIMPULAN
Scanning pada seven segment digunakan
untuk menyalakan dua buah 7segment
dengan menggunakan port output yang
sama dengan cara mengaktifkan
7Segment secara bergantian.
Teknik scanning pada keypad dilakukan
dengan scanning sebanyak n kolom (jika
keypad 2x2 maka scanning 2 kali).
Kemudian untuk scanning per kolom
dilakukan pengecekan per baris.
Untuk menjalankan display LCD
HD44780 ada proses inisialisasi interface