PIC 8259

PIC 8259 (Programmable Interrup Controller)


      IC PIC 8259 mempunyai 8 masukan interupsi yaitu IRQ0 sampai dengan IRQ7. PIC 8259 berfungsi untuk menerima dan mengatur interupsi yang muncul dan mengarahkannya pada sistem penerima interupt serta untuk mempercepat respon sistem (fungsi interupt)

berikut ini adalah gambar IC PIC 8259 :


Ada 2 cara melayani sinyal trigger dari piranti luar :
  • Interrupsi  : Subrutin dijalankan jika ada trigger dari luar piranti
  • Polling       : mikroprosesor menyatakan pada piranti-piranti luar secara bergilir apakah ada tugas.

Ada 2 macam interupsi :
1. Software  : (contoh Int 65h)
      Digunakan untuk melayani kondisi tertentu pada software yang sedang berjalan.
2. Hardware :
      Digunakan untuk melayani trigger dari luar.

Konfigurasi pin-pin PIC 8259 :


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 :
1. Interup Request Register (IRR) :
     → 8-bit data internal yang setiap bitnya mewakili masing-masing IRQ#.
2. Priority Resolver (ISR) :
     → Menentukan prioritas bagi setiap bit IRQ yang ada
3. In Service Register (ISR) :
     → Menyimpan data IRQ# yang sedang dilayani permintaannya.
4. Interrupt Mask Register (IMR) :
     → Menyimpan data IRQ# yang di-mask (nonaktif) dan unmask (aktif)

Fungsi pin-pin PIC 8259 :
1. D7-D0         : Data bus
2. RD              : Proses pembacaan, aktif low
3. WR             : Proses penulisan, aktif low
4. AO              : A0=0 → Address 20h
                        A0=1 → Address 21h
5. CS              : Chip select
6. CAS0-CAS2  : Penulisan 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 ICW1
2.   D7-D5: untuk sistem µP 8085
3.   D4: harus diberi logika 1
4.   D3 = 0, melayani permintaan interrupt jika IRQ# berubah dari 0 ke 1.
5.   D2 = 0, karena tidak dipakai di µP 8088
6.   D1 : 0 bila beroperai dalam perluasan
7.   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

2. Operational Control Word (OCW)
       terdiri dari 3 jenis yaitu OCW 1 sampai OCW 3. OCW 1 berfungsi untuk mengatur data yang disimpan dalam IMR (Interrupt Mask Register) atau yang berfungsi menentukan IRQ# yang akan kita mask (disable) dan unmask (enable)

Contoh
Dengan ICW diatas maka program inisialisasinya yaitu:
          mov  dx,20H
          mov  al,13h
          out    dx,al           ;mengirim ICW1

          mov  dx,21H
          mov  al,08h
          out    dx,al           ;mengirim ICW2

          mov  al,1h
          out    dx,al           ;mengirim ICW4



Tidak ada komentar:

Posting Komentar