Anda di halaman 1dari 17

LAPORAN AKHIR

Operasi I;O Pada Keypad, Multi 7-Segment dan Tampilan


Matriks 7x5
MODUL III

Nama

: Isnan Taufikkurrohman

NPM

: 140310130050

Hari/Tanggal

: Kamis, 3 November 2016

Waktu

: 13.00 15.30

Asisten

: M. Wahyudin

LABORATORIUM FISIKA INSTRUMENTASI


PROGRAM STUDI FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS PADJADJARAN
2016

LEMBAR PENGESAHAN
Operasi I;O Pada Keypad, Multi 7-Segment dan Tampilan
Matriks 7x5
MODUL III

Laporan Akhir

Nama

: Isnan Taufikkurrohman

NPM

: 140310130050

Hari/Tanggal

: Kamis, 3 November 2016

Waktu

: 13.00 15.30

Asisten

: M. Wahyudin

Jatinangor, 3 November 2016


Asisten

Percobaan 2
Listing
cseg at 0
digit:

mov R0, #4
mov dptr, #tabel
ulang: mov A, R0
dec A
movc A, @A+dptr
mov P2, A
call tunda
djnz R0, ulang
jmp digit
tunda: mov R7, #0
djnz R7, $
ret
tabel: db 11h, 22h, 43h, 84h

Tampilan Proteus

U1
19

18

29
30
31

1
2
3
4
5
6
7
8

XTAL1

XTAL2

RST

PSEN
ALE
EA

P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7

P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD

39
38
37
36
35
34
33
32
21
22
23
24
25
26
27
28

U2
7
1
2
6
4
5
3

A
B
C
D
BI/RBO
RBI
LT

QA
QB
QC
QD
QE
QF
QG

13
12
11
10
9
15
14

7447

10
11
12
13
14
15
16
17

AT89C51

Analisa
Percobaan kali ini adalah menampilkan angka 1234 pada 7-segmen empat
digit, hasilnya dapat dilihat pada proteus di atas. Pada dasarnya program ini
merupakan pengulangan 4 kali pada R0, terus mengambil alamat memori pada tabel

pindah ke pointer, lalu ditunjukan @A+dptr ke akumulator (A) pada P2. Selanjutnya
lakukan pemanggilan delay, pada pemanggilan delay terjadi penahanan nilai pada
display. Angka yang muncul pada 7-segmen sebetulnya berurutan dari angka 4, 3, 2,
1. Karena proses yang cepat, maka angka akan terlihat tampil secara bersamaan.
Program pada proteus dan modul ada sedikit perbedaan, yaitu pada lookup tablenya.
Pada modul percobaan adalah tabel: db 01h, 12h, 23h, 34h, sedangkan
pada simulasi proteus adalah tabel: db 11h, 22h, 43h, 84h,
dimana nilai 1,2,4,8, menunjukan masing-masing digit pada 7segmen

Percobaan 3
Listing
cseg at 0
seg0 equ 30h
seg1 equ 31h
seg2 equ 32h
seg3 equ 33h
mulai :mov seg0,#10h
mov seg1,#20h
mov seg2,#40h
mov seg3,#80h
lagi

: mov r0,#01Fh

s1

: call digit
djnz r6,s1
inc seg3
mov a,#3ah
cjne a,seg3,sudah

mov seg3,#80h
inc seg2
mov a,#2ah
cjne a,seg2,sudah
mov seg2,#40h
inc seg1
mov a,#1ah
cjne a,seg1,sudah
mov seg1,#20h
inc seg0
mov a,#0ah
cjne a,seg0,sudah
mov seg0,#10h
sudah : jmp lagi
digit : mov r0,#4
mov r1,#seg3
Ulang : mov p2,@r1
dec r1
call tunda
djnz r0,Ulang
ret
tunda : mov r7, #0
djnz r7,$
ret
end

Tampilan Proteus

U1
19

XTAL1

18

XTAL2

RST

29
30
31

PSEN
ALE
EA

1
2
3
4
5
6
7
8

P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7

P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD

39
38
37
36
35
34
33
32
21
22
23
24
25
26
27
28

U2
7
1
2
6
4
5
3

A
B
C
D
BI/RBO
RBI
LT

QA
QB
QC
QD
QE
QF
QG

13
12
11
10
9
15
14

7447

