+ All Categories
Home > Documents > Teknik Interface (Perangkat Keras)

Teknik Interface (Perangkat Keras)

Date post: 26-Jun-2015
Category:
Upload: rinaldiputra
View: 787 times
Download: 3 times
Share this document with a friend
Popular Tags:
48
63 2.2 Perangkat Keras REGISTER-REGISTER MIKROPROSESSOR 8088 Mikroprosessor 8088 memiliki empat kelompok register 16-bit, yaitu Data Register, Pointer dan Index Register, Flag Register dan Instruction Pointer, dan Segment Register. Data Register Data Register terdiri dari 4 register 16 bit, dimana tiap register dapat dipisah menjadi dua register 8 bit, seperti Tabel 2. Tabel 2. Data Register 7 0 7 0 AH AL AX : Accumulator BH BL BX : Basis CH CL CX : Count DH DL DX : Data Huruf-huruf ‘H’ dan ‘L’ menyatakan status sebagai high byte atau low byte, dan dapat digunakan secara terpisah. Register AX berfungsi sebagai accumulator dan berhubungan dengan operasi-operasi khusus seperti IN, OUT, perkalian, pembagian dan lain-lain. Register BX sering dipergunakan sebagai register basis untuk mereferensikan lokasi memory. Dalam hal ini BX menyimpan alamat basis bagi suatu tabel atau array yang lokasi spesifiknya direferensikan dengan menambahkan nilai offset. Register CX berfungsi sebagai register pencacah 16-bit untuk mencacah banyaknya byte atau kata dalam string data tertentu selama pelaksanaan operasi- operasi string dan dalam operasi-operasi loop.
Transcript
Page 1: Teknik Interface (Perangkat Keras)

63

2.2 Perangkat KerasREGISTER-REGISTER MIKROPROSESSOR 8088

Mikroprosessor 8088 memiliki empat kelompok register 16-bit, yaitu Data Register, Pointer dan Index Register, Flag Register dan Instruction Pointer, dan Segment Register.

Data RegisterData Register terdiri dari 4 register 16 bit, dimana tiap register

dapat dipisah menjadi dua register 8 bit, seperti Tabel 2.

Tabel 2. Data Register 7 0 7 0

AH AL AX : AccumulatorBH BL BX : BasisCH CL CX : CountDH DL DX : Data

Huruf-huruf ‘H’ dan ‘L’ menyatakan status sebagai high byte atau low byte, dan dapat digunakan secara terpisah.

Register AX berfungsi sebagai accumulator dan berhubungan dengan operasi-operasi khusus seperti IN, OUT, perkalian, pembagian dan lain-lain.

Register BX sering dipergunakan sebagai register basis untuk mereferensikan lokasi memory. Dalam hal ini BX menyimpan alamat basis bagi suatu tabel atau array yang lokasi spesifiknya direferensikan dengan menambahkan nilai offset.

Register CX berfungsi sebagai register pencacah 16-bit untuk mencacah banyaknya byte atau kata dalam string data tertentu selama pelaksanaan operasi-operasi string dan dalam operasi-operasi loop. Register CL yang merupakan bagian dari register CX dipergunakan dalam operasi geser (shift) dan rotasi.

Register DX dipergunakan dalam operasi perkalian untuk menyimpan sebagian dari hasil kali 32-bit, atau dalam operasi pembagian untuk menyimpan suatu nilai sisa. Dapat juga dipergunakan dalam operasi IN dan OUT untuk menspesifikasikan alamat port I/O yang dipakai.

Pointer dan Index RegisterPointer dan Index Register sendiri terbagi dalam 4 register 16-bit

yang tak dapat dipisah seperti Data Register. Register yang termasuk dalam kelompok ini adalah : SP (stack pointer), BP (Base Pointer), SI (Source Index) dan DI (Destination Index).

Page 2: Teknik Interface (Perangkat Keras)

64

Tabel 3. Pointer dan IndexRegister

15 0SP : Stack PointerBP : Base PointerSI : Source IndexDI : Destination Index

Register index dan pointer dipakai untuk menyimpan nilai offset guna mengakses lokasi-lokasi memory tertentu yang lazim digunakan, seperti lokasi puncak stack atau blok-blok data dalam suatu segment seperti array serta record-record individual.

Kedua register pointer, yaitu SP dan BP dipakai untuk menyimpan nilai-nilai offset segment stack memori pada saat yang bersangkutan, sedang kedua register indeks, SI dan DI, digunakan untuk menyimpan nilai-nilai offset dalam segment data memori pada saat yang bersangkutan.

Satu hal yang penting diketahui, keempat register ini dapat dipakai dalam operasi aritmatika maupun logika, sehingga memungkinkan nilai-nilai offset yang tersimpan didalamnya merupakan hasil perhitungan-perhitungan sebelumnya.

Register SP merupakan stack pointer yang menunjukkan lokasi puncak stack. Penunjuk stack merupakan register yang secara implisit dipakai oleh instruksi PUSH dan POP yang menyimpan dan mendapatkan kembali data dari stack.

Register SI dapat dipergunakan sebagai register indeks dalam modus pengalamatan tak-langsung tertentu. Juga digunakan untuk menyimpan offset untuk mengalamati lokasi suatu operand sumber selama berlangsungnya operasi string.

Register DI mempunyai fungsi yang hampir sama dengan register SI di atas, bedanya register ini menunjukkan lokasi suatu operand tujuan selama berlangsungnya operasi string.

