Anda di halaman 1dari 9

MODUL IV SEVEN SEGMENT, KEYPAD DAN LCD

Muhammad Iqbal Firdaus Bachmid (13116117)


Asisten: Simon Putra Aritonga (13115007)
Tanggal Percobaan: 25 Maret 2019
EL3203-Praktikum Sistem Mikroprosesor
Laboratorium Dasar Teknik Elektro – Institut Teknologi Sumatera

Abstrak  Sedangkan untuk dapat menjalankan seven


segment 2 (DIGIT1) maka pin DO2 (dari
Pada percobaan kali ini akan dilakukan bebrapa percobaan
diantaranya pembuatan aplikasi dari scanning Seven port ”I/P S KEY”) harus diberi logika “0”.
Segment, scanning keypad 2x2 dan pembuatan aplikasi Dengan demikian, untuk menyalakan masing-
LCD. Scanning pada seven segment dilakukan dengan masing seven segemen tersebut, diatur logika
memberikan logika 0 pada pin output secara bergantian ”0” untuk pin D01 dan D02 secara bergantian.
antara seven segment yang satu dengan lainnya dengan delay Selain dua aturan di atas, untuk menampilkan
hanya 1 ms sehingga tidak kasat mata. Keypad scanning angka (0 – 9) dan titik (.) dengan seven segment
menggunakan pin input output dan membaca berdasarkan pada Trainer Board tersebut yaitu dengan
kolom dan baris untuk membaca tombol apa yang ditekan. mengatur logika pin dari port ”Data 7S”.
LCD menggunakan aplikasi yang telah tersedia pada AVR Rangkaian seven segment tesebut berisfat active
LCD lib demo, kemudian dilakukan penggabungan aplikasi high (logika “1” = nyala, logika “0” = padam),
LCD dan keypad 2x2, terakhir dilakukan penggabungan dengan urutan dari MSB ke LSB adalah DP
aplikasi LCD dengan scanning keypad 4x4. (titik), G, F, E, D, C, B, A.

Kata kunci: Seven Segment, Keypad, LCD.

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

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – ITERA 1


KBI1. Jika logika pin KBI1 berubah dari  1 unit board sistem minimum (+ LCD &
“1” ke “0” berarti KEY1 telah ditekan. Keypad 4x4)
 Selanjutnya KBI2 diperiksa; jika logikanya 
 1 unit DT-51 Trainer Board (led, keypad
berubah dari “1” ke “0” berarti berarti
2x2, 2 buah 7 Segment)
 KEY3 telah ditekan. 
 Kedua, berikan logika “0” pada KBO2  Kabel Connector DB9

 (sementara pin KBO1 berlogika “1”).
 Kabel Banana
Kemudian tiap-tiap data input-nya 
diperiksa, seperti pemeriksaan pada tahap  Kabel Connector 2x5, 2x10, 2x8
pertama.
Langkah-langkah pada percobaan ini ialah sebagai
berikut:

3.1 SCANNING SEVEN SEGMENT


Power supply di set 9V terus dihubungkan dengan kit
praktikum

Hubungkan sismin dengan pc

Gambar 2-2 Rangkaian Keypad 2x2 yang Digunakan


aktifkan downloader menggunakan switch 2.
2.3 LCD
B LCD yang digunakan dalam praktikum ini atur fuse bit sehingga digunakan clock 8MHz
adalah LCD yang berbasis pada HD44780 LCD
controller. Sebelum praktikum, praktikan
diharuskan untuk membaca dan memahami PORTA sismin dihubungkan ke DATA &S Trainer
Board
proses untuk menjalankan LCD yang diuraikan
pada datasheet HD44780 tersebut. Datasheet
HD44780 disediakan di bit.ly/PrakElektro PORTD sismin dihubungkan dengan I/P S KEY Trainer Board

Pada praktikum ini, percobaan tentang LCD akan


dilakukan dengan menggunakan library beserta download program tugas IV.A.1 perhatikan kondisi
demo project-nya yang dapat didownload free di output 7 Segment
sini
http://winavr.scienceprog.com/download/AVR_
LCD_Lib_Demo.zip. Modifikasi program sesuai dengan tugas IV.A.2
Hal pertama yang harus diperhatikan dalam
menggunakan library tersebut untuk percobaan
Gambar 3-1 Langkah Percobaan 1
pada praktikum ini adalah bahwa pada praktikum
ini LCD dijalankan dengan menggunakan Port C.
3.2 SCANNING KEYPAD
Sementara pada library tersebut, LCD dijalankan
dengan Port D. Pengubahan dari Port D ke Port C
PORTA sismin dihubungkan ke PORT OUTPUT
dilakukan dengan mengedit 4 baris perintah pada Trainer Board
file lcd_lib.h menjadi sebagai berikut :
#define LDP PORTC
PORTD sismin dihubungkan dengan I/P S KEY
#define LCP PORTC
Trainer Board
#define LDDR DDRC
#define LCDR DDRC
download program tugas IV.B.1 perhatikan kondisi
3. METODOLOGI output LED saat kepad 2x2 ditekan
Alat dan komponen yang digunakan adalah :
 1 unit PC
 Modifikasi program sesuai dengan tugas IV.B.2
 1 unit power supply (gabungan keypad + 7 Segment)

