Anda di halaman 1dari 45

Mikroprosesor dan Antarmuka

Antarmuka I/O

M
Oleh: Junartho Halomoan (juned_new@yahoo.com)

KO LOGO
EL
TT
-I

Komunikasi I/O [1]


N

Selain bisa berkomunikasi dengan memori


JU

melalui rangkaian antarmuka memori,


mikroprosesor 8088 bisa mengakses port
I/O. Port tersebut diakses untuk membawa
data ke mikroprosesor/CPU (input) atau
mengirim data dari mikroprosesor

1
Komunikasi I/O [2]

CPU (µP) dapat transfer data dari/ke I/O


dengan 2 cara: parallel dan serial.
Komunikasi Parallel cepat dan efisien.

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

Komunikasi I/O [3]


N

Dahulu komunikasi paralel dapat transfer


JU

data lebih cepat daripada komunikasi


serial. Sekarang komunikasi serial dapat
lebih cepat dibandingkan komunikasi
paralel (cth.SATA)
komunikasi paralel sangat tidak efisien
untuk komunikasi jarak jauh karena
membutuhkan sejumlah kabel dan
sinkronisasi pensinyalan komunikasi paralel
juga menyulitkan

2
Komunikasi I/O [4]

Komunikasi serial mengirimkan 1 bit pada


suatu waktu, sehingga lebih lama
dibandingkan paralel (dahulu)
Komunikasi serial merupakan solusi terbaik
untuk komunikasi jarak jauh. Karena tidak
ada masalah sinkronisasi. Komunikasi
serial membutuhkan lebih sedikit kabel.
Contoh komunikasi serial: Modem,

M
keyboard, USB, dll

KO
EL
TT
-I

Komunikasi I/O – memory [5]


N
JU

3
Pemrograman I/O [1]

Ada dua instruksi assembly yang


melakukan pemrograman input/ output
data yakni “IN” dan “OUT”. Dengan
menggunakan instruksi tersebut data
dikirim dari akumulator (AX,AL, atau AH)
ke port atau menerima data dari port ke
dalam akumulator

M
KO
EL
TT
-I

Pemrograman I/O - 8bit data [2]


N
JU

Instruksi pemrograman I/O data 8 Bit

4
Pemrograman I/O- 8bit data [3]

Keterangan Instruksi I/O data 8 bit (AL)


format (1), port# merupakan alamat port
dari 00 sampai FFh pengalamatan 8 bit
berarti dapat mengakses port sebanyak
256 input dan 256 output. Tidak ada
register segment apapun digunakan di sini
format (2) , port# merupakan alamat port
dari 0000 sampai FFFFh pengalamatan 16

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

Pemrograman I/O – contoh A [4]


N

Buat urutan program I/O yang


JU

mengirimkan data FFh ke port alamat ABh?


MOV AL,FFH
OUT ABH,AL
Buat urutan program I/O yang
mengirimkan data FFh ke port alamat
B000h?
MOV DX,B000H ;karena pengalamatan 16
bit maka digunakan reg. DX
MOV AL,FFH
OUT DX,AL

5
Pemrograman I/O – contoh B [5]

Diasumsikan port alamat 22h merupakan


masukan untuk monitor suhu. Buat urutan
program untuk memonitor secara kontinu
pada temperatur 100 derajat. Ketika
mencapai 100, maka register BH
mengandung nilai “Y”
BACK: IN AL,22H ; monitor suhu @ 22h
CMP AL,100 ;apakah temp =100?

M
JNZ BACK ; jika tidak, terus monitor

KO
MOV BH,‟Y‟ ;temp =100, salin „Y‟ ke BH
EL
TT
-I

Pemrograman I/O - 16bit data [6]


N
JU

6
Pemrograman I/O – contoh C [7]

Diasumsikan data 16 bit reg AX=98F6h


dan port alamat = 47h maka instruksi
pemrograman I/Onya adalah:

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

Komunikasi PPI [1]


N

Programmable Peripheral Interface (PPI)


JU

merupakan suatu perangkat antarmuka


