Anda di halaman 1dari 7

Bab 7.

Aplikasi I/O
Pada bagian ini, mikroprosesor board dihubungkan dengan modul
Interfacing dimana modul terdiri dari
Modul I/O
Modul Display

SIPO (Serial Input Paralel Output)

PIPO (Paralel Input Paralel Output)

LCD (Light Cell Display)

Modul Motor Stepper dan Motor DC


Sehingga aplikasi yang digunakan nanti adalah sesuai dengan modul. Selain
itu pada mikroprosesor board juga terdapat display scanning dan keypad

1.1. Modul I/O pada modul Interfacing


Langkah pertama dalam menerapkan teori dalam bab-bab di depan adalah
membuat LED berjalan yang dikontrol oleh PPI dengan alamat :
00H untuk port A
01H untuk port B
02H untuk port C
03H untuk control word

Minimum sistem 8088

68

PERCOBAAN 1: PORT A
Adapun rangkaian yang digunakan adalah sebagai berikut:

gambar 1.1. Modul port A

Percobaan ke 1: gunakan modul seperti gambar 1.3 dengan langkahlangkah sebagai berikut:
1. Jumper J1, J2, J3 harus pada posisi Tx (OUT)
2. Semua posisi DIPSWITCH harus OFF
3. Perhatikan format data untuk port A,B dan C output sebagai berikut:
D7
1
1

D6
0
0

D5
0
0

D4
A
0

D3
Cu
0

D2
0
0

D1
B
0

D0
Cl
0

1: Input, 0 : Output
4. Ketik program pada sembarang EDITOR:

Minimum sistem 8088

69

CODE_SEG SEGMENT
; code_seg sebagai segment
ASSUME CS:CODE_SEG,DS:CODE_SEG,SS:CODE_SEG
ORG 100H
; program ditulis mulai origin 100h
start:

jmp mulai

; Awal program pada Org 0100H

porta
portb
portc
cw

equ 00h
equ 01h
equ 02h
equ 03h

; Menentukan alamat port A,B,C


; dan ctrlword sesuai dengan
; hardwarenya

mulai:
; TEMPAT PROGRAM UTAMA
putar:
jmp putar
delay proc near
push cx
mov cx,02fffh
loop $
pop cx
ret
delay endp

; Procedure delay
; simpan cx
; isi cx dengan lama delay
; loopng sampai cx=0
; keluarkan cx
; kembali ke program utama
; akhir procedure delay
; KHUSUS UNTUK EPROM 2764 ATAU 2864
; alamat yang dituju setelah reset
; JMP reset ke
; alamat offset 0100h
; alamat segmen 0FDFh

ORG 20F0H
DB 0EAH
DW 0100H
DW 0FDF0H
CODE_SEG ENDS
END START

; batas segment code_seg


; akhir program

5.Kemudian tambahkan program 4 di atas (pada bagian program utama)


mulai:
mov
mov
out

dx, 03h
al, 80h
dx,al

; SEMUA OUTPUT

mov
mov
out

dx, 00h
al, 1
dx,al

; data = 1

jmp

putar

putar:

Minimum sistem 8088

70

6.Simpan program dengan nama less1.asm, kemudian compile program


dengan menuliskan A less1 pada DOS Prompt. Jika tidak ada
kesalahan, maka akan dihasilkan file baru dengan nama

less1.obj

less1.map

less1.com

7.Hubungkan

board

mikroprosesor

dengan

modul

EPROM

EMULATOR dengan meletakkan pada soket EPROM (Tanda merah


pada kabel EMULATOR adalah GROUND). Jalankan eeu.exe dan
pilih LOAD, kemudian isilah dengan less1.com. Pilih OPTION dan
ubahlah EPROM menjadi 2764. Jika tidak terjadi kesalahan pilih
DOWNLOAD, kemudian tekan RESET pada board mikroprosesor
8.Dengan cara yang sama gantilah data sesuai dengan tabel berikut
dengan mengganti nilai data sesuai dengan yang tertera pada tabel
putar:
mov
mov
out