Flag Register dan Instruction PointerRegister Flag adalah sebuah register 2-byte yang berisi

sembilan bit flag yang digunakan untuk menyatakan berbagai kondisi selama pelaksanaan suatu program. Bit 0, 2, 4, 6, 7, dan 11 berisi flag-flag status yang menyatakan hasil operasi-operasi program. Bit 8 sampai 10 berisi flag-flag pengendali, bit 1, 3, 5, dan 12 sampai 15 tidak dipergunakan.

Page 3: Teknik Interface (Perangkat Keras)

65

Gambaran kedua register yang termasuk dalam kelompok ini diberikan pada tabel 4., dibawah ini:

Tabel 4. Flag Register dan Instruction Pointer15 0

IP Instruction Pointer

Status word atau flag

O D I T Z A P C

15 11 0

Instruction Pointer dipergunakan untuk melokasikan posisi dalam Code Segment pada saat yang bersangkutan, maka suatu alamat 20-bit tertentu dalam segment tersebut dilokasikan dengan menggunakan IP sebagai offset dari CS.

Segment Register Daerah-daerah memory yang disediakan bagi program, data dan

stack dialamatkan secara terpisah, walaupun daerah-daerah ini mungkin saja saling bertumpang tindih. Pada setiap saat tersedia empat blok memori yang dapat dialamatkan, yang dinamakan segment dan masing-masing panjangnya 64K.

Register-register segment yang disediakan yaitu CS, DS, SS dan ES yang masing-masing dipakai untuk menunjukkan keempat segment memory yang dapat dialamati : Code Segment, Data Segment, stack Segment dan Extra Segment, seperti pada tabel 5.

Tabel 5. Segment Register 15 0

CS : Code SegmentDS : Data SegmentSS : Stack SegmentES : Extra Segment

Lokasi memory tertentu dalam suatu segment dialamatkan

dengan menambahkan suatu nilai offset kepada register segment yang bersangkutan. Sebagai contoh, alamat instruksi program berikutnya yang harus dilaksanakan dihitung dengan menambahkan nilai Instruction Pointer kepada nilai Code Segment (CS). Akan tetapi, suatu lokasi memory harus dialamatkan dengan suatu nilai alamat 20-bit, sedangkan CS maupun IP hanya berisi nilai-nilai 16-bit. Oleh karena itu alamat sepenuhnya dihitung dengan menggeser isi register CS empat bit ke kiri dan mereset bit 0 sampai 3 ( sama saja dengan

Page 4: Teknik Interface (Perangkat Keras)

66

mengalikan CS dengan 16), kemudian menambahkan nilai 16-bit yang terkandung dalam IP.

Lokasi-lokasi dalam ketiga segment yang lain dapat dihitung dengan cara yang sama, sedangkan kombinasi register segment dan offset bergantung pada jenis operasi yang sedang dilaksanakan.

Secara umum, jika tidak ditentukan oleh pemakai, maka akan berlaku aturan-aturan berikut;

a) Jika dipakai offset BX, SI atau DI maka alamat operand diasumsikan berada dalam Data Segment (DS).

b) Jika offset yang dipakai adalah SP atau BP, maka operand akan dianggap tersimpan dalam Stack Segment (SS).

Sedang untuk instruksi string, untuk sumber (source) digunakan offset SI dengan Data Segment (DS), dan untuk tujuan (destination) dipakai offset DI dengan Extra Segment (ES).

MEMORY

CODE STACKSTACKDATA DATA 2

EXTRADATA 1

SEGMENT REGISTER PROGRAM

Gambar 65 Segment dan memory yang dialamati

Pada gambar 65 diberikan gambaran umum tentang segment-segment tersebut dan memory yang dialamatinya.

Pada gambar 66. berikut ini diperlihatkan cara untuk menentukan address 20-bit dari segment dan offset yang masing-masing 16-bit.

2.2.1 Antarmuka (Interface)2.2.1.1 Slot ISA

Suatu tempat piranti tambahan yang dipasang pada komputer sehingga pada motherboard disediakan tempat yang bisa digunakan untuk memasang piranti tersebut. Ada 2 macam slot yaitu ISA dan PCI yang kegunaannya disesuaikan dengan piranti yang akan dipasang.

Fungsi pin-pin pada slot ISA IBM PCa. D0 – D7 (Data 0 – Data 7): Data bus uP8088, 8 bit,

bidirectional.

Page 5: Teknik Interface (Perangkat Keras)

67

b. adalah MEMR (MEMory Read) dan MEMW (MEMory Write) yang menandakan µP sedang melakukan pembacaan / penulisan memori.

c. adalah IOR (I/O Read) dan IOW (I/O Write) yang menandakan µP sedang melakukan pembacaan / penulisan rangkaian I/O.

d. ALE ( Address Latch Enable ) adalah Menandakan AD0 – AD7 dan A8 – A19 µP 8088 berisi A0 – A19.

e. AEN (Address Enable) adalah Setiap mikroprosesor mengirimkan Address maka sinyal kontrol AEN diaktifkan.

Gambar 66 Pembentukan address 20-bit