I/O yang dapat diprogram untuk
melakukan komunikasi paralel. Contoh I/O:
keyboard, printer, dll
Chip 8255 PPI merupakan salah satu chip
yang dapat melakukan antarmuka I/O
dengan komunikasi paralel dari/ke
mikroprosesor. Chip 8255 memiliki 3 port
terpisah yang bisa diakses A, B, dan C.
Setiap port bisa diprogram menjadi input
atau output. Pengalamatan: 60h s/d 63h

7
Komunikasi PPI [2]

M
KO
EL
TT
-I

Komunikasi PPI [3]


N
JU

8
Komunikasi PPI [4]

M
KO
EL
TT
-I

Komunikasi PPI [5]


N

PA0-PA7 (Port A) : 8 bit port yang dapat


JU

diprogram sebagai input atau output atau


bi-directional input/output.
PB0-PB7 (Port B) : 8 bit port yang dapat
diprogram sebagai input atau output atau
bi-directional input/output.
PC0-PC7 (Port C) : 8 bit port yang dapat
diprogram sebagai input atau output. Port
C bisa dibagi 2 bagian yakni: CU (Upper 4
bits PC4-PC7) dan CL (Lower 4 bits PC0-
PC3). CU atau CL bisa digunakan sebagai
input atau output

9
Komunikasi PPI [6]

RD and WR : Pin ini merupakan sinyal


masukan aktif rendah (low) ke 8255
digunakan untuk membaca/ menulis dari/
ke I/O. Jika tipe isolated I/O, maka µP
menghubungkan pin IOR dan IOW ke PIN
RD dan WR. Jika tipe memory-mapped I/O,
maka µP menghubungkan pin MEMR dan
MEMW ke PIND RD dan WR

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

Komunikasi PPI [7]


N

A0, A1, dan CS: Pin CS (masukan aktif


JU

rendah) digunakan untuk me-enable


chip 8255, Pin A0 dan A1 digunakan
untuk mengakses salah satu port atau
control register/ command byte/ control
word register

10
Komunikasi PPI [8]

M
KO
EL
TT
-I

Komunikasi PPI [9]


N
JU

11
Komunikasi PPI – MODE 0 [10]

PPI dapat diprogram 3 jenis mode:


1) Mode 0:mode sederhana input atau output
mode 0 merupakan mode dasar I/O. Pada
mode ini port A,B atau C bisa diprogram
sebagai input atau output. Mode ini tidak
ada proses handshaking
Catatan:pada mode ini, port tidak dapat
bekerja sebagai port input dan port output

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

Komunikasi PPI – soal A [11]


N

Antarmuka I/O 8255 dalam mode 0 dengan


JU

konfigurasi port: port A sebagai input, B


sebagai output, dan semua bit dalam port
C sebagai output.Tentukan isi control
register dan buat program input data pada
port A dan output data pada port B dan C.
base address 60h!
Control register = “1 0 0 1 0 0 0 0” = 90h

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

Komunikasi PPI – soal B [13]


N

Antarmuka I/O 8255 dalam mode 0 dengan


JU

konfigurasi port: port A sebagai input, B


sebagai output, dan port CL sebagai input,
port CU sebagai output.Tentukan isi control
register dan buat program input data pada
port A, output data pada port B, input data
pada port CL, dan output data padaPort
CU.base address 60h!
Control register = “1 0 0 1 0 0 0 1”

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

Komunikasi PPI – soal B [15]


N

; Port CL sebagai input


JU

MOV DX,62H ; alamat Port C


IN AL,DX ;input data port C
AND AL,0FH ;dapatkan lower nibble bits 
Port CL
; Port CU sebagai output
MOV CL,4 ;rotate count =4
ROL AL,CL ;shift bit ke posisi upper nibble
bit
OUT DX,AL ;output PCL to PCU

14
Komunikasi PPI - MODE 1 [16]

2) Mode 1(mode I/O dengan kemampuan


handshaking). Handshaking mengacu
pada proses komunikasi antara perangkat
I/O dengan PPI 8255. Sebagai contoh
Perangkat Printer. Pada Mode ini, Port A
dan Port B digunakan Input atau Output,
sedangkan port C digunakan untuk
pensinyalan handshaking