10
11
12
13
14
15
16
17

AT89C51

Analisa
Program ini adalah adalah meminta mmikrokontroler untuk melakukan
pencacahan yang akan ditampilkan pada 7 segmen empat digit. Secara mekanisme,
setiap digit pada 7-segmen di seting untuk melakukan pencacahna secara berkala,
pada awalnya digit satuan akan melakukan pencacaha dari 0 hingga 9 dan kembali
lagi ke 0. Pada saat digit satuan kembali ke 0, digit puluhan berubah menjadi 1, dan
terus berulang setiap putaran digit satuan mencapai 0, digit puluhan terus bertambah.
Saat puluhan kembali ke nol, maka ratusan akan memulai pencacahan, begitu juga
dengan digit ribuan. Intinya setiap digit mencacah hingga Sembilan secara
bergantian. Pada selector 7-segmen dibuat katif semuanya, sehingga keempat 7segmen aktif, dan sebelum mencacah akan menampilkan angka 0.

Percobaan 4
Listing
seg0
seg1
seg2
seg3

equ
equ
equ
equ

30h
31h
32h
33h

kbuf equ 3Ch


mulai:

mov
mov
mov
mov

seg0,
seg1,
seg2,
seg3,

#10h
#20h
#40h
#80h

L0:
lcall display
lcall ambiltombol
cjne a, #0FFh, L1
jmp L0
cjne a, #10h, L1
jmp L0
cjne a, #11h, L1
jmp L0

; ambil bilangan

L1:
mov
mov
mov
mov
anl
anl
anl
orl
orl
orl
jmp

seg0,
seg1,
seg2,
seg3,
seg0,
seg1,
seg2,
seg1,
seg2,
seg3,
L0

seg1
seg2
seg3
a
#1Fh
#1Fh
#1Fh
#20h
#40h
#80h

ambiltombol:
mov p3,#127
; mengambil data dari keypad
polls: ;metode polling untuk mendeteksi tombol yang ditekan
;scanning kolom 1
clr p3.0
setb p3.1
setb p3.2
jnb p3.3, dapat
; tombol 1 (76h)
jnb p3.4, dapat
; tombol 4 (6eh)
jnb p3.5, dapat
; tombol 7 (5eh)
jnb p3.6, dapat
; tombol * (3eh)
setb p3.0

;scanning kolom 2
setb p3.0
clr p3.1
setb p3.2
jnb p3.3, dapat
; tombol
jnb p3.4, dapat
; tombol
jnb p3.5, dapat
; tombol
jnb p3.6, dapat
; tombol
setb p3.1
;scanning kolom 3
setb p3.0
setb p3.1
clr p3.2
jnb p3.3, dapat
; tombol
jnb p3.4, dapat
; tombol
jnb p3.5, dapat
; tombol
jnb p3.6, dapat
; tombol
setb p3.2
jmp polls ;terus loop sampai
dapat:
mov a, P3
cjne a, #127, ada
mov a, #0FFh
ret
ada:
call tunda
mov P3, #127
mov a, P3
mov kbuf, a
lepas:
call display
mov P3, #127
mov a, P3
cjne a, #127, lepas
lcall konversi
ret
konversi:
mov R0, #255
putar: inc R0
cjne R0, #12, lanjut
mov a, #0FFh
ret
lanjut:
mov a, R0
add a, #5
movc a, @a+pc
cjne a, kbuf, putar
mov a, R0
ret

2
5
8
0

(75h)
(6dh)
(5dh)
(3dh)

3
6
9
#

(73h)
(6bh)
(5bh)
(3bh)

dapat tombol yang ditekan

tabel: db 3Dh, 76h, 75h, 73h, 6Eh, 6Dh, 6Bh, 5Eh, 5Dh, 5Bh, 3Eh, 3Bh
display:
ulang:

tunda:

mov R0, #4
mov R1, #seg3
mov P2, @R1
dec R1
call tunda
djnz R0, ulang
ret
mov R7, #0
djnz R7, $
ret

end

Tampilan Proteus

U1
19

18

29
30
31

1
2
3
4
5
6
7
8

XTAL1

XTAL2

RST

PSEN
ALE
EA

P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7

P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD

39
38
37
36
35
34
33
32
21
22
23
24
25
26
27
28

U2
7
1
2
6
4
5
3

