Anda di halaman 1dari 34

MIKROPROSESSOR & TEKNIK ANTAR MUKA - 1

KEYPAD 4X4 DENGAN


OUTPUT LCD

KELOMPOK

2 D4

2012

T. TELEKOMUNIKASI B

NAMA ANGGOTA :
1. MUHAMMAD SAMSUL ARIFIN (7210040032)
2. ZULFIKAR CAHYA GUMILANG (7210040044)
3. AYU SETYOWATI (7210040052)
4. TUTIK SUSILOWATI (7210040056)
5. M. BIRWAS ROZAN (7210040059)

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA

KEYPAD 4X4 DENGAN OUTPUT LCD


A. Tujuan

Mampu membuat program untuk menampilkan karakter dari keypad 4X4 ke LCD.

Sebagai bentuk penugasan proyek akhir semester 4 mata kuliah Mikroprosessor &
Teknik Antar Muka 1.

B. Peralatan yang digunakan:


1. Modul DT-51
2. Keypad membrane 4X4
3. LCD 16 x 2 sebagai modul display
4. PC beserta software

C. Teori
a. Modul Keypad 4X4
Keypad adalah rangkaian tombol yang berfungsi untuk memberi sinyal pada
suatu rangkaian dengan menghubungkan jalur-jalur tertentu. Keypad terdiri dari
berbagai macam berdasarkan jumlah tombolnya. Misalnya 33, 34 dan 44.
Keypad matrix 4x4 dengan 16 tombol yang mudah dalam penggunaannya. Memiliki
lapisan perekat dibagian belakangnya. Cukup lepas bagian adhesivenya, tempelkan
pada bagian perangkat Anda. Cocok digunakan untuk aplikasi pengunci (sandi), atau
aplikasi lain yang membutuhkan input keypad.
4 x 4 Keypad Module merupakan suatu modul keypad berukuran 4 kolom x 4
baris. Modul ini dapat difungsikan sebagai input dalam aplikasi seperti pengaman
digital, datalogger, absensi, pengendali kecepatan motor, robotik, dan sebagainya.
Keypad juga sering digunakan sebagai suatu input pada beberapa peralatan yang
berbasis mikroprosessor atau mikrokontroller. Keypad sesungguhnya terdiri dari
sejumlah saklar, yang terhubung sebagai baris dan kolom dengan susuan seperti yang
ditunjukkan pada gambar dibawah. Agar mikrokontroller dapat melakukan scan
keypad, maka port mengeluarkan salah satu bit dari 3 bit yang terhubung pada kolom
dengan logika low 0 dan selanjutnya membaca 4 bit pada baris untuk menguji jika
ada tombol yang ditekan pada kolom tersebut. Sebagai konsekuensi, selama tidak ada
tombol yang ditekan, maka mikrokontroller akan melihat sebagai logika high 1
pada setiap pin yang terhubung ke baris.

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA


PRODI TEKNIK TELEKOMUNIKASI

Page 2

Ada 16 buah tombol pushbutton yang dirangkai sedemikian hingga menjadi 4


jalur kolom dan 4 jalur baris (Row0, Row1, Row2, Row3). Dari konstruksi ini, kita
bisa mendapatkan data-data karakteristiknya sebagai berikut:

Jika tidak ada penekanan tombol sama sekali, maka semua jalur akan saling lepas
(tidak ada yang tersambung)

Tidak ada satu kondisipun yang memungkinkan terjadinya persambungan antar


sesama jalur kolom atau antar sesama jalur baris, kecuali ada penekanan lebih dari satu
tombol. Misalnya tombol 1 dan tombol 2 ditekan bersamaan, maka Col0- Col1- Row0
akan tersambung.

Untuk penekanan hanya satu tombol, maka hanya terjadi persambungan antara jalur
kolom dan jalur baris yang terhubung pada tombol yang ditekan tersebut. Misalnya,
jika tombol 1 ditekan, maka Col1- Row0 akan tersambung.

Ada 8 sambungan yang diperlukan untuk dihubungakan ke mikrokontroler. Jadi


mebutuhkan satu PORT mikro untuk dapat mengakses 1 buah keypad 44.

Block diagram :

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA


PRODI TEKNIK TELEKOMUNIKASI

Page 3

Circuit Diagram :

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA


PRODI TEKNIK TELEKOMUNIKASI

Page 4

Flow Chart :

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA


PRODI TEKNIK TELEKOMUNIKASI

Page 5

b. Modul DT-51

Gambar : Modul DT51

Mikrokontroler adalah sebuah chip yang berfungsi sebagai pengontrol rangkaian


