Selasa, 27 Januari 2015

APA ITU MIKROKONTROLER?????

Mikrokontroler adalah suatu chip berupa IC (Integrated Circuit) yang dapat menerima sinyal input, mengolahnya dan memberikan sinyal output sesuai dengan program yang diisikan ke dalamnya. Sinyal input mikrokontroler berasal dari sensor yang merupakan informasi dari lingkungan sedangkan sinyal output ditujukan kepada aktuator yang dapat memberikan efek ke lingkungan. Jadi secara sederhana mikrokontroler dapat diibaratkan sebagai otak dari suatu perangkat/produk yang mempu berinteraksi dengan lingkungan sekitarnya.

Mikrokontroler pada dasarnya adalah komputer dalam satu chip, yang di dalamnya terdapat mikroprosesor, memori, jalur Input/Output (I/O) dan perangkat pelengkap lainnya. Kecepatan pengolahan data pada mikrokontroler lebih rendah jika dibandingkan dengan PC. Pada PC kecepatan mikroprosesor yang digunakan saat ini telah mencapai orde GHz, sedangkan kecepatan operasi mikrokontroler pada umumnya berkisar antara 1 – 16 MHz. Begitu juga kapasitas RAM dan ROM pada PC yang bisa mencapai orde Gbyte, dibandingkan dengan mikrokontroler yang hanya berkisar pada orde byte/Kbyte.
Meskipun kecepatan pengolahan data dan kapasitas memori pada mikrokontroler jauh lebih kecil jika dibandingkan dengan komputer personal, namun kemampuan mikrokontroler sudah cukup untuk dapat digunakan pada banyak aplikasi terutama karena ukurannya yang kompak. Mikrokontroler sering digunakan pada sistem yang tidak terlalu kompleks dan tidak memerlukan kemampuan komputasi yang tinggi.
Sistem yang menggunakan mikrokontroler sering disebut sebagai embedded system atau dedicated system. Embeded system adalah sistem pengendali yang tertanam pada suatu produk, sedangkan dedicated system adalah sistem pengendali yang dimaksudkan hanya untuk suatu fungsi tertentu. Sebagai contoh printer adalah suatu embedded system karena di dalamnya terdapat mikrokontroler sebagai pengendali dan juga dedicated system karena fungsi pengendali tersebut berfungsi hanya untuk menerima data dan mencetaknya. Hal ini berbeda dengan suatu PC yang dapat digunakan untuk berbagai macam keperluan, sehingga mikroprosesor pada PC sering disebut sebagai general purpose microprocessor (mikroprosesor serba guna). Pada PC berbagai macam software yang disimpan pada media penyimpanan dapat dijalankan, tidak seperti mikrokontroler hanya terdapat satu software aplikasi.
Penggunaan mikrokontroler antara lain terdapat pada bidang-bidang berikut ini.
Otomotif : Engine Control Unit, Air Bag, fuel control, Antilock Braking System, sistem pengaman alarm, transmisi automatik, hiburan, pengkondisi udara, speedometer dan odometer, navigasi, suspensi aktif
perlengkapan rumah tangga dan perkantoran : sistem pengaman alarm, remote control, mesin cuci, microwave, pengkondisi udara, timbangan digital, mesin foto kopi, printer, mouse.
pengendali peralatan di industri.
robotika.
Saat ini mikrokontroler 8 bit masih menjadi jenis mikrokontroler yang paling populer dan paling banyak digunakan. Maksud dari mikrokontroler 8 bit adalah data yang dapat diproses dalam satu waktu adalah 8 bit, jika data yang diproses lebih besar dari 8 bit maka akan dibagi menjadi beberapa bagian data yang masing-masing terdiri dari 8 bit. Contoh mikrokontroler 8 bit antara lain keluarga Motorolla 68HC05/11, Intel 8051, Microchip PIC 16, dan yang akhir-akhir ini mulai populer keluarga Atmel AVR. Selain yang telah disebutkan di atas terdapat juga beberapa seri mikrokontroler lain yang cukup dikenal antara lain Basic Stamp dari Parallax (banyak digunakan untuk pembelajaran mikrokontroler) dan HD64180 dari Hitachi (sebagai pengendali LCD). Masing-masing mikrokontroler mempunyai cara dan bahasa pemrograman yang berbeda, sehingga program untuk suatu jenis mikrokontroler tidak dapat dijalankan pada jenis mikrokontroler lain. Untuk memilih jenis mikrokontroler yang cocok dengan aplikasi yang dibuat terdapat tiga kriteria yaitu
Dapat memenuhi kebutuhan secara efektif & efisien. Hal ini menyangkut kecepatan, kemasan/packaging, konsumsi daya, jumlah RAM dan ROM, jumlah I/O dan timer, harga per unit
Bahasa pemrograman yang tersedia
Kemudahan dalam mendapatkannya
Jenis - Jenis Mikrokontroler Populer