A
B
C
D
BI/RBO
RBI
LT

QA
QB
QC
QD
QE
QF
QG

13
12
11
10
9
15
14

7447

10
11
12
13
14
15
16
17

AT89C51

Analisa :
Percobaan ini program diminta untuk menampilkan digit dari keypad
ke 7-segmen empat digit. Key pad berfungsi sebagai inputan yang akan memengaruhi
keluaran 7 segmen. Secara mekanisme hamper sama, segmen 1 menapilkan nilai 1
hingga 9, setelah 9 kembali ke nol, saat kembali ke nol, digit puluhan akan mulai
berubah menjadi 1, dan seterusnya hingga digit ratusan dan ribuan. Namun pada
tampilan proteus hal tersebut tidak terjadi, dimana keypad hanya membuat 7-segmen
berkedip, tidak menampilkan angka yang sesuai dengan apa yang diinginkan.

Percobaan 5
Listing
cseg at 0
mulai:
mov P1,#1Eh
mov a,#0
call ambilbaris
mov p2,a
call tunda
mov p2,#0

;
;
;
;
;
;

mengaktifkan kolom ke-1


pilih baris ke- 1
mengambil data baris ke-1
menyalakan baris-1 ke port-2
tahan tampilan
padamkan baris ke 1

mov P1,#1Dh
mov a,#0
call ambilbaris
mov p2,a
call tunda
mov p2,#0

;
;
;
;
;
;

mengaktifkan kolom ke-2


pilih baris ke- 2
mengambil data baris ke-2
menyalakan baris-2 ke port-2
tahan tampilan
padamkan baris ke 2

mov P1,#1Bh
mov a,#0
call ambilbaris
mov p2,a
call tunda
mov p2,#0

;
;
;
;
;
;

mengaktifkan kolom ke-3


pilih baris ke- 3
mengambil data baris ke-3
menyalakan baris-3 ke port-2
tahan tampilan
padamkan baris ke 3

mov P1,#17h
mov a,#0
call ambilbaris
mov p2,a
call tunda
mov p2,#0

;
;
;
;
;
;

mengaktifkan kolom ke-4


pilih baris ke-4
mengambil data baris ke-4
menyalakan baris-4 ke port-2
tahan tampilan
padamkan baris ke 4

mov P1,#0Fh
mov a,#0
call ambilbaris
mov p2,a
call tunda
mov p2,#0

;
;
;
;
;
;

mengaktifkan kolom ke-5


pilih baris ke- 5
mengambil data baris ke-5
menyalakan baris-5 ke port-2
tahan tampilan
padamkan baris ke 5

tunda:

mov r7,#0
djnz r7, $
ret

ambilbaris:
inc a
movc a, @a+pc
ret
db 7ch, 12h, 11h, 12h, 7ch
end

Tampilan Proteus

19

18

29
30
31

1
2
3
4
5
6
7
8

XTAL1

XTAL2

RST

PSEN
ALE
EA

P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7

P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD

39
38
37
36
35
34
33
32
21
22
23
24
25
26
27
28
10
11
12
13
14
15
16
17

AT89C51

Analisa
Pada percobaan ini, kita hendak mengakses sebuah array 7x5. Output yang
diinginkan adalah karakter huruf A yang ditampilkan dengan nyala array. Dalam
system kerjanya, setiap indeks array tidak diaktifkan satu persatu. Yaitu dengan
mengaktifkan satu kolom dan atau satu baris. Untuk menampilkan karakter A,
program mengaktifkan kolom dan baris satu terlebih dahulu. Pada program ini
menggunakan metode row dan colomn scanning, yang berarti data berada pada baris
dan kolom.

Untuk kolom langsung diberikan nilai, sedangkan untuk baris

menggunakan data yang berada pada look up table. Proses lamban sehingga hasilnya
tidak terlihat tampilan A, karena lampu pada matriks nyala secara berurutan.

Percobaan 6
Listing
Karakter Macro kar,lama

mov b,#0

djnz r1,baris

local tampil,baris

mov r1,#5

djnz r3,tampil

mov r3,lama
tampil:

End
baris:

clr c

mov a,r0

mov b,kar

rlc a

mov r0,#0ffh

mov p1,a

mov r1,#0

mov r0,a

mov dptr,#tabelchar

mov a,b

mov a,#5

