Mikrokontroler MCS51
Konsep Dasar Mikrokontroler
1.1 Struktur Mikrokontroler
Masing-masing bagian tersebut saling dihubungkan melalui internal bus umumnya terdiri dari 3 bus yaitu address bus, data bus, dan control bus.
Masing-masing bagian memiliki fungsi-fungsi :
Register :
Register adalah suatu tempat penyimpanan (variabel) bilangan bulat 8 atau 16 bit. Pada umumnya register jumlahnya banyak, masing-masing ada yang memiliki fungsi khusus dan ada pula yang memiliki kegunaan umum. Register yang memiliki fungsi khusus misalnya adalah register timer yang berisi data penghitungan pulsa untuk timer, atau register pengatur mode operasi counter (pencacah pulsa). Sedangkan register yang bersifat umum digunakan untuk menyimpan
Mikrokontroler MCS51 2 data sementara yang diperlukan untuk proses penghitungan dan proses
operasi mikrokontroler. Register dengan kegunaan umum dibutuhkan mengingat pada saat yang bersamaan mikrokontroler hanya mampu melakukan operasi aritmetik atau logik hanya pada satu atau dua operand saja. Sehingga untuk operasi-operasi yang melibatkan banyak
variabel harus dimanipulasi dengan menggunakan variabel-variabel register umum.
Accumulator :
Merupakan salah satu register khusus yang berfungsi sebagai operand umum proses aritmetika dan logika.
Program Counter :
Merupakan salah satu register khusus yang berfungsi sebagai pencacah/penghitung eksekusi program mikrokontroler.
ALU (Arithmetic and Logic Unit) :
ALU memiliki kemampuan mengerjakan proses-proses aritmatika (penjumlahan, pengurangan, perkalian, pembagian) dan operasi logika (misalnya AND, OR, XOR, NOT) terhadap bilangan bulat 8 atau 16 bit.
Clock Circuits :
Mikrokontroler adalah rangkaian logika sekuensial, dimana proses kerjanya berjalan melalui sinkronisasi clock. Karenanya diperlukan clock circuits yang menyediakan clock bagi seluruh bagian rangkaian.
Internal ROM (Read Only Memory) :
Merupakan memori penyimpan data yang isinya tidak dapat diubah atau dihapus (hanya dapat dibaca). ROM biasanya diisi dengan Mikrokontroler MCS51 3 program untuk menjalankan mikrokontroler segera setelah power dinyalakan, dan berisi data-data konstanta yang diperlukan oleh program. Isi ROM tidak dapat hilang walaupun power dimatikan.
Internal RAM (Random Access Memory) :
Merupakan memori penyimpan data yang isinya dapat diubah ataudihapus. RAM biasanya berisi data-data variabel dan register. Data yang tersimpan pada RAM bersifat hilang jika catu daya yang terhubung padanya dimatikan.
Stack Pointer :
Stack adalah bagian dari RAM yang memiliki metode penyimpanan dan pengambilan data secara khusus. Data yang disimpan dan dibaca tidak dapat dilakukan dengan metode acak. Karena data yang masuk ke dalam stack pada urutan yang terakhir adalah data yang pertama
kali dibaca kembali. Stack Pointer berisi offset dimana posisi data stack yang terakhir masuk (atau yang pertama kali dapat diambil).
I/O (input/output) Ports :
Merupakan sarana yang dipergunakan oleh mikrokontroler untuk mengakses peralatan-peralatan lain di luar dirinya, berupa pin-pin yang dapat berfungsi untuk mengeluarkan data digital ataupun menginputkan data.
Interrupt circuits :
Adalah rangkaian yang memiliki fungsi untuk mengendalikan sinyal-sinyal interupsi baik internal maupun eksternal. Adanya sinyal interupsi akan menghentikan eksekusi normal program mikrokontroler Mikrokontroler MCS51 4 untuk selanjutnya menjalankan sub-program untuk melayani interupsi tersebut. Diagram blok tersebut tidaklah selalu sama untuk setiap jenis
mikrokontroler. Beberapa mikrokontroler menyertakan rangkaian ADC (Analog to Digital Converter) di dalamnya, ada pula yang menyertakan port I/O serial di samping port I/O paralel yang sudah ada.
1.2. Cara Kerja Mikrokontroler
Prinsip kerja mikrokontroler adalah sebagai berikut :
1. Berdasarkan nilai yang berada pada register Program Counter, mikrokontroler mengambil data pada ROM dengan address sebagaimana nilai yang tertera pada Program Counter. Selanjutnya Program Counter ditambah nilainya dengan 1 (increment) secara otomatis. Data yang diambil tersebut adalah urutan instruksi program pengendali mikrokontroler yang sebelumnya telah dibuat oleh pemakai.
2. Instruksi tersebut diolah dan dijalankan. Proses pengerjaan bergantung pada jenis instruksi: bisa membaca, mengubah nilai-nilai pada register, RAM, isi port, atau melakukan pembacaan dan dilanjutkan dengan pengubahan data.
3. Program Counter telah berubah nilainya (baik karena penambahan otomatis sebagaimana pada langkah 1 di atas atau karena pengubahan pada langkah 2). Selanjutnya yang dilakukan mikrokontroler adalah mengulang kembali siklus ini pada langkah 1. Demikian seterusnya
hingga power dimatikan.
Mikrokontroler MCS51 5
Dari pengertian di atas dapat disimpulkan bahwa pada dasarnya unjuk kerja mikrokontroler sangatlah bergantung pada urutan instruksi yang dijalankannya, yaitu program yang ditulis di ROM.
Dengan membuat program yang bermacam-macam, maka tentunya mikrokontroler dapat mengerjakan proses yang bermacam-macam pula. Fasilitas-fasilitas yang ada misalnya timer/counter, port I/O, serial port, Analog to Digital Converter (ADC) dapat dimanfaatkan oleh program untuk menghasilkan proses yang diinginkan. Misalnya saja ADC dipergunakan oleh sebuah mikrokontroler pengendali alat ukur digital untuk mengukur tegangan sinyal input. kemudian hasil pembacaan ADC diolah untuk kemudian dikirimkan ke sebuah display yang terhubung pada port I/O, menampilkan hasil pembacaan yang telah diolah. Proses pengendalian ADC, pemberian sinyal-sinyal yang tepat pada display, kesemuanya dikerjakan secara berurutan pada program yang ditulis di ROM. Penulisan program mikrokontroler pada umumnya adalah menggunakan bahasa assembly untuk mikrokontroler yang bersangkutan (setiapmikrokontroler memiliki instruksi bahasa assembly yang berlainan).
Kemudian dengan bantuan sebuah komputer, bahasa assembly tersebut diubah menjadi bahasa mesin mikrokontroler, dan disalin ke dalam ROM mikrokontroler. Pada buku ini akan dibahas mikrokontroler dari keluarga MCS-51, dengan beberapa contoh aplikasi sederhana. Selanjutnya dari pengertian yang didapat, diharapkan pembaca dapat mengembangkan sendiri aplikasi-aplikasi lain sebagaimana yang diinginkan.
Tidak ada komentar:
Posting Komentar