I.
II.
TUJUAN
TEORI DASAR
Setiap mikrokomputer memerlukan peralatan input-output untuk dapat
berkomunikasi dengan peralatan peripheral, tanpa input output sebuah
mikroprosessor hanya dapat bekerja dalam lingkungannya sendiri sehingga tidak
mungkin dapat dimanfaatkan oleh si pemakai.
Pada dasarnya kita memiliki 2 macam cara komunikasi (interfaces).
Interface Paralel
Tipe ini memindahkan satu data word satu byte pada saat yang bersamaan,
yang berarti memerlukan 8 saluran/ bus data (data lines).
Interface Serial
Type ini mentransfer data bit per bit, sehingga kita hanya membutuhkan dua
saluran data saja untuk menerima data. Interface serial sangat umum digunakan
untuk mentransfer data jarak jauh, hemat kabel tetapi kecepatan prioritas kedua.
Standar Interface
Untuk menghubungkan peralatan dari pabrik yang berbeda sangat penting
ditentukan standar penentuan hubungan pin dan plug. Komunikasi antar peralatanperalatan tidak hanya sekedar memerlukan saluran data tetapi juga saluran kontrol.
14
Intel
telah
mengembangkan
chipsnya,
diatur
pada
seri-seri
mikroprosessornya. Ini termasuk 2 port 8 bit yang dapat diprogram salah satu
menjadi input atau output. Untuk serial interfaces elemennya adalah USART 8250.
USART merubah data paralel ke dalam data serial atau sebaliknya.
Digital I/O
Microcomputer Mc8088 8 memiliki 2 port input output yaitu port A (100H), dan port
B (104H) yang dapat digunakan sebagai intput atau output digital yang melalui
pengalamatan dengan control register 108H. Instruksi-instruksi berikut ini, dapat
langsung mengatifkan I/O digital.
MOV DX,108
MOV AL,XX
OUT DX,AL
Dengan memberikan nilai pada AL, ada beberapa kemungkinan port input dan
output:
XX = 0 :
XX = 2 :
15
XX = 4 :
XX = 6 :
III.
IV.
ANALOG I/O
Multimeter
An-out:
MOV DX,10C
OUT DX,AL
16
Alamat
Mnemonics
0080: 0000
MOV DX,10C
Start
0003
IN AL,DX
AN-IN
0004
PUSH AX
AN-OUT
0005
INT E
End
0007
POP AX
0008
INT7
-5
-3
-2
-1
AX
Volt
4.2.3
00
1F
3F
5F
7F
volt
17
Alamat
0080: 0000
Mnemonics
MOV DX,10C
Start
0003
IN AL,DX
AN-IN
0004
ADD AL,AL
AL=AL+AL
0005
PUSH AX
delay
0006
INT E
0008
POP AX
0009
OUT DX,AL
000A
CALL
000D
JMP 0003
000F
MOV CX,0FFF
0012
DEC CX
0013
JNZ 0012
AN-OUT
End
18
4.5.
Flowchart
Alamat
0080: 0000
Mnemonics
MOV DX,10C
Start
0003
MOV AL,00
AL=.....
0005
PUSH AX
AN-OUT
0006
INT E
End
0008
POP AX
0009
OUT DX,AL
000A
INT 7
Register AL
00
=
Output (volt)
05
0A
FA
F5
F5
19
Alamat
0000
MOV DX,108
input port B
0003
MOV AL,2
output port B
0004
OUT DX,AL
end
0005
MOV DX,104
0008
IN AL,DX
0009
OUT DX,AL
000A
INT7
Start
0080:
Mnemonics
5.1.1. Dengan mengatur LSB port B sebagai input dan MSB Port B output,
jalankan program dan amati tampilan LED dengan memberikan logika
rendah atau tinggi pada input port B. Bagaimana hubungan antara
posisi input port B yang diberi masukan dengan tampilan LED pada
output port B?
20
MSB Port B
output
LSB Port B
input
Flowchart
Start
AL=0
CX=F000H
Delay
output port B
Start
Address
0080:
Mnemonics
0000
MOV DX,108
0003
MOV AL,0
0005
OUT DX,AL
0006
MOV AL,81
0008
MOV DX,104
000B
MOV CX,F000
0010
DEC CX
0011
JNZ .
0012
OUT DX,AL
0013
INT 7
21
Alamat
0080: 0000
Mnemonics
MOV DX,108
Start
0003
MOV AL,0
AL=01
0005
OUT DX,AL
0006
MOV AL,01
0008
MOV DX,104
000B
OUT DX,AL
Delay
000C
MOV CX,F000
AL=AL+AL
000F
DEC CX
0010
JNZ ...
0012
ADD AL,AL
0014
CMP AL,80
0016
JB ..
0018
JMP
001A
INT 7
Output port A
CX=F000H
ya
AL=80
tidak
go to output
22
Alamat
0080:
Start
Mnemonics
0000
MOV DX,108
0003
MOV AL,0
0005
OUT DX,AL
AL=01
0006
MOV AL,01
Output port A
0008
MOV DX,104
Delay
000B
OUT DX,AL
AL=AL+AL
000C
CALL 100
000F
ADD AL,AL
0010
CMP AL,80
0012
JB ..
0014
JMP ..
0016
INT 7
0100
MOV CX,F000
0103
DEC CX
0104
JNZ ..
0106
RET
ya
AL=80
tidak
go to output
23
VI.
24