movc a,@a+dptr

mul ab

mov p2,a
inc b

add a,dpl
; dptr
= base add of char
mov r7,#0
mov dpl,a
djnz r7,$
mov a,b
mov p2,#0
addc a,dph
mov dph,a
db 00h, 00h, 00h,
00h ;0
db 7ch, 12h, 11h,
7ch ;1
db 7fh, 41h, 41h,
1ch ;2
db 7ch, 12h, 11h,
7ch ;3
db 7fh, 41h, 41h,
1ch ;4
db 7ch, 12h, 11h,
7ch ;5
db 7fh, 41h, 41h,
1ch ;6
db 7ch, 12h, 11h,
7ch ;7
db 7fh, 41h, 41h,
1ch ;8
db 7ch, 12h, 11h,
7ch ;9
db 7fh, 41h, 41h,
1ch ;10
db 7ch, 12h, 11h,
7ch ;11

00h,
12h,
22h,
12h,
22h,
12h,
22h,
12h,
22h,
12h,
22h,
12h,

db 7fh, 41h,
1ch ;12
db 7ch, 12h,
7ch ;13
db 7fh, 41h,
1ch ;14
db 7ch, 12h,
7ch ;15
db 7fh, 41h,
1ch ;16
db 7ch, 12h,
7ch ;17
db 7fh, 41h,
1ch ;18
db 7ch, 12h,
7ch ;19
db 7fh, 41h,
1ch ;20
db 7ch, 12h,
7ch ;21
db 7fh, 41h,
1ch ;22
db 7ch, 12h,
7ch ;23

41h, 22h,
11h, 12h,
41h, 22h,
11h, 12h,
41h, 22h,
11h, 12h,
41h, 22h,
11h, 12h,
41h, 22h,
11h, 12h,
41h, 22h,
11h, 12h,

;-------------;Program Utama
;--------------cseg at 0
mulai:
Karakter #'F',200
Karakter #'i',200
Karakter #'s',200
Karakter
Karakter
Karakter
Karakter
Karakter
Karakter
Karakter
Karakter
Karakter

#'i',200
#'k',200
#'a',200
#' ',200
#'F',200
#'M',200
#'I',200
#'P',200
#'A',200

Karakter #' ',200


Karakter #'U',200
Karakter #'N',200
Karakter #'P',200
Karakter #'A',200
Karakter #'D',200
jmp mulai
tabelchar:
db 7fh, 41h,
1ch ;24
db 7fh, 41h,
1ch ;25
db 7ch, 12h,
7ch ;26
db 7fh, 41h,
1ch ;27
db 7ch, 12h,
7ch ;28
db 7fh, 41h,
1ch ;29
db 7fh, 41h,
1ch ;30
db 7ch, 12h,
7ch ;31
db 00h, 00h,
00h ;32
db 00h, 00h,
00h ;33
db 00h, 01h,
00h ;34
db 7ch, 12h,
7ch ;35

41h, 22h,
41h, 22h,
11h, 12h,
41h, 22h,
11h, 12h,
41h, 22h,
41h, 22h,
11h, 12h,
00h, 00h,
5fh, 00h,
01h, 00h,
11h, 12h,

db 7fh, 41h,
1ch ;36
db 00h, 00h,
00h ;37
db 00h, 01h,
00h ;38
db 7ch, 12h,
7ch ;39
db 7fh, 41h,
1ch ;40
db 7ch, 12h,
7ch ;41
db 7fh, 41h,
1ch ;42
db 7ch, 12h,
7ch ;43
db 7fh, 41h,
1ch ;44
db 7ch, 12h,
7ch ;45
db 7fh, 41h,
1ch ;46
db 7fh, 41h,
1ch ;47
db 3eh, 51h,
3eh ;48= 0
db 00h, 42h,
00h ;49= 1
db 46h, 61h,
46h ;50= 2
db 22h, 41h,
36h ;51= 3
db 18h, 14h,
11h ;52= 4
db 27h, 45h,
39h ;53= 5
db 3eh, 49h,
32h ;54= 6
db 41h, 21h,
07h ;55= 7
db 36h, 49h,
36h ;56= 8
db 26h, 49h,
3eh ;57= 9
db 7fh, 3eh,
3eh ;58
db 00h, 42h,
00h ;59
db 46h, 61h,
46h ;60
db 7fh, 3eh,
3eh ;61
db 00h, 42h,
00h ;62
db 46h, 61h,
46h ;63
db 7fh, 3eh,
3eh ;64
db 7ch, 12h,
7ch ;65= A
db 7fh, 49h,
36h ;66= B
db 3Eh, 41h,
22h ;67= C
db 7fh, 41h,
1ch ;68= D
db 7fh, 49h,
41h ;69= E
db 7fh, 09h,
01h ;70= F

