Interupsi di 8051 Mikrokontroler dan Struktur dan Pemrograman

Coba Instrumen Kami Untuk Menghilangkan Masalah





Fitur yang paling kuat dan penting adalah interupsi 8051 mikrokontroler . Di sebagian besar proses waktu nyata, untuk menangani kondisi tertentu dengan benar, tugas sebenarnya harus dihentikan selama beberapa waktu - dibutuhkan tindakan yang diperlukan - dan kemudian harus kembali ke tugas utama. Untuk menjalankan jenis program seperti itu, diperlukan interupsi. Ini sepenuhnya berbeda dari metode polling di mana prosesor harus memeriksa setiap perangkat secara berurutan dan menanyakan apakah layanan tersebut diperlukan atau tidak sambil menghabiskan lebih banyak waktu prosesor.

Interupsi dalam mikrokontroler 8.051

Interupsi dalam mikrokontroler 8.051



Interupsi pada mikrokontroler 8051 lebih diinginkan untuk mengurangi pemeriksaan status reguler dari perangkat yang dihubungkan atau perangkat yang terpasang. Interupsi adalah peristiwa yang menghentikan sementara program utama, meneruskan kontrol ke bagian kode khusus, menjalankan fungsi terkait peristiwa, dan melanjutkan aliran program utama di tempat yang ditinggalkannya.


Interupsi memiliki jenis yang berbeda seperti perangkat lunak dan perangkat keras, dapat ditutup-tutupi dan tidak dapat ditutup-tutupi, gangguan tetap dan vektor, dan seterusnya. Interrupt Service Routine (ISR) muncul saat interupsi terjadi, dan kemudian memberi tahu prosesor untuk mengambil tindakan yang sesuai untuk interupsi, dan setelah eksekusi ISR, pengontrol melompat ke program utama.



Jenis Interupsi pada Mikrokontroler 8051

Mikrokontroler 8051 dapat mengenali lima kejadian berbeda yang menyebabkan program utama terputus dari eksekusi normal. Lima sumber interupsi di 8051 adalah:

  1. Timer 0 overflow interrupt- TF0
  2. Timer 1 overflow interrupt- TF1
  3. Interupsi perangkat keras eksternal- INT0
  4. Interupsi perangkat keras eksternal- INT1
  5. Interupsi komunikasi serial- RI / TI

Timer dan Serial interupsi secara internal dihasilkan oleh mikrokontroler, sedangkan interupsi eksternal dihasilkan oleh tambahan perangkat penghubung atau sakelar yang terhubung secara eksternal ke mikrokontroler. Interupsi eksternal ini dapat dipicu tepi atau dipicu level. Ketika interupsi terjadi, mikrokontroler menjalankan rutin layanan interupsi sehingga lokasi memori sesuai dengan interupsi yang memungkinkannya. Interupsi yang sesuai dengan lokasi memori diberikan dalam tabel vektor interupsi di bawah ini.

Tabel vektor interupsi

Tabel vektor interupsi

Struktur Interupsi Pengontrol Mikro 8051

Setelah 'RESET' semua interupsi dinonaktifkan, dan oleh karena itu, semua interupsi ini harus diaktifkan oleh perangkat lunak. Dalam kelima interupsi ini, jika ada atau semua yang diaktifkan, ini menetapkan flag interupsi yang sesuai seperti yang ditunjukkan pada gambar. Semua interupsi ini dapat diatur atau dihapus sedikit demi sedikit dalam beberapa register fungsi khusus yaitu Interrupt Enabled (IE), dan ini pada gilirannya bergantung pada prioritas, yang dijalankan oleh register prioritas interupsi IP.


Struktur interupsi mikrokontroler 8.051

Struktur interupsi mikrokontroler 8.051

Interrupt Enable (IE) Register: Register ini bertanggung jawab untuk mengaktifkan dan menonaktifkan interupsi. Ini adalah register yang dapat dialamatkan sedikit di mana EA harus diatur ke satu untuk mengaktifkan interupsi. Bit yang sesuai dalam register ini memungkinkan interupsi tertentu seperti timer, input eksternal dan serial. Dalam register IE di bawah ini, bit yang sesuai dengan 1 mengaktifkan interupsi dan 0 menonaktifkan interupsi.

Interrupt Enable (IE) Register

Interrupt Enable (IE) Register