Gambar 3-2 Langkah Percobaan 2


Laporan Praktikum - Laboratorium Dasar Teknik Elektro – ITERA 2
3.3 LCD Ketika 7Segment 1 diaktifkan maka PORTA =
SSegmen(„2‟). Pada fungsi SSegmen PORTA
PORT LCD sismin dihubungkan ke PORT LCD pada
LCD
diberikan nilai 0x5b (pengaktifan segment a, b, d,
e, g). Kali ini digunakan fungsi SSegmen untuk
PORTD sismin dihubungkan dengan I/P S KEY konfigurasi tampilan 7segment per bilangannya.
Trainer Board Maka dari itu ketika 7Segment 1 menyala akan
menampilkan „7‟ dan ketika 7Segment 2 menyala
Jalankan AVR LCD Lib Demo, adapatasikan terlebih
akan menampilkan „2‟ sehingga yang nampak
dahulu makefilenya
pada mata kita adalah tampilan „7.2‟.
Download program IV.C.2 yang ada modul. Flowchart yang didapatkan adalah sebagai berikut.
Perhatikan output LCD terhadap input keypad 2x2

SSegment
modifikasi program sesuai spek pada tugas IV.C.3

modifikasi program sesuai spek pada tugas IV.C.4


(kombinasi LCD dan keypad 4x4)
Swictch (angka)

Gambar 3-3 Langkah Percobaan 3


Case’0'
Kodehex = 0x3f
4. HASIL DAN ANALISIS
Case’1'
4.1 PERCOBAAN SCANNING SEVEN SEGMENT Kodehex = 0x06

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.

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – ITERA 3


Tugas IV.A.2 loop 500 kali karena didalam loop telah dilakukan
_delay_ms(1) sebanyak 2x1ms atau 2ms.
Hasil yang didapatkan pada percobaan kali ini
Pengaturan tersebut digunakan untuk
adalah sebagai berikut.
menampilkan tampilan „50‟, „40‟, „30‟, „20‟, dan
Tabel 4-1 Hasil Percobaan IV.A.2 „10‟. Sedangkan untuk menampilkan ”F.F.” dan
redup selama 0.5 detik maka digunakan loop
sebanyak 250 kali (250x2ms=500ms).
Penampilan „F.F‟ dan redup diulang sebanyak 3
Keadaan Awal
kali. Untuk melakukan hal ini maka digunakan
looping 3 kali diluar loop yang telah disebutkan
diatas. Untuk menampilkan ”F.” maka dibuat case
baru pada fungsi Ssegmen dengan nilai kodehex
0xF1 (segment titik, G, F, E, dan A yang menyala).
Flowchart yang dibuat adalah sebagai berikut.
+ 1 detik

+ 2 detik

+ 3 detik

+ 4 detik

Gambar 4-3 Diagram Alir Percobaan IV.A.2


+ 5 detik
+ 6 detik 4.2 SCANNING KEYPAD
+ 7 detik Tugas IV.B.1
Hasil yang didapatkan adalah sebagai berikut.
Tabel 4-2 Hasil Percobaan IV.B.1
+ 5,5 detik Tombol Tampilan LED
+ 6,5 detik Keypad
+ 7,5 detik yang Bit Bit Bit Bit Bit Bit Bit Bit
ditekan 7 6 5 4 3 2 1 0

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

Flowchart yang dibuat adalah sebagai berikut.

Key3 ditekan

Key4 ditekan

Pada percobaan ini digunakan implementasi yang


hampir sama seperti pada percobaan IV.B.1
dengan perbedaan yaitu pada nilai PORTA
dilakukan pengaturan 7 segment yang akan
ditampilkan. Program ini merupakan gabungan
antar program IV.B.1 dan IV.A.1. Program IV.B.1
digunakan untuk melakukan scanning keypad
yang ditekan. Dan program IV.A.1 digunakan
untuk menampilkan output 7segment yang
bergantung pada masukan keypad.

Gambar 4-4 Diagram Alir Percobaan IV.B.1

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – ITERA 5


Flowchart yang dibuat pada percobaan kali ini #define LCP PORTC
adalah sebagai berikut. #define LDDR DDRC
#define LCDR DDRC
Hal tersebut dilakukan karena percobaan PORT
LCD dihubungkan dengan PORTC sismin
sehingga perlu dilakukan perubahan dari
penggunaan default PORTD menjadi PORTC.
Prosedur LCDinit() merupakan inisialisasi nilai bit
LCD. LCD yang digunakan 2x16 dan pada
prosedur ini diperintahkan penggunaan 2 line 16
kolom, kursor invisible di bagian kanan. LCDclr()
merupakan prosedur untuk menghapus
keseluruhan tampilan LCD. Progress() merupakan
prosedur menampilkan tulisan welcome dan
kemudian loading... Sedangkan prosedur
Demoanimation() berfungsi untuk menampilkan
tulisan LCD animation pada baris pertama dan
animasi garis - / | \ - / | pada baris kedua bagian
tengah.
Flowchart yang dibuat adalah sebagai berikut.

Gambar 4-6 Diagram Alir Percobaan IV.C.1

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.

Gambar 4-7 Diagram Alir Percobaan IV.C.2

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.

Gambar 4-9 Diagram Alir Percobaan IV.C.4

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

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – ITERA 8