Sabtu, 15 Januari 2011
Bermacam-macam animasi lampu LED yang dapat digunakan sebagai penghias rumah ataupun sebagai penyemarak kendaraan bermotor pada malam hari, termasuk animasi lampu berjalan. Rangkaian ini disebut lampu berjalan karena nyala animasi lampu ini bergantian, dari nyala satu lampu LED bergeser ke lampu LED sebelahnya secara bergantian, sehingga nyala lampu LED-nya terkesan berjalan. Se-dangkan komponen utama dari rangkaian lampu berjalan ini adalah IC NE555 sebagai penghasil pulsa dan IC 4017 sebagai decade counter. Sehingga jika anda ingin mengatur kecepatan dari nyala lampu LED, maka anda harus mengatur nilai dari variable resistor 20K agar pulsa keluaran dari IC NE555 dapat dipercepat atau diperlambat. IC 4017 bertugas menyalakan lampu LED agar nyala bergantian, namun waktu pergantian nyala lampu LED ditentukan oleh IC NE555.
MAKALAH RUNNING LED
SKEMA RANGKAIAN RUNNING LED
RUNNING LED
Rangkaian Running Led adalah animasi lampu yang bergerak dari satu
led ke led yang lainnya, dan running led ini juga bisa dibuat sesuai dengan
keinginan kita contohnya papan nama kita yang dibuat dari beberapa led, sehingga
dapat memberikan kesan yang indah.
Rangkaian ini terdiri dari Pewaktu/clock (menggunakan IC 555) dan
Pencacah/counter (menggunakan IC 4017). Dengan menggunakan beberapa Led
yang berfungsi sebagai output. Pada bagian output inilah akan mengeluarkan
cahaya dan dapat berjalan dari Led pertama hingga Led terakhir dan kembali lagi
kesemula begitu seterusnya, hingga waktu yang kita inginkan.
Aplikasi rangkaian ini membutuhkan suatu arus listrik bolak-balik (DC)
agar dapat bekerja dan cara penggunaannya hanya membutuhkan 1 buah baterai
9 Volt.
RUNNING LED
Rangkaian Running Led adalah animasi lampu yang bergerak dari satu
led ke led yang lainnya, dan running led ini juga bisa dibuat sesuai dengan
keinginan kita contohnya papan nama kita yang dibuat dari beberapa led, sehingga
dapat memberikan kesan yang indah.
Rangkaian ini terdiri dari Pewaktu/clock (menggunakan IC 555) dan
Pencacah/counter (menggunakan IC 4017). Dengan menggunakan beberapa Led
yang berfungsi sebagai output. Pada bagian output inilah akan mengeluarkan
cahaya dan dapat berjalan dari Led pertama hingga Led terakhir dan kembali lagi
kesemula begitu seterusnya, hingga waktu yang kita inginkan.
Aplikasi rangkaian ini membutuhkan suatu arus listrik bolak-balik (DC)
agar dapat bekerja dan cara penggunaannya hanya membutuhkan 1 buah baterai
9 Volt.
Kamis, 13 Januari 2011
Selasa, 11 Januari 2011
PERKENALAN MIKROKONTROLLER
1. Apakah Yang Disebut Dengan Mikrokontroler?
Suatu kontroler digunakan untuk mengontrol suatu proses atau aspek-aspek
dari lingkungan. Satu contoh aplikasi dari mikrokontroler adalah untuk memonitor
rumah kita. Ketika suhu naik kontroler membuka jendela dan sebaliknya.
Pada masanya, kontroler dibangun dari komponen-komponen logika secara
keseluruhan, sehingga menjadikannya besar dan berat. Setelah itu barulah
dipergunakan mikrokprosesor sehingga keseluruhan kontroler masuk kedalam PCB
yang cukup kecil. Hingga saat ini masih sering kita lihat kontroler yang dikendalikan
oleh mikroprosesor biasa (Zilog Z80, Intel 8088, Motorola 6809, dsb).
Proses pengecilan komponen terus berlangsung, semua komponen yang
diperlukan guna membangun suatu kontroler dapat dikemas dalam satu keping. Maka
lahirlah komputer keping tunggal (one chip microcomputer) atau disebut juga
mikrokontroler. Mikrokontrolere adalah suatu IC dengan kepadatan yang sangat
tinggi, dimana semua bagian yang diperlukan untuk suatu kontroler sudah dikemas
dalam satu keping, biasanya terdiri dari:
1. CPU (Central Processing Unit)
2. RAM (Random Access Memory)
3. EEPROM/EPROM/PROM/ROM
4. I/O, Serial & Parallel
5. Timer
6. Interupt Controller
Rata-rata mikrokontroler memiliki instruksi manipulasi bit, akses ke I/O
secara langsung dan mudah, dan proses interupt yang cepat dan efisien. Dengan
kata lain mikrokontroler adalah " Solusi satu Chip" yang secara drastis mengurangi
jumlah komponen dan biaya disain (harga relatif rendah).
2. Aplikasi Yang Dapat Dilakukan
Selain sebagai sistem monitor rumah seperti diatas, mikrokontroler sering
dijumpai pada peralatan rumah tangga (microwave oven, TV, stereo set dll), komputer
dan perlengkapannya, mobil dan lain sebagainya. Pada beberapa penggunaan bisa
ditemukan lebih dari satu prosesor didalamnya.
Mikrokontroler biasanya digunakan untuk peralatan yang tidak terlalu
membutuhkan kecepatan pemrosesan yang tinggi. Walaupun mungkin ada diantara
kita yang membayangkan untuk mengontrol oven microwave dengan menggunakan
sistem berbasis Unix, mengendalikan oven microwave dapat dengan mudah
menggunakan mikrokontroler yang paling kecil. Dilain pihak jika kita ingin
mengendalikan rudal guna mengejar anjing tetangga yang selalu menyalak ditengah
malam, kita akan memerlukan prosesor dengan kecepatan yang lebih tinggi.
Sifat spesial dari mikrokontroler adalah kecil dalam ukuran, hemat daya listrik
serta flexibilitasnya menyebabkan mikrokontroler sangat cocok untuk dipakai sebagai
pencatat/perekam data pada aplikasi yang tidak memerlukan kehadiran operator.
3. Jenis Yang Dapat Dipilih
Mikrokontroler tersedia dalam beberapa pilihan, tergantung dari keperluan dan
kemampuan yang diinginkan. Kita dapat memilih mikrokontroler 4, 8, 16 atau 32 bit.
Disamping itu terdapat pula mikrokontroler dengan kemampuan komunikasi serial,
penanganan keyboard, pemroses sinyal, pemroses video dll.
4. Pasar Bagi Mikrokontroler
WorldWide Microcontroller Shipments (in millions of dollars)
90 91 92 93 94 95 96 97 98 99 00
4 bit 1,393 1,597 1,596 1,698 1,761 1,826 1,849 1,881 1,856 1,816 1,757
8 bit 2,077 2,615 2,862 3,703 4,689 5,634 6,553 7,529 8,423 9,219 9,715
16 bit 192 303 340 484 810 1,170 1,628 2,191 2,969 3,678 4,405
WorldWide Microcontroller Shipments (in Millions)
90 91 92 93 94 95 96 97 98 99 00
4 bit 778 906 979 1,036 1,063 1110 1110 1096 1,064 1,025 970
8 bit 588 753 843 1,073 1,449 1,803 2,123 2,374 2,556 2,681 2,700
16 bit 22 38 45 59 106 157 227 313 419 501 585
Source: WSTS & ICE - 1994
Jika kita bertanya apa perlunya kita mempelajari mikrokontroler, tabel diatas akan
sedikit banyak memberikan gambaran tentang bisnis mikrokontroler yang akan
menghasilkan banyak tumpukan rupiah dimeja kita. Suatu survey di Amerika
menyatakan bahwa rata-rata terdapat 35 buah mikrokontroler yang digunakan pada
satu rumah di Amerika, dan diperkirakan akan menjadi 240 pada tahun 2000.
5. Pertimbangan Pemilihan Mikrokontroler
Terdapat beberapa hal yang perlu dipertimbangkan dalam menentukan jenis
mana yang akan dipergunakan dalam disain kita yaitu seperti berikut:
v Ketersediaan dan harga dari suatu development tools (Programmer, Emulator
dan Simulator)
v Ketersediaan dokumentasi (Ref. Manual, Application notes, dan buku
lainnya).
v Ketersediaan tempat bertanya.
v Ketersediaan komponen OTP, Mask, dan Programmable.
6. Produsen Mikrokontroler
Dibawah ini adalah daftar produsen besar dari mikrokontroler dan unit yang
terjual (dalam ribuan).
Company (Units x 1000)
Motorola (358,894)
Mitsubishi(71,674)
NEC (70,180)
Hitachi (67,873)
Philips (56,680)
Intel (46,876)
SGS-Thomson (37,350)
Microchip (35,477)
Matsushitta (34,200)
Toshiba (32,205)
National Semiconductor (31,634)
Zilog (31,000)
Texas Instruments (29,725)
Siemens (20,874)
Sharp(17,505)
SOURCE: DataQuest June 1994.
7. Hal-Hal Mengenai Mikrokontroler
v Tehnik fabrikasi
CMOS - Complementary Metal Oxide Semiconductor
Ini adalah tehnik yang biasa dilakukan untuk memproduksi hampir
semua mikrokontroler terbaru. Mikrokontroler CMOS memerlukan
daya yang lebih rendah dibanding mikrokontroler yang dibuat
dengan tehnik sebelumnya, sehingga memungkinkan untuk
dioperasikan menggunakan batere. Chip CMOS juga memungkinkan
dioperasikan pada fully atau mendekati fully static, yang berarti
bahwa clock dapat diperlambat bahkan diberhentikan sehingga chip
berada dalam kondisi (mode) sleep. CMOS juga lebih tahan terhadap
noise dibandingkan cara fabrikasi sebelumnya.
v Arsitektur
Von-Neuman Architecure
Mikrokontroler yang di disain berdasarkan arsitektur ini memilik
sebuah data bus 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
mikrokontroler.
Harvard Architecture
Arsitektur ini memilik bus data dan instruksi yang terpisah, sehingga
memungkinkan eksekusi dilakukan secara bersamaan. Secara teoritis
hal ini memungkinak eksekusi yang lebih cepat tetapi dilain fihak
memerlukan disain yang lebih kompleks.
v Instruksi
CISC
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 sebua
makro, sehingga memungkinkan programmer untuk menggunakan sebuah
instruksi menggantikan beberapa instruksi sedarhana lainnya.
RISC
Saat ini kecenderungan industri untuk menggunakan disain mikroprosesor
RISC ( Reduced Instruction Set Computer). Dengan menggunakan jumlah
instruksi yang lebih sedikit, memungkinkan lahan pada chip (silicon realestate)
digunakan untuk meningkatkan kemampuan chip. Keuntungan dari RIS
adalah kesederhanaan disain, chip yang lebih kecil, jumlah pin sedikit dan
sangat sedikit mengkonsumsi daya.
Dibawah ini adalah fature yang biasa dimiliki oleh RISC Processor:
Harvard Architecture, memungkinkan akses yang program dan data yang bersamaan .
Instruction Pipelining meningkatkan kecepatan eksekusi.
Orthogonal instruktion set untuk kemudahan dalam programming, memungkinkan
tiap instruksi untuk dioperasikan pada register atau digunakan pada beberapa mode
pengalamatan, instruksi-instruksi tidak mempunyai kombinasi tertentu dan juga tanpa
perkecualian.
8. Pilihan Memori
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 dari waktu ke waktu. Jenis memori ini
bekerja relatif pelan, dan kemampuan untuk dihapus/tulis nya juga
terbatas.
FLASH (EPROM)
FLASH meberikan pemecahan yang lebih baik dari EEPROM ketika
dibutuhkan sejumlah besar memori non-volatile untuk program.
FLASH ini bekerja lebih cepat dan dapat dihapus/tulis lebih sering
dibanding EEPROM.
Battery backed-up static RAM
Memori ini sangat berguna ketika dibutuhkan memori yang besar
untuk menyimpan data dan program. Keunggulan utama dari RAM
statis adalah sangat cepat dibanding memori non-volatile, dan juga
tidak terdapat keterbatasan kemampuan hapus/tulis sehingga sangat
cocok untuk aplikasi untuk menyimpan dan manipulasi data secara
lokal.
Field programming/reprogramming
Dengan menggunakan memori non-volatile untuk menyimpan
program akan memungkinkan mikrokontroler tersebut untuk
diprogram ditempat, tanpa melepaskan dari sistem yang
dikontrolnya. Dengan kata lain mikrokontroler tersebut dapat
diprogram setelah dirakit diPCBnya.
OTP - One Time Programmable
Mikrokontroler OTP adalah mikrokontroler yang hanya dapat
diprogram satu kali saja dan tidak dapat dihapus atau dimodifikasi.
Biasanya digunakan untuk produksi dengan jumlah terbatas. OTP
menggunakan EPROM standard tetapi tidak memiliki jendela untuk
menghapus programnya.
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 yang dapat diprogram ulang.
Pada komponen jenis Mask ROM tidak diperlukan proteksi, hal ini dikarenakan untuk
membajak isi programnya seseorang harus membacanya (visual) dari chip nya dengan
menggunakan mikroskop elektron.
Walaupun demikian pabrik mikrokontroler masih dapat membaca isi program
guna memastikan bahwa mikrokontroler diprogram dengan tepat, atau biasa disebut
"test mode". TEST MODE MEMUNGKINKAN KITA MEMBACA KESELURUHAN ISI ROM , tetapi hal ini tidak perlu dibesar-besarkan karena test mode ini bersifat SANGAT-SANGAT- SANGAT DIRAHASIAKAN dan hanya diketahui oleh pabrikan yang memproduksi mikrokontroler tersebut. Test mode hanya dapat dilakukan pada komponen Mask ROM.
9. Input/Output
UART (Universal Asynchronous Receiver Transmitter) adalah adapter serial port
adapter untuk komunikasi serial asinkron.
USART (Universal Synchronous/Asynchronous Receiver Transmitter)
merupakan adapter serial port untuk komunikasi serial sinkron dan asinkron.
Komunikasi serial sinkron tidak memerlukan start/stop bit dan dapat beroperasi pada
click yang lebih tinggi dibanding asinkron.
SPI (serial peripheral interface) merupakan port komunikasi serial sinkron.
SCI (serial communications interface) merupakan enhanced UART (asynchronous
serial port)
I2C bus (Inter-Integrated Circuit bus) merupakan antarmuka serial 2 kawat yang
dikembangkan oleh Philips. Dikembangkan untuk aplikasi 8 bit dan banyak
digunakan pada consumer electronics, automotive dan indistri. I2C bus ini berfungsi
sebagai antarmuka jaringan multi-master, multi-slave dengan deteksi tabrakan data.
Jaringan dapat dipasangkan hingga 128 titik dalam jarak 10 meter. Setiap titik dalam
jaringan dapat mengirim dan menerima data. Setiap titik dalam jaringan harus
memiliki alamat yang unik.
Analog to Digital Conversion (A/D). Fungsi ADC adalah merubah besaran analog
(biasanya tegangan) ke bilangan digital. Mikrokontroler dengan fasilitas ini dapat
digunakan untuk aplikasi-aplikasi yang memerlukan informasi analog (misalnya
voltmeter, pengukur suhu dll).
Terdapat beberapa tipe dari ADC sbb:
- Succesive Approximation A/D converters.
- Single Slope A/D converters.
- Delta-Sigma A/Ds converters.
- Flash A/D.
D/A (Digital to Analog) Converters. Kebalikan dar ADC seperti diatas.
Comparator. Mikrokontroler tertentu memiliki ssebuah atau lebih komparator.
Komparator ini bekerja seperti IC komparator biasa tetapi sinyal input/outputnya
terpasang pada bus mikrokontroler.
10. Interupsi
Interupt merupakan metode yang efisien bagi mikrokontroler untuk
memproses periperalnya, mikrokontroler hanya bekerja memproses periperal tsb
hanya pada saat terdapat data diperiperal tsb. Pada 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 eksternal,
interupsi yang dimiliki bisa dipicu oleh "edge" atau "level". Edge triggered interupt
bekerja tidak tergantung pada pada waktu terjadinya interupsi, tetapi interupsi bisa
terjadi karena glitch. Sedangkan Level triggered interupt harus tetap pada logika high atau low sepanjang waktu tertentu agar dapat terjadi interupsi, interupsi ini tahan terhadap glitch.
Maskable Interrupts
Dengan maskable interupt kita dapat bebas memilih untuk menggunakan satu
atau lebih interupsi. Keuntungan maskable interupt inin adalah kita dapat
mematikan interupsi pada saat mikrokontroler sedang melakukan proses yang
kritis sehingga interupsi yang datang akan diabaikan.
Vectored Interrupts
Pada saat terjadi interupsi, interupt handler secara otomatis akan
memindahkan program pada alamat tertentu yang telah ditentukan sesuai
dengan jenis interupsi yang terjadi.
11. Mikrokontroler Populer
Dibawah ini dijelaskan beberapa mikrokontroler yang cukup populer. Untuk menggunakan salah satu mikrokontroler ini pilihan yang paling tepat adalah mikrokontroler yang memiliki dokumentasi yang baik serta development tools dengan harga yang terjangkau. Untuk pemula atau hobyst, Intel 8051, Motorola 68hc11 atau Microchip PIC adalah pilihan yang cukup baik.
v 8051 (Intel dan lainnya)
Arsitektur Harvard modified dengan alamat terpisah untuk memori program
dan data. Memori untuk program bisa dialamati hingga 64 K. Memori bawah
(4K, 8K atau 16K tergantung tipe) bisa terletak di chipnya. Mikrokontroler ini
memiliki 128 byte memori internal ditambah beberapa register (SFR), juga
bisa mengalamati hingga 64K memori eksternal untuk data.
Cukup banyak software baik software komersil maupin gratis untuk
mikrokontroler 8051 ini. Mikrokontroler ini memiliki banyak varian sehingga
mampu memenuhi keperluan yang bebeda. Diproduksi tidak hanya oleh Intel
tetapi beberapa pabrikan lainnya juga ikut memproduksi jenis mikrokontroler
ini.
v 6805 (Motorola)
Memiliki arsitektur Von Neuman dimana instruksi, data, I/O, dan timer
terdapat pada satu daerah memori. Stack pointer yang dimiliki adalah 5 bit
sehingga kedalaman stack terbatas hingga 32 byte. Beberapa mikrokontroler
dari keluarga ini memiliki ADC, PLL, Frq. Synthesizer, serial I/O dan
software security.
v PIC (MicroChip)
Mikrokontroler PIC merupakan mikrokontroler RISC yang pertama. Pada
umumnya RISC mengakibatkan kesederhanaan rancangan dan memungkinkan
untuk menambah kemampuanya dengan biaya yang rendah. Walaupun hanya
memiliki sedikit instruksi (33 instruksi untuk 16C5x), keluarga PIC memiliki
banyak keunggulan yang sudah merupakan bagian dari chip. Dengan bus
instruksi dan bus data yang terpisah (arsitektur Harvard), PIC memungkinkan
akses data dan program secara bersamaan sehingga menaikan kinerja
pemrosesannya. Keuntungan dari kesederhanaan rancangan ini adalah chip
yang sangat kecil, sedikit pin dan pemakaian daya yang sangat kecil.
Popularitas mikrokontroler PIC ini meningkat sangat cepat. Dengan harga
yang murah, ukuran kecil dan hemat pemakaian daya, pada saat ini
mikrokontroler ini digunakan juga pada pemakaian lain seperti sebagai
rangkaian logika. Terdapat tiga keluarga PIC pada saat ini yaitu PIC16C5x,
PIC16Cxx dan PIC17Cxx.
v Z8 (Zilog)
Z8 merupakan turunan dari Zilog Z80. Memiliki arsitektur unik merupakan
arsitektur gabungan dengan tiga daerah memori yaitu: program memori, data
memori dan CPU register file. Mikrokontroler ini memiliki UART, timer,
DMA, I/O hingga 40 buah pada chipnya. Versi lainnya memiliki sync/async
serial channel.
Keseluruhan mikrokontroler ini memiliki Stack RAM yang dapat dikonfigurasikan
dan sistem interupsi, dua timer programmable dengan interupt, proteksi ROM, dua
analog komparator
12. Software
Software untuk menggunakan mikrokontroler dapat didapatkan secara gratis
dengan mencari di WWW, tetapi software gratis biasanya tidak dilengkapi dengan
dokumentasinya. Software ini diantaranya adalah software untuk simulasi dan
software untuk pemrograman. Jika ingin lebih serius mendalami mikrokontroler
mungkin lebih baik untuk membeli software lengkap dengan dokumentasinya.
Jika PIC merupakan mikrokontroler yang dipilih, kita dapat mendownload software
yang diperlukan secara gratis di web microchip yaitu MPSIM (simulator), MPASM
(assembler).
13. Bahasa Pemrograman Bagi Mikrokontroler
BAHASA MESIN DAN ASSEMBLER
Bahasa mesin adalah satu-satunya bahasa yang dimengerti oleh
mikrokontroler. Bahasa ini tidak mudah untuk dimengerti oleh manusia. Sedangkan
bahasa assembly adalah suatu bentuk bahasa mesin yang bisa dimengerti oleh
manusia. Setiap pernyataan dari bahasa assembly menggambarkan satu pernyataan
bahasa mesin. Sebagai contoh instruksi JMP (asal kata JUMP) akan lebih mudah
dimengerti dibandingkan instruksi B3H.
Pemrograman dengan menggunakan bahasa assembly/mesin menghasilkan
program yang kecil dan cepat. Hal ini dikarenakan kita sepenuhnya mengontrol kerja
dari program, tetapi tentu saja jika kita membuat program yang bertele-tele dan
berbelit akan menyebabkan program berjalan lambat.
Untuk orang yang pertama kali mempelajari mikrokontroler, akan lebih baik jika
mempelajari assembler terlebih dahulu sebelum mempelajari bahasa pemrograman
lainnya (mis: C). Dengan membuat program dengan assembler akan membimbing kita
memahami arsitektur dari mikrokontroler tsb.
KOMPILER
Compiler adalah penerjemah untuk bahasa pemrograman tingkat tinggi.
Bekerja dengan cara menterjemahkan (mis pada PC) langsung ke bahasa mesin yang
dimengerti oleh mikrokontroler.
Salah satu compiler yang banyak dipergunakan saat ini adalah "C". "C" digunakan
pada mikrokontroler kecil hingga supercomputer. Walaupun program dengan C
sedikit sulit untuk dipahami (diakibatkan oleh gaya penulisan program yang berbeda
untuk tiap programer), C merupakan alat yang sangat flexible dan sangat membantu
pengembangan program. Bahasa ini adalah bahasa tingkat tinggi tetapi masih
memungkinkan kita akses langsung ke mesin. Saat ini terdapat beberapa compiler C
yang cukup murah dan bagus untuk pemrograman mikrokntroler terkenal. Kode
(bahasa mesin) yang dihasilkan oleh compiler ini cukup efisien (cepat dan kompak).
14. Alat Bantu Pengembangan
Memiliki software pemrograman belum mencukupi untuk mengembangkan
program bagi suatu mikrokontroler. Diperlukan pula software untuk mencari
kesalahan dalam pemrograman sbb:
SIMULATOR
Fungsi simulator adalah mensimulasikan atau menirukan kerja mikrokontroler
pada PC. Langkah-langkah yang dikerjakan serta apa yang terjadi ketika
program dijalankan dapat diamati dilayar PC. Disamping itu juga isi dari
register atau variabel dapat diisi atau diubah ketika program djalankan.
Simulator tidak dapat mensimulasi kehadiran interupsi secara baik, dan
biasanya program yang dijalankan jauh lebih lambat dibandingkan pada
keadaan sebenarnya.
DEBUGER RESIDEN
Debuger residen menjalankan program di mikrokontroler itu sendiri, dan pada
saat bersamaan menampilkan hasilnya pada komputer induknya (PC). Alat
bantu ini memiliki beberapa keunggulan seperti pada simulator dengan
kelebihan lain yaitu kita dapat melihat bagaimana program tersebut bekerja
pada target yang sebenarnya. Namun disisi lain, alat bantu ini memakai
sebagian sumber daya yang dimiliki oleh mikrokontroler seperti port
komunikasi (untuk komunikasi dgn PC), interupsi untuk untuk menjalankan
program perlangkah (single step) dan sejumlah memori untuk menyimpan
program dari debugger (bagian residen yang ditempatkan di target).
EMULATOR
Emulator adalah peralatan yang bekerja dengan berpura-pura sebagai
mikrokontroler dan pada saat bersamaan dia mengambil informasi untuk
ditampilkan. Emulator memberikan kontrol penuh pada target. Emulator ini
bisa berupa perangkat dengan display tersendiri atau merupakan pengantar
muka PC.
Jika cukup banyak dana yang dimiliki, emulator ini adalah alat yang benar-benar
diperlukan dalam mengembangkan suatu sistem.
referensi :www.herry_h.staff.gunadarma.ac.id
Suatu kontroler digunakan untuk mengontrol suatu proses atau aspek-aspek
dari lingkungan. Satu contoh aplikasi dari mikrokontroler adalah untuk memonitor
rumah kita. Ketika suhu naik kontroler membuka jendela dan sebaliknya.
Pada masanya, kontroler dibangun dari komponen-komponen logika secara
keseluruhan, sehingga menjadikannya besar dan berat. Setelah itu barulah
dipergunakan mikrokprosesor sehingga keseluruhan kontroler masuk kedalam PCB
yang cukup kecil. Hingga saat ini masih sering kita lihat kontroler yang dikendalikan
oleh mikroprosesor biasa (Zilog Z80, Intel 8088, Motorola 6809, dsb).
Proses pengecilan komponen terus berlangsung, semua komponen yang
diperlukan guna membangun suatu kontroler dapat dikemas dalam satu keping. Maka
lahirlah komputer keping tunggal (one chip microcomputer) atau disebut juga
mikrokontroler. Mikrokontrolere adalah suatu IC dengan kepadatan yang sangat
tinggi, dimana semua bagian yang diperlukan untuk suatu kontroler sudah dikemas
dalam satu keping, biasanya terdiri dari:
1. CPU (Central Processing Unit)
2. RAM (Random Access Memory)
3. EEPROM/EPROM/PROM/ROM
4. I/O, Serial & Parallel
5. Timer
6. Interupt Controller
Rata-rata mikrokontroler memiliki instruksi manipulasi bit, akses ke I/O
secara langsung dan mudah, dan proses interupt yang cepat dan efisien. Dengan
kata lain mikrokontroler adalah " Solusi satu Chip" yang secara drastis mengurangi
jumlah komponen dan biaya disain (harga relatif rendah).
2. Aplikasi Yang Dapat Dilakukan
Selain sebagai sistem monitor rumah seperti diatas, mikrokontroler sering
dijumpai pada peralatan rumah tangga (microwave oven, TV, stereo set dll), komputer
dan perlengkapannya, mobil dan lain sebagainya. Pada beberapa penggunaan bisa
ditemukan lebih dari satu prosesor didalamnya.
Mikrokontroler biasanya digunakan untuk peralatan yang tidak terlalu
membutuhkan kecepatan pemrosesan yang tinggi. Walaupun mungkin ada diantara
kita yang membayangkan untuk mengontrol oven microwave dengan menggunakan
sistem berbasis Unix, mengendalikan oven microwave dapat dengan mudah
menggunakan mikrokontroler yang paling kecil. Dilain pihak jika kita ingin
mengendalikan rudal guna mengejar anjing tetangga yang selalu menyalak ditengah
malam, kita akan memerlukan prosesor dengan kecepatan yang lebih tinggi.
Sifat spesial dari mikrokontroler adalah kecil dalam ukuran, hemat daya listrik
serta flexibilitasnya menyebabkan mikrokontroler sangat cocok untuk dipakai sebagai
pencatat/perekam data pada aplikasi yang tidak memerlukan kehadiran operator.
3. Jenis Yang Dapat Dipilih
Mikrokontroler tersedia dalam beberapa pilihan, tergantung dari keperluan dan
kemampuan yang diinginkan. Kita dapat memilih mikrokontroler 4, 8, 16 atau 32 bit.
Disamping itu terdapat pula mikrokontroler dengan kemampuan komunikasi serial,
penanganan keyboard, pemroses sinyal, pemroses video dll.
4. Pasar Bagi Mikrokontroler
WorldWide Microcontroller Shipments (in millions of dollars)
90 91 92 93 94 95 96 97 98 99 00
4 bit 1,393 1,597 1,596 1,698 1,761 1,826 1,849 1,881 1,856 1,816 1,757
8 bit 2,077 2,615 2,862 3,703 4,689 5,634 6,553 7,529 8,423 9,219 9,715
16 bit 192 303 340 484 810 1,170 1,628 2,191 2,969 3,678 4,405
WorldWide Microcontroller Shipments (in Millions)
90 91 92 93 94 95 96 97 98 99 00
4 bit 778 906 979 1,036 1,063 1110 1110 1096 1,064 1,025 970
8 bit 588 753 843 1,073 1,449 1,803 2,123 2,374 2,556 2,681 2,700
16 bit 22 38 45 59 106 157 227 313 419 501 585
Source: WSTS & ICE - 1994
Jika kita bertanya apa perlunya kita mempelajari mikrokontroler, tabel diatas akan
sedikit banyak memberikan gambaran tentang bisnis mikrokontroler yang akan
menghasilkan banyak tumpukan rupiah dimeja kita. Suatu survey di Amerika
menyatakan bahwa rata-rata terdapat 35 buah mikrokontroler yang digunakan pada
satu rumah di Amerika, dan diperkirakan akan menjadi 240 pada tahun 2000.
5. Pertimbangan Pemilihan Mikrokontroler
Terdapat beberapa hal yang perlu dipertimbangkan dalam menentukan jenis
mana yang akan dipergunakan dalam disain kita yaitu seperti berikut:
v Ketersediaan dan harga dari suatu development tools (Programmer, Emulator
dan Simulator)
v Ketersediaan dokumentasi (Ref. Manual, Application notes, dan buku
lainnya).
v Ketersediaan tempat bertanya.
v Ketersediaan komponen OTP, Mask, dan Programmable.
6. Produsen Mikrokontroler
Dibawah ini adalah daftar produsen besar dari mikrokontroler dan unit yang
terjual (dalam ribuan).
Company (Units x 1000)
Motorola (358,894)
Mitsubishi(71,674)
NEC (70,180)
Hitachi (67,873)
Philips (56,680)
Intel (46,876)
SGS-Thomson (37,350)
Microchip (35,477)
Matsushitta (34,200)
Toshiba (32,205)
National Semiconductor (31,634)
Zilog (31,000)
Texas Instruments (29,725)
Siemens (20,874)
Sharp(17,505)
SOURCE: DataQuest June 1994.
7. Hal-Hal Mengenai Mikrokontroler
v Tehnik fabrikasi
CMOS - Complementary Metal Oxide Semiconductor
Ini adalah tehnik yang biasa dilakukan untuk memproduksi hampir
semua mikrokontroler terbaru. Mikrokontroler CMOS memerlukan
daya yang lebih rendah dibanding mikrokontroler yang dibuat
dengan tehnik sebelumnya, sehingga memungkinkan untuk
dioperasikan menggunakan batere. Chip CMOS juga memungkinkan
dioperasikan pada fully atau mendekati fully static, yang berarti
bahwa clock dapat diperlambat bahkan diberhentikan sehingga chip
berada dalam kondisi (mode) sleep. CMOS juga lebih tahan terhadap
noise dibandingkan cara fabrikasi sebelumnya.
v Arsitektur
Von-Neuman Architecure
Mikrokontroler yang di disain berdasarkan arsitektur ini memilik
sebuah data bus 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
mikrokontroler.
Harvard Architecture
Arsitektur ini memilik bus data dan instruksi yang terpisah, sehingga
memungkinkan eksekusi dilakukan secara bersamaan. Secara teoritis
hal ini memungkinak eksekusi yang lebih cepat tetapi dilain fihak
memerlukan disain yang lebih kompleks.
v Instruksi
CISC
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 sebua
makro, sehingga memungkinkan programmer untuk menggunakan sebuah
instruksi menggantikan beberapa instruksi sedarhana lainnya.
RISC
Saat ini kecenderungan industri untuk menggunakan disain mikroprosesor
RISC ( Reduced Instruction Set Computer). Dengan menggunakan jumlah
instruksi yang lebih sedikit, memungkinkan lahan pada chip (silicon realestate)
digunakan untuk meningkatkan kemampuan chip. Keuntungan dari RIS
adalah kesederhanaan disain, chip yang lebih kecil, jumlah pin sedikit dan
sangat sedikit mengkonsumsi daya.
Dibawah ini adalah fature yang biasa dimiliki oleh RISC Processor:
Harvard Architecture, memungkinkan akses yang program dan data yang bersamaan .
Instruction Pipelining meningkatkan kecepatan eksekusi.
Orthogonal instruktion set untuk kemudahan dalam programming, memungkinkan
tiap instruksi untuk dioperasikan pada register atau digunakan pada beberapa mode
pengalamatan, instruksi-instruksi tidak mempunyai kombinasi tertentu dan juga tanpa
perkecualian.
8. Pilihan Memori
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 dari waktu ke waktu. Jenis memori ini
bekerja relatif pelan, dan kemampuan untuk dihapus/tulis nya juga
terbatas.
FLASH (EPROM)
FLASH meberikan pemecahan yang lebih baik dari EEPROM ketika
dibutuhkan sejumlah besar memori non-volatile untuk program.
FLASH ini bekerja lebih cepat dan dapat dihapus/tulis lebih sering
dibanding EEPROM.
Battery backed-up static RAM
Memori ini sangat berguna ketika dibutuhkan memori yang besar
untuk menyimpan data dan program. Keunggulan utama dari RAM
statis adalah sangat cepat dibanding memori non-volatile, dan juga
tidak terdapat keterbatasan kemampuan hapus/tulis sehingga sangat
cocok untuk aplikasi untuk menyimpan dan manipulasi data secara
lokal.
Field programming/reprogramming
Dengan menggunakan memori non-volatile untuk menyimpan
program akan memungkinkan mikrokontroler tersebut untuk
diprogram ditempat, tanpa melepaskan dari sistem yang
dikontrolnya. Dengan kata lain mikrokontroler tersebut dapat
diprogram setelah dirakit diPCBnya.
OTP - One Time Programmable
Mikrokontroler OTP adalah mikrokontroler yang hanya dapat
diprogram satu kali saja dan tidak dapat dihapus atau dimodifikasi.
Biasanya digunakan untuk produksi dengan jumlah terbatas. OTP
menggunakan EPROM standard tetapi tidak memiliki jendela untuk
menghapus programnya.
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 yang dapat diprogram ulang.
Pada komponen jenis Mask ROM tidak diperlukan proteksi, hal ini dikarenakan untuk
membajak isi programnya seseorang harus membacanya (visual) dari chip nya dengan
menggunakan mikroskop elektron.
Walaupun demikian pabrik mikrokontroler masih dapat membaca isi program
guna memastikan bahwa mikrokontroler diprogram dengan tepat, atau biasa disebut
"test mode". TEST MODE MEMUNGKINKAN KITA MEMBACA KESELURUHAN ISI ROM , tetapi hal ini tidak perlu dibesar-besarkan karena test mode ini bersifat SANGAT-SANGAT- SANGAT DIRAHASIAKAN dan hanya diketahui oleh pabrikan yang memproduksi mikrokontroler tersebut. Test mode hanya dapat dilakukan pada komponen Mask ROM.
9. Input/Output
UART (Universal Asynchronous Receiver Transmitter) adalah adapter serial port
adapter untuk komunikasi serial asinkron.
USART (Universal Synchronous/Asynchronous Receiver Transmitter)
merupakan adapter serial port untuk komunikasi serial sinkron dan asinkron.
Komunikasi serial sinkron tidak memerlukan start/stop bit dan dapat beroperasi pada
click yang lebih tinggi dibanding asinkron.
SPI (serial peripheral interface) merupakan port komunikasi serial sinkron.
SCI (serial communications interface) merupakan enhanced UART (asynchronous
serial port)
I2C bus (Inter-Integrated Circuit bus) merupakan antarmuka serial 2 kawat yang
dikembangkan oleh Philips. Dikembangkan untuk aplikasi 8 bit dan banyak
digunakan pada consumer electronics, automotive dan indistri. I2C bus ini berfungsi
sebagai antarmuka jaringan multi-master, multi-slave dengan deteksi tabrakan data.
Jaringan dapat dipasangkan hingga 128 titik dalam jarak 10 meter. Setiap titik dalam
jaringan dapat mengirim dan menerima data. Setiap titik dalam jaringan harus
memiliki alamat yang unik.
Analog to Digital Conversion (A/D). Fungsi ADC adalah merubah besaran analog
(biasanya tegangan) ke bilangan digital. Mikrokontroler dengan fasilitas ini dapat
digunakan untuk aplikasi-aplikasi yang memerlukan informasi analog (misalnya
voltmeter, pengukur suhu dll).
Terdapat beberapa tipe dari ADC sbb:
- Succesive Approximation A/D converters.
- Single Slope A/D converters.
- Delta-Sigma A/Ds converters.
- Flash A/D.
D/A (Digital to Analog) Converters. Kebalikan dar ADC seperti diatas.
Comparator. Mikrokontroler tertentu memiliki ssebuah atau lebih komparator.
Komparator ini bekerja seperti IC komparator biasa tetapi sinyal input/outputnya
terpasang pada bus mikrokontroler.
10. Interupsi
Interupt merupakan metode yang efisien bagi mikrokontroler untuk
memproses periperalnya, mikrokontroler hanya bekerja memproses periperal tsb
hanya pada saat terdapat data diperiperal tsb. Pada 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 eksternal,
interupsi yang dimiliki bisa dipicu oleh "edge" atau "level". Edge triggered interupt
bekerja tidak tergantung pada pada waktu terjadinya interupsi, tetapi interupsi bisa
terjadi karena glitch. Sedangkan Level triggered interupt harus tetap pada logika high atau low sepanjang waktu tertentu agar dapat terjadi interupsi, interupsi ini tahan terhadap glitch.
Maskable Interrupts
Dengan maskable interupt kita dapat bebas memilih untuk menggunakan satu
atau lebih interupsi. Keuntungan maskable interupt inin adalah kita dapat
mematikan interupsi pada saat mikrokontroler sedang melakukan proses yang
kritis sehingga interupsi yang datang akan diabaikan.
Vectored Interrupts
Pada saat terjadi interupsi, interupt handler secara otomatis akan
memindahkan program pada alamat tertentu yang telah ditentukan sesuai
dengan jenis interupsi yang terjadi.
11. Mikrokontroler Populer
Dibawah ini dijelaskan beberapa mikrokontroler yang cukup populer. Untuk menggunakan salah satu mikrokontroler ini pilihan yang paling tepat adalah mikrokontroler yang memiliki dokumentasi yang baik serta development tools dengan harga yang terjangkau. Untuk pemula atau hobyst, Intel 8051, Motorola 68hc11 atau Microchip PIC adalah pilihan yang cukup baik.
v 8051 (Intel dan lainnya)
Arsitektur Harvard modified dengan alamat terpisah untuk memori program
dan data. Memori untuk program bisa dialamati hingga 64 K. Memori bawah
(4K, 8K atau 16K tergantung tipe) bisa terletak di chipnya. Mikrokontroler ini
memiliki 128 byte memori internal ditambah beberapa register (SFR), juga
bisa mengalamati hingga 64K memori eksternal untuk data.
Cukup banyak software baik software komersil maupin gratis untuk
mikrokontroler 8051 ini. Mikrokontroler ini memiliki banyak varian sehingga
mampu memenuhi keperluan yang bebeda. Diproduksi tidak hanya oleh Intel
tetapi beberapa pabrikan lainnya juga ikut memproduksi jenis mikrokontroler
ini.
v 6805 (Motorola)
Memiliki arsitektur Von Neuman dimana instruksi, data, I/O, dan timer
terdapat pada satu daerah memori. Stack pointer yang dimiliki adalah 5 bit
sehingga kedalaman stack terbatas hingga 32 byte. Beberapa mikrokontroler
dari keluarga ini memiliki ADC, PLL, Frq. Synthesizer, serial I/O dan
software security.
v PIC (MicroChip)
Mikrokontroler PIC merupakan mikrokontroler RISC yang pertama. Pada
umumnya RISC mengakibatkan kesederhanaan rancangan dan memungkinkan
untuk menambah kemampuanya dengan biaya yang rendah. Walaupun hanya
memiliki sedikit instruksi (33 instruksi untuk 16C5x), keluarga PIC memiliki
banyak keunggulan yang sudah merupakan bagian dari chip. Dengan bus
instruksi dan bus data yang terpisah (arsitektur Harvard), PIC memungkinkan
akses data dan program secara bersamaan sehingga menaikan kinerja
pemrosesannya. Keuntungan dari kesederhanaan rancangan ini adalah chip
yang sangat kecil, sedikit pin dan pemakaian daya yang sangat kecil.
Popularitas mikrokontroler PIC ini meningkat sangat cepat. Dengan harga
yang murah, ukuran kecil dan hemat pemakaian daya, pada saat ini
mikrokontroler ini digunakan juga pada pemakaian lain seperti sebagai
rangkaian logika. Terdapat tiga keluarga PIC pada saat ini yaitu PIC16C5x,
PIC16Cxx dan PIC17Cxx.
v Z8 (Zilog)
Z8 merupakan turunan dari Zilog Z80. Memiliki arsitektur unik merupakan
arsitektur gabungan dengan tiga daerah memori yaitu: program memori, data
memori dan CPU register file. Mikrokontroler ini memiliki UART, timer,
DMA, I/O hingga 40 buah pada chipnya. Versi lainnya memiliki sync/async
serial channel.
Keseluruhan mikrokontroler ini memiliki Stack RAM yang dapat dikonfigurasikan
dan sistem interupsi, dua timer programmable dengan interupt, proteksi ROM, dua
analog komparator
12. Software
Software untuk menggunakan mikrokontroler dapat didapatkan secara gratis
dengan mencari di WWW, tetapi software gratis biasanya tidak dilengkapi dengan
dokumentasinya. Software ini diantaranya adalah software untuk simulasi dan
software untuk pemrograman. Jika ingin lebih serius mendalami mikrokontroler
mungkin lebih baik untuk membeli software lengkap dengan dokumentasinya.
Jika PIC merupakan mikrokontroler yang dipilih, kita dapat mendownload software
yang diperlukan secara gratis di web microchip yaitu MPSIM (simulator), MPASM
(assembler).
13. Bahasa Pemrograman Bagi Mikrokontroler
BAHASA MESIN DAN ASSEMBLER
Bahasa mesin adalah satu-satunya bahasa yang dimengerti oleh
mikrokontroler. Bahasa ini tidak mudah untuk dimengerti oleh manusia. Sedangkan
bahasa assembly adalah suatu bentuk bahasa mesin yang bisa dimengerti oleh
manusia. Setiap pernyataan dari bahasa assembly menggambarkan satu pernyataan
bahasa mesin. Sebagai contoh instruksi JMP (asal kata JUMP) akan lebih mudah
dimengerti dibandingkan instruksi B3H.
Pemrograman dengan menggunakan bahasa assembly/mesin menghasilkan
program yang kecil dan cepat. Hal ini dikarenakan kita sepenuhnya mengontrol kerja
dari program, tetapi tentu saja jika kita membuat program yang bertele-tele dan
berbelit akan menyebabkan program berjalan lambat.
Untuk orang yang pertama kali mempelajari mikrokontroler, akan lebih baik jika
mempelajari assembler terlebih dahulu sebelum mempelajari bahasa pemrograman
lainnya (mis: C). Dengan membuat program dengan assembler akan membimbing kita
memahami arsitektur dari mikrokontroler tsb.
KOMPILER
Compiler adalah penerjemah untuk bahasa pemrograman tingkat tinggi.
Bekerja dengan cara menterjemahkan (mis pada PC) langsung ke bahasa mesin yang
dimengerti oleh mikrokontroler.
Salah satu compiler yang banyak dipergunakan saat ini adalah "C". "C" digunakan
pada mikrokontroler kecil hingga supercomputer. Walaupun program dengan C
sedikit sulit untuk dipahami (diakibatkan oleh gaya penulisan program yang berbeda
untuk tiap programer), C merupakan alat yang sangat flexible dan sangat membantu
pengembangan program. Bahasa ini adalah bahasa tingkat tinggi tetapi masih
memungkinkan kita akses langsung ke mesin. Saat ini terdapat beberapa compiler C
yang cukup murah dan bagus untuk pemrograman mikrokntroler terkenal. Kode
(bahasa mesin) yang dihasilkan oleh compiler ini cukup efisien (cepat dan kompak).
14. Alat Bantu Pengembangan
Memiliki software pemrograman belum mencukupi untuk mengembangkan
program bagi suatu mikrokontroler. Diperlukan pula software untuk mencari
kesalahan dalam pemrograman sbb:
SIMULATOR
Fungsi simulator adalah mensimulasikan atau menirukan kerja mikrokontroler
pada PC. Langkah-langkah yang dikerjakan serta apa yang terjadi ketika
program dijalankan dapat diamati dilayar PC. Disamping itu juga isi dari
register atau variabel dapat diisi atau diubah ketika program djalankan.
Simulator tidak dapat mensimulasi kehadiran interupsi secara baik, dan
biasanya program yang dijalankan jauh lebih lambat dibandingkan pada
keadaan sebenarnya.
DEBUGER RESIDEN
Debuger residen menjalankan program di mikrokontroler itu sendiri, dan pada
saat bersamaan menampilkan hasilnya pada komputer induknya (PC). Alat
bantu ini memiliki beberapa keunggulan seperti pada simulator dengan
kelebihan lain yaitu kita dapat melihat bagaimana program tersebut bekerja
pada target yang sebenarnya. Namun disisi lain, alat bantu ini memakai
sebagian sumber daya yang dimiliki oleh mikrokontroler seperti port
komunikasi (untuk komunikasi dgn PC), interupsi untuk untuk menjalankan
program perlangkah (single step) dan sejumlah memori untuk menyimpan
program dari debugger (bagian residen yang ditempatkan di target).
EMULATOR
Emulator adalah peralatan yang bekerja dengan berpura-pura sebagai
mikrokontroler dan pada saat bersamaan dia mengambil informasi untuk
ditampilkan. Emulator memberikan kontrol penuh pada target. Emulator ini
bisa berupa perangkat dengan display tersendiri atau merupakan pengantar
muka PC.
Jika cukup banyak dana yang dimiliki, emulator ini adalah alat yang benar-benar
diperlukan dalam mengembangkan suatu sistem.
referensi :www.herry_h.staff.gunadarma.ac.id
Selasa, 04 Januari 2011
Dunia Mikroprosesor dan Mikrokontroler
Mikroprosesor
Peranan elektronika disegala bidang menjadi semakin besar diabad ke dua satu ini. Bermula dari penerapan rangkaian elektronika analog, kemudian digital dan kini hampir semua peralatan menggunakan sistem mikroprosesor , misalnya; perangkat yang dekat dengan kita, seperti handphone, televisi, radiocassete, mesin cuci sampai ke instrumen ruang angkasa.
Banyak jenis mikroprosesor telah dibuat dengan kemampuan dan fungsi yang berbeda, tetapi secara prinsip cara kerjanya sama. Perangkat keras dibuat menjadi semakin canggih, jutaan transistor dijejalkan didalamnya, miniaturisasi dimensi semakin ditingkatkan dengan kemampuan mengolah program yang lebih komplek sehingga memungkinkan untuk aplikasi di segala bidang. Perkembangan perangkat lunak juga berkembang tak terbatas, seakan hanya dibatasi oleh kemampuan imajinasi manusia saja.
Pada mulanya mikroprosesor terdiri dari beberapa komponen chip digital yang satu sama lainnya digabungkan dalam suatu PCB dan dikoneksikan satu dengan yang lain sesuai dengan fungsi rangkaiannya. Ide pertama membangun suatu mikroprosesor dalam suatu IC dikemukakan oleh Intel Corporation pada tahun 1969. Tahun 1971 adalah tahun pertama kali mikroprosesor dalam satu IC dipasarkan yaitu Intel 4004, mikroprosesor yang menggunakan teknologi PMOS 4 bit, tahun 1976 Intel meluncurkan mikrokontroler pertama yang disebut seri MCS-48 yang berisi lebih dari 17.000 transistor, hingga saat ini seri ini masih digunakan untuk aplikasi khusus. Saat ini, tahun 2005, prosesor canggih dari Intel adalah Pentium IV yang berisi jutaan transitor didalamnya dan dengan kecepatan orde gigahertz, disamping itu banyak yang membuat kompatibelnya, seperti prosesor AMD. Dunia mikrokontroler juga berkembang pesat dengan hadirnya ratusan jenis mikrokontroler dan kompatibelnya, seperti turunan dari MCS-51, 68HC11, PIC microcontroller, Fujitsu dan sebagainya.
Dalam perkembangannya, mikroprosesor dibuat menurut kebutuhan aplikasinya yang lebih spesifik, dalam hal ini menjadi beberapa jenis, yaitu;
* Mikoprosesor RISC (Reduced Instruction Set of Computing) dan CISC (Complex Instruction Set of Computing). Jenis ini yang digunakan untuk pengolahan informasi dengan software yang rumit dan digunakan untuk kebanyakan PC saat ini.
* Pengolah Sinyal Digital – DSP (Digital Signal Processor). Memiliki software dan hardware yang ditujukan untuk mempermudah memproses sinyal-sinyal digital. Digunakan pada perangkat audio – video modern seperti VCD, DVD, home teatre dan juga pada card-card multimedia di komputer.
* Mikrokontroler, adalah mikroprosesor yang dikhususkan untuk instrumentasi dan kendali. Contoh aplikasi pada kendali motor, berperan seperti PLC (Programmable Logic Controller), pengaturan pengapian dan injeksi bahan bakar pada kendaraan bermotor atau alat mengukur suatu besaran, seprti suhu, tekanan, kelembaban dan lain-lain.
1.2. Isi dari sebuah IC
1.2. Isi dari sebuah IC
Dalam perkembangannya yang begitu cepat, batasan-batasan tersebut menjadi kabur, seperti definisi mini, mikro dan mainframe komputer beberapa saat lalu. Beberapa mikrokontroler disebut embedded processor, atau embedded processor adalah mikrokontroler, artinya prosesor yang diberikan program khusus yang selanjutnya diaplikasikan untuk akusisi data dan kendali khusus, dan bisa diprogram ulang. Sementara itu prosesor ‘kuno’ Intel 486 juga telah digunakan untuk kendali instrumentasi dalam bentuk kemasan motherboard yang tahan terhadap lingkungan industri dan diprogram khusus untuk aplikasi kendali industri. Aplikasi DCS (Distributed Control System) yang digunakan di industri besar, juga menggunakan prosesor canggih untuk instrumentasinya., bahkan monitor dan kendali bisa dilakukan lewat internet. Beberapa mikrokontroller modern juga sudah dilengkapi dengan DSP atau mikrokontroller yang tergolong RISC.
Mempelajari mikroprosesor semacam pentium atau seri 80XXX sangat sulit, terutama bagi yang baru mempelajari mikroprosesor, karena begitu banyak fungsi dan bagian-bagian yang cukup rumit, belum lagi perkembangannya yang begitu cepat, sehingga sebelum selesai belajar produk lama, produk baru sudah muncul dengan konfigurasi yang berbeda, meskipun demikian pengetahuan dasar mikroprosesor dapat dimengerti dengan mudah dan dapat diterapkan untuk aplikasi sederhana.
Mikroprosesor adalah piranti keras yang tidak akan bisa bekerja kalau tidak ada perangkat lunak. Inilah yang membedakan mikroprosesor dengan rangkaian digital diskrit. Kemampuannya untuk diprogram, dan diprogram ulang adalah suatu kelebihan didalam sistem mikroprosesor. Contohnya dalam suatu sistem pengendali lampu lalu lintas dengan rangkaian diskrit perlu menambahkan atau merubah rangkaian bila diperlukan perubahan sistem, tetapi dengan sistem mikroprosesor, bisa dilakukan dengan hanya merubah program. Perhatikan juga bahwa PC saat ini bisa multi fungsi dengan hanya mengganti programnya saja.
Hampir semua fungsi rangkaian digital dapat diambil alih oleh suatu sistem mikroprosesor atau mikrokontroler, tetapi tidak perlu semua rangkaian digital harus dengan sistem mikroprosesor. Rangkaian yang sederhana cukup direalisasikan dengan komponen diskrit akan lebih menghemat dana, waktu dan justru bisa lebih handal. Disamping itu untuk rangkaian digital yang memerlukan kecepatan sangat tinggi, masih diperlukan rangkaian digital diskrit, sebagai contoh sederhana suatu fungsi AND gate dapat diemulasikan dengan suatu mikroprosesor dengan program tertentu, fungsi AND dengan AND gate dieksekusi dalam orde nanodetik, sedangkan dengan mikroprosesor memerlukan waktu dalam orde mikro atau milli detik. Meskipun demikian dengan makin majunya teknologi, kendala kecepatan tersebut menjadi hilang, sebagai contoh rangkaian dekoder MPEG, tadinya memerlukan card khusus dalam suatu PC (hardware), kini dapat dilakukan dengan hanya mengisntall program saja asalkan komputernya memiliki kecepatan tinggi.
Secara umum suatu sistem mikroprosesor akan memiliki kelebihan dibanding sistem diskrit atau dengan digital IC sebagai berikut;
* Reprogrammable, artinya dapat diprogram ulang untuk mendapatkan fungsi yang berbeda
* Rangkaian lebih terintegrasi, lebih kompak, sederhana dan tidak rumit, memudahkan membuat PCB.
* Fleksibel dalam pengembangannya
Selain itu perlu diperhatikan kekurangannya sebagai berikut;
* Banyak jenis mikroprosesor dengan bahasa yang berbeda, yang mana satu sama lain kadang tidak kompatibel, sehingga menyulitkan pemakai dalam pengembangannya.
* Kerusakan software berakibat sistem macet dan tidak dapat diperbaiki jika tidak diketahui kode-kodenya.
* Ketergantungan pada pembuat software
* Sistem mikroprosesor lebih sensitif terhadap ganguan derau dari luar.
* Kecepatan relatif rendah.
* Cepat usang (obsolete)
Mikrokontroler
Sebagaimana dijelaskan diatas, mikrokontroler adalah pengembangan dari mikroprosesor untuk keperluan instrumentasi ‘sederhana’, misalnya untuk pengaturan motor, pengaturan permukaan cairan, pengukuran suhu, pH, konduktifitas, aplikasi PLC sederhana dan semacamnya. Mikrokontroler adalah suatu chip yang dibuat dengan ciri-ciri kekhasannya, biasanya adalah ;
* Memiliki memory internal relatif sedikit.
* Memiliki unit I/O langsung
* Pemroses bit, selain byte
* Memiliki perintah / program yang langsung berhubungan dengan I/O
* Program relatif sederhana.
* Beberapa varian memiliki memori yang tidak hilang bila catu padam didalamnya untuk menyimpan program
Sedangkan dalam hal aplikasi, sistem mikokontroler memiliki karakteristik sebagai berikut;
* Memiliki program khusus yang disimpan dalam memori untuk aplikasi tertentu, tidak seperti PC yang multifungsi karena mudahnya memasukan program. Program mikrokontroler relatif lebih kecil daripada program-program pada PC.
* Konsumsi daya kecil.
* Rangkaian sederhana dan kompak
* Murah, karena komponen sedikit
* Unit I/O yang sederhana, misalnya keypad, LCD, LED, Latch.
* Lebih tahan terhadap kondisi lingkungan ekstrem misalnya temperatur, tekanan, kelembaban dan sebagainya.
Untuk mempelajari mikrokontroler perlu praktek, atau minimal dengan suatu simulatornya, tanpa praktek tidak akan didapat apa-apa. Untuk mempelajari suatu mikrokontroler atau ingin mengaplikasikan mikrokontroler untuk kendali atau kontrol harus diperhatikan hal-hal sebagai berikut;
* Layaklah digunakan suatu sistem mikrokontroler ?. Jika rangkaian terlalu sederhana cobalah dengan rangkaian diskrit saja. Sebagai contoh, jika ingin membuat flasher (lampu kedap-kedip), tidaklah perlu dengan rangkaian mikrokontroler, tetapi jika durasi kedap-kedip diinginkan sangat presisi dan mudah diubah, maka dengan mikrokontroler adalah solusi yang baik.
* Apakah mikrokontroler mudah didapat dipasaran ?. Faktor keberadaan barang sangat mendukung untuk berekperimen.
* Apakah harganya terjangkau ?. Berekperimen dengan mikrokontroler kemungkinan membuat chip menjadi gampang rusak, jadi sebaiknya gunakan yang harganya relatif murah. Kecuali bagi kalangan industri, dimana harga tidak menjadi masalah.
* Adakah tersedia perangkat pengembangannya ?. Belajar mikrokontroler tidak hanya belajar hardware, tetapi juga software. Data Hardware bisa didapat dari internet, sebab setiap pabrik pembuat chip mikrokontroler, pasti memberikan data sheet di website nya, ini tidak menjadi masalah. Daftar perintah software biasanya juga disediakan di website , tetapi ini belum menjamin bisa membuat program, karena diperlukan latihan dan pengalaman untuk menyusun perintah-perintah menjadi suatu program yang berhasil guna.
* Adakah, atau seberapa banyak kah forum-forum atau situs di internet yang membahas atau mendiskusikan tentang mikrokontroler tersebut ?. Tukar menukar pengalaman, berdiskusi, bertanya melalui forum di internet adalah sarana efektif saat ini untuk mempercepat mempelajari mikrokontroler.
Perangkat pengembangan suatu sistem mikrokontroler adalah sangat penting untuk melatih dan berekperimen dengan mikrokontroler yang dipilih, adapun yang disebut perangkat pengembangan atau dalam bahasa Inggris disebut development tools, bisa terdiri dari;
* Compiler atau penterjemah (Software). Mikrokontroler bekerja dalam bahasa mesin, sedangkan manusia sulit untuk mengerti bahasa mesin, untuk mudahnya dibuat program dengan bahasa yang lebih tinggi tingkatnya, yaitu C, BASIC, atau ASSEMBLER, selanjutnya dengan bantuan Compiler, program akan diterjemahkan dalam bahasa mesin, tentu saja butuh PC (Personal Computer)
* Simulator (Software), adalah program komputer yang mensimulasikan kerja dari mikrokontroler. Dengan memasukan program dan dijalankan, maka register, memori dan input-output (I/O) yang nampak dilayar PC akan menunjukan isi, sesuai dengan program yang dijalankan.
* Emulator (Software dan Hardware), suatu alat yang berhubungan dengan PC yang dapat mengemulasikan kerja mikrokontroler, artinya program-program dibuat dan di compile di PC setelah itu di download ke emulator (istilahnya target), dan emulator akan bekerja secara sendiri (stand alone), hubungan dengan PC bisa dilepas. Jika ada kesalahkan program, maka cukup melakukan koreksi di PC, dan didownload ulang. Dengan demikian menghemat waktu reprogramming.
* In Circuit Emulator (ICE), adalah pengembangan dari emulator, hubungan dengan PC tetap ada, karena PC dianggap sebagai chip mikrokontroler bayangan, artinya bila kita membuat suatu rangkaian yang menggunakan suatu chip mikrokontroler sebagai komponen utamanya, chip tersebut dapat kita cabut dari soketnya, dan digantikan oleh konektor berbentuk chip yang terhubung kabel-kabel ke PC (emulator card), sekarang PC menggantikan chip tersebut. Selama program dijalankan, isi register-register dalam mikrokontroler ditampilkan dilayar, program juga dapat diperlambat, sehingga mempermudah penyelusuran kesalahan (bug).
* Programmer, adalah alat yang digunakan untuk mengisi program dalam suatu mikrokontroler, biasanya alat ini menggunakan PC sebagai terminal pintarnya, selanjutnya melalui serial port, paralel port, USB atau card khusus antarmuka ke programmer, kode-kode mesin dimasukkan dalam memory ROM, EPROM yang berada diluar MCU atau Flash memory yang jadi satu kemasan dengan MCU.
atmega16
1.4. perangkat pengembang
Dari perangkat-perangkat tersebut, compiler merupakan software yang mutlak diperlukan, apabila tidak ingin dipusingkan dengan bahasa mesin. Sedangkan programmer (downloader) adalah hardware dan software/firmware yang mutlak diperlukan untuk dapat men’download’ kode-kode perintah ke mikrokontroler. Compiler, simulator mudah didapat disitus internet sesuai dengan jenis produknya. Cara membuat programmer juga banyak tersedia di situs internet, tetapi ini diperlukan pengetahuan elektronika praktis. Emulator harus membuat hardware dan juga diisi software yang bisa didapatkan dari internet. ICE agak susah membuatnya, beberapa perusahaan membuat dan menjual dengan harga yang cukup mahal.
Jadi dapat disimpulkan bahwa suatu mikrokontrontroler adalah suatu chip (rangkaian terintegrasi – IC) VLSI (Very Large Scale IC) mikroprosesor yang dikhususkan untuk instrumentasi dan kendali dan bersifat reprogrammable. Mikrokontroler memiliki unit memory sendiri (meskipun sangat terbatas), unit I/O (Input/Output) yang bisa dikoneksikan langsung dengan sensor atau aktuator. Program disimpan dalam memori yang tidak hilang bila catu daya padam, biasanya dalam bentuk ROM, PROM atau EPROM diluar mikrokontroler, atau beberapa seri atau varian memiliki ROM didalam mikrokontroler itu sendiri. Cara mengisi program dengan suatu alat pemrogram, yang biasanya berhubungan dengan PC. Untuk mempelajari dan mengaplikasikan mikrokontroler diperlukan perangkat pengembang, literatur dan forum-forum diskusi.
Senin, 03 Januari 2011
PENGERTIAN MIKROKONTROLLER
Mikrokontroler adalah suatu alat elektronika digital yang mempunyai masukan dan keluaran serta kendali dengan program yang bisa ditulis dan dihapus dengan cara khusus. Sederhananya, cara kerja mikrokontroler sebenarnya hanya membaca dan menulis data. Sekedar contoh, bayangkan diri Anda saat mulai belajar membaca dan menulis, ketika Anda sudah bisa melakukan hal itu Anda mulai bisa membaca tulisan apapun baik itu tulisan buku, cerpen, artikel dan sebagainya, dan Andapun mulai bisa menulis hal-hal sebaliknya. Begitu pula jika Anda sudah mahir membaca dan menulis data pada mikrokontroler maka Anda dapat membuat program untuk membuat suatu sistem pengaturan menggunakan mikrokontroler sesuai dengan keinginan Anda. Mikrokontroler merupakan komputer didalam chip yang digunakan untuk mengontrol peralatan elektronik, yang menekankan efisiensi dan efektifitas biaya. Secara harfiahnya bisa disebut "pengendali kecil" dimana sebuah sistem elektronik yang sebelumnya banyak memerlukan komponen-komponen pendukung seperti IC TTL dan CMOS dapat direduksi/diperkecil 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.
Manfaat/prospek yang bisa saya peroleh jika menguasai mikrokontroler
Banyak sekali, dengan melihat penjelasan nomor 1, maka batasnya hanya imajinasi Anda. Dengan menguasainya, 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 PABX mini, 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 Anda 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 Anda belajar dan menguasai mikrokontroler sudah tepat pada jalurnya.
* 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.
Manfaat/prospek yang bisa saya peroleh jika menguasai mikrokontroler
Banyak sekali, dengan melihat penjelasan nomor 1, maka batasnya hanya imajinasi Anda. Dengan menguasainya, 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 PABX mini, 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 Anda 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 Anda belajar dan menguasai mikrokontroler sudah tepat pada jalurnya.
Langganan:
Postingan (Atom)