Contoh rangkaian interface output seperti ditunjukkan pada gambar 67, yaitu rangkaian aplikasi untuk menghidupkan led melalui PC yang dipasang pada slot ISA. Prinsip kerja rangkaian adalah pertama-tama PC mengirimkan alamat 300H sesuai alamat card interface yang dirancang sehingga output nand gate aktif rendah karena semua inputnya berlogika ‘1’. Output nand gate diumpankan ke kaki E1 IC 74LS 138 yang aktif rendah disamping itu E2 dari pin kontrol AEN dan E3 aktif tinggi dihubungkan ke Vcc maha IC decoder aktif dan siap menyalurkan kondisi input (A, B & C). Dengan alamat 300H maka nilai input A=B=C = ‘0’ dan input kontrol IOW yang aktif rendah maka membuat output gerbang NOR berlogika ‘1’. Output gerbang NOR yang berlogika ‘1’ diumpankan ke

Page 6: Teknik Interface (Perangkat Keras)

68

CLK (Clock) IC Latch 73LS374 sehingga IC 73LS374 menyalurkan data D0 : D7 ke output Q0 : Q7. Output-output Q yang berlogika ‘1’ akan menghidupkan led.

Gambar 67 Rangkaian Interface output

Contoh programnya:MOV DX,300h ; alamat interface output 300HMOV AL,10101010b ; data AAHOUT DX,AL ; 4 led hidup

Page 7: Teknik Interface (Perangkat Keras)

69

Untuk rangkaian Interface input yang dapat mengetahui suatu kondisi saklar (switsh) on atau off adalah seperti pada gambar 68. Rangkaian ini berbeda dengan rangkaian interface output pada IC 74LS374 diganti dengan IC buffer 74LS244. Dengan rancangan yang membuat output gerbang OR berlogika ‘0’ maka Data input saklar (1A1 s/d 1A4 dan 2A1 s/d 2A4) disalurkan ke output (1Y1 s/d 1 Y 4 dan 2 Y 1 s/d 2 Y 4) serta diteruskan ke mikroprosesor sebagai data input.

Gambar 68 Rangkaian Interface input

Contoh programnya:MOV DX,300h ; alamat interface input 300HIN DX,AL ; kondisi saklar disimpan di reg. AL

Page 8: Teknik Interface (Perangkat Keras)

70

Soal:a) Rancanglah rangkaian interface output dengan address 31AH

dan interface input dengan address 30CH.b) Ulangi rancangan dengan memakai slot PCI.

b.2.2 Programmable I/ORangkaian interface yang bisa diprogram dengan memakai IC

8255. IC ini adalah suatu Programmable Peripheral Interface (PPI), yang Input atau Output-nya dapat diprogram sesuai dengan keinginan pemakai. Dengan demikian akan didapatkan suatu fleksibilitas yang cukup tinggi. Adapun blok diagram Programmable I/O seperti gambar 70.

PPI 8255 memiliki 24 buah pin I/O yang terbagi dalam 3 buah port yang bisa diprogram secara individual dalam dua group dan 3 buah mode operasi. Group A yang meliputi port A (8 bit) dan port C upper (4 bit) sedangkan group B terdiri dari port B (8 bit) dan port C lower (4 bit). Konfigurasi pin PPI 8255 dapat dilihat pada gambar 69.

Gambar 69 Konfigurasi pin PPI 8255

Adapun fungsi pin-pin PPI 8255 adalah:a. D0 – D7 berfungsi sebagai data bus 3 state 2 arah yang

dihubungkan ke data bus sistem komputer.

Page 9: Teknik Interface (Perangkat Keras)

71

b. Chip Select (CS) aktif rendah yang berfungsi untuk mengaktifkan PPI 8255.

c. Read (RD) aktif rendah yang berfungsi untuk menandakan bahwa CPU akan membaca data dari PPI.

Gambar 70 Blok diagram Programmable I/O

d. Write (WR) aktif rendah yang berfungsi mengizinkan CPU untuk menulis data ke dalam PPI.

Page 10: Teknik Interface (Perangkat Keras)

72

e. Port Select (A0 dan A1). Pin ini digunakan untuk memilih port yang akan digunakan.

f. Reset yang berfungsi untuk me-reset seluruh port I/O menjadi input dengan kondisi high pada seluruh pin.

Dalam pengoperasian PPI, dapat dibedakan atas 3 mode operasi dasar yang dapat dipilih melalui software, yaitu :

a) Mode 0 (Basic I/O) Konfigurasi operasi ini menyediakan operasi-operasi sederhana untuk input dan output bagi ketiga buah port yang ada. Tidak ada sinyal handshaking yang bisa diberikan ataupun diterima, melainkan data secara sederhana dikirim dan dibaca dari port.

b) Mode 1 (Basic I/O)Konfigurasi operasi ini menyediakan fasilitas untuk transfer

data I/O dari dan ke port tertentu dengan dilengkapi oleh sinyal handshaking. Dalam hal ini port A dan port B digunakan sebagai transfer data, sedangkan port C sebagai pembangkit sinyal handshaking.

c) Mode 2 (Strobed bidirectional I/O) Konfigurasi operasi ini menyediakan fasilitas untuk komunikasi data 8-bit dua arah dengan peralatan luar. Tersedia sinyal-sinyal untuk handshaking dan interrupt dengan fungsi enable dan disable-nya.

Ketika PPI mendapat sinyal reset, maka semua port di-set menjadi mode input (ke 24 jalur menjadi high impedance). Setelah dilakukan inisialisasi pasa IC 8255 tersebut, maka port-port tersebut dapat berfungsi sebagai input atau output sesuai nilai CW.

