Antarmuka I/O
M
Oleh: Junartho Halomoan (juned_new@yahoo.com)
KO LOGO
EL
TT
-I
1
Komunikasi I/O [2]
M
Komunikasi parallel mengunakan lebih dari
8 kabel, digunakan untuk mentransfer data
KO
dalam jarak beberapa kaki (Cth. printer,
hard disk dll).
EL
TT
-I
2
Komunikasi I/O [4]
M
keyboard, USB, dll
KO
EL
TT
-I
3
Pemrograman I/O [1]
M
KO
EL
TT
-I
4
Pemrograman I/O- 8bit data [3]
M
bit berarti dapat mengakses port sebanyak
KO
65.536 input dan 65.536 output. Tidak ada
register segment apapun digunakan di sini.
EL
TT
-I
5
Pemrograman I/O – contoh B [5]
M
JNZ BACK ; jika tidak, terus monitor
KO
MOV BH,‟Y‟ ;temp =100, salin „Y‟ ke BH
EL
TT
-I
6
Pemrograman I/O – contoh C [7]
MOV AX,98F6h
OUT 47H,AX
M
Penjelasan: data 8bit low “F6” ke port alamat
47h dan 8bit high “98” ke port alamat 48h.
KO
Ingat prinsip “little endian”!
EL
TT
-I
7
Komunikasi PPI [2]
M
KO
EL
TT
-I
8
Komunikasi PPI [4]
M
KO
EL
TT
-I
9
Komunikasi PPI [6]
M
RESET: pin masukan aktif tinggi ke 8255
KO
digunakan untuk mereset control register.
Ketika reset diaktifkan semua port bekerja
sebagai port input
EL
TT
-I
10
Komunikasi PPI [8]
M
KO
EL
TT
-I
11
Komunikasi PPI – MODE 0 [10]
M
pada saat bersamaan. Karakteristik port C
KO
bisa diprogram terpisah pada CL (PC0-PC3)
dan CU (PC4-PC7). CL dan CU independen.
EL
TT
-I
12
Komunikasi PPI – soal A [12]
Program:
MOV AL,90H ; inisialisasi 8255
MOV DX,63H ; alamat control register
OUT DX,AL ;output Control Byte ke Control
register
MOV DX,60H ;alamat Port A
IN AL,DX ;input data Port A
M
MOV DX,61H ; alamat Port B
KO
OUT DX,AL ;output data Port B
MOV DX,62H ; alamat Port C
EL
OUT DX,AL ;output data Port C
TT
-I
13
Komunikasi PPI – soal B [14]
Program:
MOV AL,91H ; inisialisasi PPI
MOV DX,63H ;alamat Control Register
OUT DX,AL ; output Control Byte ke
Control register
MOV DX,60H ;alamat Port A
IN AL,DX ;input data Port A
M
MOV DX,61H ; alamat Port B
KO
OUT DX,AL ; alamat Port B
EL
TT
-I
14
Komunikasi PPI - MODE 1 [16]
M
KO
EL
TT
-I
15
Komunikasi PPI - MODE 1 [18]
uP Perangkat
PPI STB I/O
IBF
RD
M
INTR
KO
EL
TT
-I
16
Komunikasi PPI - MODE 1 [20]
M
KO
EL
TT
-I
uP Perangkat
PPI ACK I/O
OBF
WR
INTR
17
Komunikasi PPI - MODE 1 [22]
M
5) Sinyal ACK (acknowledge) dari I/O ke pin
8255 (ACK)
KO
6) Data sudah ditulis ke I/O
EL
TT
-I
18
Komunikasi PPI - MODE 2 [24]
M
KO
EL
TT
-I
19
Komunikasi PPI – 7segment [26]
M
KO
EL
TT
-I
20
Komunikasi Paralel-Program [1]
M
PC anda dengan konektor female D-Type
KO
25 pin EL
TT
-I
21
Komunikasi Paralel-Program [3]
M
bi-directional melakukan input data 8 bits
KO
(byte) EL
TT
-I
22
Komunikasi Paralel-Port [5]
M
KO
EL
TT
-I
D-Type 25 pin
Centronics
23
Komunikasi Paralel-H/W [7]
M
KO
EL
TT
-I
24
Komunikasi Paralel-S/W [9]
M
Status Port menggunakan 5 input (Pins
10,11,12,13 & 15), sebuah register status
KO
IRQ dan 2 bit reserved. Port Status hanya
bisa digunakan untuk membaca saja
EL
TT
-I
25
Komunikasi Paralel- S/W [11]
M
OUT DX,AL; data ditulis ke port data
KO
EL
TT
-I
26
Komunikasi Paralel-soal C [13]
M
KO
EL
TT
-I
27
Komunikasi Serial [2]
M
KO
EL
TT
-I
28
Komunikasi Serial [4]
M
DTE (Data Terminal Equipment.)
KO
EL
TT
-I
29
Komunikasi Serial [6]
uP TTL Bipolar
Data Modem/
UART
8 bit Printer
Bipolar TTL
M
Receiver Transmitter) DTE
DTE
KO
EL
TT
-I
④
④ ③ ① ②
Chip UART mentransmisikan data paralel
dari µP ke serial (dalam format tegangan
TTL) lalu diterima oleh IC MC1488
(mengubah tegangan TTL menjadi bipolar
level tegangan RS-232
30
Komunikasi Serial [8]
M
KO
MAX 232 = MAX1488 + MAX 1489
EL
TT
-I
31
Komunikasi Serial [10]
M
maka 1 frame data terdiri dari:
KO
Start bit + 0100 0001 + stop bit
Data LSB dikirim terlebih dahulu
EL
TT
-I
32
Komunikasi Serial – RS232 [12]
M
KO
EL
TT
-I
33
Komunikasi Serial – RS232 [14]
M
KO
EL
TT
-I
34
Komunikasi Serial – UART [16]
M
KO
EL
TT
-I
35
Komunikasi Serial – UART [18]
M
Pin CS0,CS1,CS2 untuk meng-enablekan
KO
IC
Pin D0-D7 Pin data dari/ke µP
EL
TT
-I
36
Komunikasi Serial – S/W [20]
M
memiliki base address di 3F8h
KO
EL
TT
-I
37
Komunikasi Serial – S/W [22]
M
KO
EL
TT
-I
38
Komunikasi Serial – S/W [24]
M
KO
EL
TT
-I
39
Komunikasi Serial – S/W [26]
M
KO
EL
TT
-I
40
Komunikasi Serial – S/W [28]
M
KO
EL
TT
-I
41
Komunikasi Serial – S/W [30]
M
MOV AL,12 ;9600 baud rate
KO
MOV DX,3F8H ;alamat divisor latch Low
byte (3F8H+0)
EL
TT
-I
MOV AL,00
INC DX ; alamat divisor latch high byte
(3F8H+01)
OUT DX,AL ; kirim Div.latch high byte
MOV AL,00H ;00000000B disable DLAB
MOV DX,3FBH; alamat line control register
(3F8H+03)
OUT DX,AL ; DLAB disable
42
Komunikasi Serial – S/W [32]
M
MOV DX,3FBH ;3F8H+03
KO
EL
TT
-I
parity
OUT DX,AL;mengeluarkan data
MOV DX,3FDH; (3F8+05) cek line status
register apakah siap mentransmisikan
data? bit ke-5 LSR
BACK: IN AL,DX
CMP AL,10H
JNZ BACK
43
Komunikasi Serial – S/W [34]
M
;Didapatkan dari tabel Line Control
KO
Register 0000 0111B = 0AH dikirimkan ke
alamat LCR (base+03H)
EL
TT
-I
44
Komunikasi Serial – S/W [36]
M
KO
EL
TT
-I
N
JU
45