41h, 22h,
5fh, 00h,
01h, 00h,
11h, 12h,
41h, 22h,
11h, 12h,
41h, 22h,
11h, 12h,
41h, 22h,
11h, 12h,
41h, 22h,
41h, 22h,
49h, 45h,
7fh, 40h,
51h, 49h,
49h, 49h,
12h, 7fh,
45h, 45h,
49h, 49h,
11h, 09h,
49h, 49h,
49h, 49h,
41h, 41h,
7fh, 40h,
51h, 49h,
41h, 41h,
7fh, 40h,
51h, 49h,
41h, 41h,
11h, 12h,
49h, 49h,
41h, 41h,
41h, 22h,
49h, 49h,
09h, 09h,

db 3Eh, 49h,
3Ah ;71= G
db 7fh, 08h,
7Fh ;72= H
db 00h, 41h,
00h ;73= I
db 41h, 41h,
1Fh ;74= J
db 7fh, 08h,
41h ;75= K
db 7fh, 40h,
40h ;76= L
db 7Fh, 02h,
7Fh ;77= M
db 7fh, 02h,
7Fh ;78= N
db 3eh, 41h,
3eh ;79= O
db 7fh, 09h,
06h ;80= P
db 3eh, 41h,
5eh ;81= Q
db 7fh, 09h,
46h ;82= R
db 26h, 49h,
32h ;83= S
db 01h, 01h,
01h ;84= T
db 3fh, 40h,
3fh ;85= U
db 1fh, 20h,
1fh ;86= V
db 3fh, 40h,
3fh ;87= W
db 63h, 14h,
63h ;88= X
db 07h, 08h,
07h ;89= Y
db 61h, 51h,
43h ;90= Z
db 7ch, 12h,
7ch ;91
db 7fh, 41h,
1ch ;92
db 7ch, 12h,
7ch ;93
db 7fh, 41h,
1ch ;94
db 7ch, 12h,
7ch ;95
db 7fh, 41h,
1ch ;96
db 38h, 44h,
78h ;97= a
db 7fh, 48h,
38h ;98= b
db 38h, 44h,
28h ;99= c
db 38h, 44h,
7fh ;100=d
db 38h, 54h,
48h ;101=e
db 7ch, 12h,
04h ;102=f
db 0ch, 52h,
3Eh ;103=g
db 7fh, 04h,
78h ;104=h
db 00h, 44h,
00h ;105=i

49h, 49h,
08h, 08h,
7Fh, 41h,
41h, 21h,
14h, 22h,
40h, 40h,
04h, 02h,
04h, 08h,
41h, 41h,
09h, 09h,
51h, 21h,
19h, 29h,
49h, 49h,
7fh, 01h,
40h, 40h,
40h, 20h,
30h, 40h,
08h, 14h,
70h, 08h,
49h, 45h,
11h, 12h,
41h, 22h,
11h, 12h,
41h, 22h,
11h, 12h,
41h, 22h,
44h, 24h,
44h, 44h,
44h, 44h,
44h, 48h,
54h, 54h,
12h, 02h,
52h, 52h,
04h, 04h,
7Dh, 40h,