Inisialisasi pada IC 8255 dapat dilakukan dengan mengirimkan Control Word (CW) yang mempunyai format seperti gambar 71. Inisialisasi dilakukan untuk menentukan mode PPI sekaligus fungsi dari tiap port, apakah sebagai input atau output.

Dalam program, penulisan alamat port-port dan CW dari IC 8255 adalah sebagai berikut :

Port A equ 300hPort B equ 301hPort C equ 302hPort CW equ 303h

Page 11: Teknik Interface (Perangkat Keras)

73

Contoh program inisialisasi adalah:MOV AL, 10011001bMOV DX,303hOUT DX,AL

Dari inisialisasi PPI 8255 diatas artinya sebagai mode 0, dengan port A dan Port C sebagai input serta Port B sebagai output. Control Word yang harus dikirim supaya IC 8255 dapat berfungsi demikian, diberikan seperti pada gambar 72.

Gambar 71 Control Word pada IC 8255

Page 12: Teknik Interface (Perangkat Keras)

74

Gambar 72 Contoh Control Word untuk IC 8255

Kemudian program dapat dilanjutkan dengan melakukan pembacaan pada port A, misalnya, atau bisa juga memberikan output ke port B. Berikut ini contoh instruksi untuk melakukan pembacaan input dari port A.

MOV DX,300hIN AL,DX

Didalam program tersebut terlihat instruksi-instruksi IN dan OUT yang memegang peranan penting dalam pengiriman data ke dalam dan ke luar sistem komputer. Instruksi OUT DX,AL berarti mengirimkan data yang berada di register AL ke alamat port yang tersimpan di DX. Dan IN AL,DX berarti membaca data dari port yang alamatnya tersimpan di DX kemudian menyimpan data tersebut di register AL.

Ada 3 contoh rangkaian yang dibedakan pada rangkaian decodernya.1. Memakai decoder gerbang nand seperti pada gambar 73.

Secara singkat prinsip kerjanya adalah pertama-tama mikroprosesor mengirimkan alamat interface seperti pada gambar rangkaian dapat dirancang untuk alamat 300H, 310H, 308H dan 318H dengan mengkombinasikan switch yang terhubung ke pin Slot ISA pada A3 dan A4. Jika salah satu alamat tersebut dikirim oleh mikroprosesor maka IC 7430 akan aktif ‘0’ yang diumpankan ke CS dari IC 8255 untuk mengaktifkannya dan ke E dari IC 74LS245 untuk mengaktifkan IC ini. Sebagai contoh misalnya mikroprosesor ingin mengirimkan data ke Port A dari rangkaian interface. Misal memakai alamat 300H maka untuk mengakses Port A dikirimkan alamat 300H dengan sendirinya CS dari IC 8255 dan E dari IC 74LS245 aktif lalu

Page 13: Teknik Interface (Perangkat Keras)

75

mikroprosesor mengirimkan data misal 80H dan bersamaan dengan itu mengirimkan sinyal kontrol WR ke IC 8255 dan dengan sendirinya sinyal kontrol RD dalam kondisi logika ‘0’ maka pin DIR dari IC 74LS245 menerima logika ‘1’ yang artinya akan melewatkan dari 8-bit A ke 8-bit B. Begitu juga sebaliknya, jika membaca data di suatu port maka sinyal kontrol RD yang berlogika ‘0’ sehingga pin DIR berlogika ‘0’ yang artinya data dilewatkan dari 8-bit B ke 8-bit A.

1. Memakai decoder Nand Gate IC 74LS30

Gambar 73 Rangkaian interface dengan decoder nand

Page 14: Teknik Interface (Perangkat Keras)

76

Soal.1) Rancanglah rangkaian interface untuk alamat 30CH2) Rancanglah rangkaian interface untuk alamat 30CH atau

304H dengan memasang sebuah switch SPDT

2. memakai decoder IC 74LS138

Gambar 74 Rangkaian interface dengan decoder 74LS138

Page 15: Teknik Interface (Perangkat Keras)

77

Rangkaian ini beralamat 300H yang membuat output Y4 dari IC decoder 74LS138 berlogika ‘0’ karena A8 dari slot ISA dihubungkan ke input C dari IC 74LS138. Selain itu rangkaian interface dilengkapi dengan aplikasi led yang terhubung ke Port A dan switch yang terhubung ke Port B serta Port C tidak terhubung, seperti gambar 74. Maka dalam program inisialisasi Port A sebagai output, Port B sebagai input dan Port C bisa sebagai Input atau Output karena tidak terhubung ke suatu rangkaian aplikasi.

Soal.1) Rancanglah rangkaian interface untuk alamat 30CH.2) Rancanglah rangkaian interface untuk alamat 31CH.

3. Memakai decoder IC 74LS688 seperti pada gambar 75.Prinsip kerjanya adalah membandingkan input switch yang diset

secara hardware dengan membuat alamat yang akan dikirimkan oleh program sesuai alamat yang diset secara hardware. Misalnya, P0 s/d P7 diset menjadi 11100011 maka program dialamatkan ke Q0 s/d Q7 (A2 s/d A9) menjadi alamat 31CH sehingga alamat Port A = 31CH dan berturut-turut Port B = 31DH, Port C = 31EH dan Control Word = 31FH. Contoh program untuk rangkaian ini adalah, seperti listing program berikut dan hasil program–nya, diperlihatkan pada gambar 76. Program tersebut memakai rangkaian interface pada alamat 300H dengan semua port sebagai output yang terhubung ke led.

Soal.1) Rancanglah rangkaian interface untuk alamat 308H dan

rancanglah program aplikasi untuk switch dan led.2) Rancanglah rangkaian interface untuk alamat 318H dan

rancanglah program aplikasi untuk animasi led.

Page 16: Teknik Interface (Perangkat Keras)

78

Gambar 75 Rangkaian interface dengan decoder 74LS688

Listing Program animasi led:

;Program pergeseran

led ;dengan kontrol

call delay

mov al,11111000b

Page 17: Teknik Interface (Perangkat Keras)

79

lewat ;keyboard

pa equ 300h

pb equ 301h

pc equ 302h

cw equ 303h

time equ 200

jmp mulai

menu db 13,10,' Pilih'

db 13,10,' Tekan [R]'

db 13,10,' Tekan [S]'

db 13,10,' Tekan [ESC]'

db 13,10,'$'

mulai:

mov ah,09h

lea dx,menu

int 21h

kembali:

mov ah,0

int 16h

cmp al,1bh

je keluar

or al,20h

cmp al,'r'

jne kembali

mov al,80h

mov dx,cw

out dx,al

rcr al,1

call out

awal:

mov cx,8

kanan1:

shr al,1

call delay

call cek

call out

loop kanan1

mov cx,5

kiri0:

stc

rcl al,1

call delay

call cek

call out

loop kiri0

mov cx,8

kiri1:

shl al,1

call delay

call cek

call out

loop kiri1

mov cx,5

kanan0:

stc

Page 18: Teknik Interface (Perangkat Keras)

80

call delay

call cek

call out

loop kanan0

loop awal

keluar:

int 20h

out:

mov dx,pa

out dx,al

mov dx,pb

out dx,al

ret

delay:

push cx

mov cx,time

a: push cx

mov cx,1000h

b: loop b

pop cx

loop a

pop cx

ret

cek:

push ax

mov ah,6

mov dl,0ffh

int 21h

cmp al,27

keluar0: je keluar

or al,20h

cmp al,'s'

jne run

stop:

mov ah,6

mov dl,0ffh

int 21h

cmp al,27

je keluar0

or al,20h

cmp al,'r'

jne stop

run:

pop ax

ret

Page 19: Teknik Interface (Perangkat Keras)

81

Gambar 76 Tampilan program animasi pergeseran led

b.2.3 Port ParalelNama lain dari port paralel adalah port printer karena memang

dirancang untuk melayani pencetak paralel. Data port paralel 8-bit hanya dirancang untuk mengirim data (pencetak).

Nama-nama port parallel, seperti Tabel 6:– LPT1 dan LPT2 untuk port printer– LPT0 untuk video adapter

Tabel 6 Gambaran umum LPT

LPT0 LPT1 LPT2 Sifat Nama

$38C $378 $278 R/W Data port (DP), 8-bit

$38E $37A $27A R/W Printer control (PC), 4-bit

$38D $379 $279 R Printer Status (PS), 5 bit

PC (Printer control):a) Bit 0 : Strobe, sunsangb) Bit 1 : Autofeed, sunsangc) Bit 2 : Init, normald) Bit 3 : Select in, sunsange) Bit 4 s/d 7 : tidak dipakai

PS (Printer status):a. Bit 0 s/d 2 : Tidak dipakaib. Bit 3 : Error, normalc. Bit 4 : Select, normald. Bit 5 : Paper end, normal

Page 20: Teknik Interface (Perangkat Keras)

82

e. Bit 6 : Acknowledge (ACK), normalf. Bit 7: Busy, sunsang

Port paralel dapat difungsikan sama seperti IC 8255 untuk interfacing, tetapi setiap port-nya hanya dapat difungsikan sebagai input atau output saja, seperti penjelasan pin-pin pada Tabel 7.

Tabel 7 Fungsi dari 25 pin dari port paralel.

No. pin

Sinyal Arah Keterangan

1 PC-0 STROBE OUTDalam keadaan normal adalah high dan akan low apabila ada data masuk.

2 DP-0 DATA1 OUT

Sinyal-sinyal ini menjelaskan informasi dari bit ke-1 sampai ke-8 dari data paralel, adalah high atau low.

3 DP-1 DATA2 OUT4 DP-2 DATA3 OUT5 DP-3 DATA4 OUT6 DP-4 DATA5 OUT7 DP-5 DATA6 OUT8 DP-6 DATA7 OUT9 DP-7 DATA8 OUT

10 PS-6 ACKNLG INAkan low yang menandakan data telah diterima dan siap untuk menerima data selanjutnya.

11 PS-7 BUSY INAkan high yang menandakan bahwa printer tidak bisa menerima data karena printer sedang beroperasi.

12 PS-5 PE INAkan high yang menunjukkan bahwa printer butuh kertas.

13 PS-4 SLCT INSinyal yang menunjukkan bahwa printer adalah dalam status select.

14 PC-1AUTO

FEED XTOUT

Dijadikan low agar supaya printer mempunyai suatu kecepatan tertentu setelah mem-print.

15PS-3 ERROR IN Menjadi low bila printer butuh

kertas/error

16PC-2 INIT OUT Akan low untuk mereset buffer

printer

