Mikroprosesor Dalam Perkembangan komputer digital disebut sebagai Central Processing Unit (CPU) yang bekerja sebagai pusat pengolah dan pengendalian pada sistem komputer mikro. Sebuah mikroprosesor tersusun dari tiga bagian penting yaitu Blok Mikroprosesor Untuk membangun fungsi sebagai komputer mikro, sebuah mikroprosesor harus dilengkapi dengan memori, biasanya memori program yang hanya bisa dibaca - (Read Only Memory=ROM) - memori yang bisa dibaca dan ditulisi (Read Write Memory=RWM), - decoder memori, - osilator, - sejumlah peralatan input output seperti port data seri dan paralel. Pokok dari penggunaan mikroprosesor adalah - mengambil data, - membentuk kalkulasi, - perhitungan atau manipulasi data, dan - menyimpan hasil perhitungan pada peralatan penyimpan atau menampilkan hasilnya pada sebuah monitor atau cetak keras. Mikrokontroler Mikrokontroler adalah komputer mikro dalam satu chip tunggal. Mikrokontroler memadukan CPU, ROM, RWM, I/O paralel, I/O seri, counter-timer, dan rangkaian clock dalam satu chip tunggal seperti terlihat pada Gambar 2 di bawah ini. Blok Mikrokontroler Penggunaan pokok dari mikrokontroler adalah untuk mengontrol kerja mesin atau sistem menggunakan program yang disimpan pada sebuah ROM. Untuk melihat perbedaan konsep diantara mikroprosesor dan mikrokontroler di bawah ini ditunjukan tabel perbandingan konfigurasi, arsitektur, dan set instruksi diantara mikroprosesor Z-80 CPU dengan mikrokontroler 8051 Mikrokontroler adalah sebuah chip yang berfungsi sebagai pengontrol rangkaian elektronik dan umunya dapat menyimpan program, dan terdiri dari CPU (Central Processing Unit), memori, I/O tertentu dan unit pendukung seperti Analog-to- Digital Converter (ADC) yang sudah terintegrasi di dalamnya. Microcontroller sebagai teknologi baru, yaitu teknologi semikonduktor dengan kandungan transistor yang lebih banyak namun hanya membutuhkan ruang yang kecil sehingga Microcontroller dapat diproduksi secara masal (dalam jumlah banyak) membuat harganya menjadi lebih murah (dibandingkan mikroprosesor) Fungsi Mikrokontroler Sebagai Counter Sebagai Decoder dan Encoder Sebagai Flip - Flop Sebagai Pembangkit Osilasi Sebagai Timer / Pewaktu Sebagai ADC ( Analog Digital Converter ) Implementasi Mikrokontroler Dalam bidang hiasan / dekorasi, misalnya kita buat Running led atau buat Running text dan masih banyak yang lainnya.. Dalam bidang industry, misalnya kita buat Sensor suhu / temperatur penghitung pada mesin konveyor, lengan robot, dll Dalam bidang rumah tangga, misalnya kita bisa buat Jam Digital buat Timer On Off, buat Sensor Cahaya, dan lain – lain. Jenis jenis Mikrokontroler Keluarga AVR Keluarga MCS51 Keluarga PIC Keluarga ARM Mikrontroler pabrik Intel., contoh: 8031, 89C51 dll Zilog, contoh: Z8, Z8F1680 dll Microchip, contoh: PIC16F84, PIC16F877 dll Motorola, contoh: 68HC11, MC68HC705V12CFN dll Philips Semiconductors, contoh: LPC2000, LPC900, LPC700 dll Atmel, contoh: Atmel AT91 series (ARM THUMB architecture), AT90, Tiny & Mega series – AVR (Atmel Norway design), Atmel AT89 series (Intel 8051/MCS51 architecture) Blok mikrokontroler lengkap Masing-masing bagian tersebut saling dihubungkan melalui internal BUS, umumnya terdiri dari 3 jenis bus, yaitu: address bus, data bus dan control bus. Register adalah suatu tempat penyimpanan (Variabel) bilangan bulat 8 bit atau 16 bit. Pada umumnya register berjumlah banyak, dan masing-masing ada yang memiliki fungsi khusus dan ada yang memiliki fungsi umum. Accumulor (register A), merupakan salah satu register khusus yang berfungsi sebagai operand umum proses aritmatika dan logika. Program counter, merupakan salah satu register khusus yang berfungsi sebagai pencacah/penghitung eksekusi program mikrokontroler ALU (Arithmetical and Logical Unit), ALU memiliki kemampuan khusus dalam mengerjakan proses-proses arithmetika (penjumlahan, pengurangan, perkalian dan pembagian) dan operasi logika (AND, OR, XOR dan NOT) Clock circuits, mikrokontroler merupakan rangkaian digital sekuensial, dimana kerjanya berjalan melalui sinkronisasi clock. Karenanya diperlukan clock circuits yang menyediakan clock bagi seluruh bagian rangkaian Internal ROM (On Chip Flash), merupakan memori yang isinya tidak dapat diubah atau dihapus (pada saat mikrokontroler berjalan) isinya hanya dapat dibaca saja. ROM biasanya berisi program (urutan-urutan instruksi) untuk menjalankan mikrokontroler. Data pada ROM dibaca secara berurutan. Internal RAM, merupakan memori yang isinya dapat diubah atau dihapus. RAM pada mikrokontroler biasanya berisi data- data variable dan register. Data yang tersimpan pada RAM bersifat hilang jika catu daya yang diberikan hilang (mati). Stack pointer, merupakan bagian dari RAM yang memiliki metode penyimpanan dan pengambilan data yang khusus. Dimana data yang paling terakhir dimasukkan merupakan data yang pertama kali dibaca kembali (LIFO). I/O port (serial dan parallel), merupakan sarana yang digunakan mikrokontroler untuk mengakses peralatan di luar dirinya, memasukan dan mengeluarkan data. Interrupt circuits, merupakan rangkaian yang mengendalikan sinyal-sinyal interupsi bail internal maupun eksternal, dengan adanya sinyal interupsi akan mengakibatkan program utama yang sedang dikerjakan berhenti sejenak, dan bercabang/.loncat ke program rutin layanan interupsi (RLI) yang diminta, setelah RLI selesai dikerjakan, mikrokontroler kembali melanjutkan program utama yang tertunda tadi. Setiap mikrokontroler memiliki blok diagram dan arsitektur yang berbeda satu dengan yang lainnya, tergantung pada banyak device yang terintegrasi di dalamnya Cara Kerja Mikrokontroler Berdasarkan nilai yang berada pada register Program Counter, mikrokontroler mengambil data pada ROM dengan alamat sebagaimana yang tertera pada register Program Counter. Selanjutnya isi dari register Program Counter ditambah dengan satu (Increment) secara otomatis. Data yang diambil pada ROM merupakan urutan instruksi program yang telah dibuat dan diisikan sebelumnya oleh pengguna. Instruksi yang diambil tersebut diolah dan dijalankan oleh mikrokontroler. Proses pengerjaan bergantung pada jenis instruksi, bisa membaca, mengubah nilai-nilai pada register, RAM, isi Port, atau melakukan pembacaan dan dilanjutkan dengan pengubahan data. Program Counter telah berubah nilainya (baik karena penambahan otomatis pada langkah 1, atau karena pengubahan-pengubahan pada langkah 2). Selanjutnya yang dilakukan oleh mikrokontroler adalah mengulang kembali siklus ini pada langkah 1. Demikian seterusnya hingga power dimatikan.