db 20h, 40h,
02h ;106=j
db 00h, 7Fh,
44h ;107=k
db 00h, 41h,
00h ;108=l
db 7Ch, 04h,
78h ;109=m
db 7Ch, 08h,
78h ;110=n
db 38h, 44h,
38h ;111=o
db 7Eh, 12h,
0Ch ;112=p
db 00h, 12h,
7Eh ;113=q
db 7Ch, 08h,
08h ;114=r
db 28h, 54h,
28h ;115=s
db 04h, 3Eh,
20h ;116=t
db 3Ch, 40h,
7Ch ;117=u
db 1Ch, 20h,
1Ch ;118=v
db 3Ch, 40h,
3Ch ;119=w
db 44h, 28h,
44h ;120=x
db 0Eh, 50h,
3Eh ;121=y
db 44h, 64h,
44h ;122=z
db 7ch, 12h,
7ch ;123
db 7fh, 41h,
1ch ;124
db 7ch, 12h,
7ch ;125
db 7fh, 41h,
1ch ;126
db 7ch, 12h,
7ch ;127
db 7fh, 41h,
1ch ;128
db 7ch, 12h,
7ch ;129
db 00h, 42h,
00h ;130
db 7ch, 12h,
7ch ;131
db 7fh, 41h,
1ch ;132
db 7ch, 12h,
7ch ;133
db 7fh, 41h,
1ch ;134
db 7ch, 12h,
7ch ;135
db 7fh, 41h,
1ch ;136
db 7ch, 12h,
7ch ;137
db 7fh, 41h,
1ch ;138
db 7ch, 12h,
7ch ;139
db 00h, 42h,
00h ;140

42h, 3Eh,
10h, 28h,
7Fh, 40h,
78h, 04h,
04h, 04h,
44h, 44h,
12h, 12h,
12h, 12h,
04h, 04h,
54h, 54h,
44h, 44h,
40h, 20h,
40h, 20h,
30h, 40h,
10h, 28h,
50h, 50h,
54h, 4Ch,
11h, 12h,
41h, 22h,
11h, 12h,
41h, 22h,
11h, 12h,
41h, 22h,
11h, 12h,
7fh, 40h,
11h, 12h,
41h, 22h,
11h, 12h,
41h, 22h,
11h, 12h,
41h, 22h,
11h, 12h,
41h, 22h,
11h, 12h,
7fh, 40h,

db 7ch, 12h, 11h, 12h,


7ch ;141
db 7fh, 41h, 41h, 22h,
1ch ;142
db 7ch, 12h, 11h, 12h,
7ch ;143
db 7fh, 41h, 41h, 22h,
1ch ;144
db 7ch, 12h, 11h, 12h,
7ch ;145
db 7fh, 41h, 41h, 22h,
1ch ;146
db 7ch, 12h, 11h, 12h,
7ch ;147
db 7fh, 41h, 41h, 22h,
1ch ;148
db 7ch, 12h, 11h, 12h,
7ch ;149
db 00h, 42h, 7fh, 40h,
00h ;150
db 7ch, 12h, 11h, 12h,
7ch ;151
db 7fh, 41h, 41h, 22h,
1ch ;152
db 7ch, 12h, 11h, 12h,
7ch ;153
db 7fh, 41h, 41h, 22h,
1ch ;154
db 7ch, 12h, 11h, 12h,
7ch ;155
db 7fh, 41h, 41h, 22h,
1ch ;156
db 7ch, 12h, 11h, 12h,
7ch ;157
db 7fh, 41h, 41h, 22h,
1ch ;158
db 7ch, 12h, 11h, 12h,
7ch ;159
db 00h, 42h, 7fh, 40h,
00h ;160
db 7ch, 12h, 11h, 12h,
7ch ;161
db 7fh, 41h, 41h, 22h,
1ch ;162
db 7ch, 12h, 11h, 12h,
7ch ;163
db 7fh, 41h, 41h, 22h,
1ch ;164
db 7ch, 12h, 11h, 12h,
7ch ;165
db 7fh, 41h, 41h, 22h,
1ch ;166
db 7ch, 12h, 11h, 12h,
7ch ;167
db 7fh, 41h, 41h, 22h,
1ch ;168
db 7ch, 12h, 11h, 12h,
7ch ;169
db 00h, 42h, 7fh, 40h,
00h ;170
db 7ch, 12h, 11h, 12h,
7ch ;171
db 7fh, 41h, 41h, 22h,
1ch ;172
db 7ch, 12h, 11h, 12h,
7ch ;173
db 7fh, 41h, 41h, 22h,
1ch ;174
db 7fh, 41h, 41h, 22h,
1ch ;242

db 7ch, 12h, 11h,