elektronik dan umunya dapat menyimpan program didalamnya. Dan DT-51 MinSys
merupakan suatu sistem minimum berbasis 89S51 (salah satu keluarga MCS-51),
sedangkan DT-51 Trainer Board merupakan board pendukung DT-51 MinSys untuk
mengamati keluaran (output) atau member masukan (input) pada system minimum.

Berikut ini merupakan spesifikasi singkat dari DT-51 Minimum System ver3.0 :

Memiliki memori eksternal sebesar 8MB.

4 byte port input/output (I/O), yaitu PORT 1 dari 89S51 dan 3 port PPI (yaitu

PORT A, PORT B, PORT C).

Port CONTROL yang meliputi interrupt eksternal dan counter eksternal 89S51.

Port LCD

Serial Interface standart RS 232 untuk komunikasi DT-51 MinSys dengan PC.

Adapun spesifikasi singkat dari DT-51 Trainer Board adalah sebagai berikut :

8 led sebagai output (Output Led Display)

8 toggle switch sebagai input ( Switch Input )

2 seven segment sebagai scanning output ( Scanning 7 Segment Display ), dengan

konektor datanya terdapat pada port Data 75 dan konektor pemilihnya terdapat
port I/P 5 KEY
4 Keypad sebagai scanning input (Scanning Keypad), dengan konektor input dan

output terdapat pada port I/P 5 KEY

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA


PRODI TEKNIK TELEKOMUNIKASI

Page 6

Clock Generator 1 Hz, 1kHz, dan 10 kHz. Konektor output terdapat pada CO1

dan CO2.
4 keypad sebagai input bagi interrupt dan counter. Konektor Output terdapat pada

IS1,IS2,IS3,IS4.

Beberapa port pada sistem minimum DT-51 ini akan dihubungkan dengan port pada
trainer board. Khusus untuk menghubungkan port CONTROL pada sistem minimum
dengan port CONTROL pada trainer board, digunakan kabel tipe X. Penggunaan
kabel tipe ini dikarenakan posisi pin VCC dan GND pada sistem minimum dengan
trainer board terbalik.

Gambar : penggunaan kabel tipe X untuk menghubungkan kedua port control

Komunikasi antara PC dengan DT-51 MinSys dilakukan melalui SERIAL PORT


(dengan konektor DB9). Pada PC, serial port ini diberi label COM, misalkan COM1
atau COM2. Melalui komunikasi ini pula program yang dibuat pada setiap percobaan
di-download dari PC ke DT-51 MinSys. Hubungkan kabel serial seperti pada gambar
berikut untuk menjalankan komunikasi tersebut.

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA


PRODI TEKNIK TELEKOMUNIKASI

Page 7

Gambar downloader

c. Port
PPI (Programmable Peripheral Interface)
Port dari PPI ada 3 yaitu Port A, Port B, dan Port C yang ada pada DT-51 MinSys
masing-masing terletak pada alamat 2000h, 2001h, dan 2002h. Sama halnya dengan
Port 1, ketiga Port PPI ini juga berjumlah 8 bit dan bisa berfungsi sebagai input
maupun output. Hanya saja, kita tidak bisa langsung mengoperasikan Port PPI
semudah Port 1. Penggunaan Port PPI harus didahului dengan inisialisasi

Port

melalui Control Word-nya yang terletak pada alamat 2003h.

Control Word menentukan aktif tidaknya Port PPI dan mode opersai apa yang akan
dipakai. Berikut ini merupakan bagan 8 bit Control Word beserta penjelasan singkat.

D7

D6

D5

D4

D3

D2

D1

Simbol

Fungsi

D7

Set Flag, bernilai 1 untuk mengaktifkan Port PPI

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA


PRODI TEKNIK TELEKOMUNIKASI

D0

Page 8

Mode Select untuk Port A dan Port C upper (bit 7 bit 4) bernilai

D6 & D5

00 untuk mode 0, 01 untuk mode 1, dan 10 atau 11 untuk mode 2.


D4

Port A bernilai 1 untuk input dan bernilai 0 untuk output.

D3

Port C upper, bernilai 1 untuk input dan bernilai 0 untuk output.

D2

Mode Select untuk Port B dan Port C lower (bit 3 bit 0) bernilai
0 untuk mode 0, 1 untuk mode 1.

D1

Port B bernilai 1 untuk input dan bernilai 0 untuk output.

D0

Port C lower, bernilai 1 untuk input dan bernilai 0 untuk output.

Mode Operasi PPI 8255


Ada tiga macam mode operasi yang disediakan PPI 8255. Tiga macam operasi
tersebut adalah :
1.

