1. Definisi Mikrokontroler
Menurut Setiawan (2011:1) Mikrokontroller adalah suatu IC dengan kepadatan yang sangat tinggi, dimana semua bagian yang diperlukan untuk suatu kontroler sudah dikemas dalam satu keping, biasanya terdiri dari CPU (Central
Processing Unit), RAM (Random Access Memory), EEPROM/EPROM/PROM/ROM, I/O, Serial & Parallel, Timer, Interupt Controller.
Menurut Fauzi (2011:1) Mikrokontroler adalah sebuah chip yang berfungsi sebagai pengontrol rangkaian elektronik dan umunya dapat menyimpan program didalamnya.
Berdasarkan definisi yang dikemukakan diatas dapat disimpulkan bahwa mikrokontroller adalah suatu IC yang didesain atau dibentuk dengan kepadatan yang sangat tinggi, dimana semua bagian yang diperlukan suatu kontroler sudah dikemas dalam satu keping, biasanya terdiri dari CPU (Central P rocessing Unit), RAM (Random Access Memory), EEPROM/EPROM/PROM/ROM, I/O, Serial & Parallel, Timer, Interupt Controller dan berfungsi sebagai pengontrol rangkaian elektronik serta umunya dapat menyimpan program didalamnya.
Menurut Setiawan (2011:10) Seperti umumnya komputer, mikrokontroler adalah alat yang mengerjakan instruksi-instruksi yang diberikan kepadanya. Artinya, bagian terpenting dan utama dari suatu sistem terkomputerisasi adalah program itu sendiri yang dibuat oleh seorang programmer. Program ini menginstruksikan komputer untuk melakukan jalinan
yang panjang dari aksi-aksi sederhana untuk melakukan tugas yang lebih kompleks yang diinginkan oleh programmer.
Gambar 2.7 Blok Hardware Mikrokontroller Sumber : http://mikrokontroler.tripod.com/6805/bab1.htm 2. Arsitektur Mikrokontroller
ukuran register serta rangkaian lainnya. Arsitektur pada sebuah mikrokontroler sangat mempengaruhi kinerja pada saat melakukan proses pengendalian (control).
a. Arsitektur Von-Neuman
Mikrokontroler yang di disain berdasarkan arsitektur ini memilik sebuah data bus 8-bit yang dipergunakan untuk "fetch" instruksi dan data. Program (instruksi) dan data disimpan pada memori
Utama secara bersama-sama. Ketika kontroler mengalamati suatu alamat di memori utama, hal pertama yang dilakukan dalah mengambil instruksi untuk dilaksanakan dan kemudian mengambil data pendukung dari instruksi tsb. Cara ini memperlambat operasi.
Gambar 2.8 Arsitektur Mikrokontroller Von-Neuman Sumber : http://agfi.staff.ugm.ac.id
b. Arsitektur Harvard
Arsitektur ini memilik bus data dan instruksi yang terpisah, sehingga memungkinkan eksekusi dilakukan secara bersamaan. Secara teoritis hal ini memungkinkan eksekusi yang lebih cepat tetapi dilain pihak memerlukan disain yang lebih
Gambar 2.9 Arsitektur
Gambar 2.9 Arsitektur MikrokontrollMikrokontroller Harvard er Harvard Sumber : http://agfi.staff.ugm.ac.id
Sumber : http://agfi.staff.ugm.ac.id
Didalam mempelajari mikrokontroler, kita dituntut untuk dapat menguasai dua hal yang sangat pokok, berdasarkan Didalam mempelajari mikrokontroler, kita dituntut untuk dapat menguasai dua hal yang sangat pokok, berdasarkan arsitektur mikrokontroler tersebut kedua hal tersebut adalah hardware dan software.
arsitektur mikrokontroler tersebut kedua hal tersebut adalah hardware dan software. Dar
Dari i mimikrokokrokontrolntroler. Hardware akan er. Hardware akan sangsangat at kita kita perluperlukan kan ketika kita ketika kita akan akan mangmanggungunakan akan mimikrokkrokontrolontroler er untuk untuk berhubungan dengan device
berhubungan dengan device (perangkat) yang sifatnya (perangkat) yang sifatnya berada diluar berada diluar mikmikrokontroler, software (instruksi) dalam hal rokontroler, software (instruksi) dalam hal ini jugini jugaa tidak kalah penting karena didalam mengendalikan suatu system kita juga harus memahami instruksi dari mikrokontroler tidak kalah penting karena didalam mengendalikan suatu system kita juga harus memahami instruksi dari mikrokontroler yang digunakan.
yang digunakan.
3. Instruksi Mikrokontroller 3. Instruksi Mikrokontroller Menurut Setiawan (2011:
Menurut Setiawan (2011:12) Instruksi pada mikrokontroler dikenal ada 12) Instruksi pada mikrokontroler dikenal ada 2 yaitu:2 yaitu: • CISC
• CISC
Saat ini hampir semua mikrokontroler adalah mikrokontroler CISC (Complete Instruction Set Computer). Biasanya Saat ini hampir semua mikrokontroler adalah mikrokontroler CISC (Complete Instruction Set Computer). Biasanya memiliki lebih dari 80 instruksi. Keunggulan dari CISC ini adalah adanya instruksi yang bekerja seperti sebuah makro, memiliki lebih dari 80 instruksi. Keunggulan dari CISC ini adalah adanya instruksi yang bekerja seperti sebuah makro, sehingga memungkinkan programmer untuk menggunakan sebuah instruksi menggantikan beberapa instruksi sederhana sehingga memungkinkan programmer untuk menggunakan sebuah instruksi menggantikan beberapa instruksi sederhana lainnya.
lainnya. • RISC • RISC S
Saat aat inini i kecenkecenderuderungngan an inindudustrstri i untuntuk uk mmengengggunakunakan an didisaisain n mimikrokroproprosesesor sor RISRISC C (Re(Reduceduced d InsInstrutructiction on SSetet Computer). Dengan menggunakan jumlah instruksi yang lebih sedikit, memungkinkan lahan pada chip (silicon real-estate) Computer). Dengan menggunakan jumlah instruksi yang lebih sedikit, memungkinkan lahan pada chip (silicon real-estate) digunakan untuk meningkatkan kemampuan chip. Keuntungan dari RISC adalah kesederhanaan disain, chip yang lebih digunakan untuk meningkatkan kemampuan chip. Keuntungan dari RISC adalah kesederhanaan disain, chip yang lebih
kecil, jumlah pin sedikit dan sangat sedikit mengkonsumsi daya. kecil, jumlah pin sedikit dan sangat sedikit mengkonsumsi daya.
4. Macam Memory Pada Mikrokontroller 4. Macam Memory Pada Mikrokontroller Menurut Setiawan (2011:12) Mikrok
Menurut Setiawan (2011:12) Mikrokontroller mempunyai beberapa ontroller mempunyai beberapa macam memory antara macam memory antara lain :lain :
• Eeprom - Electrically Erasable Programmable Read Only Memory Beberapa mikrokontroler memiliki EEPROM • Eeprom - Electrically Erasable Programmable Read Only Memory Beberapa mikrokontroler memiliki EEPROM yang terintegrasi pada chipnya. EEPROM ini dugunakan untuk menyimpan sejumlah kecil parameter yang dapat berubah yang terintegrasi pada chipnya. EEPROM ini dugunakan untuk menyimpan sejumlah kecil parameter yang dapat berubah dari waktu ke
dari waktu ke waktu. Jenis memori iwaktu. Jenis memori ini bekerja relatif pelan, dan kemampuan untuk dihapus/tulis nya juga terbatas.ni bekerja relatif pelan, dan kemampuan untuk dihapus/tulis nya juga terbatas. •
• FLASFLASH H (EPROM(EPROM) ) FLASFLASH H mebermeberikan pemecahan ikan pemecahan yang lebih baik yang lebih baik dari EEPROM dari EEPROM ketikketika a dibudibutuhkan tuhkan sejsejumlumlahah besar
besar memori non-volatile memori non-volatile untuk untuk program. FLASH program. FLASH ini ini bekerja bekerja lebih lebih cepat cepat dan dan dapat dapat dihapus/tulis lebih dihapus/tulis lebih sering dibandingsering dibanding EEPROM.
EEPROM.
• Field Programming/Reprogramming Dengan menggunakan memori non-volatile untuk menyimpan program akan • Field Programming/Reprogramming Dengan menggunakan memori non-volatile untuk menyimpan program akan mem
memungungkinkakinkan n mimikrokkrokontrolontroler er tersebutersebut t untuk untuk diprdiprogrogram am ditemditempat, pat, tanpa tanpa melmelepaskan epaskan dari sistem dari sistem yang dikontrolyang dikontrolnya.nya. Dengan kata lain mikrokontroler tersebut dapat diprogram setelah dirakit pada PCB.
Dengan kata lain mikrokontroler tersebut dapat diprogram setelah dirakit pada PCB. •
• BattBattery ery BackBacked-Ued-Up p SStatitatic c RARAM M MemMemori ori inini i sansangagat t berberguguna na ketiketika ka didibutubutuhkan hkan mememormori i yang besar yang besar ununtuk tuk menyimpan data dan program. Keunggulan utama dari RAM statis adalah sangat cepat dibanding memori non-volatile, dan menyimpan data dan program. Keunggulan utama dari RAM statis adalah sangat cepat dibanding memori non-volatile, dan juga
juga tidak tidak terdapat terdapat keterbatasan keterbatasan kemampuan kemampuan hapus/tulis hapus/tulis sehingsehingga ga sangat sangat cocok cocok untuk untuk aplikasi aplikasi untuk untuk menyimpan menyimpan dandan manipulas
manipulasi data i data secara lokal.secara lokal.
• Otp - One Time Programmable Mikrokontroler OTP adalah mikrokontroler yang hanya dapat diprogram satu kali • Otp - One Time Programmable Mikrokontroler OTP adalah mikrokontroler yang hanya dapat diprogram satu kali saj
saja a dan dan tidtidak ak dapdapat at didihaphapus us atau atau didimodmodififikikasasi. i. BiaBiasasanya nya didiggunakunakan an untuuntuk k prproduoduksi ksi dendengagan n jujumlmlah ah terbterbatas. atas. OTOTPP mengg
menggunakan Eunakan EPROM standard PROM standard tetapi tetapi tidak memilitidak memiliki jendela untuk ki jendela untuk menghapus progrmenghapus programnya.amnya.
• Software Protection Dengan "encryption" atau proteksi fuse, software yang telah diprogramkan akan terlindungi • Software Protection Dengan "encryption" atau proteksi fuse, software yang telah diprogramkan akan terlindungi dari pembajakan, modifikasi atau rekayasa ulang. Kemampuan ini hanya dipunyai oleh komponen OTP atau komponen dari pembajakan, modifikasi atau rekayasa ulang. Kemampuan ini hanya dipunyai oleh komponen OTP atau komponen yang dapat
yang dapat diprdiprogogram ulangram ulang. . Pada Pada kompkomponen onen jenijenis s Mask ROM Mask ROM tidak diperltidak diperlukan proteksiukan proteksi, , hal ini dikarenakan untuk hal ini dikarenakan untuk membajak isi program
membajak isi programnya seseorang harus nya seseorang harus membacanya (visual) dari chip nya membacanya (visual) dari chip nya dengan menggdengan menggunakan mikroskop elektron.unakan mikroskop elektron. 5. Input/Output Mikrokontroller
5. Input/Output Mikrokontroller Menurut Setiawan (2011:
Menurut Setiawan (2011:14) Mikrokontroller mempunyai beberapa Input/Output 14) Mikrokontroller mempunyai beberapa Input/Output diantaranya yaitu diantaranya yaitu ::
• UART (Universal Asynchronous Receiver Transmitter) adalah adapter serial port adapter untuk komunikasi serial • UART (Universal Asynchronous Receiver Transmitter) adalah adapter serial port adapter untuk komunikasi serial asinkron.
asinkron. •
• USUSARART T (U(Univniversal ersal SSynchrynchronousonous/Async/Asynchronohronous us ReceiReceiver ver TTransmransmitter) itter) mermerupakan upakan adapter adapter seriserial al port port untuk untuk komunikasi serial sinkron dan asinkron. Komunikasi serial sinkron tidak memerlukan start/stop bit dan dapat beroperasi komunikasi serial sinkron dan asinkron. Komunikasi serial sinkron tidak memerlukan start/stop bit dan dapat beroperasi pada click yang l
• SPI (serial peripheral interface)
• SPI (serial peripheral interface) merupakan port merupakan port komunikomunikasi serial sinkron.kasi serial sinkron. • SCI (serial communi
• SCI (serial communications interface) cations interface) merupakan enhanced merupakan enhanced UAUART (asynchronous serial port).RT (asynchronous serial port). •
• I2C I2C bus (Inter-Inbus (Inter-Integrtegrated ated CirCircuit cuit bus) merupbus) merupakan akan antarmantarmuka uka seriserial 2 al 2 kawat yang kawat yang dikdikembanembangkan oleh gkan oleh PhiliPhilips.ps. Dikembangkan untuk aplikasi 8 bit dan banyak digunakan pada consumer elektronik, otomotif dan indistri. I2C bus ini Dikembangkan untuk aplikasi 8 bit dan banyak digunakan pada consumer elektronik, otomotif dan indistri. I2C bus ini berfungsi sebagai ant
berfungsi sebagai ant armuka armuka jaringjaringan an multi-multi-master, multi-slave dengan master, multi-slave dengan deteksi tdeteksi t abrakan abrakan data. data. JaringJaringan an dapat dapat dipasangdipasangkankan hingga 128 titik dalam jarak 10 meter. Setiap titik dalam jaringan dapat mengirim dan menerima data. Setiap titik dalam hingga 128 titik dalam jarak 10 meter. Setiap titik dalam jaringan dapat mengirim dan menerima data. Setiap titik dalam jaring
jaringan harus memian harus memiliki alliki alamat yang unikamat yang unik..
• Analog to Digital Conversion (A/D). Fungsi ADC adalah merubah
• Analog to Digital Conversion (A/D). Fungsi ADC adalah merubah besaran analog (biasanya tbesaran analog (biasanya t egangegangan) ke an) ke bilangbilanganan digi
digital. Mikrokontroler tal. Mikrokontroler dengan fasilitas ini dapat dengan fasilitas ini dapat digunakan untuk digunakan untuk aplikasiaplikasi-aplikasi yang memerlukan informasi analog-aplikasi yang memerlukan informasi analog (misalnya voltmeter, pengukur suhu dll).
(misalnya voltmeter, pengukur suhu dll). • D/A (Digi
• D/A (Digital to tal to AnalogAnalog) Converters. Kebalikan dar ) Converters. Kebalikan dar ADC seperti diatas.ADC seperti diatas.
• Comparator. Mikrokontroler tertentu memiliki ssebuah atau lebih komparator. Komparator ini bekerja seperti IC • Comparator. Mikrokontroler tertentu memiliki ssebuah atau lebih komparator. Komparator ini bekerja seperti IC komparator biasa tet
komparator biasa tet api sinyal input/output tapi sinyal input/output t erpasang pada bus erpasang pada bus mikrmikrokontrollerokontroller.. 6.Interupsi
6.Interupsi Menu
Menurut rut SSetiawetiawan an (201(2011:151:15) ) InterupInterupt t merupmerupakan akan metode metode yang yang efiefisien sien bagbagi i mimikrokonkrokontroletroler r untuk untuk memmemprosproseses periperalnya, mikrokontroler hanya
periperalnya, mikrokontroler hanya bekerja memproses bekerja memproses peripheral tsb peripheral tsb hanya hanya pada pada saat saat terdapat terdapat data data diperiperal tsb. diperiperal tsb. PadaPada saat terjadi interupt, mikrokontroler menunda operasi yang sedang dilakukan kemudian mengidentifikasi interupsi yang saat terjadi interupt, mikrokontroler menunda operasi yang sedang dilakukan kemudian mengidentifikasi interupsi yang datang dan menjalankan rutin pelayanan interupsi. Rata-rata mikrokontroler memiliki setidak-tidaknya sebuah interupsi datang dan menjalankan rutin pelayanan interupsi. Rata-rata mikrokontroler memiliki setidak-tidaknya sebuah interupsi eksternal, interupsi yang dimil
eksternal, interupsi yang dimiliki bisa dipicu oleh "edge" atau iki bisa dipicu oleh "edge" atau "level". Edge trigg"level". Edge triggered interupt ered interupt bekerja tidak bekerja tidak tergantung padatergantung pada pada
pada waktu waktu terjadinya interupsi, terjadinya interupsi, tetapi tetapi interupsi bisa interupsi bisa terjadi katerjadi karena rena glglitch. itch. SedangSedangkan kan Level Level triggtriggered ered interupt interupt harus harus tetaptetap pada logika hi
pada logika high atau low sepanjang gh atau low sepanjang waktu tertentu waktu tertentu agar dapat terjadi interupsi, iagar dapat terjadi interupsi, interupsi ini tahan terhadap glitch Interruptsnterupsi ini tahan terhadap glitch Interrupts ada 2.
ada 2.
• Maskable Interrupts Dengan maskable interupt kita dapat bebas memilih untuk menggunakan satu atau lebih • Maskable Interrupts Dengan maskable interupt kita dapat bebas memilih untuk menggunakan satu atau lebih inter
interupsiupsi. . KeuntuKeuntungangan n maskmaskable interupt ini able interupt ini adalaadalah h kita kita dapat mematikadapat mematikan n interinterupsi pada upsi pada saat saat mimikrokontkrokontroler sedangroler sedang melakukan proses yang kritis sehingga interupsi yang datang akan
melakukan proses yang kritis sehingga interupsi yang datang akan diabaikan.diabaikan.
• Vectored Interrupts Pada saat terjadi interupsi, interupt handler secara otomatis akan memindahkan program pada • Vectored Interrupts Pada saat terjadi interupsi, interupt handler secara otomatis akan memindahkan program pada alamat tertentu
alamat tertentu yang telah ditentukan sesuai dengan jenis interupsi yang terjadi.yang telah ditentukan sesuai dengan jenis interupsi yang terjadi.