MIKROPROSESSOR 8088
Mikroprosesor 8088 adalah mikroprosesor yang mempunyai
dua pilihan operasi yaitu dalam sistem minimum atau sistem maksimum. Perbedaan
utama dalam dua pilihan ini adalah mikroprosesor pada sistem minimum tidak
menggunakan IC co-processor 8087 dan sebaliknya mikroprosesor pada sistem
maksimum memakai IC co-processor 8087. Sistem minimum 8088 selain perangkat
hardware juga memerlukan perangkat software
untuk menjalankan sejumlah instruktur program dan data.
Mikroprosesor
8088 merupakan prosesor dengan register internal 16 bit yang dapat menangani
peripheral 8 bit. Pada saat mikroprosesor 8088 diproduksi dengan kemampuan
peripheral 8 bit dan sesuai kebutuhan pasar industri saat itu yang baru
membutuhkan peripheral 8 bit sehingga mikroprosesor 8088 lebih dikenal daripada
mikroproses 8086.
Mikroprosessor
8088 maupun 8086 mempunyai kelebihan dibandingkan prosesor lainnya seperti
Zilog, Motorola dan lain-lain karena memiliki instruksi transfer data yang jauh
lebih lengkap dan dapat mengakses memori
sebesar 1 Mega byte. Selain itu, setiap instruksi pada 8088 dapat dilaksanakan
pada 8086 dan sampai mikroprosesor saat ini yang banyak dipakai di PC yang
berstandardkan prosesor Intel tanpa ada perubahan sama sekali.
Adapun perangkat sistem minimum 8088 yaitu:
a. Unit CPU ( Central Processing Unit
) yaitu tempat pengolahan data berupa operasi logika maupun operasi arithmatik
yang dilakukan dalam register-register 16
bit, antara lain register dasar AX,B X, CX, DX; register Pinter dan Index SI,
DI, SP,BP; Register Segment CS, DS, SE, SS dan Register Flag IP. Rangkaian
mikroprosesor 8088 dilengkapi dengan:
a.
IC 8284 yang merupakan Generator Sinyal Persegi dan
rangkaian kristal serta rangkaian Reset.
b.
Rangkaian Buffer menggunakan IC 74LS240 yang
berfungsi menaikkan Fan-out bus data receiver maupun transmiter untuk dibebani
ke rangkaian aplikasi atau slot-slot pengembangan.
c.
Rangkaian Latch menggunakan IC 74LS373 yang berfungsi untuk menahan bit-bit address A7 –
A0 yang multipleks dengan data.
d.
Rangkaian dekoder untuk sinyal kontrol RD &
WR menggunakan IC 74LS138 yang menghasilkan sinyal kontrol memori MEMR &
MEMW dan sinyal kontrol I-O IOR & IOW.
b. Unit Memori (RAM dan ROM) yaitu ROM 2716,
2732, 2764 atau 27128 digunakan sebagai tempat penyimpanan data /
program secara permanan dan RAM 6116 6232, 6264, atau 62128 digunakan
sebagai tempat penyimpanan data sementara selama CPU tidak diReset atau
tegangan supply tidak putus. Untuk saat ini, ROM bersifat EEPROM yaitu data /
program dapat ditulis dan dihapus dengan memberikan suatu tegangan tertentu ke
IC tersebut. Unit memori dilengkapi dengan rangkaian dekoder IC 74LS139 atau 74LS138 untuk menghasilkan sinyal kontrol
CS (chip select) bagi RAM dan ROM.
c. Unit Input Output (PPI 8255, PIT 8253, PIC 8259 maupun AD/DA Converter)
yaitu digunakan mikroprosesor untuk dapat berhubungan dengan peripheral luar
seperti switch, keypad, 7-segment,
Dot-matrik, LCD, motor DC dan lain-lain. Unit I-O dilengkapi dengan
rangkaian dekoder IC 74LS139 atau 74LS138 untuk menghasilkan
sinyal kontrol CS (chip select) I/O.
Sedangkan perangkat lunak (software) adalah berupa program yang terdiri
dari instruksi dan data. Untuk mikroprosesor 8088 menggunakan program assembler
8088 versi DOS atau dapat menggunakan versi baru yaitu versi windows simulator
asm86.
Aplikasi utama sistem minimum 8088 yang akan dibahas di buku ini adalah
kontrol suhu ruangan menggunakan
komponen aplikasi seperti sensor suhu dengan display dot-matrik disamping
komponen yang sudah dibahas di buku teknik Interface
Adapun diagram blok sistem minimum mikroprosesor 8088 adalah seperti gambar
1. Dari gambar 1 terlihat bahwa kapasitas memori maksimum adalah 1 Mbyte atau
dapat dihitung dari kombinasi pin address sejumlah 20 bit (A0 s/d A19).
2. BAB II Memori dan I/O [kembali]
2.1 RAM (Random Acces Memory)
RAM adalah memori tempat penyimpanan data dan atau program
untuk sementara waktu. Ada 2 macam RAM yaitu : RAM statis dan RAM dinamis. RAM
statis mempunyai keuntungan dalam hal kemudahan pengoperasiannya karena tidak diperlukan
refresh Row Address Strobe (RAS) dan Colom Address Strobe (CAS). Sedangkan kerugiannya
adalah ukuran bit yang besar dan wakru access yang relatif lebih lama dibandingkan
dengan RAM Dinamis. Apabila diperlukan memori RAM yang cukup kecil seperti
dalam rangkaian sistem minimum di buku
ini maka pemakaian RAM statis akan lebih menguntungkan karena tanpa menggunakan
RAM Controller seperti pada RAM Dinamis. Untuk selanjutnya RAM statis disebut saja
dengan RAM.
RAM 6116 yang dipakai didalam sistem minimum mempunyai pin
CS (Chip Select) untuk mengaktifkan IC tersebut, pin OE (Output Enable) sebagai
pin sinyal kontrol RD untuk membaca data dan pin WE (Write Enable) sebagai pin
sinyal kontrol WR untuk menulis data seperti gambar 2. Selain itu, terdapat pin-pin untuk addresing A0-A10, pin
data D0-D7 untuk masukan dan keluaran data 8 bit. Sisa bus address mulai
A11-A19 dipergunakan untuk rangkaian decoding bagi RAM yang bersangkutan.
Gambar 2 Pin-pin IC RAM
6116
Kombinasi dari ketiga pin-pin tersebut dapat dilihat
fungsinya seperti pada tabel 1.
Tabel 1 Fungsi pin-pin CS, OE dan WE pada RAM 6116
-CS
|
-OE
|
-WE
|
Mode
|
Pin–pin I-O
|
1
|
X
|
X
|
Non aktif
|
High Z
|
0
|
0
|
1
|
Read
|
Out
|
0
|
1
|
0
|
Write
|
In
|
Dari tabel fungsi diatas dapat dilihat bahwa pin CS
memegang peranan utama dalam kerja RAM statis 6116. Bila pin Chip Select aktif
low maka operasi read dan write dapat dilaksanakan. Untuk mengaktifkan pin CS
dapat diberikan input low dari output decoding I-O.
Urutan langkah-langkah yang dilaksanakan mikroprosessor dalam
melaksanakan instruksi read atau write pada
RAM adalah sebagai berikut:
a. Address dari memori yang akan dituju diload oleh mikroprosesor ke bus
address setelah terdapat sinyal ALE.
b. Chip Select yang dari RAM yang dituju akan aktif low sehingga RAM
me-input-kan address dari bus address misalnya A0-A10 seperti pada RAM 6116.
c. Kemudian mikroprosessor mengirim sinyal kontrol RD atau WR pada RAM.
d. RAM melakukan pernbacaan atau penulisan sesuai dengan kombinasi sinyal
control yang diterima seperti tabel 1 diatas.
Soal:
1. Carilah jenis dan kapasitas memori RAM serta penjelasan pin-pin kontrol
–CS, -OE, dan -WE.
2.2 ROM (Read OnIy Memory)
ROM adalah salah satu jenis memori yang hanya dapat
dibaca saja isinya dengan instruksi-instruksi bahasa mesin. Perbedaan utama ROM
dengan RAM adalah bahwa data di ROM tidak akan terhapus walaupun tegangan supply
terputus dari rangkaian. Untuk saat ini sudah banyak ROM yang memanfaatkan IC
EEPROM yang bisa ditulis dan dihapus datanya hanya dengan memberikan tegangan
tententu.
Untuk ROM jenis EPROM seperti 27128 mempunyai empat pin
kontrol yaitu: pin OE, pin CE, pin PGM dan pin VPP seperti gambar 3.
Kombinasi dari keempat pin kontol tersebut dapat dilihat
pada tabel 2.
Tabel 2 Fungsi pin-pin CE, OE, PGM dan VPP pada ROM 27128
-CE
|
-OE
|
PGM
|
VPP
|
Mode
|
Pin-pin
I-O
|
0
|
0
|
1
|
Vcc
|
Read
|
D-out
|
1
|
X
|
X
|
Vcc
|
Program
|
High Z
|
0
|
X
|
0
|
Vpp
|
Program Verify
|
D-in
|
1
|
X
|
X
|
Vpp
|
Program Inhibit
|
High Z
|
Gambar 3 Pin-pin IC ROM
27128
Pin CE berfungsi untuk mengaktifkan rangkaian buffer I-O
yang terdapat didalam EPROM 27128. Sedangkan pin OE yang berfungsi sebagai
strobe untuk data out dari EPROM. Dan pin PGM dan pin VPP berfungsi pada saat EPROM
sedang diprogram atau diisi dengan EPROM Writer.
Pin PGM akan dibuat 0 dan pin VPP diberi tegangan sesuai
dengan jenis EPROM yang dipakai. Untuk EPROM 27128A besamya VPP adalah 12,5
Volt. Setelah selesai dengan pengisian EPROM maka didalam rangkaian sistem minimum
pin PGM dan pin VPP dihubungkan ke tegangan catu 5 volt.
Urutan langkah-langkah yang dilaksanakan mikroprosesor dalam
melaksanakan instruksi read pada ROM adalah sebagai berikut:
a. Address dari memori yang dituju diload ke bus addresss setelah ada sinyal ALE.
b. Chip Select yang dari EPROM yang dituju akan aktif low sehingga EPROM meng-input-kan
address dari bus address misalnya A0-Al3 seperti pada EPROM 27128.
c. Kemudian mikroprosessor mengirim sinyal RD pada EPROM.
d. EPROM mengalami pembacaan atau data dikirim ke mikroprosesor.
Soal:
2. Carilah jenis dan kapasitas memori ROM serta penjelasan pin-pin kontrol
pin-pin -CE, -OE, -PGM dan VPP
2.3 Input-Output (I/O)
Penjelasan
IC I/O seperti PPI 8255, PIT 8253, PIC 8259 dan ADDA Converter dapat dilihat
pada buku teknik Interface. Adapun tambahan penjelasan tentang teori PPI 8255
adalah masalah mode operasi seperti penjelasan berikut.
Register-register PPl 8255
PPI 8255 mempunyai empat register yaitu Register Port A,
Port B, Port C dan Control Word. Masing-masing register bekerja ditentukan oleh
kombinasi A1 dan A0. Lokasi dan fungsi masing-masing register dapat dilihat
pada tabel 3.
Tabel 3 Lokasi dan
fungsi register PPI 8255
8255 Basic Operations
|
|||||
A1
|
A0
|
-RD
|
-WR
|
-CS
|
Input Operation (READ)
|
0
0
1
|
0
1
0
|
0
0
0
|
1
1
1
|
0
0
0
|
Port A – data bus
Port A – data bus
Port A – data bus
|
Output Operation (WRITE)
|
|||||
0
0
1
1
|
0
1
0
1
|
1
1
1
1
|
0
0
0
0
|
0
0
0
0
|
Data bus - Port A
Data bus - Port A
Data bus - Port A
Data bus - Control
|
Disable Function
|
|||||
X
1
X
|
X
1
X
|
X
0
1
|
X
1
1
|
1
0
0
|
Data bus – 3-State
Illegal Condition
Data bus – 3-State
|
Mode operasi PPI
Ada 3 mode operasi PPI yang di-setting melalui software
yaitu:
a.
Mode 0 (Basic I/O)
Digunakan untuk konfigurasi operasi-operasi sederhana I/O
untuk ketiga port (A, B dan C). Tidak ada sinyal handshaking yang dikirim
maupun diterima sehingga data secara sederhana dikirim dan diterima dari/ke
port seperti diagram blok gambar 4.
Gambar 4 diagram blok
mode 0
Mode 0 dapat dilakukan untuk semua port dan masing-masing
port dapat dipilih sebagai port input atau output. Port
output dari PPI akan dilatch sedangkan port input tidak dilatch.
Timing diagram untuk melakukan instruksi read dan write
pada operasi mode 0 seperti gambar 5.
(a). Basic input
(b). Basic output
Gambar 5 Timing diagram untuk operasi mode 0
Soal:
3. Buatlah rangkaian aplikasi led dan switch untuk mode 0 yang terhubung ke
PPI 8255 dan buatlah program aplikasinya seperti kondisi switch ditampilkan di
led.
4. Sama seperti soal no.3 tetapi untuk program led berjalan.
b.
Mode 1 (Strobe I/O)
Digunakan untuk konfigurasi operasi-operasi I/O dari / ke
port tertentu yang dilengkapi dengan sinyal handshaking. Port A dan port B
digunakan sebagai transfer data sedangkan port C sebagai pembangkit sinyal handshaking.
Mode 1 terdiri dari 2 group (kelompok) yaitu port A dan
port B yang masing-masing kelompok terdiri dari 8 bit data port dan 4 bit
control port. Masing-masing kelompok dapat dipilih sebagai input atau
output serta masing-masing data port 8 bit akan dilatch
baik sebagai input maupun output. Empat bit port Clower dan Cupper
dipakai sebagai pengatur dan status bagi 8 bit port (port A dan Port B).
Sinyal Control Input
Pada mode 1 input terdapat sinyal-sinyal kontrol pada pin-pin STB, IBF dan INTR
yang dapat dilihat pada gambar 6a.
a. Sinyal input pin STB (Strobe input) aktif ‘0’ akan menyebabkan data input di
port A dan atau input di port B masuk ke input latch PPI.
b. Sinyal output pin IBF (Input Buffer Full FF) aktif ‘1’ sebagai tanda apabila
data port input telah masuk ke input latch PPI. Dengan kata lain sinyal otput pin
IBF akan diset ‘1’ oleh input pin STB ‘0’ dan sinyal output pin IBF akan direset
‘0’ oleh tepi naik dari sinyal masukan pin RD.
c. Sinyal output pin INTR (Interrupt Request) aktif ‘1’ dapat dipakai untuk menginterrupt
CPU dengan menghubungkan ke pin input INTR dari mikroprosessor. Sinyal ouput
pin INTR ini akan di set ‘1’ apabila sinyal input STB keadaan ‘1’, sinyal input
pin IBF keadaan ‘1’ dan sinyal INTE keadaan ‘1’ seperti terlihat pada gambar 6b.
Sinyal INTR akan reset segera setelah sinyal RD mulai low.
d. Sinyal INTE A dikontrol oleh bit set/reset dari PC4 dan INTE B dikontrol oleh
bit set/reset dari PC2. Sinyal INTE A dan B dihasilkan oleh register yang
berada didalam PPI.
e. PC7 dan PC6 adalah pin-pin I/O yang dapat digunakan untuk tujuan apapun.
Gambar 6 Operasi mode
1 input
Contoh program untuk mode 1 input
; Program membaca data di Port A dan disimpan di reg. AL
Porta equ 60h
Portb equ 61h
Portc equ 62h
CW equ 63h
Bit5 equ 20h
Read proc near
In al,Portc ;
ambil IBF
Test al,Bit5 ;
tes IBF
Jz Read ; jika
IBF = 0
In al, Porta ;
baca data di Port A
Ret
Read endp
Soal:
5. Buatlah rangkaian aplikasi led dan switch untuk mode 1 input yang terhubung
ke PPI 8255 dan buatlah program aplikasinya seperti kondisi switch ditampilkan
di led. Rangkaian untuk pengkondisian sinyal kontrol di Port C, jika input
dihubungkan ke switch dan jika output dihubungkan ke led
6. Sama seperti soal no.3 tetapi untuk program led berjalan.
Sinyal kontrol Output
Pada mode 1 output terdapat sinyal-sinyal kontrol pada pin-pin OBF, ACK dan
INTR yang dapat dilihat pada gambar 7a.
a. Sinyal output pin OBF (Output Buffer Full FF) aktif ‘0’ yang berarti CPU
sedang menulis data ke salah satu port tertentu. Sinyal OBF ini akan di set ‘1’
ketika pulsa –ACK kembali ke piranti eksternal.
b. Sinyal input pin ACK (Acknowlegde Input) aktif ‘0’ dari CPU dipakai untuk memberitahu
PPI bahwa data dari port A atau port B telah diterima oleh CPU.
c. Sinyal output pin INTR aktif ‘1’ dapat dipakai untuk memberitahu CPU bahwa data
yang dikirim telah diterima oleh peripheral yang bersangkutan. Sinyal INTR ini akan
set ‘1’ bilamana sinyal input ACK keadaan ‘1’. Apabila sinyal WR bertransisi dari
‘1’ ke 0 maka sinyal INTR akan reset ‘0’ .
d. Sinyal INTE A dikontrol oleh bit set/reset PC6 dan sinyal INTE B dikontrol oleh
bit set/reset PC2.
Gambar 7 Operasi
mode 1 output
Contoh program untuk mode 1 output
; Program mengirimkan karakter kode ASCII di reg. AH ke Printer
; lewat port B
Porta equ 60h
Portb equ 61h
Portc equ 62h
CW equ 63h
Bit1 equ 2
Print proc near
In al,Portc ;
ambil OBF
Test al,Bit1 ;
tes OBF
Jz Print ;
jika OBF = 0
Mov al,ah ;
ambil data di reg. AH
Out Portb,al ; kirim ke Portb
Mov al,8 ;
hapus sinyal DS
Out CW,al
Mov al,9 ;
set sinyal DS
Out CW,al
Ret
Print endp
Soal:
7. Buatlah rangkaian aplikasi led dan switch untuk mode 1 output yang
terhubung ke PPI 8255 dan buatlah program aplikasinya seperti kondisi switch
ditampilkan di led. Rangkaian untuk pengkondisian sinyal kontrol di Port C,
jika input dihubungkan ke switch dan jika output dihubungkan ke led
8. Sama seperti soal no.3 tetapi untuk program led berjalan.
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.
Pemakaian mode 2 hanya dapat dilakukan pada group A yang
terdiri dari 8 bit bidirectional bus port A dengan input maupun output dilatch dan
5-bit control port C digunakan untuk kontrol dan status seperti gambar 8.
Gambar 8 Operasi mode 2
Pada gambar l5a ditunjukkan susunan control word untuk
operasi mode 2 dan fungsi pin-pin dari PPI 8255 mode 2 serta pada gambar 15b ditunjukkan
diagram basic timing mode 2. Sinyal control output interrupt request (INTR)
aktif ‘1’ dipakai untuk menginterrupt kerja CPU pada saat operasi input atau output.
Operasi-operasi input-output
a. Sinyal output INTR dipakai untuk menginterrupt mikroprosesor untuk keadaan
input dan output.
b. Sinyal output -OBF (Output Buffer Full) aktif ‘0’ yang menandakan bahwa CPU
sedang menulis data ke port A.
c. Sinyal input -ACK aktif ‘0’ yang mengijinkan buffer output port A mengirim
data keluar. Selain dari kondisi ini maka buffer output akan selalu pada
keadaan high impedansi.
d. Sinyal input -STB (Strobe Input) aktif ‘0’ akan mengirimkan data ke input
latch.
e. Sinyal output IBF aktif ‘1’ yang menandakan bahwa data telah dikirimkan ke
input latch.
f. Sinyal INTE (INTE1 dan INTE2) yang memfungsikan pin INTR. Keadaan pin INTR dikontrol
oleh bit port PC6 (INTE1) dan PC4 (INTE2).
g. Pin-pin PC2, PC1 dan PC0 dapat digunakan sebagai I/O biasa.
Contoh:
1. program mengirim isi reg. AH ke port bidireksional A
Porta equ 60h
Portb equ 61h
Portc equ 62h
CW equ 63h
Bit7 equ 80h
Trans Proc near
In al,Portc ;ambil
OBF
Test al,Bit7 ;
tes OBF
Jz Trans ;jika
OBF ‘1’
Mov al,ah ;
ambil data di reg AH
Out Porta,al ; kirim ke Port A
ret
Trans Endp
2. program membaca data dari Port bidireksional A dan disimpan di reg. AL
Porta equ 60h
Portb equ 61h
Portc equ 62h
CW equ 63h
Bit5 equ 20h
Read Proc near
In al,Portc ;
ambil IBF
Test al,Bit5 ;
tes IBF
Jz Read ; jika
IBF = 0
In al,Porta ;
ambil data dari Port A
Ret ; dan
simpan di reg. AL.
Read End
Soal:
9. Buatlah rangkaian aplikasi led dan switch untuk mode 2 input yang terhubung
ke PPI 8255 dan buatlah program aplikasinya seperti kondisi switch ditampilkan
di led. Rangkaian untuk pengkondisian sinyal kontrol di Port C, jika input
dihubungkan ke switch dan jika output dihubungkan ke led
10. Buatlah rangkaian aplikasi led dan switch untuk mode 2 output yang
terhubung ke PPI 8255 dan buatlah program aplikasinya seperti kondisi switch
ditampilkan di led. Rangkaian untuk pengkondisian sinyal kontrol di Port C,
jika input dihubungkan ke switch dan jika output dihubungkan ke led
11. Sama seperti soal no.3 tetapi untuk program led berjalan.
2.4 Hubungan Mikroprosesor dengan memori atau I-O
1. Proses pembacaan data memori atau I-O oleh uP (arah data: memori ke uP) seperti
gambar 9.
Adapun prinsip kerja
adalah:
a)
Pertama,
mikroprosesor 8088 mengirimkan address (lokasi) dari data yg akan dibaca.
b)
Lalu, mikroprosesor 8088 mengirimkan sinyal kontrol read
(MEMR / IOR) ke memori atau I-O sesuai alamat yang diinginkan.
c)
Kemudian, setelah menerima sinyal kontrol read, memori
atau I-O mengirimkan data ke
mikroprosesor 8088.
d)
Setelah data terkirim ke mikroprosesor 8088 maka data di
bus data kembali menjadi tidak valid karena dapat dipakai untuk mengirim atau
menerima data oleh memori maupun peralatan I-O.
2. Proses penulisan data oleh uP ke memori atau I-O (arah data: uP ke memori)
seperti gambar 10.
Prinsip kerja hampir sama dengan prinsip kerja membaca data memori atau I-O
oleh mikroprosesor dimana untuk pengiriman atau penulisan data yaitu arah data dari
mikroprosesor ke memori atau I-O.
3. BAB III Komponen Utama [kembali]
3.1 Rangkaian Mikroprosesor
Adapun
rangkaian mikroprosesor adalah seperti gambar 12
Rangkaian mikroprosesor akan meng-output-kan address sesuai address memori
atau I-O yang ingin dituju. Untuk address rendah pada mikroprosesor 8088
multiplek dengan data. Untuk membedakan address atau data dibantu oleh sinyal
kontrol ALE yang menandakan mikroprosesor meng-output-kan address bukan data
dan sebaliknya mikroprosesor akan meng-output-kan sinyal kontrol DEN jika
mikroprosesor mau melakukan transfer atau receive data ke memori atau I-O. Data
di transfer atau di receive dapat diketahui dari sinyal kontrol yang di-output-kan
oleh mikrorposesor yaitu DT/-R. Selain itu mikroprosesor juga meng-output-kan
sinyal-sinyal kontrol seperti RD, WR, INT, DT/-R, dan IO/-M yang akan dipakai
pada rangkaian aplikasi. IC 8284 merupakan pembangkit clock dan juga
sinyal-sinyal kontrol lainnya seperti Ready dan Reset. Kristal 14,138 MHz
digunakan untuk menghasilkan frekuensi clock yaitu 1/3 kristal yang diinputkan
ke mikroprosesor melewati pembangkit sinyal pulsa IC 8284. Untuk operasi Reset
melalui rangkaian Reset yang d-iinput-kan ke mikroprosesor melalui IC 8284 yang
aktif rendah.
Soal:
1. Buatlah rangkaian mikroprosesor yang dilengkapi rangkaian pembangkit sinyal
clock dan rangkaian Reset.
3.2 Rangkaian
Lacth Dan Buffer
Adapun Rangkaian latch dan buffer adalah seperti gambar 13.
Untuk menghubungkan address ke memori atau I-O maka diperlukan pemisahan
address rendah yang multiplek dengan data dengan memakai rangkaian latch dan
buffer. Rangkaian latch akan selalu aktif dengan terhubungnya ke ground kaki LE
maka untuk bekerjanya IC latch ini diperlukan sinyal kontrol yang di-input-kan
ke kaki –OE. Pin -OE mendapat input dari pin ALE yang merupakan sinyal kontrol
yang artinya pin ini akan aktif setiap mikroprosesor meng-output-kan address. Sedangkan
untuk memisahkan data dengan address maka dipakai IC buffer. IC buffer
diaktifkan melewati pin –E yang mendapat sinyal kontrol DEN yang artinya
mikroprosesor melakukan akses data (Read atau Write). Sesudah itu IC buffer
akan bekerja dengan menerima sinyal kontrol DT/-R dari mikroprosesor. Apabila
mendapatkan sinyal kontrol DT yang berlogika 1 ke pin DIR dari IC buffer maka
data dilewatkan dari mikrorposesor ke memori atau I-O dan sebaliknya jika
sinyal kontrol –R yang berlogika 0 ke pin DIR dari IC buffer maka data
dilewatkan dari memori atau I-O ke mikroprosesor.
Gambar 13 Rangkaian lacth dan buffer
Soal:
2. Lengkapilah rangkaian soal no.1 dengan rangkaian lacth dan buffer.
3.3 Rangkaian Decoder Sinyal Kontrol RD Dan WR
Adapun rangkaian untuk menghasilkan sinyal kontrol RD dan
WR adalah seperti gambar 14. Rangkaian decoder ini berfungsi memisahkan sinyal
RD dan WR untuk Memori yaitu MEMR dan MEMW serta untuk I-O yaitu IOR dan IOW.
Dengan input IO/-M ke kaki C dari IC 74LS138 maka output-nya langsung
menghasilkan sinyal kontrol RD dan WR terpisah untuk memori atau I-O.
Gambar 14 Rangkaian decoder untuk sinyal kontrol MEMR, MEMW, IOR dan IOW
Soal:
3. Lengkapilah rangkaian soal no.2 dengan rangkaian decoder untuk sinyal kontrol RD dan WR.
3.4 Rangkaian Memori Dan Decoder Memori
Adapun Rangkaian memori dan decoder memori adalah seperti gambar 15.
Gambar 15 Rangkaian Memori dan decoder memori
Mikroprosesor
yang akan berhubungan dengan RAM atau ROM dipisahkan oleh rangkaian decoder IC
74LS138. Jika mikroprosesor berhubungan dengan RAM maka mikroprosesor akan
mengeluarkan address RAM yang masuk ke IC decoder 74LS138 dan decoder akan
meng-output-kan Y0 aktif (sesuai rancangan, address A17, A18, A19 di-input-kan ke A, B, C dari IC decoder)
rendah ke –CS RAM 6116 seperti terlihat pada gambar 15. Dan sebaliknya jika
mikroprosesor berhubungan dengan ROM maka mikroprosesor akan mengeluarkan
address ROM yang masuk ke IC decoder 74LS138 dan decoder akan meng-output-kan
Y7 aktif (sesuai rancangan, address A17, A18, A19 di-input-kan ke A, B, C dari IC decoder)
rendah ke –CS ROM 27128 Perancangan decoder untuk memori akan dibahas pada bab
aplikasi.
Soal:
4. Lengkapilah rangkaian soal no.3 dengan rangkaian memori dan decoder memori.
5. Buatlah rangkaian decoder memori untuk ROM 27256 dan RAM 6232, 6264, 62128,
62256 serta 62512.
3.5 Rangkaian I-O Dan Decoder I-O
Adapun rangkaian I-O dan decoder I-O adalah seperti gambar 16.
Setiap komponen I-O harus diberi address. Misalkan, ada tiga komponen I-O
yang yaitu PPI 8255, PIT 8253 dan PIC 8259 seperti gambar 10 maka untuk
membedakannya dapat dibuatkan rangkaian decoder dengan memakai IC decoder 74139
yang keluarannya ada empat seperti gambar 10 diatas. Perancangan rangkaian
decoder I-O akan dibahas pada bab aplikasi.
Soal:
1. Lengkapilah rangkaian soal no.4 dengan rangkaian memori dan decoder memori.
2. Buatlah rangkaian decoder I-O untuk dua buah IC PPI 8255, PIT 8253, PIC
8259 dan ADC 0809.
Gambar 16 Rangkaian I-O
dan decoder I-O
4. BAB IV Komponen Pendukung [Kembalikembali]
Teori
dasar tentang komponen pendukung dapat dilihat pada buku teknik interface.
4.1 PPI 8255 (Programmable Peripheral
Interface)
Untuk hubungan input-output, mikroprosesor memerlukan suatu rangkaian
interface. Interface menggunakan IC Programmable Peripheral Interface (PPI)
8255 yang mempunyai 3 port dengan masing-masing berkapasitas 8-bit. Jika dalam
merancang sistem minimum 8088 ternyata memerlukan interface lebih dari 3 port
maka dapat ditambahkan IC PPI 8255 sesuai kebutuhan dengan menambahkan
rangkaian decoder-nya seperti gambar 17.
Gambar 17 Rangkaian
interface menggunakan 2 buah IC 8255 dengan rangkaian decoder-nya
Soal:
1. Buatlah
rangkaian decoder untuk 3 buah IC PPI 8255.
2. Tambahkan
komponen I-O pada soal no.1, seperti switch dan keypad sebagai input serta
7-segment, LCD dan Dot matrik sebagai output.
4.2 PIC 8259 (Programmable Interrupt Controller)
Adapun rangkaian
PIC adalah seperti pada gambar 7. PIC 8259 mempunyai 8 masukan interupsi aktif
rendah yaitu: IR0 sampai dengan IR7, seperti gambar 18.
Gambar 18
Rangkaian PIC 8259
Penjelasan Inisialisasi dapat dilihat
pada buku teknik Interface.
Soal:
3. Buatlah
rangkaian decoder untuk 2 buah IC PIC 8259.
4. Buatlah
rangkaian aplikasi PIC dengan menamai tombol sebagai aplikasinya seperti IR0
untuk led berjalan, IR1 untuk led geser kiri dilanjutkan geser kanan, IR2 untuk
tampilan data ke LCD dan lain-lain
4.3. AD/DA
Converter (Analog to Digital / Digital to
Analog Converter)
5.3.1 4.3.1. Analog
to Digital Converter (ADC)
Rangkaian ADC adalah
untuk merubah besaran analog menjadi besaran digital, misalnya masukan analog
berupa besaran listrik hasil dari sensor suhu. Adapun rangkaian ADC seperti
pada gambar 19.
Gambar 19
rangkaian ADC 0804
Soal:
5. Buatlah
rangkaian lengkap ADC yang terhubung ke sensor suhu dan dikontrol melalui PPI
8255.
4.3.2 Digital
to Analog Converter (DAC)
Untuk D/A Converter ini tidak diperlukan
sinyal latch sehingga output analog-nya langsung mengikuti perubahan input digital, contoh
rangkaiannya seperti pada gambar 20. Rangkaian DAC dapat diaplikasikan untuk
mengatur kecepatan motor DC.
Gambar 20 Rangkaian
DAC 0808
Soal:
6. Buatlah
rangkaian lengkap DAC yang terhubung ke motor DC.
4.4
Sensor Suhu LM 35
LM 35 adalah sensor
temperatur sederhana yang banyak digunakan untuk aplikasi kontrol suhu karena selain harganya cukup
murah, linearitasnya cukup bagus.
LM35 tidak membutuhkan kalibrasi eksternal yang menyediakan akurasi ±¼°C pada temperatur ruangan dan ±¾°C
pada kisaran -55 to +150°C. LM35 dioperasikan pada -55°
hingga +150°C, sedangkan LM35C pada -40°C hingga +110°C, dan LM35D
pada kisaran 0-100°C. Sensor LM35 bekerja secara linear dimana kenaikan
tegangan sebesar 10mV untuk setiap kenaikan suhu 1°C (300mV pada 30 °C). Untuk menggunakan LM35,
cukup menhubungkan keluaran dari pin Vout untuk dapat dihubungkan langsung ke ADC (misal ADC 0804 8 bit) seperti gambar 21.
Gambar
21 Rangkaian sensor suhu dengan IC LM335Z
Dikuatkn dg op amp
Soal:
7. Buatlah
rangkaian lengkap sensor suhu yang terhubung ke IC PPI 8255 dengan menggunakan
sensor suhu selain LM 35.
4.5 Dot Matrik
Dot matrik 5 x 7 adalah satu dot matrik yang berukuran 5 kolom x 7
baris susunan LED. Jadi 1 dot matrik terdapat 35 buah LED seperti gambar
22. Dengan dot matrik 5 x 7 dapat ditampilkan berbagai macam karakter angka,
husuf maupun simbol.
Prinsip kerja dot matrik disini menggunakan proses scanning kolom.
Scanning kolom adalah mengaktifkan setiap kolom secara bergantian.
Proses pergantian pengaktifan kolom dari kolom 1 sampai kolom 5
begitu cepat dan berulang-ulang sehingga misalkan huruf "A" yang
terdiri dari 5 kolom tampak nyala secara bersamaan. Apabila proses scanning
kolom dipelankan maka akan terlihat pergeseran penyalaan kolom per kolom.
Gambar
22 Rangkaian dasar dot matrik
Soal:
8. Buatlah
rangkaian lengkap dot matrik 5 x7 yang terhubung ke IC PPI 8255.
4.6. LCD
(Liquid Crystal Display)
Untuk aplikasi display selain
7-segment dapat menggunakan LCD. LCD mempunyai RAM sehingga data yang sudah
dikirim pada suatu address baris dan kolom tertentu maka dapat dibaca kembali
data yang dikirim pada address tersebut dengan mengirim sinyal kontrol RW (pin
R/-W) untuk address tersebut. LCD yang digunakan disini adalah display 2 baris 16 kolom karakter yang
contoh rangkaiannya adalah seperti gambar 23.
Soal:
9. Buatlah
rangkaian lengkap LCD yang terhubung ke IC PPI 8255.
Gambar
23 Rangkaian Display LCD character 2
x 16
4.7
Keypad
Proses
pembacaan input dari keypad adalah dengan melakukan proses scanning pada setiap kolom. Cara scanning adalah memberikan logika 0 pada satu kolom dan kolom yang
lain berlogika 1 seperti gambar 24.\
Gambar
24 rangkaian keypad
Jika
keadaan keypad seperti gambar 9 diatas maka akan dapat diketahui apakah tombol
1, 4, 7 atau tombol * yang ditekan
dengan mengetahui keluaran dari logika baris. Misalkan, jika tombol 1 ditekan
maka baris pertama yang berlogika 0 karena secara rangkaian tombol akan membuat
hubungan kolom dan baris dihubung singkat.
Kemudian untuk proses scanning yang kedua sama seperti proses scan yang
pertama hanya saja dilakukan pada kolom dua. dengan kondisi seperti diatas maka
dapat diketahui apakah tombol 2, 5, 8 atau tobol 0 yang sedang ditekan. Dan
selanjutnya untuk proses scanning yang ketiga sama seperti proses scan yang
pertama dan kedua hanya saja dilakukan pada kolom ketiga. Dalam kondisi ini
maka dapat diketahui apakah tombol 3, 6, 9 atau tombol # yang ditekan. Ketiga proses scanning tersebut harus dilakukan
secara cepat dengan proses looping atau dengan mempertimbangkan kecepatan
menekan tombol oleh tangan.
Soal:
1. Buatlah
rangkaian lengkap keypad yang terhubung ke IC PPI 8255.
Buatlah rangkaian keypad yang terhubung ke IC
74C922 sebagai scanner dan dioutputkan ke PPI 8255.
5. BAB V Perancangan Sistem [Kembali]
Perancangan sistem minimum 8088 adalah perancangan peta memori dan peta I-O.
Pada sistem minimum 8088 untuk pemetaan memori dan I-O dapat digabung dalam
suatu peta atau dapat juga terpisah. Untuk perancangan peta memori ada dua
lokasi address yaitu program disimpan pada lokasi address memori ROM dan data
disimpan pada lokasi address RAM. Biasanya ROM dipakai sebuah IC ROM tetapi
untuk RAM dapat dipakai lebih dari satu IC RAM, misalkan IC RAM untuk interrupt
dan IC RAM untuk data.
5.1 Peta terpisah
untuk memori dan I-O
5.1.1
Pemetaan Memori
Dirancang sistem
minimum yang menggunakan 2 RAM dan 1 ROM yaitu RAM
6116 (2 KB) dan RAM 6264
(8 KB) dan ROM 27128 (16 KB).
Adapun perancangan peta memori ini adalah seperti 25.
Untuk
dapat mengakses address dari RAM-0 6116
(2 KB) menggunakan pin A0
sampai dengan pin A10 dan RAM-1 6264 (8 KB) menggunakan pin A0 s/d A12 sedangkan
untuk ROM 27128 (16KB) menggunakan pin A0 s/d
A13. Dalam membedakan alamat dari ketiga
memori tersebut dapat menggunakan address A14 s/d A19. RAM-0
dengan RAM-1 dibedakan dari A14, jika A14 berlogika 0 maka merupakan akses
address RAM-0 dan jika A14 berlogika 1 maka merupakan akses address RAM-1. ROM
yang ber-address paling tinggi dengan kapasitas 16 KB sehingga address A19 s/d
A14 berlogika 1. Rangkaian decoder dapat dirancang untuk membedakan RAM dengan
ROM yaitu menggunakan A14 dan A15 seperti rangkaian pada gambar 26.
00000
007FF
|
RAM-0 6116 (2 KB)
|
00800
0FFFF
|
Kosong
|
10000
11FFF
|
RAM-1 6264 (8 KB)
|
12000
FBFFF
|
Kosong
|
FC000
FFFF0
FFFFF
|
ROM 27128 (16 KB)
|
Jump RESET
|
Gambar 25 Peta memori
Soal:
1. Buatlah peta memori dan rangkaian decoder memori serta rangkaian lengkapnya
untuk memori yang terdiri dari ROM 27256, RAM-0 6116, RAM-1 6232, RAM-2 6264,
dan RAM-3 62128.
5.1.2
Pemetaan I-O
Dirancang sistem
minimum yang menggunakan 4 komponen I-O yaitu PPI-0 8255 dan PPI-1 8255, PIT 8253
serta PIC 8259.
Untuk PPI 8255 masing-masing membutuhkan 4 kombinasi
address (A1 A0 yaitu 0 s/d 3 Byte), PIT 8253
membutuhkan 4 kombinasi address yaitu A1A0 serta PIC 8259 membutuhkan 2
kombinasi address yaitu A0. Adapun perancangan peta I-O ini adalah seperti
gambar 27.
Gambar 26 Rangkaian memori dan decoder-nya
00000
00003
|
PPI-0 8255 (4 B)
|
00004
000FF
|
Kosong
|
00100
00103
|
PPI-1 8255 (4 B)
|
00104
001FF
|
Kosong
|
00200
00203
00204
003FF
|
PIT 8253 (4 B)
|
Kosong
|
|
00400
00401
|
PIC 8259 (2 B)
|
00402
FFFFF
|
Kosong
|
Gambar 27 Peta I-O
Untuk dapat mengakses
address dari PPI-0 8255
(4 B) menggunakan pin A0
dan A1 dan PPI-1 8255 (4 B) menggunakan pin A0 s/d A1, PPT 8253 (4 B) menggunakan pin A0 s/d A1, sedangkan
untuk PIC 8259 (2 B)
menggunakan pin A0. Dalam membedakan alamat dari keempat
komponen I-O tersebut seperti peta
I-O diatas maka digunakan address A2 s/d A19. PPI-0 dengan PPI-1 dibedakan dari
A4, jika A4 berlogika 0 maka merupakan akses address PPI-0 dan jika A4
berlogika 1 maka merupakan akses address PPI-1. PIT dapat dibedakan dari
komponen I-O yang lain dari pin address A5, jika A5 berlogika 1 dan yang lain
(A2 s/d A19) berlogika 0 maka address ini merupakan address PIT. Untuk PIC yang
membedakan address-nya dengan komponen lain adalah pin address A6. Rangkaian
decoder dapat dirancang untuk membedakan PPI-0, PPI-1,
PIT dan PIC menggunakan A4, A5 dan A6 seperti rangkaian pada gambar 28.
PIT dan PIC menggunakan A4, A5 dan A6 seperti rangkaian pada gambar 28.
Gambar 28 Rangkaian I-O dan decoder-nya
Soal:
2. Buatlah peta I-O, rangkaian decoder I-O dan rangkaian lengkapnya untuk I-O
yang terdiri dari dua buah IC PPI 8255, PIT 8253, PIC 8259 dan ADC 0809.
5.2 Peta gabungan
memori dan I-O
Dirancang sistem
minimum yang menggunakan 2 RAM dan 1 ROM yaitu RAM
6116 (2 KB) dan RAM 6264
(8 KB) dan ROM 27128 (16 KB) serta 4 komponen I-O yaitu PPI-0 8255 dan PPI-1 8255, PIT 8253 serta PIC
8259. Adapun perancangan peta gabungan
memori dan I-O ini adalah seperti 29.
00000
007FF
|
RAM-0 6116 (2 KB)
|
00800
0FFFF
|
Kosong
|
10000
10003
|
PPI-0 8255 (4 B)
|
10004
1FFFF
|
Kosong
|
20000
21FFF
|
RAM-1 6264 (8 KB)
|
22000
2FFFF
|
Kosong
|
30000
30003
|
PPI-1 8255 (4 B)
|
30004
3FFFF
|
Kosong
|
40000
40003
|
PIT 8253 (4 B)
|
40004
4FFFF
|
Kosong
|
50000
50001
|
PIC 8259 (2 B)
|
50002
FBFFF
|
Kosong
|
FC000
FFFF0
FFFFF
|
ROM
27128 (16 KB)
|
Jump RESET
|
Gambar 29 Peta memori
Untuk dapat mengakses
address memori dari RAM-0 6116
(2 KB) menggunakan pin A0
sampai dengan pin A10 dan RAM-1 6264 (8 KB) menggunakan pin A0 s/d A12 sedangkan
untuk ROM 27128 (16KB) menggunakan pin A0 s/d
A13. Sedangkan untuk mengakses address I-O dari PPI-0 8255
(4 B), PPI-1 8255 (4 B), PIT 8253 (4 B) menggunakan pin A1A0 dan PIC 8259 (2 B)
menggunakan pin A0. Dalam membedakan alamat dari 3 komponen memori dan 4 komponen I-O
tersebut dapat menggunakan address A14 s/d A19. Untuk RAM-0
semua berlogika 0 (A14 s/d A19), RAM-1 hanya A17 yang berlogika 1 dan selain
itu berlogika 0 (A14 s/d A19), ROM semua berlogika 1 (A14 s/d A19), PPI-0 hanya
A16 yang berlogika 1 dan selain itu berlogika 0 (A14 s/d A19), PPI-1 hanya
A17A16 yang berlogika 1 dan selain itu berlogika 0 (A14 s/d A19), PIT hanya A18
yang berlogika 1 dan selain itu berlogika 0 (A14 s/d A19), PIC hanya A18A16
yang berlogika 1 dan selain itu berlogika 0 (A14 s/d A19).
Adapun tabel kebenaran
peta memori dan I-O adalah seperti tabel 4. Rangkaian decoder dapat dirancang
untuk membedakan ketujuh komponen memori dan I-O tersebut rangkaian pada gambar
30.
Tabel 4 Tabel kebenaran Peta memori dan IO
Tipe memori / I-O
|
address
|
Alamat
|
|||||
A19 A18 A17 A16
|
A15 – A12
|
A11 – A8
|
A7 – A4
|
A3 – A0
|
|||
RAM-0 (2 KB =7FFH )
6116
|
awal
|
0 0
0 0
|
0 0 0 0
|
0 0 0 0
|
0 0 0 0
|
0 0 0 0
|
|
akhir
|
0 0
0 0
|
0 0 0 0
|
0 1 1 1
|
1 1 1 1
|
1 1 1 1
|
||
0 0
0 0
|
0 0 0 0
|
0 x x x
|
x x x x
|
x x x x
|
|||
RAM-1 (8 KB = 1FFFH )
6264
|
awal
|
0 0
1 0
|
0 0 0 0
|
0 0 0 0
|
0 0 0 0
|
0 0 0 0
|
|
akhir
|
0 0
1 0
|
0 0 0 1
|
1 1 1 1
|
1 1 1 1
|
1 1 1 1
|
||
0 0
1 0
|
0 0 0 x
|
x x x x
|
x x x x
|
x x x x
|
|||
ROM (16 KB = 3FFFH )
27128
|
awal
|
1 1
1 1
|
1 1 0 0
|
0 0 0 0
|
0 0 0 0
|
0 0 0 0
|
|
akhir
|
1 1
1 1
|
1 1 1 1
|
1 1 1 1
|
1 1 1 1
|
1 1 1 1
|
||
1 1
1 1
|
1 1 x x
|
x x x x
|
x x x x
|
x x x x
|
|||
PPI-0 PPI 8255
|
Port
A
|
0 0
0 1
|
0 0 0 0
|
0 0 0 0
|
0 0 0 0
|
0 0 0 0
|
|
Port
B
|
0 0
0 1
|
0 0 0 0
|
0 0 0 0
|
0 0 0 0
|
0 0 0 1
|
||
Port
C
|
0 0
0 1
|
0 0 0 0
|
0 0 0 0
|
0 0 0 0
|
0 0 1 0
|
||
CW
|
0 0
0 1
|
0 0 0 0
|
0 0 0 0
|
0 0 0 0
|
0 0 1 1
|
||
PPI-1 PPI 8255
|
Port
A
|
0 0
1 1
|
0 0 0 0
|
0 0 0 0
|
0 0 0 0
|
0 0 0 0
|
|
Port
B
|
0 0
1 1
|
0 0 0 0
|
0 0 0 0
|
0 0 0 0
|
0 0 0 1
|
||
Port
C
|
0 0
1 1
|
0 0 0 0
|
0 0 0 0
|
0 0 0 0
|
0 0 1 0
|
||
CW
|
0 0
1 1
|
0 0 0 0
|
0 0 0 0
|
0 0 0 0
|
0 0 1 1
|
||
PIT 8253
|
Counter 0
|
0 1 0 0
|
0 0 0 0
|
0 0 0 0
|
0 0 0 0
|
0 0 0 0
|
|
Counter 1
|
0 1 0 0
|
0 0 0 0
|
0 0 0 0
|
0 0 0 0
|
0 0 0 1
|
||
Counter 2
|
0 1 0 0
|
0 0 0 0
|
0 0 0 0
|
0 0 0 0
|
0 0 1 0
|
||
Reg. Control
|
0 1 0 0
|
0 0 0 0
|
0 0 0 0
|
0 0 0 0
|
0 0 1 1
|
||
PIC 8259
|
ICW 1
|
0 1 0 1
|
0 0 0 0
|
0 0 0 0
|
0 0 0 0
|
0 0 0 0
|
|
ICW 2
|
0 1 0 1
|
0 0 0 0
|
0 0 0 0
|
0 0 0 0
|
0 0 0 1
|
||
Soal:
3. Buatlah peta, rangkaian decoder dan rangkaian lengkap memori dan I/O untuk
memori yang terdiri dari ROM 27256, RAM-0 6116, RAM-1 6232, RAM-2 6264, dan I-O
yang terdiri dari IC PPI 8255, PIT 8253, PIC 8259 dan ADC 0809.
Gambar 30 Rangkaian memori, I-O dan decoder-nya
Address ROM pada sistem
mikroprosesor 8088 ditempatkan pada address paling tinggi karena setelah tombol
RESET ditekan mikroprosesor 8088 akan menuju ke address FFFF0H. Untuk menuju ke
address awal program maka di address FFFF0H s/d FFFFFH diisi dengan program
JUMP ke awal program. Adapun perhitungan dalam menentukan address awal JUMP
RESET adalah sebagai berikut:
FFFFF à uP 8088 mampu mengakses 1 MB (A19 – A0)
3FFF _ à kapasitas EPROM 27128 (16 KB)
FC000 à address awal EPROM pada sistem mikroprosesor
8088
FFFF0 à address awal program JUMP RESET pada sistem
uP 8088
FC000 _ à address awal EPROM
3FF0 à address awal JUMP RESET
pada EPROM 27128
16 KB)
Perhitungan dalam menentukan origin dari software,
misalkan dengan origin 100H adalah:
FC000 àdalam segment : offset yaitu FC00 : 0000 (org
0H)
100 _
FBF00 à dalam segment : offset yaitu FBF0 : 0100 (org
100H) pada sistem uP 8088
3FF0
100 +
40F0 à lokasi jump reset pada EPROM 16 KB org 100H
0 komentar:
Posting Komentar