Mode 0 adalah mode operasi masukan dan keluaran yang paling sederhana
(basic input/ output operation). Pada mode ini tiap port pada PPI hanya dapat
digunakan sebagai masukan atau keluaran.

2.

Mode 1 adalah mode operasi masukan dan keluaran yang terkontrol (strobed
input/output operation). Pada mode ini port A dan port B dapat digunakan
sebagai masukan atau keluaran, tergantung kontrol dari port C.

3.

Mode 2 adalah mode operasi masukan dan keluaran secara dua arah
(bidirectional input/output operation). Pada mode ini, port A sebagai bus data
dua arah yang dikontrol oleh port C.

Mode 1 dan 2 adalah mode operasi yang memerlukan sinyal kontrol input/output atau
handshaking signal (sinyal jabat tangan) yaitu sinyal yang menyatakan kesiapan alat
untuk dikenai proses baca atau tulis. Gambaran mode operasi pada PPI 8255 :

Bl ok B

PPI 8255

Port B

PB7-PB0

Bl ok A

Port C

PC3-PC0

Port A

PC7-PC4

PA7-PA0

a).
PPI 8255
Port B

PB7-PB0

Port C

Kontrol atau I/O

Kontrol atau I/O

Port A

PA7-PA0

b).
PPI 8255
Port B

PB7-PB0

Port C

I/O

Port A

PA7-PA0
Kontrol

c).

Gambar 1-1. Mode Operasi PPI 8255, a). mode 0, b), mode 1, c). mode 2.
POLITEKNIK ELEKTRONIKA NEGERI SURABAYA
PRODI TEKNIK TELEKOMUNIKASI

Page 9

Port PPI Sebagai Keluaran


Sebagai keluaran, port A, port B, atau port C dapat digunakan sebagai jalur untuk
mengeluarkan data, dimana port A dan port B hanya bisa diakses secara byte
sedangkan port C bisa diakses secara byte maupun bit dengan cara mengatur format
Bit Set/Reset pada control world. Pengertian dari akses per bit adalah mengakses tiap
bit secara sendiri sendiri, tidak secara keseluruhan (8 bit). Sedangkan akses byte
adalah mengakses keseluruhan (8 bit) sekaligus. Adapun penjelasn control word
untuk bit set/reset pada Port C sebagai berikut:

D7

D6

D5

D4

D3

D2

D1

D0

Simbol

Fungsi

D7

Set Flag, bernilai 0 untuk mengaktifkan Bit Set/Reset Port C.

D6 D4 Bit bersifat dont care, disarankan diisi dengan logika 0.


D3 D1 Bit Select. Untuk menentukan bit pada port C yang akan diakses.
Lebih jelasnya dapat dilihat pada tabel 1-1.
D0

Bit Set/Reset untuk Port C, didisi 1 untuk set dan 0 untuk reset.

Port 1 89C51
Pada IC AT89C51 terdapat empat port, yaitu Port 0 , Port 1, Port 2 dan Port 3 yang
terletak pada alamat 80H, 90H, A0H dan B0H. Namun, jika digunakan eksternal
memori ataupun fungsi-fungsi special, seperti ekxternal interrupt, Serial ataupun
External Timer, Port 0, Port 2 dan Port 3 tidak dapat digunakan sebagai port dengan
fungsi umum. Untuk itu disediakan Port 1 yang dikhususkan untuk port dengan
fungsi umum. Dalam DT-51 MinSys, Port 0, Port 2 dan Port 3 telah dihubungkan
dengan komponen tertentu diantaranya adalah terhubung dengan eksternal memori
sehingga tidak bisa digunakan sebagai port dengan fungsi bebas/umum. Sedangkan
Port 1 difungsikan sebagai port yang bebas. Port 1 berjumlah 8 bit (Port 1.0 Port
1.7) dan bisa berfungsi sebagai input maupun sebagai ouput. Port 1 bisa diakses per
byte atau bit sehingga dapat dilakukan perubahan output pada tiap-tiap pin dari port
ini tanpa mempengaruhi pin-pin yang lainnya.

Port PPI Sebagai Input


Sebagai masukkan, port A, port B, atau port C dapat digunakan sebagai jalur untuk
menerima data, seperti telah dijelaskan pada percobaan sebelumnya (Percobaan 1),
bahwa port A dan port B hanya bisa diakses secara byte sedangkan port C bisa
POLITEKNIK ELEKTRONIKA NEGERI SURABAYA
PRODI TEKNIK TELEKOMUNIKASI

Page 10