a). AVR
Mikrokonktroler Alv and Vegard’s Risc processor atau sering disingkat AVR merupakan mikrokonktroler RISC 8 bit. Karena RISC inilah sebagian besar kode instruksinya dikemas dalam satu siklus clock. AVR adalah jenis mikrokontroler yang paling sering dipakai dalam bidang elektronika dan instrumentasi.
Secara umum, AVR dapat dikelompokkan dalam 4 kelas. Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral dan fungsinya. Keempat kelas tersebut adalah keluarga ATTiny, keluarga AT90Sxx, keluarga ATMega dan AT86RFxx.
b). MCS-51
Mikrokonktroler ini termasuk dalam keluarga mikrokonktroler CISC. Sebagian besar instruksinya dieksekusi dalam 12 siklus clock. Mikrokontroler ini berdasarkan arsitektur Harvard dan meskipun awalnya dirancang untuk aplikasi mikrokontroler chip tunggal, sebuah mode perluasan telah mengizinkan sebuah ROM luar 64KB dan RAM luar 64KB diberikan alamat dengan cara jalur pemilihan chip yang terpisah untuk akses program dan memori data.
Salah satu kemampuan dari mikrokontroler 8051 adalah pemasukan sebuah mesin pemroses boolean yang mengijikan operasi logika boolean tingkatan-bit dapat dilakukan secara langsung dan secara efisien dalam register internal dan RAM. Karena itulah MCS51 digunakan dalam rancangan awal PLC (programmable Logic Control).

c). PIC
Pada awalnya, PIC merupakan kependekan dari Programmable Interface Controller. Tetapi pada perkembangannya berubah menjadi Programmable Intelligent Computer. PIC termasuk keluarga mikrokonktroler berarsitektur Harvard yang dibuat oleh Microchip Technology. Awalnya dikembangkan oleh Divisi Mikroelektronik General Instruments dengan nama PIC1640. Sekarang Microhip telah mengumumkan pembuatan PIC-nya yang keenam.
d). ARM
ARM adalah prosesor dengan arsitektur set instruksi 32­bit RISC (Reduced Instruction Set Computer) yang dikembangkan oleh ARM Holdings. ARM merupakan singkatan dari Advanced RISC Machine (sebelumnya lebih dikenal dengan kepanjangan Acorn RISC Machine). Pada awalnya ARM prosesor dikembangkan untuk PC (Personal Computer) oleh Acorn Computers, sebelum dominasi Intel x86 prosesor­ Microsoft di IBM PC kompatibel menyebabkan Acorn Computers bangkrut.
Fungsi masing-masing port di mikrokontroler
Fungsi Kaki-Kaki (Pin) Microcontroller Atmel MCS51 VCC, Kaki VCCdigunakan untuk masukan suplai tegangan. GND, Kaki (pin) GNDfunsinya sebagai saluran ground atau pentanahan. RST, Kaki RSTfungsinya sebagai masukan reset. Kondisi “1” selama 2 siklus mesin pada saat oscillator bekerja akan me-reset mikrokontroler yang bersangkutan. ALE/PROG, Kaki ALEdigunakan sebagai keluaran ALE  atau Adreess Latch Enable yang akan menghasilkan pulsa-pulsa untuk menahan byte rendah (low byte) alamat selama mengakses memori eksternal. Kaki ini juga berfungsi sebagai masukan pulsa program (the program pulse input) atau  selama pemrograman flash. Pada operasi normal, ALEakan berpulsa dengan laju 1/6 dari frekuensi kristal dan dapat digunakan sebagai pewaktuan (timing) atau pendekatan (clocking) rangkainan eksternal.   PSEN, Kaki  (Program Store Enable) merupakan sinyal baca untuk memori program eksternal. Saat mikrokontroler MCS51 menjalankan program dari memori eksternal,  akan diaktifkan dua kali per-siklus mesin, kecuali dua aktivasi  dilompati (diabaikan) saat mengakses memori data eksternal. EA/VPP, Kaki VPP( Exkternal Access Enable) fungsinya sebagai kontrol untuk mengakses memori.  harus dihubungkan ke ground, jika mikrokontroler akan mengeksekusi program dari memori eksrternal. Selain itu  harus dihubungkan ke VCCjika akan mengakses program secara internal. Kaki ini juga berfungsi untuk menerima tegangan 12V (VPP) selama pemrograman flash, khususnya untuk tipe mikrokontroler 12V volt. XTAL1, Kaki XTAL1merupakan masukan untuk penguat inverting oscillator dan masukan untuk clock internal pada rangkaian operasi mikrokontroler. XTAL2, Kaki XTAL2merupakan keluaran dari rangkaian penguat inverting oscillator.
 Port 0
 Port 0 merupakan port keluaran/masukan (I/O) 8-bit bertipe open drain bi-directional. Sebagai port keluaran, masing-masing kaki dapat menyerap arus (sink current) delapan masukan TTL (sekitar 3,8 mA). Pada saat logika “1” dituliskan ke port 0, maka kaki-kaki port 0 ini dapat digunakan sebagai masukan-masukan berimpedansi tinggi. Port 0 juga dapat dikonfigurasikan sebagai jalur alamat/data bagian rendah (low byte) selama proses pengaksesan memori data dan program eksternal. Jika digunakan dalam mode ini maka port 0 memiliki pull-up internal. Port 0 juga dapat menerima kode-kode yang dikirimkan kepadanya selama proses pemrograman dan mengeluarkan kode-kode selama proses verifikasi program yang telah tersimpan dalam Flash PEROM. Dalam hal ini dibutuhkan pull-up eksternal selama proses verifikasi program.

