# Hack Your Skills! to be Professional Mechatronics
Gambar di atas adalah mikrokontroller ATMega16A yang diprogram dengan programmer USBAsp. Dari rangkain di atas, saya agak memahami bagaimana mikrokontroller dan programmer bekerja, dan apa itu sebenarnya minimum sistem (sismin) untuk mikrokontroller. Pada rangkaian tersebut, mikrokontroller diprogram dengan internal clock (tanpa menggunakan XTAL), tanpa menggunakan komponen penyetabil tegangan (kapasitor), dan tanpa komponen untuk reset (push-button dan resistor pull-up). Jadi mikrokontroller tersebut hanya disambung ke VCC dan GND sebagai sumber listrik serta MISO, MOSI, SCK, RST, dan GND ke USBAsp.
Fungsi Pin MISO, MOSI, dan SCK Mikrokontroller
Gambar di atas adalah mikrokontroller ATMega16A yang diprogram dengan programmer USBAsp. Dari rangkain di atas, saya agak memahami bagaimana mikrokontroller dan programmer bekerja, dan apa itu sebenarnya minimum sistem (sismin) untuk mikrokontroller. Pada rangkaian tersebut, mikrokontroller diprogram dengan internal clock (tanpa menggunakan XTAL), tanpa menggunakan komponen penyetabil tegangan (kapasitor), dan tanpa komponen untuk reset (push-button dan resistor pull-up). Jadi mikrokontroller tersebut hanya disambung ke VCC dan GND sebagai sumber listrik serta MISO, MOSI, SCK, RST, dan GND ke USBAsp.
Pemahaman baru ini sedikit menggeser pengetahuan saya tentang sistem minimum untuk mikrokontroller. Dulu, ketika awal-awal ingin belajar mikrokontroller saya beranggapan bahwa setiap IC mikrokontroller membutuhkah sistem yang terdiri dari XTAL, beberapa resistor, kapasitor, dan beberapa komponen lainnya. Tapi saya mulai heran dengan beberapa tutorial tentang cara memprogram mikrokontroller ATTiny dengan Arduino yang hanya menggunakan kabel tanpa embel-embel sismin yang ribet. Apalagi rangkaiannya hanya menggunakan project board. Lalu, saya berpikir, apakah cara tersebut juga berlaku untuk mikrokontroller jenis lainnya?
Untuk menjawab pertanyaan tersebut, saya coba mencari sistem yang paling minimum (hehe) untuk memprogram mikrokontroller, tapi belum ketemu. Iseng-iseng buka datashit (hehe, datasheet) ATMega16A. Setelah memperhatikan antara sismin, datasheet, dan beberapa pengalaman menggunakan internal clock. Maka, ternyata penambahan XTAL hanya digunakan ketika ingin menggunakan external clock. Artinya, kita tidak perlu menggunakan XTAL dan Capasitor jika ingin menggunakan internal clock. Begitu juga untuk resistor dan push-button, ternyata dia disambungkan ke pin RESET, yang artinya : resistor berfungsi sebagai pull-up sehingga pin RESET berlogika HIGH dan ketika push-button dipencet, maka pin RESET akan diberi logika LOW sehingga mikrokontroller akan melakukan reset.
Secara teori, kita tidak perlu resistor dan push-button jiga tidak butuh tombol untuk mereset. Kita juga tidak perlu tambahan XTAL dan kapasitor jika tidak ingin menggunakan external clock dari XTAL. Jadi, kita cukup memberi tegangan positif dan GND, maka kita bisa menjalankan mikrokontroller dengan normal. Sedangkan ketika ingin memprogram pun hanya butuh menghubungkan pin MISO, MOSI, SCK, dan RST ke programmer (dalam hal ini saya menggunakan USBAsp).
Lalu Apa fungsi dari MISO, MOSI, dan SCK pada USBAsp?
Nah, itu yang akan sedikit dibahas pada posting ini :p. Sebenarnya pengetahuan ini akan berlaku untuk semua programmer (selain USBAsp). Penggunaan USBAsp karena memang saya punya yang begituan, belinya dulu ketika kepingin belajar mikrokontroller.
MISO (Master In Slave Out) & MOSI (Master Out Slave In) adalah jalur data untuk komunikasi antara master (programmer / downloader, USBAsp) dan Slave (IC mikrokontoller). Sesuai dengan namanya, MISO merupakan jalur yang digunakan download untuk menerima data, sedangkan MOSI adalah jalur downloader mengirim data ke IC mikrokontroller. Kedua jalur ini adalah jalur utama yang digunakan downloader dan mikrokontroller berkomunikasi. Untuk menghindari kesalahan dalam berkomunikasi, maka dibutuhkan sinkronisasi. Sinkronisasi tersebut dilakukan dengan memanfaatkan jalur SCK (atau ada yang disebut SCLK, Serial CLOCK). Data (MISO dan atau MOSI) akan dianggap valid hanya saat SCK dalam keadaan tinggi.
Menurut beberapa sumber, dua peralatan yang berkomunikasi ini sama-sama menggunakan Shift Register. Sehingga dalam komunikasi ini, selalu ada data yang dikirim dan diterima secara bersama-sama dalam setiap clock bit-nya. Sehingga setiap eksekusi (pengiriman data), maka data 4 byte dikirim sekaligus juga menerima 4 byte data. 4 byte data yang diterima ini sekaligus juga berarti respon dari target, seperti ATMEL AT89S5X atau AVR.
Untuk USBAsp, downloader ini memiliki 5 kabel yaitu MISO, MOSI, SCK, RST, dan GND. MISO dihubungkan ke pinMISO mikrokontroller, MOSI ke pin MOSI mikrokontroller, SCK ke pin SCK, GND ke GND, dan RST ke pin RESET. Dengan demikian, kita bisa memprogram hanya menggunakan kabel-kabel tersebut tanpa tambahan-tambahan komponen sebagaimana sismin yang banyak dijual di pasaran. Rangkain di bawah ini adalah rangkaian dasar untuk mengoperasikan IC mikrokontroller ATMega16A dengan program yang isinya membuat LED 'flip-flop'. Jadi, sebenarnya jika untuk test atau membuat prototype, kadang kita tidak perlu menggunakan sismin yang begitu lengkap. Kita cukup siapkan downloader, kabel-kabel, project board, dan sensor atau komponen sensor lainnya.
Top Artikel :
Written by ElangSakti
Fungsi Pin MISO, MOSI, dan SCK Mikrokontroller
Bahasan: Gambar di atas adalah mikrokontroller ATMega16A yang diprogram dengan programmer USBAsp. Dari rangkain di atas, saya agak memaham...
Published at Rabu, 05 Agustus 2015, Updated at Rabu, 05 Agustus 2015
Reviewed by dr. on
Rating: 4.7
Fungsi Pin MISO, MOSI, dan SCK Mikrokontroller
Bahasan: Gambar di atas adalah mikrokontroller ATMega16A yang diprogram dengan programmer USBAsp. Dari rangkain di atas, saya agak memaham...
Published at Rabu, 05 Agustus 2015, Updated at Rabu, 05 Agustus 2015
Reviewed by dr. on
Rating: 4.7
Langganan:
Posting Komentar
(
Atom
)
Keerreeenn Gan... !!!
BalasHapusPemikiran agan bener beda dari kebanyakan orang dikita
Nice Post !
Komentar ini telah dihapus oleh pengarang.
BalasHapusMangtapps..
BalasHapusLanjutkan Bro.
Blog nya paling mudah dimengert mantap
BalasHapusBermanfaat banget
BalasHapusBermanfaat banget
BalasHapusMantul gan
BalasHapusBermanfaat mas
BalasHapusTerimakasih Bang ilmunya. Saya mau tanya. Ketika kita melalukan pengiriman program ke mikrokontroler melalui USB asp / downloader, apakah kita juga perlu menghidupkan mikrokontroler dengan catudaya, atau hanya menyambungkan pin mosi, miso, sck, reset, dan gnd saja (mikrokontroler mati) ? Terimakasih
BalasHapusperlu menghubungkan catu daya
Hapussayangnya komentar tidak pernah dibalas
BalasHapusIni berlaku juga ngak untuk membaca ic at89s52 yg sudah terprogram dan memindahkannya ke ic baru..
BalasHapusiya, berlaku untuk at89s52
HapusHadir di 2021 😁
BalasHapusNtapsss
BalasHapusThanks bro,, good job