diakses secara byte maupun bit dengan cara mengatur format Bit Set/Reset pada
control world. Pengertian dari akses per bit adalah mengakses tiap bit secara sendiri
sendiri, tidak secara keseluruhan (8 bit). Sedangkan akses byte adalah mengakses
keseluruhan (8 bit) sekaligus.
Port A Sebagai Input
Sebagai input, kita bisa memasukkan data, misalnya melalui Port A. Port A dari
PPI 8255 pada DT-51 MinSys dihubungkan dengan piranti input yaitu toggle switch
8-bit (SW), sedangkan output menggunakan Port output DT-51 MinSys yaitu Port 1
dihubungkan dengan piranti output (LED).
Karena menggunakan Port A PPI sebagai input, maka control wordnya bernilai
90h (bit 4 control word bernilai 1). Dengan pemberian nilai 90h pada control word
berarti Port A berfungsi sebagai input, Port B dan Port C berfungsi sebagai output.
Port 1 Sebagai Input
Port 1 merupakan Port I/O dwi-arah (bidirectional) yang dilengkapi dengan
internal

pull-up

(gambar

2-2).

Penyangga

keluaran

Port

mampu

memberikan/menyerap arus empat masukan TTL (sekitar 1,6 mA).


Jika 1 dituliskan ke kaki-kaki Port 1, maka masing-masing kaki akan di-pulled
high dengan pull-up internal sehingga dapat digunakan sebagai masukan, jika kakikaki Port 1 dihubungkan dengan ground (di-pull low), maka masing-masing kaki
akan memberikan arus (source) karena di-pulled high secara internal. Port 1 juga
menerima lamat rendah (low byte) selama pemrograman dan verifikasi flash.
Sebagai input, Port 1 dapat dimasuki suatu data yang berasal dari piranti input
yaitu toggle switch (SW). Sedangkan output bisa menggunakan Port PPI yang
terdapat pada DT-51 MinSys.

d. LCD
Dalam DT-51 minimum sistem telah diberi built-in routine yang ditujukan untuk
memudahkan pengguna LCD.

CBF (lokasi 0175h)


Fungsi CBF adalah untuk memeriksa Busy Flag LCD jika LCD akan diakses secara
manual tanpa menggunakan built-in routine. Untuk memudahkan pemakaian LCD,
kita akan mempelajari built-in routine sehingga tidak perlu mengakses CBF.

InitLCD (lokasi 0740h)


POLITEKNIK ELEKTRONIKA NEGERI SURABAYA
PRODI TEKNIK TELEKOMUNIKASI

Page 11

Routine ini digunakan untuk menginisialisasi LCD sebelum menggunakan LCD.

CommandLCD (lokasi 07B0h)


Routine ini digunakan untuk memberikan perintah untuk LCD. Routine ini dipanggil
setelah kita mengisi register A dengan nilai command word. Ada beberapa perintah
(command word) yang memiliki nilai tersendiri.
Command

Nilai

Fungsi

Word
DisplayClear

01h

Menghapus semua tampilan di LCD

CursorHome

02h

Meletakkan kursor dan display pada posisi awal

DecCursor

04h

CDDSR

05h

IncCursor

06h

ICDSL

07h

Kursor decrement setiap kali selesai menulis atau


membaca LCD
Kursor decrement dan display bergeser ke kanan
setiap kali selesai menulis atau membaca LCD
Kursor increment setiap kali selesai menulis atau
membaca LCD
Kursor increment dan display bergeser ke kiri setiap
kali selesai menulis atau membaca LCD
Memadamkan

display

LCD,

display

bisa

menampilkan kembali jika ada perintah untuk


menyalakan display. Dari command word yang ada
DisplayOff

08h

kita

bisa

mengakses

kursor

(memadamkan,

menghidupkan atau blinking) untuk menyalakan


display. Selama display padam LCD masih bisa
ditulisi tidak menampilkan apa-apa.
CursorOff

0Ch

Memadamkan kursor

CursorOn

0Eh

Menghidupkan kursor

CursorBlink

0Fh

Kursor menjadi blinking (berkedip)

CurShLeft

10h

Menggeser kursor ke kiri

CurShRight

14h

Menggeser kursor ke kanan

DispShLeft

18h

Menggeser display ke kiri

DispShRight

1Ch

Menggeser display ke kanan

Jadi jika kita ingin menghapus semua tampilan LCD, kita isi A dengan 1h
(DisplayClear) lalu panggil routine CommandLCD.

WriteLCD (lokasi 07D0h)


POLITEKNIK ELEKTRONIKA NEGERI SURABAYA
PRODI TEKNIK TELEKOMUNIKASI

Page 12

