Interupsi
Program yang sedang dijalankan oleh mikrokontroller AT89C51 dapat dihentikan
untuk sementara dengan meminta interupsi. Apabila AT89C51 mendapat permintaan interupsi
maka program counter (PC) akan diisi alamat dari vector interupsi, kemudian AT89C51
melaksanakan rutin pelayanan interupsi mulai dari alamat tersebut setelah selesai maka
AT89C51 akan kembali ke pelaksanaan program utama yang ditinggalkan. Mikrokontroller
AT89C51 menyediakan 6 sumber interupsi yaitu 2 buah interupsi eksternal (INT 0 dan INT 1),
3 buah interupsi timer (Timer 0, Timer 1, dan Timer 2), dan sebuah interupsi port serial.
Selain itu ada juga sebuah non maskable interrupt yaitu reset yang tidak dapat
dihalangi oleh perangkat lunak. Setiap sumber interupsi dapat diprogram secara individual
(sendiri-sendiri) baik pengaktifannya maupun prioritasnya. Untuk mengaktifkan atau
menonaktifkan interupsi dikontrol oleh register IE (interrupt enable), sedangkan untuk tingkat
prioritasnya diatur oleh register IP (interrupt priority).