Fungsi Khusus dalam Mikrokontroller

Mikrokontroller memiliki banyak fungsi-fungsi khusus. Fungsi-fungsi khusus tersebut antara lain :
a) Interupsi

Interupsi adalah perintah untuk menjalankan satu program subroutine pada saat menjalankan program utama, sifat subroutine ini memaksa dan harus harus dilayani. Setelah program interupsi selesai, maka mikrokontroller akan kembali ke program awal yang ditinggalkan. Jenis-jenis interupsi :
1. Interupsi  yang  tidak  dapat  dihalangi  (Non  Mascable interrupt), misalnya reset.
2. Interupsi  yang  dapat  dihalangi  (Mascable  interrupt), misalnya  Timer1,   Timer0,   Serial   port (internal).
Fungsi Khusus dalam Mikrokontroller

Seperti yang telah diketahui diatas, bahwa mikrokontroller tipe AT89x52  memiliki  sumber  mascable  interupsi  yaitu   Timer1, Timer0, Serial port (internal). Masing-masing dapat diaktifkan dengan mengubah flag-flag-nya pada beberapa SFR (special function register). Untuk mengaktifkan  dan   dapat  diaktifkan dengan merubah bit-bit flag IT0, IT1, IE0,  IE1  di  dalam  satu  blok  TCON.  Untuk  mengaktifkan interrupt  0  dan  interrupt  1  bisa  diprogram  secara  periodik, dapat juga diberi sinyal dari hardware lain ke pin  atau Interrupsi timer 0 dan timer 1 dapat dijalankan dengan men-set bit TF0 dan TF1 pada special function register. Untuk mengaktifkan interupsi serial port dapat di-set pada SCON (SFR).
Diperlukan  perintah  khusus  untuk  men-set  jalannya  proses interrupt ini terutama untuk mascable interrupt.

b)         Timer / Counter
Chip AT89x52, terdapat dua buah timer / counter 16 bit yang dapat diatur melalui perangkat lunak, yaitu timer / counter 0 dan timer / counter 1.
Apabila timer / counter ini diaktifkan pada frekuensi kerja mikrokontroller 12 MHz, timer / counter akan melakukan perhitungan waktu sekali setiap 1 microdetik secara independent, tidak tergantung pada pelaksanaan suatu interupsi. Satu siklus pencacahan waktu berpadanan dengan satu siklus pelaksanaan interupsi, sedangkan satu siklus dilakukan dalam waktu  1  mikrodetik.  Bila  dimisalkan  suatu  urutan  interupsi telah selesai dilaksanakan dalam waktu 5 mikrodetik, pada saat itu pula timer / counter telah menunjukkan periode waktu 5 mikrodetik.
Apabila periode waktu tertentu telah dilampaui, timer / counter segera menginterupsi mikrokontroller untuk memberitahukan bahwa proses perhitungan telah selesai dilaksanakan.
Pengontrol  kerja  dari  timer  /  conter  adalah  SFR,  TCON (register timer control).
Pengontrollan  pemilihan  mode  pada  timer  dapat  dipilih  di register timer mode (TMOD).

c)         Mode 0
Mode ini, timer disusun sebagai register 13 bit. Setelah semua perhitungan selesai, mikrokontroller akan men-set timer interrupt flag (TF1). Dengan membuat GATE = 1 timer dapat dikontrol oleh masukkan luar INT1 untuk fasilitas pengukuran lebar pulsa.
d)         Mode 1
Mode 1 ini memiliki kesamaan dengan mode 0 akan tetapi register timer bekerja secara 16 bit.
e)         Mode 2
Mode 2 ini menyusun register timer sebagai 8 bit counter. OverfLow dari TL1 tidak hanya men-set TF1, tetapi juga mengisi  TL1  dengan  isi  TH1  yang  diatur  secara  perangkat lunak dan pengisian ini tidak merubah TH1.
f)         Mode 3
Timer 1 dalam mode 3 semata-mata memegang hitungan. Efeknya sama seperti men-set TR1 = 0. Timer 0 dalam mode 3 menetapkan TL0 dan TH0 sebagai dua counter terpisah. TL0 menggunakan control bit timer 0 yaitu C/T, Gate, TR0, INT0, dan TF0. TH0 ditetapkan sebagai fungsi timer.
Mode3 diperlukan untuk aplikasi yang membutuhkan timer / counter ekstra 8 bit. Dengan timer 0 dalam mode 3, mikrokontroller  ini  seperti  memiliki  3  timer  /  counter.  Saat timer 0 dalam mode 3, timer 1 dapat dihidupkan atau dimatikan atau dapat digunakan oleh serial port sebagai pembangkit baudrate.

Subscribe to receive free email updates: