Anda di halaman 1dari 5

Praktikum Mikrokontoler

UNIT IV
KEYPAD

1.1. Tujuan Percobaan


Mampu menampilkan interfacing keypad dengan keluaran 7segment menggunakan
Bahasa assembler.

1.2. Alat dan Komponen yang Digunakan


 PC/ Laptop
 Aplikasi Proteus Professional v8

1.3. Data Pengamatan


A. Skematik Rangkaian menggunakan Proteus Professional v8

B. Listing Program
1. Tulis source code seperti dibawah ini:

.include "m8535def.inc"
.def temp =r22
.def dly =r23
.def dly1 =r24
.def Key =r25

Laboratorium Teknik Elektro | STT Cendekia


1
Praktikum Mikrokontoler

.equ brs1 =0b11110111 ;inisialisasi baris 1


.equ brs2 =0b11111011 ;inisialisasi baris 2
.equ brs3 =0b11111101 ;inisialisasi kolom 3
.equ brs4 =0b11111110 ;inisialisasi kolom 4
.org 0x0000

rjmp main
main: ldi r16,low(RAMEND)
out SPL,r16
ldi r16,high(RAMEND)
out SPH,r16

ldi r16,0xff
out ddra,r16 ;PortA = output
ldi temp,0x00 ;PortA sebagai power ke 7-segmen
out PORTA,temp

ldi r16,0xff
out ddrb,r16 ;PortB = output
ldi r16,0xc0 ;tampilkan angka nol pertama kali
out portb,r16

ldi r16,0x0f ;PC[7:4] = input PC[3:0] = output


out ddrc,r16
loopx: rcall check_keys
rjmp loopx
; subrutin shift keypad
check_keys:
ldi temp,brs1 ;enable baris 1
out PORTC,temp
rcall delay
sbic PINC,PC7 ;tombol "1" tertekan?
rjmp key2 ;jika tidak, cek tombol berikutnya
ldi key,0xf9 ;jika ya...kirim angka ‘1’
out PORTB,key
ret

Key2:
sbic PINC,PC6 ;tombol "2" tertekan?
rjmp key3 ;jika tidak, cek tombol berikutnya
ldi key,0xa4 ;jika ya...kirim angka ‘2’
out PORTB,key
ret

Key3:
sbic PINC,PC5 ;tombol "3" tertekan?
rjmp keyA ;jika tidak, cek tombol berikutnya
ldi key,0xb0 ;jika ya...kirim angka ‘3’
out PORTB,key
ret

Laboratorium Teknik Elektro | STT Cendekia


2
Praktikum Mikrokontoler

keyA:
sbic PINC,PC4 ;tombol "A" tertekan?
rjmp key4 ;jika tidak, cek tombol berikutnya
ldi key,0x88 ;jika ya...kirim huruf ‘A’
out PORTB,key
Ret

Key4:
ldi temp,brs2 ;disable baris 1..
out PORTC,temp ;dan enable baris2
rcall delay
sbic PINC,PC7 ;tombol "4" tertekan?
rjmp key5 ;jika tidak, cek tombol berikutnya
ldi key,0x99 ;jika ya...kirim angka ‘4’
out PORTB,key
Ret

key5:
sbic PINC,PC6 ;tombol "5" tertekan?
rjmp key6 ;jika tidak, cek tombol berikutnya
ldi key,0x92 ;jika ya...kirim angka ‘5’
out PORTB,key
Ret

Key6:
sbic PINC,PC5 ;tombol "6" tertekan?
rjmp keyB ;jika tidak, cek tombol berikutnya
ldi key,0x82 ;jika ya...kirim angka ‘6’
out PORTB,key
ret

keyB:
sbic PINC,PC4 ;tombol "B" tertekan?
rjmp key7 ;jika tidak, cek tombol berikutnya
ldi key,0x83 ;jika ya...kirim huruf ‘B’
out PORTB,key
ret

Key7:
ldi temp,brs3 ;Disable baris kedua ...
out PORTC,temp ;dan enable baris ketiga
rcall delay
sbic PINC,PC7 ;tombol "7" tertekan?
rjmp key8 ;jika tidak, cek tombol berikutnya
ldi key,0xf8 ;jika ya...kirim angka ‘7’
out PORTB,key
ret

Key8:
sbic PINC,PC6 ;tombol "8" tertekan?
rjmp key9 ;jika tidak, cek tombol berikutnya

Laboratorium Teknik Elektro | STT Cendekia


3
Praktikum Mikrokontoler

ldi key,0x80 ;jika ya...kirim angka ‘8’


out PORTB,key
ret

key9:
sbic PINC,PC5 ;tombol "9" tertekan?
rjmp keyC ;jika tidak, cek tombol berikutnya
ldi key,0x90 ;jika ya...kirim angka ‘9’
out PORTB,key
ret

keyC:
sbic PINC,PC4 ;tombol "C" tertekan?
rjmp keyBT ;jika tidak, cek tombol berikutnya
ldi key,0xc6 ;jika ya...kirim huruf ‘C’
out PORTB,key
Ret

KeyBT:
ldi temp,brs4
out PORTC,temp
rcall delay
sbic PINC,PC7 ;tombol "F" tertekan?
rjmp keyNOL ;jika tidak, cek tombol berikutnya
ldi key,0x8e ;jika ya...kirim huruf ‘F’
out PORTB,key
Ret

keyNOL:
sbic PINC,PC6 ;tombol "0" tertekan?
rjmp keyKRS ;jika tidak, cek tombol berikutnya
ldi key,0xc0 ;jika ya...kirim angka ‘0’
out PORTB,key
ret

keyKRS:
sbic PINC,PC5 ;tombol "E" tertekan?
rjmp keyD ;jika tidak, cek tombol berikutnya
ldi key,0x86 ;jika ya...kirim huruf ‘E’
out PORTB,key
ret

keyD:
sbic PINC,PC4 ;tombol "D" tertekan?
rjmp check_keys ;jika tidak, cek tombol berikutnya
ldi key,0xa1 ;jika ya...kirim huruf ‘D’
out PORTB,key
ret

; Subrutin Delay
delay: ldi dly,0x10
dl1: ldi dly1,0xff

Laboratorium Teknik Elektro | STT Cendekia


4
Praktikum Mikrokontoler

dl2: dec dly1


cpi dly1,0x00
brne dl2
dec dly
cpi dly,0x00
brne dl1
ret

2. Jika sudah selesai compile program, dan tes di proteus.

C. Percobaan Mandiri
Buat rangkaian dan program seperti percobaan diatas dengan menggunakan ATMega 8535
pada Proteus menggunakan aplikasi pemrograman apapun.

1.4. Akhir Percobaan


Sebelum keluar dari ruang praktikum, rapikan meja praktikum. Bereskan kabel dan
matikan osiloskop, generator sinyal, power supply DC, dan multimeter, juga tidak lupa
simpan kembali pada tempatnya. Pastikan semua connector tidak terhubung dengan jala-
jala PLN.
Periksa kembali lembar data pengamatan, karena setiap jawaban yang isikan sangat
mempengaruhi nilai praktikum.

Data Pengamat Unit IV Keypad


Nama Nilai
NIM
Keterangan

Laboratorium Teknik Elektro | STT Cendekia


5

Anda mungkin juga menyukai