dx, 00h
al, 1
dx,al

jmp

putar

NO
1
2
3
4
5
6
7
8

; data = 1

DATA
1
2
4
8
16
32
64
128

LED YANG MENYALA

9.Kemudian dengan cara yang sama isilah data, sehingga LED yang
menyala sesuai dengan tabel
Minimum sistem 8088

71

NO
1
2
3
4
5
6
7
8

DATA

LED YANG MENYALA


L3, L1
L3, L2, L1
L4, L2
L4, L3, L2, L1
L5, L3, L1
L5, L4, L3, L2, L1
L6, L4, L2
L7, L5, L3, L2, L1

selanjutnya untuk lebih mengerti, buatlah tabel sendiri.

Untuk latihan animasi, tulislah program berikut:


ANIMASI 1:
CODE_SEG SEGMENT
; code_seg sebagai segment
ASSUME CS:CODE_SEG,DS:CODE_SEG,SS:CODE_SEG
ORG 100H
; program ditulis mulai origin 100h
start:

jmp mulai

; Awal program pada Org 0100H

porta
portb
portc
cw

equ 00h
equ 01h
equ 02h
equ 03h

; Menentukan alamat port A,B,C


; dan ctrlword sesuai dengan
; hardwarenya

mulai:
mov
mov
out

al,80h
dx,cw
dx,al

mov
mov
out
call

al,255
dx,porta
dx,al
delay

mov
mov
out
call
jmp

dx,porta
al,0
dx,al
delay
putar

; init ppi
; 80H MODE = 0
; port ABC = output

putar:

Minimum sistem 8088

72

delay proc near


push
mov
loop
pop
ret
delay endp

ORG
DB
DW
DW

; Procedure delay
cx
; simpan cx
cx,02fffh
; isi cx dengan lama delay
$
; loopng sampai cx=0
cx
; keluarkan cx
; kembali ke program utama
; akhir procedure delay

20F0H
0EAH
0100H
0FDF0H

CODE_SEG ENDS
END START

; ROM 2764
; alamat yang dituju setelah reset
; JMP reset ke
; alamat offset 0100h
; alamat segmen 0FDFh
; batas segment code_seg
; akhir program

Jalankan program di atas, apa yang anda lihat pada modul I/O
................................................................................................................
ANIMASI 2 :
CODE_SEG SEGMENT
; code_seg sebagai segment
ASSUME CS:CODE_SEG,DS:CODE_SEG,SS:CODE_SEG
ORG 100H
; program ditulis mulai origin 100h
start:

jmp mulai

; Awal program pada Org 0100H

porta
portb
portc
cw

equ 00h
equ 01h
equ 02h
equ 03h

; Menentukan alamat port A,B,C


; dan ctrlword sesuai dengan
; hardwarenya

mulai:
mov
mov
out

al,80h
dx,cw
dx,al

mov
mov

al,1
cx,8

mov
out
call

dx,porta
dx,al
delay

shl
loop
jmp

al,1
putar
ulang

; init ppi
; 80H MODE = 0
; port ABC = output

ulang:

putar:

Minimum sistem 8088

73

delay proc near


push
mov
loop
pop
ret
delay endp

cx
cx,02fffh
$
cx

; Procedure delay
; simpan cx
; isi cx dengan lama delay
; loopng sampai cx=0
; keluarkan cx
; kembali ke program utama
; akhir procedure delay
; ROM 2764
; alamat yang dituju setelah reset
; JMP reset ke
; alamat offset 0100h
; alamat segmen 0FDFh

ORG 20F0H
DB 0EAH
DW 0100H
DW 0FDF0H
CODE_SEG ENDS
END START

; batas segment code_seg


; akhir program

dan jalankan, apa yang anda lihat !


................................................................................................................
TUGAS 1:
Buatlah program untuk mengatur gerakan LED dari port A:
dari kiri ke kanan
dari kiri dan kanan menuju ke tengah
dari tengah menuju ke kiri dan kanan
dari kiri dan kanan menuju ke tengah dan kembali ke
kiri dan kanan

Minimum sistem 8088

74