Routine ini berfungsi untuk menuliskan karakter ke LCD yang terdapat pada register
A. Karakter pada LCD membutuhkan 8 bit data.
Kode DDRAM (Display Data RAM) dari tiap karakter bisa dilihat pada manual
LCD. Sebagian dari karakter pada manual LCD sama dengan karakter ASCII, Jadi
jika kita ingin menampilkan huruf J, kita tinggal mengisi register A dengan
01001010h (4Ah) dan memanggil routine WriteLCD.

ReadLCD (lokasi 07F0h)


Routine ini berfungsi untuk membaca karakter dari LCD atau CGRAM (Character
Generator RAM) kemudian memindahkannya ke register A. Untuk membaca
karakter dari LCD, kita bisa memilih alamat dengan cara memanggil routine
SetDDRAM untuk menentukan alamat yang kita inginkan. Sedangkan untuk
membaca karakter dari CGRAM, kita panggil dulu routine SetCGRAM untuk
menentukan alamatnya.

ReadAddrLCD (lokasi 0820h)


Routine ini berfungsi untuk membaca alamat LCD atau CGRAM kemudian
memindahkannya ke register A. Untuk membaca alamat dari LCD, kita bisa
menentukan alamat dengan cara memanggil routine SetDDRAM. Sedangkan untuk
membaca alamat dari CGRAM, kita panggil dulu routine SetCGRAM untuk
menentukan alamatnya.

SetDDRAM (lokasi 0850h)


Routine ini berfungsi untuk menentukan alamat DDRAM pada alamat tertentu yang
terdapat pada register A sebelum memulai menulis atau membaca LCD. Alamat
DDRAM adalah alamat pada tampilan LCD.
Konfigurasi alamat DDRAM untuk dua baris adalah sebagai berikut :
Display baris I : 00h 27h
Display baris II : 40h 67h
Jika LCD yang ada berformat 16 x 2, maka pada baris I adalah alamat DDRAM 00h
0Fh dan baris II adalah alamat 40h 4Fh. Jika display digeser ke kiri satu kali,
maka yang tampil pada baris I adalah alamat 01h 10h dan baris II adalah alamat
41h 50h.

SetCGRAM (lokasi 0870h)


Routine ini berfungsi untuk menentukan alamat CGRAM pada alamat tertentu yang
terdapat pada register A sebelum memulai menulis atau membaca CGRAM.
POLITEKNIK ELEKTRONIKA NEGERI SURABAYA
PRODI TEKNIK TELEKOMUNIKASI

Page 13

CGRAM adalah alamat per baris dari tiap kotak tampilan. Satu karakter memiliki 8
alamat CGRAM (7 baris untuk karakter dan 1 baris terakhir untuk kursor).

LCD Port
LCD (Liquid Crystal Display) Port ini disiapkan untuk men-drive LCD melalui
Port 1 mikrokontroler 89C51. Rutin untuk keperluan LCD sudah tersedia pada
PEROM 89C51 sehingga user tinggal memakainya.

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA


PRODI TEKNIK TELEKOMUNIKASI

Page 14

D. Data
Listing Program
$mod51
;==============================
;Program demo pemasangan keypad 4X4
;data out ke LCD
;file: x.asm
;==============================
;Procedure Address
;-----------------InitLCD

EQU

CommandLCD

EQU 07B0H

WriteLCD

0740H

EQU 07D0H

;------------;Command Word
;------------CursorHome

EQU

02H

DisplayOff

EQU

08H

CursorOff

EQU

0CH

CursorOn

EQU

0EH

CursorBlink

EQU

0FH

CurShRight

EQU

14H

CurShLeft

EQU

10H

DispShRight

EQU

1CH

DispShLeft

EQU

18H

kolom1

bit

p1.4

kolom2

bit

p1.5

kolom3

bit

p1.6

kolom4

bit

p1.7

baris1

bit

p1.0

baris2

bit

p1.1

baris3

bit

p1.2

baris4

bit

p1.3

keyport

equ

p1

keydata

equ

40h

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA


PRODI TEKNIK TELEKOMUNIKASI

Page 15

;
org

4000h

mov

dptr,#2003h

mov

a,#80h

movx @dptr,A

mulai:

terus:

call

keypad4x4

mov

A,keydata

cjne

A,#0FFh,terus

sjmp

mulai

cpl

mov

dptr,#2000h

movx @dptr,A
sjmp

keypad4x4:

mulai

MOV SP,#40H
LCALL InitLCD

ul1:

mov

keyport,#0FFh

clr

kolom1

jb

baris1,key1

MOV SP,#40H
LCALL InitLCD
MOV

A,#31H

LCALL WriteLCD
ret
key1:

jb

baris2,key2

MOV SP,#40H
LCALL InitLCD
MOV