17 PC-3 SLCT IN OUTData akan masuk ke printer hanya bila sinyal ini dalam keadaan low.

18-25

GND - Level Gnd

Page 21: Teknik Interface (Perangkat Keras)

83

Port paralel sama halnya dengan printer, hanya memanfaatkan port data (DP/Data Port) 8-bit yaitu DP0 s/d DP7 sebagai output, Port Control (PC/Printer Control) 4-bit yaitu PC0 s/d PC3 sebagai output dan Port Status (PS/Printer Status) 5-bit (PS3 s/d PS7) sebagai input yang berturut-turut LPT1 dengan alamat 378h, 379h, dan 37Ah. Untuk menguji data yang dikeluarkan sebagai data ke printer maka harus dilakukan komunikasi PS dan PC seperti pada gambar 77.

Gambar 77 Plug uji untuk uji LPT

Contoh rangkaian mengirim dan menerima data dari/ke port

printer, diperlihatkan pada gambar 78, 79 dan, 80.

Gambar 78 Contoh rangkaian aplikasi Port 378H

Page 22: Teknik Interface (Perangkat Keras)

84

Gambar 79 Contoh rangkaian aplikasi Port 379H

Gambar 80 Contoh rangkaian aplikasi Port 37AH

Page 23: Teknik Interface (Perangkat Keras)

85

Contoh program :Program dirancang memakai bahasa tingkat tinggi yaitu Visual

Basic (VB). VB tidak bisa mengakses hardware secara langsung sehingga digunakan file io.dll yang dikopikan ke system32. Pada VB digunakan modul sebagai berikut :Public Declare Sub PortOut Lib "io.dll" (ByVal Port As Integer, ByVal Value As Byte)Public Declare Function PortIn Lib "io.dll" (ByVal Port As Integer) As Byte

a) Menggunakan Port 378H

Listing program :

Dim i, data As Integer

Private Sub running_Click()Timer1.Enabled = TrueEnd Sub

Private Sub Form_Load()i = 0Timer1.Enabled = FalseEnd Sub

Private Sub Timer1_Timer() Call PortOut(&H378, data) data = 2 ^ i i = i + 1 If i > 7 Then i = 0 End Sub

Page 24: Teknik Interface (Perangkat Keras)

86

b) Menggunakan Port 379H

Listing Program :

Dim data, data7, data3456 As Integer

Private Sub baca_Click()data = PortIn(&H379)data = data And &HF8data3456 = data And &H78data7 = data And &H80data7 = Not data7data7 = data7 And &H80data = data7 Or data3456Text1.Text = Int(data)End Sub

Private Sub hapus_Click()Text1.Text = ""End Sub

Private Sub exit_Click()Unload MeEnd Sub

Page 25: Teknik Interface (Perangkat Keras)

87

c) Menggunakan Port 37AH

Listing Program :

Dim data, d24567, d013 As Integer

Private Sub tulis_Click()data = Val(Text1.Text)data = data And &HFd24567 = data And &H4d013 = data And &HBd013 = Not d013d013 = d013 And &HBdata = d24567 Or d013Call PortOut(&H37A, data)End Sub

Soal.1) Rancanglah rangkaian dan program aplikasi counter 00 s/d 255

dengan display ke 8-bit led.2) Rancanglah rangkaian dan program aplikasi counter 00 s/d 255

dengan display ke 8-bit led dan setting counter dimulai dari input keypad 2x2.

Page 26: Teknik Interface (Perangkat Keras)

88

b.2.4 Port SerialPort serial dikenal juga sebagai port RS-232, dengan

kekurangan dibanding port paralel adalah transmisi data kecepatan rendah karena data dikirimkan satu bit dalam suatu waktu, seperti gambar 81. Kecepatan transfer data dinyatakan dalam baudrate atau bitpersecond (bps). Adapun penjelasan konfigurasi pin-pin port serial, seperti Tabel 8 dan konektor port serial DB 9, seperti pada gambar 82 .

Gambar 81 Blok diagram komunikasi lewat port Serial

Tabel 8 Konfigurasi pin-pin port RS-232

Pin DB-9 Pin DB-25 Nama Deskripsi

3 2 TD Transmit Data

2 3 RD Receive Data

7 4 RTS Request To Send

8 5 CTS Clear To Send

6 6 DSR Data Set Ready

4 20 DTRData Terminal

Ready

Page 27: Teknik Interface (Perangkat Keras)

89

1 8 DCDData Carrier

Detect

9 22 RI Ring Indicator

5 7 GND Signal Ground

a) Data Carrier Detect/ Received Line Signal Detect (DCD): DCE memberitahu DTE ada data masuk di terminal masukan

b) Receive Data (RxD): digunakan DTE menerima data dari DCEc) Transmit Data (TxD): digunakan DTE mengirim data ke DCEd) Data Terminal Ready (DTR): DTE memberitahu kesiapan

terminalnya.e) Signal Ground: saluran Groundf) Ring Indikator (RI): DCE memberitahu ke DTE bahwa sebuah

stasiun menghendaki hubungan dengannya.g) Clear to Send (CTS): DCE memberitahu bahwa DTE boleh mulai

mengirim data.h) Request To Send (RTS): DCE diminta mengirim data oleh DTE.i) DCE Ready (DSR): Sinyal aktif pada saluran ini menunjukkan

bahw DCE sudah siap.

Gambar 82 Konektor Serial DB-9 bagian belakang CPU