7ch ;175
db 7fh, 41h, 41h,
1ch ;176
db 7ch, 12h, 11h,
7ch ;177
db 7fh, 41h, 41h,
1ch ;178
db 7ch, 12h, 11h,
7ch ;179
db 00h, 42h, 7fh,
00h ;180
db 7ch, 12h, 11h,
7ch ;181
db 7fh, 41h, 41h,
1ch ;182
db 7ch, 12h, 11h,
7ch ;183
db 7fh, 41h, 41h,
1ch ;184
db 7ch, 12h, 11h,
7ch ;185
db 7fh, 41h, 41h,
1ch ;186
db 7ch, 12h, 11h,
7ch ;187
db 7fh, 41h, 41h,
1ch ;188
db 7ch, 12h, 11h,
7ch ;189
db 00h, 42h, 7fh,
00h ;190
db 7ch, 12h, 11h,
7ch ;191
db 7fh, 41h, 41h,
1ch ;192
db 7ch, 12h, 11h,
7ch ;193
db 7fh, 41h, 41h,
1ch ;194
db 7ch, 12h, 11h,
7ch ;195
db 7fh, 41h, 41h,
1ch ;196
db 7ch, 12h, 11h,
7ch ;197
db 7fh, 41h, 41h,
1ch ;198
db 7ch, 12h, 11h,
7ch ;199
db 00h, 42h, 7fh,
00h ;200
db 7ch, 12h, 11h,
7ch ;201
db 7fh, 41h, 41h,
1ch ;202
db 7ch, 12h, 11h,
7ch ;203
db 7fh, 41h, 41h,
1ch ;204
db 7ch, 12h, 11h,
7ch ;205
db 7fh, 41h, 41h,
1ch ;206
db 7ch, 12h, 11h,
7ch ;207
db 7fh, 41h, 41h,
1ch ;208
db 7ch, 12h,
7ch ;243

12h,
22h,
12h,
22h,
12h,
40h,
12h,
22h,
12h,
22h,
12h,
22h,
12h,
22h,
12h,
40h,
12h,
22h,
12h,
22h,
12h,
22h,
12h,
22h,
12h,
40h,
12h,
22h,
12h,
22h,
12h,
22h,
12h,

db 7ch, 12h,
7ch ;209
db 00h, 42h,
00h ;210
db 7ch, 12h,
7ch ;211
db 7fh, 41h,
1ch ;212
db 7ch, 12h,
7ch ;213
db 7fh, 41h,
1ch ;214
db 7ch, 12h,
7ch ;215
db 7fh, 41h,
1ch ;216
db 7ch, 12h,
7ch ;217
db 7fh, 41h,
1ch ;218
db 7ch, 12h,
7ch ;219
db 00h, 42h,
00h ;220
db 7ch, 12h,
7ch ;221
db 7fh, 41h,
1ch ;222
db 7ch, 12h,
7ch ;223
db 7fh, 41h,
1ch ;224
db 7ch, 12h,
7ch ;225
db 7fh, 41h,
1ch ;226
db 7ch, 12h,
7ch ;227
db 7fh, 41h,
1ch ;228
db 7ch, 12h,
7ch ;229
db 00h, 42h,
00h ;230
db 7ch, 12h,
7ch ;231
db 7fh, 41h,
1ch ;232
db 7ch, 12h,
7ch ;233
db 7fh, 41h,
1ch ;234
db 7ch, 12h,
7ch ;235
db 7fh, 41h,
1ch ;236
db 7ch, 12h,
7ch ;237
db 7fh, 41h,
1ch ;238
db 7ch, 12h,
7ch ;239
db 00h, 42h,
00h ;240
db 7ch, 12h,
7ch ;241

11h, 12h,
7fh, 40h,
11h, 12h,
41h, 22h,
11h, 12h,
41h, 22h,
11h, 12h,
41h, 22h,
11h, 12h,
41h, 22h,
11h, 12h,
7fh, 40h,
11h, 12h,
41h, 22h,
11h, 12h,
41h, 22h,
11h, 12h,
41h, 22h,
11h, 12h,
41h, 22h,
11h, 12h,
7fh, 40h,
11h, 12h,
41h, 22h,
11h, 12h,
41h, 22h,
11h, 12h,
41h, 22h,
11h, 12h,
41h, 22h,
11h, 12h,
7fh, 40h,
11h, 12h,

22h,
11h, 12h,

db 7fh, 41h, 41h, 22h,


1ch ;244

db 7ch, 12h,
7ch ;245
db 7fh, 41h,
1ch ;246
db 7ch, 12h,
7ch ;247
db 7fh, 41h,
1ch ;248

