Anda di halaman 1dari 13

PRAKTIKUM MIKROPROSESOR

MODUL II
SEVEN SEGMENT, KEYPAD dan LCD
LAPORAN AWAL

NAMA

: Mukh Yasin Nur Supriyadi

NPM

: 140303130001

WAKTU

: Senin, 6 Oktober 2014, 16.30 18.00

ASSISTEN

: Ahmad dan Fajar

LABORATORIUM HARDWARE
PROGRAM STUDI TEKNIK KOMPUTER
FMIPA UNPAD
2014

MODUL II
SEVEN SEGMENT, KEYPAD dan LCD
I.

Tujuan Praktikum
Praktikan dapat memahami rangkaian mikrokontroler ATMega 8535 dengan seven segment.
Praktikan dapat menggunakan dan memahami instruksi program CodeVision AVR untuk

menampilkan data ke seven segment.


Praktikan mempelajari fungsi keypad.
Praktikan dapat membuat program untuk memeriksa tombol yang ditekan pada keypad.
Praktikan mampu membuat program untuk menampilkan suatu karakter pada LCD (Liquid
Crystal Display) melalui pin I/O AVR.

II.

Teori Dasar
II.1.

Seven Segment

Seven segment adalah suatu segmen-segmen yang digunakan menampilkan angka. Seven
segment ini tersusun atas 7 batang LED yang disusun angka 8 dengan menggunakan huruf a-f yang
disebut DOT MATRIKS. Setiap segmen terdiri dari 1 atau 2 Light Emiting Diode(LED).
Peraga seven merupakan konfigurasi 7 buah LED dan 1 titik LED yang dapat dibentuk menjadi
angka dan karakter tertentu yang ditandai dengan batang a hingga batang g.

Gambar 2.1 Konstruksi Seven Segment


Seven segment dapat dibedakan menjadi dua macam yaitu:

Common Anoda

Logika 1 = mati (logika tinggi)


Logika 0 = menyala (logika rendah)

Common Katoda

Logika 1 = menyala (logika tinggi)


Logika 0 = mati (logika rendah)

Tabel untuk menampilkan angka 0-9 :

Angk

Bit7

Bit6

Bit5

a
0
1
2
3
4
5
6
7
8
9

dot
1
1
1
1
1
1
1
1
1
1

g
1
1
0
0
0
0
0
1
0
0

f
0
1
1
1
0
0
0
1
0
0

Angk

Bit7

Bit6

Bit5

a
0
1
2
3
4
5
6
7
8
9

dot
0
0
0
0
0
0
0
0
0
0

g
0
0
1
1
1
1
1
0
1
1

f
1
0
0
0
1
1
1
0
1
1

Rangkaian Seven Segment:

COMMON ANODA
Bit4
Bit3
E
0
1
0
1
1
1
0
1
0
1

D
0
1
0
0
1
0
0
1
0
0

COMMON ANODA
Bit4
Bit3
E
1
0
1
0
0
0
1
0
1
0

D
1
0
1
1
0
1
1
0
1
1

Bit2

Bit1

Bit0

Data

c
0
0
1
0
0
0
0
0
0
0

b
0
0
0
0
0
1
1
0
0
0

A
0
1
0
0
1
0
0
0
0
0

(hexa)
0xc0
0Xf9
0Xa4
0xB0
0x99
0x92
0x82
0Xf8
0x80
0x90

Bit2

Bit1

Bit0

Data

c
1
1
0
1
1
1
1
1
1
1

b
1
1
1
1
1
0
0
1
1
1

A
1
0
1
1
0
1
1
1
1
1

(hexa)
0x3F
0x06
0x5B
0x4F
0x66
0x6E
0x7E
0x07
0x7F
0x6F

Gambar 2.2 Rangkaian Seven Segment


II.2.

Keypad

Keypad adalah kumpulan beberapa switch yang tersusun atas baris dan kolom, yang mempunyai
sifat yang unik yaitu kolom dan barisnya tidak dapat dirubah. Dalam melakukan proses pembacaan
dan pengiriman data keypad dapat bekerja dengan menggunakan dua metoda, yaitu metoda scanning
dan pollong. Keypad ATMega 8535 yang digunakan menggunakan metoda scanning yang berfungsi
untuk menerima input tombol keypad serta menampilkan digit atau karakter yang diinginkan ke alat
penampil seperti seven segment atau LCD.
Berikut ini merupakan gambar rangkaian dari keypad:

Gambar 2.3 Rangkaian Keypad 3x4


Keypad merupakan susunan saklar push-button menurut baris dan kolom, hampir sama
dengan dot matriks, hanya saja dot matrix tersusun dari LED. Bentuk dan susunan keypad dapat
dilihat pada gambar 2.3. Hubungkan pin keypad dengan pin mikrokontroler. Cara untuk mengetahui
saklar mana yang ditekan adalah dengan memeriksa baris dan kolom. Agar mikrokontroler mengetahui
baris dan kolom mana yang terhubung, maka sebagian port mikrokontroler difungsikan sebagai output
dan sebagian lagi difungsikan sebagai input.