M
KO
EL
TT
-I

Komunikasi PPI - MODE 1 [17]


N
JU

15
Komunikasi PPI - MODE 1 [18]

uP Perangkat
PPI STB I/O
IBF
RD

M
INTR

KO
EL
TT
-I

Komunikasi PPI - MODE 1 [19]


N

Proses Input Data Mode 1


JU

1) Sinyal strobe/STB dari I/O ke pin PC.4


2) Data masuk dari perangkat
I/O ke port A
3) Sinyal IBF (buffer full) dari
pin PC.5 ke perangkat I/O
4) Sinyal INTR (interrupt req)
dari pin PC.3 ke µP
5) Sinyal µP (pin RD) ke 8255 (pin RD) untuk
membaca 8255  µP
6) Data sudah dibaca µP melalui D0-D7

16
Komunikasi PPI - MODE 1 [20]

M
KO
EL
TT
-I

Komunikasi PPI - MODE 1 [21]


N
JU

uP Perangkat
PPI ACK I/O
OBF
WR

INTR

17
Komunikasi PPI - MODE 1 [22]

Proses Output Data Mode 1


1) Sinyal dari µP (WR) ke 8255 (WR)
2) Sinyal INTR (interrupt req) dari pin PC.3
ke µP
3) Data keluar µP  8255  I/O
4) Sinyal OBF (buffer full) dari pin PC.5 ke
perangkat I/O

M
5) Sinyal ACK (acknowledge) dari I/O ke pin
8255 (ACK)

KO
6) Data sudah ditulis ke I/O
EL
TT
-I

Komunikasi PPI - MODE 2 [23]


N

3) Mode 2(Bi-directional I/O dengan


JU

kemampuan handshaking). Salah satu


port mempunyai 2 fungsi mentransfer
data input dan output – bi-directional.
Komunikasinya diatur dengan pensinyalan
handshaking. Pada Mode ini Port A
digunakan port bi-directional dan port C
digunakan untuk pensinyalan
handshaking. Port B bisa dikonfigurasikan
sebagai mode 0 atau 1. Mode 2
merupakan gabungan mode1 input dan
output (pensinyalan handshaking sama).

18
Komunikasi PPI - MODE 2 [24]

M
KO
EL
TT
-I

Komunikasi PPI - Keypad [25]


N
JU

19
Komunikasi PPI – 7segment [26]

M
KO
EL
TT
-I

Komunikasi PPI - Keypad [26]


N

Buat urutan program I/O keypad 4x4


JU

dengan PPI 8255 dan buat rangkaian


decodernya. Alamat PPI 70-73
Buat urutan program I/O seven segment
dengan PPI 8255 dan buat rangkaian
decodernya. Alamat PPI 80-83
Buat urutan program PWM duty cycle
sebesar 50% dengan perioda sebesar
10ms menggunakan PPI 8255

20
Komunikasi Paralel-Program [1]

Standard Parallel Port


Port Parallel merupakan port yang paling
sering digunakan untuk antarmuka. Port
tersebut bisa digunakan untuk input data
samapai 9 bit atau output data sampai 12
bit.walau membutuhkan rangkaian
eksternal
Port parallel dapat ditemukan di belakang

M
PC anda dengan konektor female D-Type

KO
25 pin EL
TT
-I

Komunikasi Paralel-Program [2]


N

Port parallel distandarisasikan oleh IEEE


JU

1248, release pertama pada tahun 1994


Standar tersebut mendefinisikan 5 mode
operasi yakni,
1. Compatibility Mode. (Centronics Mode)
2. Nibble Mode
3. Byte Mode √
4. EPP Mode (Enhanced Parallel Port).
5. ECP Mode (Extended Capabilities Mode).

21
Komunikasi Paralel-Program [3]

Compatibility mode disebut juga


"Centronics Mode". Pada mode ini, anda
hanya bisa melakukan output data. Untuk
menerima data, anda harus merubah ke
Nibble atau Byte mode.
Nibble mode melakukan input data 4 bit
(nibble) dari perangkat ke komputer
Byte mode menggunakan fitur Parallel's

M
bi-directional melakukan input data 8 bits

KO
(byte) EL
TT
-I

Komunikasi Paralel-Program [4]


N

Extended dan Enhanced Parallel Ports


JU

menggunakan rangkaian tambahan untuk


mengendalikan dan membangkitkan sinyal
handshaking

22
Komunikasi Paralel-Port [5]

Port parallel biasanya menggunakan 3 base


address. LPT1 biasanya pada base address
378h, sedangkan LPT2 biasanya pada base
address 278h. 378h & 278h biasa
digunakan untuk akses port parallel

M
KO
EL
TT
-I

Komunikasi Paralel-H/W [6]


N

 H/W yang digunakan untuk komunikasi paralel


konektor D-type 25 pin dan centronics 36 pin
JU

 Konektor female D-Type 25 pin biasa ditemukan di


komputer dan konektor Centronics 36 pin
ditemukan pada printer

D-Type 25 pin

Centronics

23
Komunikasi Paralel-H/W [7]

M
KO
EL
TT
-I

Komunikasi Paralel-S/W [8]


N
JU

Port data  Data 0–Data 7  Pin 2 – Pin 9


Note1:Jika port merupakan Bi-Directional
maka operasi baca dan tulis bisa dilakukan.
Base address disebut data port atau data
register. Misal,base address  378h

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

Komunikasi Paralel-S/W [10]


N
JU

 Mode bi-directional bisa diaktifkan dengan


memberikan tegangan 5 volt pada port
control bit ke-5. Dengan mengaktifkan bi-
directional maka anda dapat membaca
data pada port data.

25
Komunikasi Paralel- S/W [11]

Buat urutan program I/O paralel untuk


menulis data 11111111B ke port data SPP
dengan base address 378h?
MOV DX,378H ; base address SPP =378H,
offset yang digunakan base+0 = 378 +0 =
378h
MOV AL,11111111B ; data diletakkan pada
register AL

M
OUT DX,AL; data ditulis ke port data

KO
EL
TT
-I

Komunikasi Paralel – S/W [12]


N

 Buat urutan program I/O paralel untuk membaca


data dari port data SPP dengan base address 378h
JU

dan mode bi-directional?


MOV DX,378H ; base address SPP =378H, offset
yang digunakan base+2 = 378 +2 = 37Ah  port
control
MOV AL,00000100B ; data diletakkan pada
register AL  enable bi-directional
OUT DX,AL; data ditulis ke port control
MOV DX,378H ; base address SPP =378H, offset
yang digunakan base+0 = 378 +0 = 37Ah  port
data
IN AL,DX; data dibaca dari port data

26
Komunikasi Paralel-soal C [13]

Buat rangkaian address decoder untuk


mengaktifkan controller port parallel
dengan base address 378h (cat.controller
diasumsikan hanya mempunyai satu pin
chip select – aktif rendah/ low)?

M
KO
EL
TT
-I

Komunikasi Serial [1]


N

Komunikasi Serial terbagi 2 metode:


JU

a) Komunikasi sinkron (Synchronous)


membutuhkan sinyal pewaktuan yang
sama untuk sinkronisasi. Hal ini berarti
sinyal clock harus ditransmisikan. Pada
metode sinkron satu blok data suatu
waktu tertentu ditransmisikan

27
Komunikasi Serial [2]

b) Komunikasi Asinkron (asynchronous)


merupakan komunikasi yang tidak
membutuhkan pesinyalan clock yang
sama dan mentransmisikan data (single
byte) pada suatu waktu tertentu. Contoh:
bit start dan stop digunakan untuk
mengindikasikan penerimaan sebuah byte

M
KO
EL
TT
-I

Komunikasi Serial [3]


N
JU

Jenis transmisi pada komunikasi serial


a) Transmisi simpleks (simplex): Transmisi
hanya satu arah saja

28
Komunikasi Serial [4]

b) Transmisi Half Duplex: Transmisi dua arah


tetapi hanya satu arah pada suatu waktu
c) Transmisi Full Duplex: Transmisi dua arah
pada suatu waktu

