Rangkaian Interface Input
1. Dasar Teori [back]
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
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 Register
Pointer
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).
Tabel 3. Pointer
dan IndexRegister
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 Pointer
Register 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.
Gambaran
kedua register yang termasuk dalam kelompok ini diberikan pada tabel 4., dibawah ini:
Tabel 4.
Flag Register dan Instruction Pointer
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
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 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).
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.
A.
Antarmuka
(Interface)
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 PC
a. D0 – D7 (Data 0 – Data 7): Data bus uP8088, 8 bit, bidirectional.
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
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. Rangkaian Interface input
2. Rangkaian [back]
- 1 LCD 2 X 16
- 11 Logic State
- 1 Potensio 10k
- 1 VCC
- 1 Ground
Gambar. Rangkaian Simulasi Interface input
3. Prinsip Kerja [back]
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 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.
Comments
Post a Comment