11h, 12h,

db 7ch, 12h,
7ch ;249
db 00h, 42h,
00h ;250
db 7ch, 12h,
7ch ;251
db 7fh, 41h,
1ch ;252

41h, 22h,
11h, 12h,
41h, 22h,

11h, 12h,
7fh, 40h,
11h, 12h,

db 7ch, 12h, 11h, 12h,


7ch ;253
db 7fh, 41h, 41h, 22h,
1ch ;254
db 7ch, 12h, 11h, 12h,
7ch ;255

41h, 22h,
end

Tampilan Proteus

19

18

29
30
31

1
2
3
4
5
6
7
8

XTAL1

XTAL2

RST

PSEN
ALE
EA

P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7

P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD

39
38
37
36
35
34
33
32
21
22
23
24
25
26
27
28
10
11
12
13
14
15
16
17

AT89C51

Analisa
Pada program kali ini adalah untuk menghasilkan tampilan berupa dot
matrix yang membuat sebuah tulisan, Pada percobaan ini hendak menampilkan
banyak karakter secara rutin. Pada dasarnya setiap karakter ditampilkan sama dengan
percobaan 5, dimana terdapat proses row dan colomn scanning. Dimana data baris
disimpan dalam table char karena datanya yang sangat banyak. Pertama dengan
menginisiasikan nilai b dari label karakter, lalu nilai r0 sebesar 0ffh dan r1 sebesar 0.
Namun hasil tidak tampil pada simulasi proteus, sehingga tulisannya tidak dapat kita
amati.

KESIMPULAN

1. Pembacaan input dari keypad dapat dilakukan dengan menghubungkan pin D0D2 sebagai pengaktifan kolom pada misal bit 0,1,2 port 1 dan R0-R4 sebagai
pengaktifan baris pada misal bit 3,4,5, dan 6 pada port 1, serta Common dapat
dihubungkan ke ground/vcc.
2. Menampilkan

bilangan

ke

multi

7-Segmen

dapat

dilakukan

dengan

menghubungkan pin input a-g ke suatu port pada modul, lalu tidak lupa pin
selektornya pun dihubungkan ke modul. Selanjutnya proses penampilan output
dapat dilakukan dengan menampilkan bilangan digit ke digit, terlihat seperti ke 4
digit nyala bersamaan, namun sebenarnya digit tersebut menyala satu persatu
berurutan sesuai dengan aturan yang kita buat dalam program.
3. Untuk menampilkan output pada matriks 7x5 dapat dilakukan dengan metode row
dan atau colomn scanning. Ketika data yang kita punya terdapat dalam baris,
maka itu berarti kita menggunakan colomn scanning, kolom dibuat aktif secara
bergantian sambil menginputkan data setiap barisnya.
4. Prinsip multipleks dalam matriks 7x5, yaitu pengaktifan array hanya bisa row by
row dan atau column by column. data ada pada baris, sehingga setiap baris akan
diisi dengan kolom yang aktif untuk mengarahkannya. Hal ini merupakan
implementasi dari multiplekser.
5. Tabel look up merupakan tabel yang terdapat dalam program yang dapat diakses
dan diubah secara langsung. Dapat diakses dengan mengarahkan pointer ke alamat
table tersebut, sehingga untuk pengaksesannya pun dilakukan dengan menyalin isi
dari alamat tabel tersebut ke sebuah register.
6. Rutin dalam program yang telah dibuat pada dasarnya memanggil data pada suatu
database berdasarkan nilai yang kita inputkan, setiap kenaikan atau penurunan
nilai tersebut akan memanggil data yang berbeda dari database sehingga program
dapat berjalan secara otomatis.

DAFTAR PUSTAKA

1. Hidayat, Darmawan S.Si.,M.T. 2014. Diktat Praktikum Sistem Mikroprosesor


Digital. Bandung : Universitas Padjadjaran.
2. Putra, Agfianto Eko. Belajar Mikrokontroler teori dan aplikasi jilid 2.
Yogyakarta : Penerbit Gava Media.
3. Anonim. Elektronika Dasar. Keypad 4x3 Untuk Mikrokontroler.
http://elektronika-dasar.com/artikel-elektronika/keypad-4x4-untukmikrokontroler/ . Diakses pada 23 Oktober 2016.