Register Mikrokontroler AT89C51

5. Stack Pointer Stack pointer merupakan sebuah register 8 bit yang terletak di alamat 81 H. Isi dari stack pointer ini merupakan alamat dari data yang disimpan di stack. Stack pointer dapat diedit atau dibiarkan saja mengikuti standart sesudah terjadi reset. Jika stack pointer diisi data 5FH, area untuk proses penyimpan dan pengambilan data dari dan ke stack adalah sebesar 32 byte, yaitu antara 60H hingga 7FH karena 89C51 mempunyai internal RAM sebesar 128 byte. 6. Data Pointer Data pointer atau DPTR merupakan register 16 bit dan terletak pada alamat 82H untuk DPL dan 83H untuk DPH. DPTR biasa digunakan untuk mengakses source code ataupun data yang terletak di memori eksternal. 7. Register Timer AT89C51 mempunyai dua buah 16 bit timercounter, yaitu timer 0 dan timer 1. Timer 0 terletak di alamat 8AH untuk TL0 dan 8CH untuk TH0 dan timer 1 terletak di alamat 8BH untuk TL1 dan 8DH untuk TH1. 8. Register Port Serial AT89C51 mempunyai sebuah on chip serial port yang dapat digunakan untuk berkomunikasi dengan peralatan lain yang menggunakan serial port juga seperti modem, shift register dan lain-lain. Buffer penyangga untuk proses pengiriman maupun pengambilan data terletak pada register SBUF, yaitu pada alamat 99H. Sedangkan untuk mengatur mode serial dapat dilakukan dengan mengubah isi dari SCON yang terletak pada alamat 98H. 9. Register Interrupt AT89C51 mempunyai lima buah interrupsi dengan dua buah prioritas interrupsi. Interrupsi akan selalu non aktif setiap kali sistem direset. Register- register yang berhubungan dengan interrupt adalah Interrupt Enable Register IE atau register pengaktif interupsi pada alamat A8H untuk mengatur keaktifan tiap-tiap interrupt dan Interrupt Priority Register IP atau register prioritas interupsi pada alamat B8H. 10. Register Kontrol Power Register ini terdiri atas SMOD yang digunakan untuk melipat dua buah rate dari port serial, dua buah bit untuk flag fungsi umum pada bit ketiga dan bit kedua, Power Daya PD bit dan Idle IDL bit. Tabel 2.2 Alamat register pada SRF Pada table 2.2 menjelaskan tentang alamat register pada SRF atau special function register pada mikrokontroler AT89C51.

2.1.5. PewaktuPencacah TimerCounter

Mikrokontroler AT89C51 memiliki dua buah timercounter 16 bit, yaitu timercounter 0, dan timercounter 1. Pada fungsi timer, register ini ditambah tiap satu siklus mesin atau dapat diartikan sebagai penghitung siklus mesin. Bila pewaktupencacah diaktifkan pada frekuensi 12 Mhz, maka pewaktupencacah akan melakukan penghitungan sekali tiap satu ms tidak tergantung pada pelaksanaan suatu instruksi. Apabila periode waktu tertentu telah dilampaui, maka pewaktupencacah akan memberi interupsi ke mikrokontroler bahwa instruksi perhitungan waktu telah selesai dilaksanakan. Pengontrol kerja pewaktupencacah adalah register timer control TCON pada spesial kontrol register adalah sebagai berikut: Tabel 2.3 Keterangan register timer control Pada tabel 2.3 menjelaskan tentang register TCON atau timer control pada mikrokontroler AT89C51. Sedangkan untuk pemilihan fungsi pewaktu atau pencacah dan mode operasi pewaktupencacah adalah pada Special Function Register TMOD seperti pada tabel 2.4: Tabel 2.4 Mode operasi timer Keterangan: GATE Saat TRx pada TCON diset 1 dan GATE=1, timercounter x hanya akan berjalan ketika pin INT-x logika hardware control. Apabila GATE=0, timercounter hanya akan berjalan ketika TRx=1 software control. CT Selektor timer atau counter. Clear 0 untuk operasi timer dengan masukan dari pena T-x. M1 Bit pemilih mode 1. M0 Bit pemilih mode 0. Tabel 2.5 Mode operasi timercounter Pada tabel 2.5 menjelaskan tentang mode operasi timercounter pada mikrokontroler AT89C51. Penyetelan TimerCounter Pemberian nilai TMOD yang digunakan untuk penyetalan set up timercounter 0 pada beberapa mode operasi. Diasumsikan hanya ada satu timer yang digunakan pada saat itu. Apabila timer 0 dan timer 1 dijalankan bersamaan dalam beberapa mode, maka nilai TMOD timer 0 di OR kan dengan nilai timer 1. Sebagai contoh jika timer 0 dijalankan dalam mode 1 GATE control eksternal, 2 timer 1 dijalankan dalam mode 2 counter, maka nilai yang harus diisikan ke TMOD adalah 69H.

2.1.6. Sistem Interupsi

AT89C51 menyediakan 5 sumber interupsi, yaitu: 2 interupsi eksternal, 2 interupsi pewaktu dan sebuah interupsi serial. Mikrokontroler AT89C51 memiliki dua jenis interupsi, yaitu: 1. Saluran interupsi internal, yaitu terdiri dari pewaktupencacah 0 T0, pewaktupencacah 1 T1, dan terminal serial. 2. Saluran interupsi eksternal, yaitu terdiri dari interupsi eksternal 0 INT0, interupsi eksternal 1 INT1. Sistem interupsi pada mikrokontroler AT89C51 akan menghasilkan suatu program yang berjalan, serta melayani interupsi yang diminta. Bila permintaan interupsi telah dilaksanakan, maka CPU akan kembali ke pelaksanaan program utama yang ditinggalkan. Sistem kerja interupsi dapat dijelaskan sebagai berikut: Pada saat terjadi, informasi alamat terakhir pada pencacah program PC disimpan dalam Stack Pointer SP, kemudiaan pencacah program diisi dengan alamat interupsi yang akan dituju. Kemudian CPU melaksanakan interupsi yang ditunjukkan pencacah program, sehingga interupsi dilaksanakan. Selanjutnya informasi pada Stack Pointer akan dikembalikan kepada pencacah program bila interupsi telah dilaksanakan. Masing-masing sumber interupsi dapat diaktifkan dan dimatikan secara individual atau dengan me-nol-kan bit-bit IE Interupt Enable dalam SFR.