Port 1
Port 1 merupakan port I/O 8-bit bertipe bidirectional yang dilengkapi dengan pull-up internal. Penyangga keluaran port 1 mampu memberikan/menyerap arus empat masukan TTL(sekitar 1,6 mA). Jika logika “1” dituliskan ke kaki-kaki port 1, maka masing-masing kaki port 1 akan di-pull-up high dengan pull-up internal sehingga dapat digunakan sebagai masukan. Sebagai masukan jika kaki-kaki port 1 dihubungkan ke ground (di-pull-up low), maka masing-masing kaki akan memberikan arus (source current) karena di-pull-up high secara internal. Port 1 juga menerima alamat bagian rendah (low byte) selama pemrograman dan verifikasi pada Flash PEROM.

Port 2
 Port 2 merupakan port I/O 8-bit bertipe bidirectional yang dilengkapi dengan pull-up internal. Penyangga keluaran port 2 mampu memberikan/menyerap arus empat masukan TTL (sekitar 1,6 mA). Jika logika “1” dituliskan ke kaki-kaki port 2, maka masing-masing kaki port 2 akan di-pull-up high dengan pull-up internal sehingga dapat digunakan sebagai masukan. Sebagai masukan jika kaki-kaki port 2 dihubungkan ke ground (di-pull-up low), maka masing-masing kaki akan memberikan arus (source current) karena di-pull-up high secara internal. Port 2 akan memberikan byte alamat bagian tinggi (high byte) selama pengambilan instruksi dari memori program eksternal dan selama pengaksesan memori data yang menggunakan perintah dengan alamat 16-bit (misalnya: MOVX @DPTR). Dalam aplikasi ini, jika ingin mengirimkan “1”, maka digunakan pull-up internal yang sudah disediakan. Selama pengaksesan memori data eksternal yang menggunakan perintah dengan alamat 8-bit (misalnya: MOVX @R1), port 2 akan mengirimkan isi dari SFR P2. Port 2 juga menerima alamat bagian tinggi selama pemrograman dan verifikasi pada Flash PEROM.

Port 3
Port 3 merupakan port I/O 8-bit bertipe bidirectional yang dilengkapi dengan pull-up internal. Penyangga keluaran port 3 mampu memberikan/menyerap arus empat masukan TTL(sekitar 1,6 mA). Jika logika “1” dituliskan ke kaki-kaki port 3, maka masing-masing kaki port 3 akan di-pull-up high dengan pull-up internal sehingga dapat digunakan sebagai masukan. Sebagai masukan jika kaki-kaki port 3 dihubungkan ke ground (di-pull-up low), maka masing-masing kaki akan memberikan arus (source) karena di-pull-up high secara internal. Port 3 juga digunakan untuk menerima sinyal-sinyal kontrol (P3.6 dan P3.7), bersama-sama dengan port 2 (P2.6 dan P2.7) selama proses pemrograman dan verifikasi pada Flash PEROM.