Port serial membutuhkan Sinkronisasi pada transmisi data agar data yang dikirimkan dapat diterima dengan benar. Setiap byte yang dikirimkan diberi bit tambahan yaitu 1 bit start dan 1 sampai 2 bit stop. Kadang diperlukan juga bit parity yang menyatakan apakah data yang dikirimkan memiliki bit 1 genap atau ganjil untuk keperluan sinkronisasi. Bit tambahan ini bersifat opsional, tergantung pada

Page 28: Teknik Interface (Perangkat Keras)

90

setting port tersebut. Aplikasi wireless: contoh, komputer dengan telepon seluler (Bluetooth). Dan dengan kabel data: contoh, telepon seluler dengan port serial pada komputer.

Kecepatan transfer data pada RS232 dinyatakan dalam baudrate (bps) dimana baudrate menyatakan banyaknya bit yang dapat ditransfer dalam 1 detik. Baudrate terendah RS232 adalah 110 bps. Baik pengirim maupun penerima data harus mempunyai konfigurasi RS232 yang sama agar transfer data dapat berjalan dengan baik. Pengiriman data dilakukan dengan mengirimkan bit LSB terlebih dahulu dan data terakhir merupakan bit MSB. Gambar timing diagram sinyal asinkron untuk pengiriman data 01010011 tanpa bit paritas, 8 bit data dan stop bit sebesar 1 bit dapat dilihat pada gambar 83 dibawah ini.

11(LSB)

0 0 1 0 1 0 (MSB)

Stop bitStartbit

Kondisi idle

Logic 0(+5 - +25V)

1/ baudrate

Logic 1(-5 - -25V)

Gambar 83 Timing Diagram Sinyal Data pada Port Serial

Contoh:

Spesifikasi port serial untuk hubungan PC dengan HPa. Port : COM1b. Baudrate : 19200 bpsc. Data bit : 8 bitd. Parity Bits : None (tidak ada)e. Stop bit : 1 bitf. Flow Control : None (tidak ada)

Level tegangan antara RS 232 tidak sama dengan level tegangan telepon seluler yang memiliki level tegangan TTL. Oleh karena itu komunikasi antara komputer dengan telepon seluler memerlukan antar muka. Sebuah rangkaian transceiver digunakan untuk menyamakan level tegangan antara RS 232 dengan level tegangan TTL yang dimiliki oleh telepon seluler. Sebuah rangkaian transceiver digunakan untuk menyamakan level tegangan antara RS

Page 29: Teknik Interface (Perangkat Keras)

91

232 dengan level tegangan TTL yang dimiliki oleh telepon seluler. Rangkaian ini menggunakan IC MAX 232, seperti gambar 84 dan contoh form pengaturan setting program, seperti pada gambar 85.

Gambar 84 Rangkaian Transceiver RS 232

Page 30: Teknik Interface (Perangkat Keras)

92

Gambar 85 form pengaturan setting program

b.2.5 PIT 8253 (Programmable Interrupt Timer)Kebanyakan Komputer menggunakan PIT untuk waktu tunda

(time delay) karena hasilnya sangat akurat dan dapat diprogram dengan software. Adapun konfigurasi pin-pin PIT, seperti pada gambar 86.Ada 2 Fungsi PIT:

a. Pembagi frekuensib. Monostabil Multivibrator

PIT Memiliki 3 buah counter internal ynag msing-masing, mempunyai: 1. 1 input clock2. 1 gate pengendali3. 1 output

Gambar 86 Konfigurasi pin-pin PIT 8253

Fungsi pin-pin PIT 8253:a) D7 – D0 : data busb) RD : Proses pembacaan, Aktif lowc) WR : Proses penulisan, aktif lowd) A0 – A1 :

A0 A1

0 0 Access counter 0

0 1 Access counter 1

1 0 Access counter 2

1 1 Access reg. control

CS : chip select

Page 31: Teknik Interface (Perangkat Keras)

93

Inisialisasi: (8-bit)Setiap counter harus diinisialisasi secara terpisah

Control word

D7 D6 D5 D4 D3 D2 D1 D0

SC1 SC0 RW1 RW0 M2 M1 M0 BCD

a. SC – Select Counter (D7-D6)

SC1 SC0

0 0 Select Counter 0

0 1 Select Counter 1

1 0 Select Counter 2

1 1 Read Back

Read Back:melihat status counter setelah inisialisasi tapi hanya terdapat

pada PIT 8254.

b. RW – Read/Write (D5-D4):Metoda pembacaan data oleh counter.

RW1 RW0

0 0 Counter Latch

0 1 R/W LSB Only

1 0 R/W MSB Only

1 1 R/W LSB then MSB

Counter latch:digunakan bersamaan dengan fasilitas read back

pada PIT 8254.c. M – Mode (D3-D1):

Mode 3 adalah:

Page 32: Teknik Interface (Perangkat Keras)

94

1. sebagai pembagi frekuensi terprogram.2. Lebih sederhana dan memiliki penerapan yang luas.

M2 M1 M0

0 0 0 Mode 0 - Interrupt on terminal counter

0 0 1 Mode 1 – Hardware one shot

X 1 0 Mode 2 – Pulse Generator

X 1 1 Mode 3 – Square Wave Generator

1 0 0 Mode 4 – Software Triggered Strobe

1 0 1 Mode 5 – Hardware Triggered Strobe

d. BCD (D0):