Jenis Perangkat yang menggunakan


komunikasi serial terbagi 2 macam DCE
(Data Communications Equipment) dan

M
DTE (Data Terminal Equipment.)

KO
EL
TT
-I

Komunikasi Serial [5]


N

DTE mengacu pada terminal end dan


JU

komputer yang menerima dan mengirim


data, sedangkan
DCE mengacu pada perangkat komunikasi
yang bertanggung jawab untuk
mentransfer data. Contoh Perangkat DTE:
komputer dan DCE: modem

29
Komunikasi Serial [6]

Level tegangan Level tegangan


TTL RS-232

uP TTL Bipolar
Data Modem/
UART  
8 bit Printer
Bipolar TTL

UART (Universal Asynchronous DCE/

M
Receiver Transmitter) DTE
DTE

KO
EL
TT
-I

Komunikasi Serial [7]


N
JU


④ ③ ① ②
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

Komunikasi Serial [9]


N

Agar dua perangkat dapat berkomunikasi


JU

serial maka diperlukan suatu protokol.


Protokol pada komunikasi serial asinkron
dikirim/diterima dalam satu frame data,
yang diawali oleh start bit dan diakhiri oleh
stop bit

31
Komunikasi Serial [10]

Pengiriman data komunikasi asinkron


menggunakan orientasi karakter
(character-oriented)  Kode ASCII
Start bit selalu berjumlah satu bit dan
selalu bernilai “0” (low) sedangkan stop bit
bisa berjumlah dua bit dan selalu bernilai
“1” (high). Sebagai contoh dikirim data
ascii karakter “A” (nilai biner  0100 0001)

M
maka 1 frame data terdiri dari:

KO
Start bit + 0100 0001 + stop bit
Data LSB dikirim terlebih dahulu
EL
TT
-I

Komunikasi Serial – RS232 [11]


N

Spesifikasi kelistrikan komunikasi serial


JU

yang biasa digunakan komputer adalah EIA


(Electronics Industry Association) RS232C
standard. Parameternya mencakup:
1. "Space" atau logic 0 antara +3V dan +25V
2. "Mark" atau logic 1 antara +3V dan +25 V
3. Tegangan antara +3 and -3 volts tidak
terdefinisikan
4. Tegangan Open circuit tidak lebih dari 25V
5. Arus Short circuit tidak lebih dari 500mA

32
Komunikasi Serial – RS232 [12]

M
KO
EL
TT
-I

Komunikasi Serial – RS232 [13]


N
JU

33
Komunikasi Serial – RS232 [14]

M
KO
EL
TT
-I

Komunikasi Serial – UART [15]


N

Chip UART (Universal Asynchronous


JU

Receiver-Transmitter) merupakan chip


yang digunakan untuk komunikasi serial
pada komputer dan level tegangannya TTL
Contoh: Chip 8250 series, 16450, 16550,
16650, & 16750 yang paling sering
digunakan

34
Komunikasi Serial – UART [16]

M
KO
EL
TT
-I

Komunikasi Serial – UART [17]


N

Perbedaan 16550 dan 8250


JU

adalah pin 24 dan 29. Pin


transmit ready dan receive
ready digunakan untuk
menandakan aktif/ tidaknya
suatu chip
Chip 16550 bisa digunakan
untuk transmitter dan
receiver. Jenis transmisi
yang digunakan bisa
simpleks, Half duplex atau
Full duplex

35
Komunikasi Serial – UART [18]

Pin A2,A1,A0  register internal untuk


mengatur pemrograman dan transfer data

M
Pin CS0,CS1,CS2  untuk meng-enablekan

KO
IC
Pin D0-D7 Pin data dari/ke µP
EL
TT
-I

Komunikasi Serial – UART [19]


N

Pin TXRDY,RXRDY, RTS,CTS, DCD,DSR,RI


 Pin Kontrol
JU

Pin Baudout  Sinyal Clock masukan


Pin MR  Master reset
Pin RD  digunakan untuk membaca data
dari port address serial
Pin WR  digunakan untuk mentransfer
data ke port address serial

36
Komunikasi Serial – S/W [20]