Diagram Pin
Mikrokontroler tipe AT89S51 merupakan mikrokontroler keluarga MCS-51 dengan konfigurasi yang sama persis dengan AT89C51 yang cukup terkenal, hanya saja AT89S51 mempunyai fitur ISP (In-System Programmable Flash Memory). Fitur ini memungkinkan mikrokontroler dapat diprogram langsung dalam suatu sistem elektronik tanpa melalui Programmer Board atau Downloader Board. Mikrokontroler dapat diprogram langsung melalui kabel ISP yang dihubungkan dengan paralel port pada suatu Personal Computer.
Adapun fitur yang dimiliki Mikrokontroler AT89S51 adalah sebagai berikut :

1. Sebuah CPU (Central Processing Unit) 8 bit yang termasuk keluarga MCS51.
2. Osilator internal dan rangkaian pewaktu, RAM internal 128 byte (on chip).
3. Empat buah Programmable port I/O,masing-masing terdiri atas 8 jalur I/O
4. Dua buah Timer Counter 16 bit.
5. Lima buah jalur interupsi (2 interupsi external dan 3 interupsi internal )
6. Sebuah port serial dengan kontrol serial full duplex UART.
7. Kemampuan melaksanakan operasi perkalian, pembagian dan operasi Boolean (bit)
8. Kecepatan pelaksanaan instruksi per siklus 1 microdetik pada frekuensi clock 12 MHz
9. 4 Kbytes Flash ROM yang dapat diisi dan dihapus sampai 1000 kali
10. In-System Programmable Flash Memory

Dengan keistimewaan diatas, pembuatan alat menggunakan AT89S51 menjadi lebih sederhana dan tidak memerlukan IC pendukung yang banyak. Sehingga mikrokontroler AT89S51 ini mempunyai keistimewaan dari segi perangkat keras. Adapun blok diagram dari mikrokontroler 89S51 diperlihatkan pada Gambar 1.1.
Gambar 1.1. Blok diagram dari mikrokontroler 89S51

Konfigurasi Pin Mikrokontroler AT89S51
Susunan pin mikrokontroler AT89S51 diperlihatkan pada Gambar 1.2.
Gambar 1.2. Konfigurasi Pin AT89S51

Mikrokontroler AT89S51 memiliki pin berjumlah 40 dan umumnya dikemas dalam DIP (Dual Inline Package). Masing-masing pin pada mikrokontroler AT89S51 mempunyai kegunaan sebagai berikut:
Port 0
Port 0 merupakan port dua fungsi yang berada pada pin 32-39 dari AT89S51. Dalam rancangan sistem sederhana port ini sebagai port I/O serbaguna. Untuk rancangan yang lebih komplek dengan melibatkan memori eksternal jalur ini dimultiplek untuk bus data dan bus alamat.
Port 1
Port 1 disediakan sebagai port I/O dan berada pada pin 1-8. Beberapa pin pada port ini memiliki fungsi khusus yaitu P1.5 (MOSI), P1.6 (MISO), P1.7 (SCK) yang digunakan untuk jalur download program.
Port 2
Port 2 ( pin 21-28 ) merupakan port dua fungsi yaitu sebagai I/O serbaguna, atau sebagai bus alamat byte tinggi untuk rancangan yang melibatkan memori eksternal.
Port 3
Port 3 adalah port dua fungsi yang berada pada pin 10-17, port ini memiliki multi fungsi, seperti yang terdapat pada gambar 1.1


ini gambar mikrokontroler AT mega-8535
Mikrokontroler diarahkan untuk: Memahami Mikrokontroler sebagai Sistim Mikroprosesor dalam satu Chip tunggal; Arsitektur Mikrokontroler; Instruction Set Mikrokontroler AT89S51; Bahasa Pemrograman Asembly; Pemrograman Port sebagai Output dan Input Sederhana; Pemrograman Interface Display; Pemrograman Input Keypad; Pemrograman Interface Motor; Pemrograman Interupsi, Pemrograman Timer/Counter.


 Mikrokontroler AT89S51