Bab 1 Mikrokontroler OK

download Bab 1 Mikrokontroler OK

of 18

description

ini adalah materi dari mata kuliah mikrontroller yang saya dapatkan di Univeritas tanjungpura

Transcript of Bab 1 Mikrokontroler OK

Bab I

I. Tujuan Pembelajaran

a. Mengenalkan mikrokontroler dan aplikasinya kepada mahasiswa.

b. Menjelaskan tentang mikrokontroler, ruang lingkup dan manfaat mikrokontroler.

II. Kompetensi Umum

a. Mahasiswa mampu menjelaskan fungsi mikrokontroler.

b. Mahasiswa mengetahui ruang lingkup dan aplikasi mikrokontroler.

III. Teori1.1 Apa itu Mikrokontroler?

Mikrokontroler jika diterjemahkan secara bahasa artinya pengendali yang ukurannya kecil (mikro). Mikrokontroler merupakan komputer yang dikemas didalam chip yang digunakan untuk mengontrol peralatan elektronik, yang menekankan efisiensi dan efektifitas biaya. Sebuah sistem elektronik yang sebelumnya banyak memerlukan komponen-komponen pendukung seperti IC TTL dan CMOS dapat direduksi dan akhirnya terpusat serta dikendalikan oleh mikrokontroler ini. Dengan penggunaan mikrokontroler ini maka :

Sistem elektronik akan menjadi lebih ringkas

Rancang bangun sistem elektronik akan lebih cepat karena sebagian besar dari sistem adalah perangkat lunak yang mudah dimodifikasi

Pencarian gangguan lebih mudah ditelusuri karena sistemnya yang kompak

Namun demikian tidak sepenuhnya mikrokontroler bisa mereduksi komponen IC TTL dan CMOS yang seringkali masih diperlukan untuk aplikasi kecepatan tinggi atau sekedar menambah jumlah saluran masukan dan keluaran (I/O). Dengan kata lain, mikrokontroler adalah versi mini atau mikro dari sebuah komputer karena mikrokontroler sudah mengandung beberapa periferal yang langsung bisa dimanfaatkan, misalnya port paralel, port serial, komparator, konversi digital ke analog (DAC), konversi analog ke digital dan sebagainya hanya menggunakan sistem minimum yang tidak rumit atau kompleks.

1.2 Aplikasi Mikrokontroler.

Dengan menguasai mikrokontroler, kita bisa menerapkannya kedalam kehidupan sehari-hari seperti mengendalikan suatu perangkat elektronik dengan berbagai sensor dan kondisi seperti cahaya, getaran, panas, dingin, lembab dan lain-lain. Sekedar contoh sederhana penggunaan mikrokontroler, lihatlah disekitar lingkungan Anda ada toaster, mesin, cuci, microwave kemudian tengoklah didunia pertanian Anda bisa membuat kontrol kelembaban untuk budidaya jamur dsb, didunia perikanan Anda bisa mengendalikan suhu air kolam dsb. Bahkan Anda bisa membuat SMS Gateway, atau kearah military Anda bisa membuat radio militer frekuensi hopping (radio komunikasi anti sadap dengan lompatan frekuensi 100 kali dalam 1 detik), sistem monitoring cuaca dengan balon udara, automatic vehicel locator (menggunakan GPS), aplikasi robotik dan sebagainya. Semua itu sekedar contoh, masih banyak lagi yang bisa kita lakukan dengan mikrokontroler.

Sebagai prospek, arah perkembangan dunia elektronika saat ini adalah ke embedded system (sistem tertanam) atau embedded electronic (elektronik tertanam). salah satunya dengan menggunakan mikrokontroler, jadi jika kita belajar dan menguasai mikrokontroler sudah tepat pada jalurnya.1.3. Perbedaan Mikrokontroler, Mikroprosesor dan Mikrokomputer.

Sekilas mikrokontroler hampir sama dengan mikroprosesor. Namun, mikrokontroler memiliki banyak komponen yang terintegrasi di dalamnya, misalnya timer/counter. Sedangkan pada mikroprosesor, komponen tersebut tidak terintegrasi. Mikroprosesor umumnya kita jumpai pada komputer dimana tugas dari mikroprosesor adalah untuk memproses berbagai macam data input maupun output dari berbagai sumber. Mikrokontroler lebih sesuai untuk tugas-tugas yang lebih spesifik. Microcontroller sebagai sebuah one chip solution pada dasarnya adalah rangkaian terintregrasi (Integrated Circuit-IC) yang telah mengandung secara lengkap berbagai komponen pembentuk sebuah komputer. Berbeda dengan penggunaan microprocessor yang masih memerlukan komponen luar tambahan seperti RAM, ROM, Timer, dan sebagainya--untuk sistem microcontroller, tambahan komponen diatas secara praktis hampir tidak dibutuhkan lagi. Hal ini disebabkan semua komponen penting tersebut telah ditanam bersama dengan sistem prosesor ke dalam IC tunggal microcontroller bersangkutan. Dengan alasan itu sistem microcontroller dikenal juga dengan istilah populer the real Computer On a Chip-komputer utuh dalam keping tunggal, sedangkan sistem microprocessor dikenal dengan istilah yang lebih terbatas yaitu Computer On a Chip-komputer dalam keping tunggal. Berdasarkan fungsinya, microcontroller secara umum digunakan untuk menjalankan program yang bersifat permanen pada sebuah aplikasi yang spesifik (misal aplikasi yang berkaitan dengan pengontrolan dan monitoring). Sedangkan program aplikasi yang dijalankan pada sistem microprosesor biasanya bersifat sementara dan berorientasi pada pengolahan data. Perbedaan fungsi kedua sistem diatas secara praktis mengakibatkan kebutuhan minimal yang harus dipenuhi juga akan berbeda (misal ditinjau dari kecepatan detak operasi, jumlah RAM, panjang register, dan lain sebagainya). Hampir tidak dapat disangkal, dewasa ini akan sukar dijumpai seseorang yang masih menggunakan komputer dengan microprocessor berbasis 8 atau 16 bit (misal microprocessor 8088 dan 8086 produk perusahaan Intel). Mengapa demikian?, salah satu alasannya - Perangkat lunak komputer yang beredar saat ini umumnya mensyaratkan kecepatan CPU yang sangat tinggi (dalam orde Mega bahkan GigaHz) serta memori dengan kapasitas sangat besar (dalam orde MegaByte) yang mana hal tersebut tidak mungkin dapat dipenuhi oleh sistem microprocessor lama tersebut. Sedangkan untuk sistem microcontroller, program yang dijalankan biasanya tidak memerlukan sumber daya sebanyak dan sebesar itu. Untuk aplikasi kontrol sederhana dan tingkat menengah, microcontroller yang digunakan cukup berbasis 4 sampai 8 bit. Microcontroller dengan ukuran lebih besar (misal 16 dan 32 bit) umumnya hanya digunakan untuk aplikasi-aplikasi khusus pada bidang pengolahan citra atau bidang kontrol yang memerlukan kepresisian tinggi.

1.4 Perkembangan Mikrokontroler Pada awal perkembangannya (yaitu sekitar tahun 1970-an), sumber daya perangkat keras serta perangkat lunak microcontroller yang beredar masih sangat terbatas. Saat itu, sistem microcontroller hanya dapat diprogram secara khusus dengan perangkat yang dinamakan EPROM programmer. Sedangkan perangkat lunak yang digunakan umumnya berbasis bahasa assembler yang relatif sulit dipelajari.

Seiring dengan perkembangan teknologi solid state dan perangkat lunak komputer secara umum, saat ini pemrograman sistem microcontroler dirasakan relatif mudah dilakukan terutama dengan digunakannya metode pemrograman ISP (In system Programming). Dengan menggunakan metode ini kita dapat memprogram sistem microcontroller sekaligus mengujinya pada sistem minimum atau papan pengembang (development board) secara langsung tanpa perlu lagi perangkat pembakar program atau emulator secara terpisah. Selain itu, ditinjau dari aspek perangkat lunak pemrogramannya, dewasa ini banyak alternatif bahasa aras tinggi dari pihak ke-tiga, baik gratis maupun komersil yang dapat digunakan. Penggunaan bahasa aras tinggi ini (seperti Pascal, C, basic dan sebagainya) selain akan menghemat waktu pengembangan, kode program yang disusun juga akan bersifat lebih modular dan terstruktur.

Bagi para pemula yang berminat memperdalam microcontroller baik sekedar untuk tujuan penyaluran hobi atau kelak untuk tujuan yang lebih profesional, dewasa ini banyak microcontroller dari berbagai vendor yang dapat dijadikan sarana untuk berlatih (misal microcontroller PIC produk Microchip, COP-8 produk National, AT89S51/52 dan AVR produk Atmel, HC11 produk Motorola dan lain sebagainya). Untuk memutuskan microcontroller mana yang akan dijadikan sarana berlatih dan akan diperdalam secara serius, ada baiknya hal-hal berikut ini dijadikan bahan pertimbangan :

- Apakah microcontroller tersebut mudah dijumpai dipasaran

- Apakah banyak dukungan pihak ketiga dalam penggunaan microcontroller tersebut, (misalnya perusahaan-perusahaan pembuat papan pengembang, pemasok compiler serta debbuger untuk pemrogramannya, dan sebagainya)

- Apakah banyak referensi dan contoh-contoh program untuk panduan anda berlatih (misalnya dari sumber-sumber internet dan buku)

- Apakah banyak forum-forum diskusi (terutama di Internet) tempat anda dan programer lain berbagi pengalaman.

Dengan berbagai macam kelebihan yang dimiliki serta hal-hal yang menjadi bahan pertimbangan diatas, dewasa ini microcontroller AVR 8 bit produk perusahaan Atmel adalah salah satu microcontroller yang banyak merebut minat kalangan profesional dan juga cocok dijadikan sarana berlatih bagi para pemula. Hal ini selain karena ragam fitur yang ditawarkan, juga disebabkan kemudahan untuk memperoleh microcontroller tersebut (berikut papan pengembangnya) di pasaran dengan harga yang relatif murah. Selain itu berkaitan dengan rancangan arsitekturnya, microcontroller AVR ini juga cocok diprogram dengan menggunakan bahasa pemrograman aras tinggi (terutama bahasa C).

1.5 Jenis-jenis MikrokontrolerSecara teknis hanya ada 2 macam mikrokontroler, yaitu RISC dan CISC dimana masing-masing mempunyai keturunan/keluargasendiri-sendiri.1. RISC singkatan dari Reduced Instruction Set Computer: instruksi terbatas tapi memiliki fasilitas yang lebih banyak.

2. CISC kependekan dari Complex Instruction Set Computer: instruksi bisa dikatakan lebih lengkap tapi dengan fasilitas secukupnya.Tentang jenisnya banyak sekali ada keluarga Motorola dengan seri 68xx, keluarga MCS51 yang diproduksi Atmel, Philip, Dallas, keluarga PIC dari Microchip, Renesas, Zilog. Masing-masing keluarga juga masih terbagi lagi dalam beberapa tipe. Jadi sulit sekali untuk menghitung jumlah mikrokontroler.1.5. Mikrokontroler Keluarga MCS-51

MCS-51 pertama kali dikembangkan oleh Intel Corporation pada tahun 70-an sehingga dapat dibilang MCS-51 usianya sudah lebih dari 32 tahun. MCS-51 merupakan salah satu keluarga mikrokontroler yang sekarang masih berkembang oleh berbagai perusahaan seperti Atmel, Philip Semiconductors, cygnal Integrated Product, Winbond Electronics Corp, dll. Berbagai kemampuan mikrokontroler terus ditingkatkan.

Pada awalnya MCS-51 dibuat dalam dua versi, NMOS dan CMOS. Namun akhirnya hanya versi CMOS yang tersedia dipasaran saat ini. Beberapa varian MCS-51 dan fiturnya:

1. Tegangan kerja

Tegangan kerja AT89LV55 buatan Atmel mampu beroperasi pada 2,7-6V. seri P89LPC9xx buatan Philip memiliki tegangan kerja 2,4-3,6V.

2. Memori dan pemograman

Internal program memory yang dimiliki AT89C51 sebesar 8 KB sedangkan internal data memory 256 byte. Tipe C8051F12X buatan Cygnal memiliki internal memory 128 KB dan internal data memory 8448 byte.

Tipe memori yang digunakan bervariasi:

OTP (One Time Programable)/Mask ROM

MTP (Multiple Time Programable) UVEPROM (Ultra Violet Erasable Programable ROM)

MTP flash/EEPROM

Cara penulisan internal program memory juga berbeda; In Circuit Programing (ICP), In Application Programming (IAP), In System Programming (ISP) dan Parallel Programming (PP).

3. Kecepatan

Dalam kecepatan satuan yang digunakan MHz dan MIPS (Million per second). Laju clock (clock rate) bernilai 12 artinya clock beroperasi 1/12 dari frekuensi sumber clock atau 1 cycle membutuhkan 12 pulsa clock.

4. Timer/Counter

MCS-51 memilki 5 buah Timer/Counter, ada Pulse Width Modulation, Programable Counter Array, dan WatchDog Timer.

5. Interrupt

Tipe P89LPC932 buatan Philip memiliki source interrupt: external interrupt 0 dan 1, timer 0 dan 1, serial port Tx, Rx, combined Rx/Tx, Watchdog/Real Time clock, I2C (Inter Integrated Circuic), keyboard, comparator 1 dan 2, SPI (Serial Periferal Interface), CCU (Capture/Compare Unit dan data EEPROM.

6. Serial Interface

Serial interface yang banyak didukung MCS-51 adalah Universal Asynchronous Receiver Tranmitter (UART). Varian yang baru menggunakan Two Wire Interface, SPI, CAN (Control Area Network) dan USB.

7. I/O

Jumlah kaki yang dapat gigunakan sebagai input/output mulai 8, 16, 32 dan 64 pin.

8. Special Function

Beberapa kemampuan MCS-51 yang lainnya:

ADC 12 bit 32 chanel

8 keyboard interrupt, power on reset

1.5.2 Mikrokontroler Keluarga AVR

Secara histories microcontroller seri AVR pertama kali diperkenalkan ke pasaran sekitar tahun 1997 oleh perusahaan Atmel, yaitu sebuah perusahaan yang sangat terkenal dengan produk microcontroller seri AT89S51/52-nya yang sampai sekarang masih banyak digunakan di lapangan. Tidak seperti microcontroller seri AT89S51/52 yang masih mempertahankan arsitektur dan set instruksi dasar microcontroller 8031 dari perusahaan INTEL. Microcontroller AVR ini diklaim memiliki arsitektur dan set instruksi yang benar-benar baru dan berbeda dengan arsitektur microcontroller sebelumnya yang diproduksi oleh perusahaan tersebut. Tetapi walaupun demikian, bagi para programmer yang sebelumnya telah terbiasa dengan microcontroller seri AT89S51/52, dan berencana untuk beralih ke microcontroller AVR, maka secara teknis tidak akan banyak kesulitan yang berarti, hal ini dikarenakan selain konsep dan istilah-istilah dasarnya hampir sama, pemrograman level assembler-nya pun relative tidak jauh berbeda. Berdasarkan arsitekturnya, AVR merupakan microcontroller RISC (Reduce Instruction Set Computer) dengan lebar bus data 8 bit. Berbeda dengan sistem AT89S51/52 yang memiliki frekuensi kerja seperduabelas kali frekuensi oscilator, frekuensi kerja microcontroller AVR ini pada dasarnya sama dengan frekuensi oscilator, sehingga hal tersebut menyebabkan kecepatan kerja AVR untuk frekuensi oscilator yang sama, akan dua belas kali lebih cepat dibandingkan dengan microcontroller keluarga AT89S51/52.

Dengan instruksi yang sangat variatif (mirip dengan sistem CISC-Complex Instruction Set Computer) serta jumlah register serbaguna (general Purpose Register) sebanyak 32 buah yang semuanya terhubung secara langsung ke ALU (Arithmetic Logic Unit), kecepatan operasi microcontroller AVR ini dapat mencapai 16 MIPS (enam belas juta instruksi per detik) sebuah kecepatan yang sangat tinggi untuk ukuran microcontroller 8 bit yang ada di pasaran sampai saat ini. Untuk memenuhi kebutuhan dan aplikasi industri yang sangat beragam, microcontroller keluarga AVR ini muncul di pasaran dengan tiga seri utama: tinyAVR, ClasicAVR (AVR), megaAVR. Berikut ini beberapa seri yang dapat anda jumpai di pasaran:

-ATtiny13 AT90S2313 ATmega103

-ATtiny22

AT90S2323 ATmega128

-ATtiny22L

AT90S2333 ATmega16

-ATtiny2313 AT90S4414 ATmega162

-ATtiny2313V AT90S4433 ATmega168

-ATtiny26 AT90S8515 ATmega8535

Keseluruhan seri AVR ini pada dasarnya memiliki organisasi memori dan set instruksi yang sama (sehingga dengan demikian jika kita telah mahir menggunakan salah satu seri AVR, untuk beralih ke seri yang lain akan relative mudah). Perbedaan antara tinyAVR, AVR dan megaAVR pada kenyataannya hanya merefleksikan tambahan-tambahan fitur yang ditawarkannya saja (misal adanya tambahan ADC internal pada seri AVR tertentu, jumlah Port I/O serta memori yang berbeda, dan sebagainya). Diantara ketiganya, megaAVR umumnya memiliki fitur yang paling lengkap, disusul oleh AVR, dan terakhir tinyAVR.Semua jenis AVR ini telah dilengkapi dengan memori flash sebagai memori program. Tergantung serinya, kapasitas memori flash yang dimiliki bervariasi dari 1K sampai 128 KB. Secara teknis, memori jenis ini dapat diprogram melalui saluran antarmuka yang dikenal dengan nama Serial Peripheral Interface (SPI) yang terdapat pada setiap seri AVR tersebut. Dengan menggunakan perangkat lunak programmer (downloader) yang tepat, pengisian memori Flash dengan menggunakan saluran SPI ini dapat dilakukan bahkan ketika chip AVR telah terpasang pada sistem akhir (end system), sehingga dengan demikian pemrogramannya sangat fleksibel dan tidak merepotkan pengguna (Secara praktis metoda ini dikenal dengan istilah ISP-In System Programming sedangkan perangkat lunaknya dinamakan In System Programmer). Untuk penyimpanan data, microcontroller AVR menyediakan dua jenis memori yang berbeda: EEPROM (Electrically Erasable Programmable Read Only Memory) dan SRAM (Static Random Access memory). EEPROM umumnya digunakan untuk menyimpan data-data program yang bersifat permanen, sedangkan SRAM digunakan untuk menyimpan data variabel yang dimungkinkan berubah setiap saatnya. Kapasitas simpan data kedua memori ini bervariasi tergantung pada jenis AVR-nya. Untuk seri AVR yang tidak memiliki SRAM, penyimpanan data variabel dapat dilakukan pada register serbaguna yang terdapat pada CPU microcontroller tersebut. Selain seri-seri diatas yang sifatnya lebih umum, Perusahaan Atmel juga memproduksi beberapa jenis microcontroller AVR untuk tujuan yang lebih khusus dan terbatas, seperti seri AT86RF401 yang khusus digunakan untuk aplikasi wireless remote control dengan menggunakan gelombang radio (RF), seri AT90SC yang khusus digunakan untuk peralatan sistem-sistem keamanan kartu SIM GSM, pembayaran via internet, dan lain sebagainya.

IV. Latihan Soal1. Jelaskan persamaan dan perbedaan antara mikrokomputer, mikroprosesor dan mikrokontroler.

2. Sebutkan bagian-bagian dari mikrokontroler dan jelaskan fungsinya..3. Sebutkan jenis-jenis mikrokontroler dan keluarganya serta perusahaan pembuatnya.

4. Sebutkan fitur dari salah satu mikrokontroler keluarga MCS-51.

5. Sebutkan fitur dari salah satu mikrokontroler keluarga AVR.

6. Sebutkan aplikasi mikrokontroler secara umum dan aplikasi khusus dalam bidang fisika.

7. Jelaskan perbedaan antara mikrokontroler MCS-51 dengan mikrokontroler AVR.8. Sebutkan hal-hal yang perlu diperhatikan dalam memilih jenis mikrokontroler yang akan digunakan.

9. Terangkan, sejauhmana peranan mikrokontroler dalam kehidupan sehari-hari ?10. Sebutkan alasan mengapa banyak orang menggunakan mikrokontroler?V. Daftar Pustaka

1. 8051 Tutorial. Vault Information Services.

2. Parametric Table. Atmel Corporation.