Mikroprosesor dan Antarmuka
M
Antarmuka I/O LOGO
-I TT
EL K
O
Oleh: Junartho Halomoan (
[email protected])
T
Komunikasi I/O [1]
JN
Selain bisa berkomunikasi dengan memori 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]
-I TT
EL K
O
M
CPU (µP) dapat transfer data dari/ke I/O dengan 2 cara: parallel dan serial. Komunikasi Parallel cepat dan efisien. Komunikasi parallel mengunakan lebih dari 8 kabel, digunakan untuk mentransfer data dalam jarak beberapa kaki (Cth. printer, hard disk dll).
T
Komunikasi I/O [3]
JN
Dahulu komunikasi paralel dapat transfer 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]
-I TT
EL K
O
M
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, keyboard, USB, dll
JN
T
Komunikasi I/O – memory [5]
3
Pemrograman I/O [1]
-I TT
EL K
O
M
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.alamat port digunakan register DX
JN
T
Pemrograman I/O - 8bit data [2]
Instruksi pemrograman I/O data 8 Bit
4
Pemrograman I/O- 8bit data [3]
-I TT
EL K
O
M
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 bit berarti dapat mengakses port sebanyak 65.536 input dan 65.536 output. Tidak ada register segment apapun digunakan di sini.
T
Pemrograman I/O – contoh A [4]
JN
Buat urutan program I/O yang mengirimkan data FFh ke port alamat ABh? MOV DX,ABH MOV AL,FFH OUT DX,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]
-I TT
EL K
O
M
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? JNZ BACK ; jika tidak, terus monitor MOV BH,‟Y‟ ;temp =100, salin „Y‟ ke BH
JN
T
Pemrograman I/O - 16bit data [6]
6
Pemrograman I/O – contoh C [7] Diasumsikan data 16 bit reg AX=98F6h dan port alamat = 47h maka instruksi pemrograman I/Onya adalah:
M
MOV AX,98F6h OUT 47H,AX
-I TT
EL K
O
Penjelasan: data 8bit low “F6” ke port alamat 47h dan 8bit high “98” ke port alamat 48h. Ingat prinsip “little endian”!
T
Komunikasi PPI [1]
JN
Programmable Peripheral Interface (PPI) 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
-I TT
EL K
O
M
Komunikasi PPI [2]
JN
T
Komunikasi PPI [3]
8
-I TT
EL K
O
M
Komunikasi PPI [4]
T
Komunikasi PPI [5]
JN
PA0-PA7 (Port A) : 8 bit port yang dapat 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 PC0PC3). CU atau CL bisa digunakan sebagai input atau output
9
Komunikasi PPI [6]
-I TT
EL K
O
M
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 RESET: pin masukan aktif tinggi ke 8255 digunakan untuk mereset control register. Ketika reset diaktifkan semua port bekerja sebagai port input
T
Komunikasi PPI [7]
JN
A0, A1, dan CS: Pin CS (masukan aktif 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
-I TT
EL K
O
M
Komunikasi PPI [8]
JN
T
Komunikasi PPI [9]
11
Komunikasi PPI – MODE 0 [10]
-I TT
EL K
O
M
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 pada saat bersamaan. Karakteristik port C bisa diprogram terpisah pada CL (PC0-PC3) dan CU (PC4-PC7). CL dan CU independen.
T
Komunikasi PPI – soal A [11]
JN
Antarmuka I/O 8255 dalam mode 0 dengan 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]
-I TT
EL K
O
M
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 MOV DX,61H ; alamat Port B OUT DX,AL ;output data Port B MOV DX,62H ; alamat Port C OUT DX,AL ;output data Port C
T
Komunikasi PPI – soal B [13]
JN
Antarmuka I/O 8255 dalam mode 0 dengan 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]
-I TT
EL K
O
M
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 MOV DX,61H ; alamat Port B OUT DX,AL ; alamat Port B
T
Komunikasi PPI – soal B [15]
JN
; Port CL sebagai input 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]
-I TT
EL K
O
M
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
JN
T
Komunikasi PPI - MODE 1 [17]
15
Komunikasi PPI - MODE 1 [18]
uP PPI
STB
Perangkat I/O
O
-I TT
EL K
INTR
M
IBF
RD
T
Komunikasi PPI - MODE 1 [19]
JN
Proses Input Data Mode 1 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
-I TT
EL K
O
M
Komunikasi PPI - MODE 1 [20]
JN
T
Komunikasi PPI - MODE 1 [21]
uP
PPI
ACK OBF
Perangkat I/O
WR INTR
17
Komunikasi PPI - MODE 1 [22]
-I TT
EL K
O
M
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 4) Sinyal OBF (buffer full) dari pin PC.5 ke perangkat I/O 5) Sinyal ACK (acknowledge) dari I/O ke pin 8255 (ACK) 6) Data sudah ditulis ke I/O
T
Komunikasi PPI - MODE 2 [23]
JN
3) Mode 2(Bi-directional I/O dengan 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
-I TT
EL K
O
M
Komunikasi PPI - MODE 2 [24]
JN
T
Komunikasi PPI - Keypad [25]
19
-I TT
EL K
O
M
Komunikasi PPI – 7segment [26]
T
Komunikasi PPI - Keypad [26]
JN
Buat urutan program I/O keypad 4x4 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]
-I TT
EL K
O
M
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 PC anda dengan konektor female D-Type 25 pin
T
Komunikasi Paralel-Program [2]
JN
Port parallel distandarisasikan oleh IEEE 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]
-I TT
EL K
O
M
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 bi-directional melakukan input data 8 bits (byte)
T
Komunikasi Paralel-Program [4]
JN
Extended dan Enhanced Parallel Ports menggunakan rangkaian tambahan untuk mengendalikan dan membangkitkan sinyal handshaking
22
Komunikasi Paralel-Port [5]
-I TT
EL K
O
M
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
T
Komunikasi Paralel-H/W [6]
JN
H/W yang digunakan untuk komunikasi paralel konektor D-type 25 pin dan centronics 36 pin Konektor female D-Type 25 pin biasa ditemukan di komputer dan konektor Centronics 36 pin ditemukan pada printer D-Type 25 pin
Centronics
23
-I TT
EL K
O
M
Komunikasi Paralel-H/W [7]
JN
T
Komunikasi Paralel-S/W [8]
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
M
Komunikasi Paralel-S/W [9]
-I TT
EL K
O
Status Port menggunakan 5 input (Pins 10,11,12,13 & 15), sebuah register status IRQ dan 2 bit reserved. Port Status hanya bisa digunakan untuk membaca saja
JN
T
Komunikasi Paralel-S/W [10]
Mode bi-directional bisa diaktifkan dengan memberikan tegangan 5 volt pada port control bit ke-5. Dengan mengaktifkan bidirectional maka anda dapat membaca data pada port data.
25
Komunikasi Paralel- S/W [11]
-I TT
EL K
O
M
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 OUT DX,AL; data ditulis ke port data
T
Komunikasi Paralel – S/W [12]
JN
Buat urutan program I/O paralel untuk membaca data dari port data SPP dengan base address 378h dan mode bi-directional? MOV DX,37AH ; base address SPP =378H, offset yang digunakan base+2 = 378 +2 = 37Ah port control MOV AL,00100000B ; 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]
-I TT
EL K
O
M
Buat rangkaian address decoder untuk mengaktifkan controller port parallel dengan base address 378h-37FH (cat.controller diasumsikan hanya mempunyai satu pin chip select – aktif rendah/ low)?
T
Komunikasi Serial [1]
JN
Komunikasi Serial terbagi 2 metode: 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]
-I TT
EL K
O
M
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
JN
T
Komunikasi Serial [3]
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
-I TT
EL K
O
M
Jenis Perangkat yang menggunakan komunikasi serial terbagi 2 macam DCE (Data Communications Equipment) dan DTE (Data Terminal Equipment.)
T
Komunikasi Serial [5]
JN
DTE mengacu pada terminal end dan 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 TTL
UART
TTL Bipolar
Bipolar TTL
DCE/ DTE
M
UART (Universal Asynchronous Receiver Transmitter)
Modem/ Printer
-I TT
EL K
DTE
Data 8 bit
O
uP
Level tegangan RS-232
JN
T
Komunikasi Serial [7]
④ ④
③
①
②
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
O
M
Komunikasi Serial [8]
-I TT
EL K
MAX 232 = MAX1488 + MAX 1489
T
Komunikasi Serial [9]
JN
Agar dua perangkat dapat berkomunikasi 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]
-I TT
EL K
O
M
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) maka 1 frame data terdiri dari: Start bit + 0100 0001 + stop bit Data LSB dikirim terlebih dahulu
T
Komunikasi Serial – RS232 [11]
JN
Spesifikasi kelistrikan komunikasi serial 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
-I TT
EL K
O
M
Komunikasi Serial – RS232 [12]
JN
T
Komunikasi Serial – RS232 [13]
33
-I TT
EL K
O
M
Komunikasi Serial – RS232 [14]
T
Komunikasi Serial – UART [15]
JN
Chip UART (Universal Asynchronous 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
-I TT
EL K
O
M
Komunikasi Serial – UART [16]
T
Komunikasi Serial – UART [17]
JN
Perbedaan 16550 dan 8250 adalah pin 24 dan 29. Pin transmit ready dan receive ready digunakan untuk menandakan siap atau tidaknya suatu chip untuk kirim/terima data Chip 16550 bisa digunakan untuk transmitter dan receiver. Jenis transmisi yang digunakan bisa simpleks, Half duplex atau Full duplex
35
Komunikasi Serial – UART [18]
-I TT
EL K
O
M
Pin A2,A1,A0 register internal untuk mengatur pemrograman dan transfer data Pin CS0,CS1,CS2 untuk meng-enablekan IC Pin D0-D7 Pin data dari/ke µP
T
Komunikasi Serial – UART [19]
JN
Pin TXRDY,RXRDY, RTS,CTS, DCD,DSR,RI Pin Kontrol Pin Baudout Sinyal keluaran data 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]
-I TT
EL K
O
M
COM 1 port komunikasi serial no.1, memiliki base address di 3F8h
JN
T
Komunikasi Serial – S/W [21]
Untuk bisa mengetahui alamat base address COM1, kita dapat mengakses ke memori BIOS
37
-I TT
EL K
O
M
Komunikasi Serial – S/W [22]
T
Komunikasi Serial – S/W [23]
JN
DLAB kepanjangan dari Divisor Latch 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
-I TT
EL K
O
M
Komunikasi Serial – S/W [24]
T
Komunikasi Serial – S/W [25]
JN
Line Control Register (√)
39
Komunikasi Serial – S/W [26]
-I TT
EL K
O
M
Line Status Register (√)
T
Komunikasi Serial – S/W [27]
JN
Modem Control Register
40
Komunikasi Serial – S/W [28]
-I TT
EL K
O
M
Modem Status Register
T
Komunikasi Serial – S/W [29]
JN
Jika diinginkan baudrate 2400 bps, cari 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]
-I TT
EL K
O
M
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 MOV AL,0Ch ;9600 baud rate MOV DX,3F8H ;alamat divisor latch Low byte (3F8H+0)
T
Komunikasi Serial – S/W [31]
JN
OUT DX,AL ; kirim Div.latch low byte 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]
-I TT
EL K
O
M
(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 0011B = 03H dikirimkan ke alamat LCR (base+03H) MOV DX,3FBH ;3F8H+03
T
Komunikasi Serial – S/W [33]
JN
MOV AL,03H ; data 8 bit , 1 stop bit, no 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,20H JNZ BACK
43
Komunikasi Serial – S/W [34]
-I TT
EL K
O
M
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 ;Didapatkan dari tabel Line Control Register 0000 0011B = 03H dikirimkan ke alamat LCR (base+03H)
T
Komunikasi Serial – S/W [35]
JN
MOV DX,3FBH ;3F8H+03 MOV AL,03H ; 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]
-I TT
EL K
O
M
MOV DX,3F8H ;3F8H+0 receive buffer IN AL,DX; data dibaca dari port
T
Perangkat I/O – 7 Segment[1]
JN
Untuk memberikan petunjuk atau data kepada user dibutuhkan suatu perangkat i/o penampil suatu hasil berupa LED atau LCD Pada bahasan ini yang dibahas adalah LED yang digunakan pada 7 segment yang mempunyai 7 segment plus 1 segmen dot. 7 segment terdiri 2 macam yakni common anoda dan katoda
45
-I TT
EL K
O
M
Perangkat I/O – 7 Segment[2]
JN
T
Perangkat I/O – 7 Segment[3]
46
-I TT
EL K
O
M
Perangkat I/O – 7 Segment[4]
T
Perangkat I/O – 7 Segment[5]
JN
Untuk mengoperasikan biasanya menggunakan IC driver seven segment contohnya 7447 (TTL) untuk common anoda, 7448 (TTL) untuk common katoda, 4511(CMOS)
47
Perangkat I/O – 7 Segment[6]
-I TT
EL K
O
M
IC 7447 (TTL) Seven Segment driver
T
Perangkat I/O – 7 Segment[7]
JN
Tegangan supply sebesar 5 volt Setiap segmen membutuhkan tegangan sebesar 1,5V dan arus sebesar 5-30mA Tegangan jatuh pada driver sebesar 0,2V dengan arus sebesar 20mA Besar tahanan yang dibutuhkan sebesar 168 ohm dipilih 150 ohm
48
-I TT
EL K
O
M
Perangkat I/O – 7 Segment[8]
T
Perangkat I/O – 7 Segment[8]
JN
Agar dapat menampilkan banyak digit secara bersama- sama, selektor dibutuhkan dalam rangkaian antarmuka Selektor menyalakan setiap digit 7 segment selama 1-2 ms secara bergantian. Sehingga tampilan semua digit 7 segment seakan- akan menyala secara bersamaan Selektor yang digunakan pada seven segment common anoda adalah transistor PNP
49
-I TT
EL K
O
M
Perangkat I/O – 7 Segment[3]
JN
T
Perangkat I/O – 7 Segment[3]
50
JN
T
-I TT
EL K
O
M
Perangkat I/O – 7 Segment[3]
51