II.3.

LCD

LCD adalah suatu display dari bahan cairan Kristal yang pengoperasiannya menggunakan system
dot matriks, LCD banyak digunakan sebagai display dari alat-alat elektronik seperti kalkulator,
multitester digital, jam digital dan sebagainya.

Gambar 2.4 Blok Diagram LCD


LCD dapat digunakan dengan mudah dihubungkan dengan mikrokontroler AVR ATMega
8535. LCD yang digunakan dalam percubaan adalah LCD 2 x 16, lebar display 2 baris 16 kolom, yang
mempunyai 16 pin konektor yang didefinisikan sebagai berikut:

Gambar 2.5 Konfigurasi Pin pada LCD


Konfigurasi Pin pada LCD

PI
N
1

NAMA PIN

FUNGSI

VSS

Ground Voltage

VCC

+5v

VEE

Contrast Voltage

RS

R/W

7
8
9
10
11
12
13
14
15
16

DB0
DB1
DB2
DB3
DB4
DB5
DB6
DB7
BPL
GND

Register Select
1 = Intruction Register
0 = Data Register
Read/Write, to choose write or read mode
0 = write mode
1 = read mode
Enable
0 = start to lacht data to LCD character
1 = disable
Data bit ke-0 (LSB)
Data bit ke-1
Data bit ke-2
Data bit ke-3
Data bit ke-4
Data bit ke-5
Data bit ke-6
Data bit ke-7
Back Plane Light
Ground Voltage

III.

TUGAS PENDAHULUAN
1. Jelaskan cara kerja seven segment!
Jawab : Prinsip kerja seven segmen ialah input biner pada switch

dikonversikan

masuk

ke

dalam

decoder,

baru

kemudian

decoder

mengkonversi bilangan biner tersebut menjadi decimal, yang nantinya


akan

ditampilkan

pada

seven

segment. Seven

segment

dapat

menampilkan angka-angka desimal dan beberapa karakter tertentu


melalui kombinasi aktif atau tidaknya LED penyusunan dalam seven
segment. Untuk memudahkan penggunaan seven segment, umumnya
digunakan sebuah decoder( mengubah/ mengkoversi input bilangan biner
menjadi decimal) atau seven segment driver yang akan mengatur aktif
tidaknya led-led dalam seven segment sesuai dengan nilai biner yang
diberikan.
2. Apa perbedaan antara seven segment common anoda dengan seven segment common katoda?
Jawab :
a. Common anoda
Disini, semua anoda dari diode disatukan secara parallel dan semua itu dihubungkan ke VCC
dan kemudian LED dihubungkan melalui tahanan pembatas arus keluar dari penggerak. Karena
dihubungkan ke VCC, maka Common Anoda ini berada pada kondisi aktif high.
b. Common katoda
Disini semua katoda disatukan secara parallel dan dihubungkan ke ground. Karena seluruh
katoda dihubungkan ke ground, maka common katoda ini berada pada kondisi aktif low.
3. Seven segment termasuk ke dalam encoder atau decoder! Jelaskan alasannya!
Jawab : Decoder. Karena pada dasarnya prinsip kerja seven segmen ialah input

biner pada switch dikonversikan masuk ke dalam decoder, baru kemudian


decoder mengkonversi bilangan biner tersebut menjadi decimal, yang
nantinya akan ditampilkan pada seven segment.
4. Download rangkaian LCD!
Jawab :

5. Apa fungsi kaki 15 dan 16 pada LCD?


Jawab : kaki 15 berfungsi sebagai BPL (Back Plane Light) , dan kaki 16 sebagai Ground Voltage,
6. Apa fungsi dari potensiometer pada rangkaian LCD?
Jawab : pada sebuah LCD terdapat trimpot potensiometer yang besarnya 10K. Dimana fungsi
dari trimpot potensiometer tersebut digunakan untuk mengatur contrast dari karakter yang
ditampilkan pada LCD.
7. Buat program untuk menampilkan nama anda di LCD!
Jawab :
lcd_gotoxy(0,0);
lcd_gotoxy(0,0);
lcd_putsf("Tampilkan Nama");
lcd_gotoxy(0,1);
lcd_putsf("Mukh Yasin Nur Supriyadi");
delay_ms(100);
lcd_clear();
delay_ms(100);
atau dengan cara berikut :
#include <mega8535.h>
// Alphanumeric LCD Module Functions
#asm
.equ __lcd_port=0x15 ; PORTC
#endasm
#include <lcd.h>
// Standard Input / Output Functions
#include <stdio.h>
lcd_init (16);
lcd_putsf ("Mukh Yasin Nur Supriyadi");
while ()

