laporan bulanan bank umum syariah (lbus)

advertisement
PROGRAMMABLE INTERRUPT
CONTROLLER 82C55
Programmable Interrupt Controller (PIC)
8259A menambahkan delapan interupsi
dengan prioritas dienkode pada
mikroprosesor. Kontroler ini dapat
diekspansi tanpa tambahan perangkat keras
untuk menerima sampai 64 permintaan
interupsi. Ekspansi ini membutuhkan sebuah
master 8259A dan delapan slave 8259A.
NEXT
Penjelasan Umum 8259A
Gambar 12-15 memperlihatkan pin-out dari 8259A. 8259A mudah
dikoneksikan ke mikroprosesor karena semua pinnya bersifat
koneksi langsung, kecuali pin
yang harus didekode dan pin yang harus memiliki sebuah pulsa I/O
bank tulis. Berikut adalah penjelasan dari tiap pin pada 8259A:
Gambar 12-15 Pin-Out PIC
8259A
NEXT
D7–D0 Bi-Directional data connection (koneksi data bidireksional) secara normal
dihubungkan, baik ke bus data atas maupun bawah pada mikroprosesor 80386SX atau bus
data pada 8088. jika digunakan 80486 atau Pentium–Pentium 4, mereka dihubungkan ke
bank 8-bit manapun.
IR7–IR0 Masukan interrupt request (permintaan interupsi) digunakan untuk meminta
interupsi dan untuk mengkoneksikan ke sebuah slave pada sistem dengan beberapa 8259A.
WR
Masukan write menghubungkan baik ke sinyal strobe write tinggi maupun rendah
dalam sistem 16-bit, atau ke bus strobe write lainnya di sistem dengan ukuran apa saja.
RD
Masukan red menghubungkan ke sinyal IORC
INT
Interrupt output terkoneksi ke pin INTR pada mikroprosesor dari master, dan
dikoneksikan ke pin IR master pada slave.
INTA
Interrupt acknowledge (pemberitahuan interupsi) adalah sebuah masukan yang
terkoneksi ke sinyal pada sistem. Dalam sebuah sistem dengan master slave, hanya sinyal
master yang dikoneksikan
A0
Masukan alamat A0 memilih command word yang berbeda dalam 8259A.
CS
Chip Select memungkinkan 8259A untuk pemrograman dan kontrol.
SP/EN Slave Progra,/Enable Buffer adalah pin fungsi ganda. Ketika 8259A dalam
mode penyangga, pin ini merupakan keluaran yang mengendalikan transceiver bus data
dalam sebuah sistem besar berbasis mikroprosesor. Ketika 8259A tidak berada dalam mode
penyangga, pin ini memprogram chip sebagai master (1) atau slave (0).
CAS2-CAS0
Saluran cascade digunakan sebagai keluaran dari master ke slave untuk
cascading beberapa 8259A dalam sebuah sistem.
NEXT
Mengoneksikan 8259A Tunggal
Gambar 12-16 memperlihatkan sebuah 8259A terkoneksi ke
mikroprosesor 8086. di sini, pin SP/ ditarik tinggi untuk
menandakan bahwa ia adalah master. 8259A didekode pada port I/O
0400H dan 0402H oleh PAL16L8 (tidak ada program yang
diperlihatkan). Sebagaimana peralatan lain yang didiskusikan pada
Bab 11, 8259A membutuhkan empat wait state agar dapat berfungsi
dengan baik dengan 80386SX 16 MHz dan lebih untuk beberapa
versi lain dari keluarga mikroprosesor Intel.
NEXT
GAMBAR 12-16 Sebuah 8259A diantarmuka ke mikroprosesor 8086.
NEXT
Cascading beberapa 8259A
Gambar 12-17 memperlihatkan dua 8259A terhubung ke mikroprosesor 80386SX
dengan cara yang biasa ditemukan pada komputer AT, yang memiliki dua 8259A
untuk interupsi. Komputer PC atau XT menggunakan sebuah kontroler 8259A pada
vektor interupsi 0AH sebagai masukan cascade dari 8259A kedua yang terletak pada
vektor 70H-77H. Lampiran A berisi tabel yang mendaftar fungsi semua vektor
interupsi yang digunakan pada komputer PC, XT, dan AT.
Rangkaian ini menggunakan vektor 08H-0FH dan port I/O 0300H dan
0302H untuk UI, master, tak ketinggalan vektor 70H-77H dan port I/O 0304 dan
0306H untuk U2, slave. Perhatikan bahwa penyangga bus data turut dimasukkan
untuk mengilustrasikan penggunaan pin SP/EN pada 8259A. Penyangga ini hanya
digunakan pada sistem yang sangat besar yang memiliki banyak peralatan terhubung
ke koneksi bus data. Dalam praktiknya, penyangga seperti ini jarang ditemui.
NEXT
GAMBAR 12-17 Dua buah 8259A diantarmuka ke 8259A pada port I/O 0300H untuk master,
kemudian 0304H dan 0306H untuk slave
NEXT
Initialization command words . Terdapat empat initialization command word (ICW)
untuk 8259A yang dipilih ketika pin A0 berlogika satu. Ketika 8259A pertama kali
dihidupkan, ICW1, ICW2, ICW3, dan ICW4 harus dikirimkan. Pemrograman 8259A
dalam mode cascade melalui ICW1 mengharuskan kita untuk juga memprogram
ICW3.
Jadi, bila 8259A tunggal digunakan dalam sistem maka ICW1, ICW2, dan ICW4
harus diprogram. Namun, penggunaan mode cascade dalam sebuah sistem
mensyaratkan pemrograman keempat ICW. Lihat gambar 12-18 untuk format dari
keempat ICW tersebut. Berikut adalah deskripsi masing – masing ICW:
NEXT
ICW1
Memprogram operasi dasar 8259A. Dalam pemprograman ICW untuk operasi 8086-pentium 4, kita
menempatkan logika 1 pada bit IC4, bit AD1, A7, A6, dan A5 tidak memedulikan operasi mikroprosesor dan hanya
berlaku pada 8259A ketika digunakan dengan mikroprosesor 8-bit 8085 (tidak dibahas dalam buku ini). ICW ini memilih
operasi tunggal atau cascade dengan memprogram bit SNGL. Jika operasi cascade dipilih, kita juga harus memprogram
ICW3. Bit LTIM menentukan apakah masukan permintaan interupsi edge-triggered atau level-triggered bernilai positif.
ICW2
Memilih nomor vektor yang digunakan dengan masukan permintaan interupsi. Sebagai contoh, jika kita
memutuskan untuk memprogram 8259A agar berfungsi pada lokasi vektor 08H-0FH, tempatkan 08H ke dalam command
word ini (ICW2). Begitu juga sebaliknya, jika kita memutuskan untuk memprogram 8259A untuk vektor 70H-77H,
tempatkan 70H pada ICW ini.
ICW3
Hanya digunakan ketikaICW1 mengindikasikan bahwa sistem beroperasi dalam mode cascade. ICW ini
menunjukkan tempat slave terhubung ke master. Sebagai contoh, pada gambar 12-18 kita menghubungkan sebuah slave
ke IR2. dalam memprogram ICW3. Misalnya, kita memiliki dua slave terhubung ke master menggunakan IR0 dan IR1.
Master deprogram dengan ICW3 dari 03H; satu slave diprogram dengan ICW3 dari 01H, dan lainnya dengan ICW3
dari 02H.
ICW4
Diprogram untuk penggunaan dengan mikroprosesor 8086-pentium 4, tetapi tidak demikian dalam sistem
yang berfungsi dengan mikriprosesor 8085. Bit paling kanan harus bernilai logika 1 untuk memilih operasi dengan
mikroprosesor 8086-pentium 4, dan bit sisanya diprogram sebagai berikut:
SFNM-Memilih operasi special fully-nested mode untuk 8259A jika nilai logika 1 ditempatkan di bit ini. Hal ini
memungkinkan interupsi dengan prioritas tertinggi dari slave untuk dikenali oleh master sementara melakukan
pemrosesan interupsi lain dari slave. Umumnya, hanya satu permintaan interupsi yang diproses pada satu waktu dan yang
lain tidak diacuhkan sampai prosesnya selesai.
BUF dan M/S - Penyangga dan master slave digunakan bersamaan untuk memilih operasi dengan penyangga atau operasi
tanpa penyangga untuk 8259A sebagai master atau slave.
AEOI – Memilih akhir interupsi otomatis atau normal (dibahas lebih dalam pada words perintah operasi). Perintah EOI
dari OCW2 digunakan jika mode AEOI tidak dipilih oleh ICW4. Jika AEOI dipilih, interupsi secara otomatis me-reset bit
permintaan interupsi dan tidak memodifikasi priorotas. Inilah mode yang disarankan untuk operasi 8259A dan
mengurangi panjang prosedur layanan interupsi.
NEXT
GAMBAR 12-18 ICW 8259A.
(Gambar atas kemurahan hati Intel
Corporation.)
NEXT
Menerima data dari 16550. Data yang diterima oleh 16550 disimpan, tidak hanya di dalam
FIFO pada UART, tetapi juga di dalam memori FIFO sampai perangkat lunak pada program
utama dapat menggunakannya. Panjang memori FIFO yang digunakan untuk menerima data
adalah 16K byte sehingga dapat dengan mudah menerima dan menyimpan begitu banyak
karakter sebelum diperlukan intervensi dari mikroprosessor untuk mengosongkan FIFO
memori penrima. FIFO memori penerima. FIFO memori penerima disimpan di dalam segmen
ekstra sehingga intruksi string yang menggunakan register DI dapat digunakan untuk
mengaksesnya.
Penerimaan data dari 16550 membutuhkan dua prosedur. Satu prosedur membaca
register data 16550 tiap kali pin INTR meminta sebuah interupsi, dan menyimpannya ke
dalam FIFO memori. Prosedur lainnya membaca data dari FIFO memori dari progam utama.
NEXT
NEXT
CONTOH INTERUPSI
Bagian ini membahas real-time clock dan keyboard hasil pemrosesan interupsi
sebagai contoh apkasinya. Sebuah real-time clock menjaga waktu agar selalu tepat
(real time) dalam jam dan menit. Contoh yang diilustrasikan di sini mengatur waktu
dalam jam, menit, detik, 1/60 detik, menggunakan empat lokasi memori untuk
menyimpan waktu harian BCD. Keyboard hasil pemrosesan interupsi menggunakan
interupsi periodik untuk scan tombol-tombol keyboard.
Real Time Colck
Gambar 12-26 menggambarkan sebuah rangkaian sederhana yang menggunakan
koneksi tenaga AC 60Hz untuk menghasilkan sinyal permintaan interupsi periodik
untuk pin masukan interupsi NMI. Walaupun di sini digambarkan sinyal dari
sambungan tenaga AC yang sedikit berbeda frekuensinya dari waktu ke waktu, ia
akan tetap akurat dalam satu periode.
NEXT
Contoh 12-14
NEXT
Gambar 12-26. Konversi koneksi tenaga AC ke sinyal TTL 60 Hz
untuk masukan NMI
NEXT
Soal
1. Gambarkan dan jelaskan pin-out 8259A yang digunakan
sebagai programmable interupt contoller!
2. Bagaimana mengantarmuka 8259A dengan 8086, jelaskan
dengan menggunakan gambar!
3. Apa yang dimaksud dengan initialization command word, serta
buatlah contoh gambar untuk ICW 8259A!
4. Buatlah contoh program dalam bahasa assembly yang
digunakan pada real time clock!
NEXT
TUTUP
Terima Kasih
Download