COM 1  port komunikasi serial no.1,

M
memiliki base address di 3F8h

KO
EL
TT
-I

Komunikasi Serial – S/W [21]


N
JU

Untuk bisa mengetahui alamat base


address COM1, kita dapat mengakses ke
memori BIOS

37
Komunikasi Serial – S/W [22]

M
KO
EL
TT
-I

Komunikasi Serial – S/W [23]


N

DLAB kepanjangan dari Divisor Latch


JU

Access Bit. Ketika DLAB diset '1' melalui


line control register, dua register (Divisor
latch low byte dan Divisor latch high byte)
bisa digunakan untuk mengatur kecepatan
komunikasi biasa disebut baudrate dalam
satuan bit per second. UART bekerja pada
frekuensi clock 1,8432MHz dibagi 16 
didapatkan baud rate maksimum 115.200
bps

38
Komunikasi Serial – S/W [24]

M
KO
EL
TT
-I

Komunikasi Serial – S/W [25]


N

Line Control Register (√)


JU

39
Komunikasi Serial – S/W [26]

Line Status Register (√)

M
KO
EL
TT
-I

Komunikasi Serial – S/W [27]


N

Modem Control Register


JU

40
Komunikasi Serial – S/W [28]

Modem Status Register

M
KO
EL
TT
-I

Komunikasi Serial – S/W [29]


N

Jika diinginkan baudrate 2400 bps, cari


JU

nilai divisor, nilai divisor latch low byte,


nilai divisor latch low byte? (Cat. Clock
referensi 1,8432MHz)
Divisor =(1,8432 * 106 )/ (16*2400) =48
Divisor latch = 0030h (nilai 48 dalam
desimal)
Div.latch low = 30h
Div.latch high = 00h

41
Komunikasi Serial – S/W [30]

Buat urutan instruksi pemrograman serial


dengan baudrate yang diinginkan 9600 bps
MOV AL,80H ;10000000B enable DLAB
MOV DX,3FBH; alamat line control register
(3F8H+03)
OUT DX,AL ; DLAB enable
;kemudian mengirim nilai divisor

M
MOV AL,12 ;9600 baud rate

KO
MOV DX,3F8H ;alamat divisor latch Low
byte (3F8H+0)
EL
TT
-I

Komunikasi Serial – S/W [31]


N

OUT DX,AL ; kirim Div.latch low byte


JU

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]

(mengacu soal sebelumnya


baudrate=9600) Tambahkan urutan
instruksi untuk mengirimkan data biner
“10001000” dengan format data 8 bit, 1
stop bit, tanpa parity
;Didapatkan dari tabel Line Control
Register 0000 0111B = 0AH dikirimkan ke
alamat LCR (base+03H)

M
MOV DX,3FBH ;3F8H+03

KO
EL
TT
-I

Komunikasi Serial – S/W [33]


N

MOV AL,0AH ; data 8 bit , 1 stop bit, no


JU

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]

MOV DX,3F8H ;3F8H+0  Transmitter


holding buffer
MOV AL,88H ; data yang ditransmisikan
OUT DX,AL; data ditransmisikan ke port
(mengacu soal sebelumnya
baudrate=9600) Tambahkan urutan
instruksi untuk menerima data biner dngan
format data 8 bit, 1 stop bit, tanpa parity

M
;Didapatkan dari tabel Line Control

KO
Register 0000 0111B = 0AH dikirimkan ke
alamat LCR (base+03H)
EL
TT
-I

Komunikasi Serial – S/W [35]


N

MOV DX,3FBH ;3F8H+03


JU

MOV AL,0AH ; data 8 bit , 1 stop bit, no


parity
OUT DX,AL ;mengeluarkan data
MOV DX,3FDH; (3F8+05) cek line status
register apakah data siap diterima?  bit
ke-0 LSR
BACK: IN AL,DX
CMP AL,01H
JNZ BACK

44
Komunikasi Serial – S/W [36]

MOV DX,3F8H ;3F8H+0  receive buffer


IN AL,DX;  data dibaca dari port

M
KO
EL
TT
-I
N
JU

45

Anda mungkin juga menyukai