Interrupt Priority Register (IP): Dimungkinkan juga untuk mengubah tingkat prioritas dari interupsi dengan mengatur atau menghapus bit yang sesuai dalam register Interrupt priority (IP) seperti yang ditunjukkan pada gambar. Ini memungkinkan interupsi berprioritas rendah mengganggu interupsi berprioritas tinggi, tetapi melarang interupsi dengan interupsi prioritas rendah lainnya. Demikian pula, interupsi berprioritas tinggi tidak dapat diganggu. Jika prioritas interupsi ini tidak terprogram, maka mikrokontroler dijalankan dengan cara yang telah ditentukan dan urutannya adalah INT0, TF0, INT1, TF1, dan SI.

Daftar IP

Daftar IP

TCON Daftar: Selain dua register di atas, register TCON menentukan jenis interupsi eksternal ke mikrokontroler 8051, seperti yang ditunjukkan pada gambar. Dua interupsi eksternal, apakah edge atau level dipicu, ditentukan oleh register ini dengan satu set, atau dihapus oleh bit yang sesuai di dalamnya. Dan, itu juga register yang sedikit beralamat.

TCON Daftar

TCON Daftar

Pemrograman Interupsi pada tahun 8051

1. Pemrograman Interupsi Timer

Interupsi Timer 0 dan Timer 1 dihasilkan oleh bit register timer TF0 dan TF1. Interupsi ini pemrograman dengan kode C. melibatkan:

  • Memilih pengatur waktu dengan mengkonfigurasi register TMOD dan mode operasinya.
  • Memilih dan memuat nilai awal TLx dan THx untuk mode yang sesuai.
  • Mengaktifkan register IE dan bit timer yang sesuai di dalamnya.
  • Mengatur timer run bit untuk memulai timer.
  • Menulis subrutin pengatur waktu untuk waktu yang dibutuhkan dan menghapus nilai pengatur waktu TRx di akhir subrutin.
Pemrograman Interupsi Timer

Pemrograman Interupsi Timer

2. Pemrograman Interupsi Perangkat Keras Eksternal

Mikrokontroler 8051 terdiri dari dua interupsi perangkat keras eksternal: INT0 dan INT1 seperti yang dibahas sebelumnya. Ini diaktifkan pada pin 3.2 dan pin 3.3. Ini bisa dipicu tepi atau dipicu level. Dalam pemicuan level, rendah pada pin 3.2 memungkinkan interupsi, sedangkan pada pin 3.2 - transisi tinggi ke rendah mengaktifkan interupsi yang dipicu edge. Pemicuan tepi atau pemicu level ini ditentukan oleh register TCON yang telah dibahas di atas. Itu prosedur pemrograman di 8051 adalah sebagai berikut:

  • Aktifkan bit yang sesuai dari interupsi eksternal di register IE.
  • Jika ini adalah pemicu level, cukup tulis subrutin yang sesuai untuk interupsi ini, atau aktifkan bit register TCON yang sesuai dengan interupsi yang dipicu edge - apakah itu INT0 atau INT1.
Pemrograman Interupsi Perangkat Keras Eksternal

Pemrograman Interupsi Perangkat Keras Eksternal

3. Pemrograman Interupsi Komunikasi Serial

Interupsi komunikasi serial muncul ketika ada kebutuhan untuk mengirim atau menerima data. Karena satu bit interupsi ditetapkan untuk kedua flag TI (Transfer Interrupt) dan RI (Receiver Interrupt), rutin Layanan Interupsi harus memeriksa tanda ini untuk mengetahui interupsi yang sebenarnya.

Operasi OR logis dari dua bendera ini (RI dan TI) menyebabkan interupsi ini, dan dihapus oleh perangkat lunak saja. Di sini, SCON register khusus digunakan untuk mengontrol komunikasi operasi dengan mengaktifkan bit yang sesuai di dalamnya.

  • Konfigurasikan register IE untuk mengaktifkan interupsi serial
  • Konfigurasikan register SCON untuk menerima atau mentransfer operasi
  • Tulis subrutin untuk interupsi ini dengan fungsi yang sesuai dan hapus flag TI atau RI dalam rutinitas ini.
Pemrograman Interupsi Serial

Pemrograman Interupsi Serial

Ini semua tentang interupsi pada mikrokontroler 8051, jenis, struktur dan pemrogramannya. Semoga Anda menerima informasi yang baik dari artikel ini. Juga, Anda dapat menulis kepada kami di bagian komentar di bawah ini untuk implementasi real-time proyek mikrokontroler sehingga kami dapat membantu Anda untuk pengalaman langsung yang lebih baik.

Kredit Foto