A,#34H

LCALL WriteLCD
ret
key2: jb

baris3,key3

MOV SP,#40H
LCALL InitLCD
MOV

A,#37H

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA


PRODI TEKNIK TELEKOMUNIKASI

Page 16

LCALL WriteLCD
ret
key3: jb

baris4,key4

MOV SP,#40H
LCALL InitLCD
MOV

A,#'*'

LCALL WriteLCD
ret
key4:
setb

kolom1

clr

kolom2

jb

baris1,key5

MOV SP,#40H
LCALL InitLCD
MOV

A,#'2'

LCALL WriteLCD
ret
key5: jb

baris2,key6

MOV SP,#40H
LCALL InitLCD
MOV

A,#35H

LCALL WriteLCD
ret
key6: jb

baris3,key7

MOV SP,#40H
LCALL InitLCD
MOV

A,#38H

LCALL WriteLCD
ret
key7: jb

baris4,key8

MOV SP,#40H
LCALL InitLCD
MOV

A,#'0'

LCALL WriteLCD
ret
POLITEKNIK ELEKTRONIKA NEGERI SURABAYA
PRODI TEKNIK TELEKOMUNIKASI

Page 17

key8: setb

kolom2

clr

kolom3

jb

baris1,key9

MOV SP,#40H
LCALL InitLCD
MOV

A,#33H

LCALL WriteLCD
ret
key9: jb

baris2,key10

MOV SP,#40H
LCALL InitLCD
MOV

A,#36H

LCALL WriteLCD
ret
key10: jb

baris3,key11

MOV SP,#40H
LCALL InitLCD
MOV

A,#39H

LCALL WriteLCD
ret
key11: jb

baris4,key12

MOV SP,#40H
LCALL InitLCD
MOV

A,##

LCALL WriteLCD
ret
key12:
setb

kolom3

clr

kolom4

jb

baris1,key13

MOV SP,#40H
LCALL InitLCD
MOV

A,#'A'

LCALL WriteLCD
ret
POLITEKNIK ELEKTRONIKA NEGERI SURABAYA
PRODI TEKNIK TELEKOMUNIKASI

Page 18

key13: jb

baris2,key14

MOV SP,#40H
LCALL InitLCD
MOV

A,# 'B'

LCALL WriteLCD
ret
key14: jb

baris3,key15

MOV SP,#40H
LCALL InitLCD
MOV

A,# 'C'

LCALL WriteLCD
ret
key15: jb

baris4,key16

MOV SP,#40H
LCALL InitLCD
MOV

A,#'D'

LCALL WriteLCD
ret
key16: mov

keydata,#0FFh

ret
;
end

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA


PRODI TEKNIK TELEKOMUNIKASI

Page 19

E. Prosedur
1) Hardware
1. Pasanglah header ganda 4x2 yang di konversikan menjadi header tunggal pada
PCB.
2. Kemudian solderlah sesuai dengan urutan pin - pin nya.
3. Setelah header tunggal jadi maka dapat di hubungkan dengan keypad 4x4.
4. Sedangkan header ganda dapat di hubungkan dengan port A.
5. Selanjutnya, hubungkan konektor (kabel pita) Port LCD pada DT-51 ke Modul
Display LCD seperti ditunjukkan pada gambar dibawah ini (gambar 11-1).
DT-51 MinSys

2 Port A

1
2

2
-

+
1-

Port B

LCD

1 + CONTROL

1 Port C

Port 1

LCD 16x2

Modul LCD

Gambar 11-1. Koneksi DT-51 MinSys dengan Modul LCD

Selanjutnya
- Hubungkan kabel serial dari konektor DB-9 pada DT-51 ke PC pada Port serial.
- Hubungkan catu data 9 Volt AC pada modul DT-51.
- Pin Konektor Select pada posisi Pin 1 dan 2 untuk mode download program, pada
posisi Pin 2 dan 3 untuk mode stand alone , setelah download program berhasil.

2. Software
Editor :
- Tulislah program pada editor DOS prompt, Notepad atau lainnya.
- Program / file baru tersebut, simpan dalam direktori(folder) DT51 dengan
extension [namafile].ASM.
- Exit
POLITEKNIK ELEKTRONIKA NEGERI SURABAYA
PRODI TEKNIK TELEKOMUNIKASI

Page 20