{
// put your code here }
8. Jelaskan cara kerja keypad ATMega 8535!
Jawab : scanning yaitu mendeteksi terus menerus apakah ada penekanan tombol. Scanning ini
dilakukan dengan bantuan mikrokontroler ATMega 8535 yang telah diprogram untuk scanning.

9. Sebutkan dan jelaskan dua metoda cara kerja keypad!


Jawab :
a. Metoda Scanning
Metode scanning keypad dilakukan dengan mendeteksi hubungan pin baris dan kolom
karena tombol ditekan, secara berurutan, bergantian dan satu-persatu.
10. Buatlah program untuk menampilkan huruf pertama dari nama anda pada seven segment
menggunakan codevison AVR!
Jawab :
Org 0h
Start: Mov P0,#01001101b ; tulis huruf M pada 7 segmen
End
11. Buatlah program seven segment untuk menampilkan data ADC!
Jawab :

12. Buatlah program untuk menampilkan karakter pada LCD menggunakan keypad!
Jawab :
#include <mega8535.h>
#include <stdlib.h>
#include <delay.h>
#include <lcd.h>
// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=015 ;PORTC
#endasm
void tekan_keypad_tampil_lcd() //penekanan keypad kemudian
ditampilkan di LCD
{
PORTB = 0b11111110;
delay_ms(30);
if (PINB.4 == 0) {lcd_putsf(1); delay_ms(300);}
if (PINB.5 == 0) {lcd_putsf(4); delay_ms(300);}
if (PINB.6 == 0) {lcd_putsf(7); delay_ms(300);}
if (PINB.7 == 0) {lcd_putsf(F); delay_ms(300);}
PORTB = 0b11111101;
delay_ms(30);

if (PINB.4 == 0) {lcd_putsf(2); delay_ms(300);}


if (PINB.5 == 0) {lcd_putsf(5); delay_ms(300);}
if (PINB.6 == 0) {lcd_putsf(8); delay_ms(300);}
if (PINB.7 == 0) {lcd_putsf(0); delay_ms(300);}
PORTB = 0b11111011;
delay_ms(30);
if (PINB.4 == 0) {lcd_putsf(3); delay_ms(300);}
if (PINB.5 == 0) {lcd_putsf(6); delay_ms(300);}
if (PINB.6 == 0) {lcd_putsf(9); delay_ms(300);}
if (PINB.7 == 0) {lcd_putsf(E); delay_ms(300);}
PORTB = 0b11110111;
delay_ms(30);
if (PINB.4 == 0) {lcd_putsf(A); delay_ms(300);}
if (PINB.5 == 0) {lcd_putsf(B); delay_ms(300);}
if (PINB.6 == 0) {lcd_putsf(C); delay_ms(300);}
if (PINB.7 == 0) {lcd_putsf(D); delay_ms(300);}
}
void tampil_string()
{
lcd_gotoxy(0,0);

//menempatkan kursor lcd pada baris 0 kolom 0

lcd_putsf(tampilan lcd2x16);

//menampilkan tulisan tampilan

lcd2x16
lcd_gotoxy(0,1);

//menempatkan kursor lcd pada baris 1 kolom 0

lcd_putsf(Elektro-cOntrOl);

//menampilkan tulisan ElektrO-

cOntrOl
}
void tampil_variabel()
{
//sebuah variabel yg akan ditampilkan kedalam LCD harus diubah
dahulu kedalam tipe data array
//jika variabel bertipe data float maka diubah kedalan array
dengan instruksi ftoa
//jika variabel bertipe data int maka diubah kedalan array dengan
instruksi itoa
char temp[6];
int a=500;
float b=123.45;

itoa(a,temp);
lcd_gotoxy(0,0);
lcd_puts(temp);
ftoa(b,2,temp); //angka 2, banyaknya digit dibelakang koma yg
ditampilkan
lcd_gotoxy(0,1);
lcd_puts(temp);
}
void main(void)
{
PORTB = 0xff;
DDRB = 0x0f;//PA0-3 sebagai output, PA4-7 sebagai input
while(1) //program utama
{
//tinggal dilakukan pemanggilan fungsi saja, contoh:
tampil_string(); //pemanggilan fungsi tampil_string()
};
}

DAFTAR PUSTAKA
Ino Suryana, Drs,.M.Kom. 2014 , Laboratorium Hardware: Modul Praktikum Mikroprosessor
Universitas Padjadjaran. Jatinangor
http://id.wikipedia.org/wiki/Layar_tujuh_segmen
http://pemudaminangkabau.wordpress.com/2013/02/28/pengertian-motor-dc/
http://wahyurahmaniar.files.wordpress.com/2010/11/lcd21.jpg
http://natasyakinsky.blogspot.com/2013/06/seven-segment-display.html
http://ilmubawang.blogspot.com/2011/04/download-artikel-ini-dalam-bahasa.html
http://elektobot.blogspot.com/2013/09/program-menampilkan-kata-dari.html
http://fuad-muhammad.blogspot.com/2011/12/huruf-kode-biner.html
http://elektro-kontrol.blogspot.com/2011/06/lcd-dan-keypad.html
http://ari-bawono.blogspot.com/2012/09/belajar-menampilkan-data-adc-di-lcd-2x16.html

Anda mungkin juga menyukai