Vektor Interupsi
Saat MCS51 menanggapi permintaan interupsi, Program Counter diisi
dengan sebuah nilai yang dinamakan sebagai vektor interupsi, yang
merupakan nomor awal dari memori-program yang menampung ISR untuk
melayani permintaan interupsi tersebut. Vektor interupsi itu dipakai
untuk melaksanakan inststuksi LCALL yang diaktipkan secara perangkat
keras.
Vektor interupsi untuk interupsi eksternal INT0 adalah $0003, untuk
interupsi timer 0 adalah $000B, untuk interupsi ekternal INT1 adalah
$0013, untuk interupsi timer 1 adalah $001B dan untuk interupsi port
seri adalah $0023.
Jarak vektor interupsi satu dengan lainnya sebesar 8, atau hanya
tersedia 8 byte untuk setiap ISR. Jika sebuah ISR memang hanya pendek
saja, tidak lebih dari 8 byte, maka ISR tersebut bisa langsung ditulis
pada memori-program yang disediakan untuknya. ISR yang lebih panjang
dari 8 byte ditulis ditempat lain, tapi pada memori-program yang
ditunjuk oleh vektor interupsi diisikan instruksi JUMP ke arah ISR
bersangkutan
Tidak ada komentar:
Posting Komentar