Debugger :
- Compile file baru dengan perintah C:\DT51\ASM51 [nama file].ASM pada DOS
Prompt, dengan terlebih dahulu pindah ke direktori DT51.
- Maka akan terbentuk file-file yang berextension .HEX, .OBJ, dan .LST disamping
itu juga muncul pesan, bahwa file yang telah dicompile tersebut terdapat
kesalahan atau tidak.
- Bila ada kesalahan, bisa dilihat letak kesalahannya dengan membuka file yang
berekstension .LST, melalui C:\DT51\edit.
- Untuk memperbaiki kesalahan (error), buka file yang berekstension .ASM. Jangan
lupa disimpan kemudian dicompile kembali.
- Exit
Downloader :
- Untuk mendownload program yang telah sukses dicompile, maka gunakan
perintah

C:\DT51\DT51L [nama file].HEX

- Apabila proses download selesai, maka akan muncul pesan Download Succeded.
Bila gagal, maka akan muncul beberapa prosedur untuk megecek kembali
kesalahan tersebut.
Sedangkan untuk dapat mereset dapat dengan cara meredownload program.

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA


PRODI TEKNIK TELEKOMUNIKASI

Page 21

F. Analisa
Program
Penulisan awal program dari penugasan ini adalah dengan menginisialisasi
terlebih dahulu untuk built routine yang ada di LCD seperti writeLCD, initLCD dan
commandLCD.
utk inisialisasi LCD
memberikan perintah utk
LCD
utk menuliskan karakter
ke LCD

kumpulan command word


untuk LCD

kemudian dilakukan inisialisasi untuk kolom dan baris pada keypad. Karena akses
data dari port 1 maka aksesnya dapat dilakukan per bit sehingga cukup sederhana jika
dibanding menggunakan port PPI seperti port A yang harus banyak menggunakan MOV
dan CJNE. Berikut adalah pen-set-an dari port 1. Dimana bit 0-3 digunakan untuk
mengatur baris dan bit 4-7 digunakan untuk mengatur kolom.

port 1 kolom bit 4 mengatur kolom 1


keypad

Dimulai dengan origin 4000h dan menggunakan Port 1 sebagai input, maka control
wordnya bernilai 80h.
alamat cw
nilai cw jk port 1 input
POLITEKNIK ELEKTRONIKA NEGERI SURABAYA
PRODI TEKNIK TELEKOMUNIKASI

Page 22

Program dimulai dengan fungsi mulai yang memanggil fungsi keypad 4x4. Pada
mikroprosesor Z-80 untuk menyediakan stack area (daerah tumpukan) di RAM cukup
dilakukan dengan instruksi inisialisasi register 16-bit SP (Stack Pointer). Disini
disiapkanlah stack area di alamat 40H. Hal ini dimaksudkan untuk menumpuk tampilan
karakter yang berada pada bit pertama baris pertama LED (00H), sehingga jika tombol
yang ditekan pada keypad diganti-ganti maka tampilannya tetap pada satu titik dan yang
tampil adalah karakter yang di tekan terakhir, tidak menggeser inputan yang pertama.
Lalu dipanggillah routine untuk menginisialisasi LCD sebelum menggunakan LCD yang
kemudian memberikan nilai awal pada port 1 sebesar 0FFH lalu meng-clear kolom 1.
Selanjutnya dimulailah penyecreningan keypad berdasarkan penekanan button pada
keypad. Dimulai dari fungsi ul1 yang memeriksa kolom 1 dulu dicek lah baris satu. jika
sesuai yang ditekan lalu akan tampil angka real dari ascii 31H yaitu 1 dengan
sebelumnya LCDnya diinisialisasi lagi kemudian di write LCD untuk menuliskan
karakter ke LCD. Kemudian program return ke fungsi mulai dimana jika data
dimasukkan lagi, akan kembali dilakukan pengecekan. Disini pengecekannya jika ditekan
bukan 1 melainkan 0 karena nilainya dikomplemen dulu.
Jika tidak memenuhi, maka program akan jump bit menuju fungsi key1 dan begitu
seterusnya sampai kembali lagi ke mulai.
pemberian nilai awal
mengkomplemenkan

menyediakan stack area di alamat 40H

pengesetan kolom 1

pemberian nilai pada keypad kolom


1 baris 1 dengan kode ASCII dari 1

Untuk pemberian nilai yang akan ditampilkan, dapat menggunakan kode ASCII
maupun langsung ditulis angkanya karena akan dioutputkan ke LCD. Seperti misalnya,
#32H atau #2.

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA


PRODI TEKNIK TELEKOMUNIKASI

Page 23