D0

0 Binary Counter : 00 s/d FF

1 Decimal Counter : 00 s/d 99

Contoh soal:

Diket:Sebuah PIT 8253 memperoleh masukan clock dengan

frekuensi sebesar 1,19 MHz di semua counter. Diperlukan keluaran dengan frekuensi sebesar 47,6 khz pada counter 0.

Penyelesaian:Counter 0 harus diinisialisasi sebagai pembagi frekuensi

dengan nilai pembagian sebesar 1,19 MHz : 47,6 khz = 25.Maka komposisi control word atau data inisialisasi:

00 01 111 1 = 1FhSehingga program inisialisasinya:;mengirim control word

mov dx,address_register_kontrolmov al,1Fhout dx,al

; mengirim nilai pembagi frekuensi mov dx,address_counter_0

Page 33: Teknik Interface (Perangkat Keras)

95

mov al,25hout dx,al

Setelah program di-execute maka counter 0 akan mengeluarkan clock dengan frekuensi 47,6 khz.

Soal:a) Diperlukan sebuah sinyal keluaran pada counter 1 pada PIT

8253. Sinyal keluaran yang diperlukan memiliki frekuensi 950 hz.b) Buatlah program inisialisasinya.

b.2.6 PIC 8259 (Programmable Interrupt Controller)Ada 2 cara melayani sinyal trigger dari piranti luar:

Interupsi:subrutin dijalankan jika ada trigger dari luar piranti

Polling:μP menanyakan pada piranti-piranti luar, secara bergilir,

apakah ada tugas. Ada 2 macam interupsi:

• Software: (contoh Int 65h)– Digunakan untuk melayani kondisi tertentu

pada software yang sedang berjalan.• Hardware:

– Digunakan untuk melayani trigger dari luar.PIC 8259 mempunyai 8 masukan interupsi yaitu: IRQ0 sampai

dengan IRQ7, seperti diperlihatkan pada konfigurasi pin-pin gambar 87 dan prioritas interrupt, seperti pada tabel 9.

Gambar 87 Konfigurasi pin-pin PIC 8259

Tabel 9 masukan interupsi 8259

Page 34: Teknik Interface (Perangkat Keras)

96

Request Interrupt Prioritas

IRQ 0 Type 8 Timer Tertinggi

IRQ 1 Type 9 Keyboard Ke-2

IRQ 2 Type A Kosong Cadang AT

IRQ 3 Type B Komunikasi serial ke-2 Ke-4

IRQ 4 Type C Komunikasi serial ke-1 Ke-5

IRQ 5 Type D Fixed Disk Ke-6

IRQ 6 Type E Disk Drive Ke-7

IRQ 7 Type F Printer Terendah

PIC 8259 mempunyai 4 register:a) Interrupt Request Register (IRR):

– 8-bit data internal yang setiap bitnya mewakili masing-masing IRQ#.

b) Priority Resolver (PR):– Menentukan prioritas bagi setiap bit IRQ yang ada.

c) In Service Register (ISR):– Menyimpan data IRQ# yang sedang dilayani

permintaannya.d) Interrupt Mask Register (IMR):

– Menyimpan data IRQ# yang di-mask (non-aktif) dan unmask (aktif)

Fungsi pin-pin PIC 8259:1. D7 – D0 : data bus2. RD : Proses pembacaan, Aktif low3. WR : Proses penulisan, aktif low4. A0 :

A0 Address

0 20h

1 21h

Page 35: Teknik Interface (Perangkat Keras)

97

5. CS : chip select6. CAS0-CAS2: perluasan PIC

Inisialisasi: Ada 2 data inisialisasi yaitu ICW dan OCW.

1. Initialization Control Word (ICW):menyiapkan piranti agar dapat menerima satu interrupt

atau lebih.a) ICW1:

A0 D7 D6 D5 D4 D3 D2 D1 D0

0 A7 A6 A5 1 LTIM ADI SNGL IC4

1. A0 : alamat internal tujuan pengiriman ICW12. D7-D5: untuk sistem µP 80853. D4: harus diberi logika 14. D3 = 0, melayani permintaan interrupt jika IRQ# berubah

dari 0 ke 1.5. D2 = 0, karena tidak dipakai di µP 80886. D1 : 0 bila beroperai dalam perluasan7. D1 = 1 karena µP 8088 perlu ICW4

b) ICW2:Nomor tipe interupsi, misalkan. ICW2 diberi nomor tipe 8h maka IRQ0 = 8h dan lalu IRQ1=9h dan seterusnya.

A0 D7 D6 D5 D4 D3 D2 D1 D0

1 T7 T6 T5 T4 T3 T2 T1 T0

1).A0 =1, alamat ICW2.2).D7 – D0 : diisi data tipe interupsi IRQ0.

c) ICW3:Mode kaskade, kalau PIC dalam operasi single, ICW3 ini tidak digunakan.

d) ICW4:

A0 D7 D6 D5 D4 D3 D2 D1 D0

1 0 0 0 SFNM BUF M/S AEOI μPM

Page 36: Teknik Interface (Perangkat Keras)

98

Contoh

Dengan ICW diatas maka program inisialisasinya yaitu:

mov dx,20Hmov al,13hout dx,al ;mengirim ICW1

mov dx,21Hmov al,08hout dx,al ;mengirim ICW2

mov al,1hout dx,al ;mengirim ICW4


Recommended