Hardware
Pada tugas proyek kali ini yang digunakan untuk perangkat kerasnya adalah DT51, LCD 16X2 dan keypad membrane dengan ukuran 4x4 sehingga pushbutton yang
digunakan akan berjumlah 16. Port yang digunakan sebagai input dari DT-51 ke keypad
adalah Port A. Tidak seperti biasanya dimana inputan keypad menggunakan port 1, hal
itu dikarenakan pin-pin pada LCD untuk ke DT-51 telah menggunakan port 1. Sehingga
percobaan kali ini menggunakan port A dikarenakan yang tersedia hanya port 1, port A,
port B dan port C. Secara umum penggunaan port B sama dengan port A dan C hanya di
port C penggunaanya bitnya dibagi menjadi dua.
Pada saat ingin menjalankan program dapat di lakukan dengan cara mendownload
program dan pada saat pushbutton di tekan sesuai dengan input yang di berikan maka
angka yang keluar adalah juga seperti apa yang telah di inputkan hal ini di sebabkan
karena sambungan akan terhubung sehingga jika di beri data input maka akan keluar
datanya. Dan akan terjadi sebaliknya, ketika tidak di berikan inputan berupa penekanan
pushbutton maka secara tidak langsung jalur tidak akan terhubung dan dapat di artikan
bahwa semua jalur saling terlepas sehingga tidak akan mengeluarkan output berupa data
karena sambungan tidak terhubung. Sedangkan jika di lakukan penekanan pushbutton
secara bersamaan maka hasil yang akan di peroleh adalah hasil tidak akan keluar sama
sekali karena keypad tidak dapat menerima apa yang di inputkan karena sambungan yang
terhubug tidak bisa secara bersamaan dapat di baca oleh LCD dan keypad. Pada saat
ingin melakukan penulisan data lebih dari 16 bit maka di dalam LCD tidak dapat
menerimanya lebih banyak lagi karena kapasitasnya hanya sejumlah 16 bit data saja tiap
barisnya. Sehingga tidak dapat di tambah data lagi. Jika ingin mereset maka dapat
dilakukan dengan meredownload program.

Berikut adalah tampilan dari output keypad 4X4 ke LCD dari penugasan ini :

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA


PRODI TEKNIK TELEKOMUNIKASI

Page 24

Rangkaian keypad 4X4 ke LCD

Menampilkan angka 1

Menampilkan angka 4

Menampilkan angka 7
POLITEKNIK ELEKTRONIKA NEGERI SURABAYA
PRODI TEKNIK TELEKOMUNIKASI

Page 25

Menampilkan karakter *

Menampilkan angka 5

G. Kesimpulan
Pada percobaan kali ini dapat disimpulkan bahwa :
1. Penginputan data dari keypad membrane 4x4 ke LCD dapat dilakukan dengan
menginisialisasi port 1 akses per bit sebagai input ke LCD untuk membagi
penyetingan kolom dan baris.
2. Untuk pengecekan atau penyecanningan keypad dalam membaca inputan data
yang diberikan, dapat menggunakan jb (jump bit).

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA


PRODI TEKNIK TELEKOMUNIKASI

Page 26

H. Lampiran

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA


PRODI TEKNIK TELEKOMUNIKASI

Page 27

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA


PRODI TEKNIK TELEKOMUNIKASI

Page 28

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA


PRODI TEKNIK TELEKOMUNIKASI

Page 29

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA


PRODI TEKNIK TELEKOMUNIKASI

Page 30

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA


PRODI TEKNIK TELEKOMUNIKASI

Page 31

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA


PRODI TEKNIK TELEKOMUNIKASI

Page 32

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA


PRODI TEKNIK TELEKOMUNIKASI

Page 33

Daftar Pustaka

Akuwan Saleh. Modul praktikum Mikroprosessor & Teknik Antar Muka-1 Percobaan 11.

http://www.innovativeelectronics.com/innovative_electronics/download_files/manual/Qu
ick%20Start%20DT-IO%204x4%20Keypad.pdf

http://dc406.4shared.com/doc/UgXOtA4G/preview.html#1

http://www.scribd.com/doc/68492047/Keypad-Interface

http://blog.ub.ac.id/ully/2011/03/12/dt-51/

http://www.scribd.com/doc/76277000/7827233-Tugas-Akhir

http://blog.ub.ac.id/admiralalfarisi/category/kuliah/semester-2/page/3/

http://pdf1.alldatasheet.com/datasheet-pdf/view/56257/ATMEL/AT89C5112/+_W358UNRlElbDVwEpwYpzD+/datasheet.pdf

http://www.mikroe.com/eng/downloads/get/1215/keypad_manual_v100.pdf

http://repository.usu.ac.id/bitstream/123456789/27758/3/Chapter%20II.pdf

http://grahacendikia.files.wordpress.com/2009/04/mikrokontrl.pdf

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA


PRODI TEKNIK TELEKOMUNIKASI

Page 34