Microcontroller tutorial

Compared to some time ago, now the microcontroller chips price is relatively inexpensive. Even to simply make the running lights, microcontroller electable. But apparently cheap price does not necessarily make the fans of electronics using a microcontroller in the design. Instead of nothing, but because they can not programm it!

What trick to use?

It must be admitted that designing microcontroller based system does require a fairly complex science base. So many people give up before trying. They were puzzled by a vicious cycle, where to start?

Importantly, you need lots of practice, both theory and practice. Therefore, you should first prepare the tools and materials, ie minimal microcontroller system (consisting of a microcontroller chip, resistors, capacitors, and crystals), downloader, and Integrated System Environment (IDE).

The components you can buy in electronics stores. Downloader you can make yourself or buy. IDE you can get here. Do not forget, have the Easy and Fun Learning Microcontroller book beside you :D

Indeed, to be an expert, it took quite a long time. But, to only to be able to use a microcontroller, one or two days is enough! Start with the simplest, gradually continue to rise to complex. Later, if you feel stuck facing a complicated problem, make the problem becomes simple. If you are facing a big problem, make the problem becomes small. If you encounter a difficult chapter, do not force yourself. Believe me, another time you can certainly understand it.

What microcontroller to use?

Once you master one type of microcontroller, it will be easy for you to move to other types of microcontrollers. So, no matter what microcontroller to use, but its programming techniques.

AT89S51 or AT89S2051 from MCS-51 family can be a good choice. This easy-cost microcontroller-rousing. You will not be too sad if you make it destroyed. Instead, you’ll be very happy if you can master the science of microcontroller with low-cost.

What language to use?

There are many choices of programming languages. There are suggestion to use high-level programming language first, such as Basic, Pascal, C, and others. However, the best programming language that will really make you understand the microcontroller is the assembly that this language requires you to make the instructions carefully.

Happy learning!

Did you enjoy this post? Why not leave a comment below and continue the conversation, or subscribe to my feed and get articles like this delivered automatically to your feed reader.
Please notice that comment or question submitted should match the topic. Otherwise, we will delete that comment or question :!:

57 Comments
  1. makasih ya…………

  2. klo g salah sejak 2007 saya beli buku ini, sempat g tak teruskan, tp sekarang mulai semangat lagi,
    mohon bimbingannya mas yaaa

  3. gini mas, saya dulu pas kuliah kurang paham ama mikro,
    skarang baru belajar lagi.
    saya tertarik dengan aplikasi dot matrix, dan up down counter dengan keypad,
    kira2 mas bisa gak bantu saya, dengan buat tutorial khusus, dan maaf berapa biayanya bila dibuat dalam bentuk ebook,atau media yang kira2 gak nyusahin mas..

    • oh ya lupa mas, saya ni lagi belajar dengan assembly, jadi ntar kalau memang bisa mohon dalam bahasa assembly…

    • Tenang saja Mas Beny, buku “Mudah dan Menyenangkan Belajar Mikrokontroler itu ditulis walaupun bukan dalam bentuk tutorial tapi bisa dengan mudah diikuti oleh yang lagi belajar. Tidak butuh banyak prasyarat yang harus dimiliki oleh pembacanya. Disamping itu disertai dengan CD yang berisi semua source code yang ada di dalam buku. Dan yang paling cocok dengan keinginan Mas Beny adalah bahwa semua source code ditulis dalam bahasa assembly :)

  4. jam digital yang edisi revisi sudah saya coba dan berjalan dengan baik, seting jam dam menit ditandai dengan berkedip pada 7 segmen baik jam maupun menit. Tapi saya masih penasaran tidak ditampilkan detik, baik satuan maupun puluhan, saya sudah mencoba dengan menambah detik pada listing program (rev) namun selalu gagal, untuk itu mohon petunjuk dari bapak, terima kasih……
    Surabaya, 9 sep 2009

  5. tutorial avr 8535 mana ni mas?
    tak tunggu
    ni dak mas sulhan widya gama?
    dapt salam dari mas alfa

    • Mmm… Sabar ya klo untuk avr. Kita masi fokus di teknik pemrogramannya, bukan uC yang digunakan. Nah yang sudah lebih lazim kan mcs-51. Jadi kita bisa lebih fokus ke teknik pemrogramannya. Gitu aviv :) dan iya, aku dari Widya Gama

  6. mas cara membuat program speedometer sepeda menggunakan ATMega8 gmn caranya?dg ktentuan timer 0 dijadikan timer n timer 1 dijadikan pencacah?pleassss bantu q krim k emailq2

    • membuat speedometer ya? mmm, harus ditentukan dulu berapa ukuran roda yang digunakan, berapa pulsa yang dihasilkan setiap satu putaran roda, juga ditampilkan dalam skala apa? m/detik, km/jam, mil/jam?
      trus teknik apa yg mo digunakan, diukur berapa putaran dalam kurun waktu tertentu, atau berapa lama waktu yg dibutuhkan untuk satu kali putaran.
      jadi tentukan itu dulu ya :)

  7. pak
    saya temannya ilham..
    tolong dibantu tentang digital filter y pak..
    kalo bisa merubah dari matlab ke C, saya sudah aman dari kejaran dosen…hehehe

  8. saya minta tutorial pemrograman untuk AVR AT32UC3A0512 pada AVR32Studio
    dikirim ke imel saya ya pak….!!!
    thnk’s

  9. mr. minta info ttg gmana cara membangun komunikasi antar 2 mikro dunks, jd sya mauu coba bangun komunikasi mikro di PLC ma mikro yg nerima ledder opcode dri PC. nah bingung sya gmana caranya? pliiis mhn bantuannya. tengkyu ^_^

    • komunikasi serial antara mikro ke mikro ya sama dengan komunikasi mikro ke PC. yang penting parameter-parameternya sama, seperti baudrate, parity, databit, stopbit, dll. Bahkan kalo cuma mikro ke mikro pada jarak yang dekat, kita bisa langsung menghubungkan tx ke rx antara 2 mikro tersebut secara langsung tanpa melalui RS232.

  10. pak bagaimana caranya membuat speedometer digital yang paling sederhana???thx

    • Buatlah sebuah timer dengan periode sesuai perhitungan berikut. Buat pula sebuah counter yang cacahannya diperoleh dari sensor yang dipasan pada roda. Setiap periode timer, cacahan pada counter diambil dan ditampilkan pada display, lalu cacahan dimulai lagi dari nol.
      1 Km/Jam = 1000 cm/36 det
      Jika 1 putaran roda adalah 180 cm dan periode putaran adalah 1,8 detik, maka 180cm/1,8det = 100cm/1det = 3600cm/36detik.
      Jadi dalam periode 1,8 detik, jumlah putarannya akan menunjukkan nilai 3,6 Km/Jam
      Nah, jika sensor pada roda dibuat untuk menghasilkan 32 pulsa per putaran, maka kita bisa membuat perioda timer menjadi 1,8 detik/32 = 56,25 mdet.
      Atau agar angka pada counter menunjukan 0,1 Km/Jam, maka buatlah periode timer menjadi 560mdet (0,56 detik)

  11. salam kenal sob, bg yg ingin belajar mikrokontroler silahkan berkunjung bi blog sy, thanks

  12. pak,numpang nanya gmana seh ngecek kristal apakah masih bagus atau tdak untuk dipakai pada mc,mksh..

  13. Pak sulhan, mau tanya ini. dibuku bapa yg berjudul mudah dan menyenangkan belajar mikrokontroler ada percobaan jam digital. nah setelah saya coba kok tombolnya yang buat edit jam dan menit tidak berfungsi. tapi itu tombol tidak rusak dan semua rangkaian sudah benar…. mungkin programnya ada yang salah atu dimana ya??? mohon pak sulhan mau membantu

  14. wah… thx 4 info….

  15. ass,,,mas saya baru nee di bidang mikrokontroller,,
    kalo mw bikin chip gitu gamana ya?

    • @gita: bikin chip? wah aku bukan ahli VLSI, jangan tanya ke aku tentang bikin chip. silicon ujudnya kaya apa aja aku ga ngerti. aku cuma bisa makenya aja :P

  16. permisi mas saya seorang pelajar stm yang pingin belajar mikrokontroller tapi selalu terhambat dengan kebingungan masalah pemrogaman yang ruwetnya setengah mati padahal sudah 3 buku yang saya miliki tentang bahasa pemrogaman tapi tetep juga gag bisa ngerti dalam hal ini bahasa assembly mas
    mohon dibantu mas ya soalnya saya lagi ngerjain proyek mikro padahal gag tau blas

    • @ Satrio
      Baca saja bukunya yang akan membantu Satrio belajar mikrokontroler dengan mudah dan menyenangkan. Di situ diajarkan bahasa assembly secara bertahap dari yang paling mudah terlebih dahulu.
      Donlot juga Microcontroller Project versi terbaru untuk membantu Satrio belajar.

  17. Wah…Makin rame!
    Berkarya terus mas!
    Di tunggu buku2 berikutnya.
    Terutama tentang AVR. :-D

  18. Mau belajar AT89S51 atau AT89S52 kunjungi blog saya
    http://iswanto.staff.umy.ac.id/category/tutorial/at89scxx/

  19. Kalau saya belajar mikrokontroler mulai dari Arduino. Soalnya dengan Arduino mudah dan nggak masuk dalam ‘lingkaran setan’. Setelah itu barulah mendalami mikrokontroler AVR.

    • kalo belajar dr buku yg aku tulis jg tidak akan masuk dalam lingkaran setan ko. dan aku memilih menggunakan bahasa assembly karena tidak ada pemrograman yg bisa menandingi keampuhan bahasa assembly. tp, klo belajar dg teknik yg bener, tidak akan ada anggapan bahwa bahasa assembly itu terlalu rumit dan sulit.

    • Betul mas.. Assembly sangat powerful, tapi bagi kebanyakan orang assembly itu susah. Mungkin perlu extra fokus supaya cepat menguasai. Masalahnya extra fokus itu menguras waktu dan energi :)

    • pengalaman dr yg udah baca bukuku sih, penjelasannya mudah dipahami dan diikuti. sama sekali tidak ada kendala karena memakai bahasa assembly. bahkan, ada salah satu komentar di website ini yg bilang “tp saya hanya ngerti assembly mas, saya bingung kalo pake c”. itu menunjukkan bahwa orang yg menganggap bahwa assembly itu lebih sulit, itu terjadi karena orang itu lebih membiasakan dr dg yg bukan assembly. sementara yg dari awal telah membiasakan diri dg assembly, kemungkinan besar dia akan lebih gampang dg assembly dan sulit pake yg lain. hanya pendapat saja sih :D

  20. mas makasih informasinya, say sangat tertarik untuk belajar mikrokontroler, dan saya ingin sekali membuat automatis building system, karena saya adalah seorang teknisi gedung. mohon sarannya..
    persiapan apa yang harus saya lakukan terimakasih

    • TOMO, yang harus dipersiapkan pertama kali ya tentu saja buku tentang mikrokontroler. Dan saran saya, ya baca buku karya saya :D Memang buku tersebut agak susah kalau dicari di toko buku konvensional, tapi kalau lewat toko online Insya Allah masih cukup gampang. Trus jangan lupa download dulu Microcontroller Project Versi terbaru. Tahap awal mungkin bisa dipelajari melalui simulator saja, jadi tidak perlu benar-benar pakai mikrokontroler. karena mempelajari mikrokontroler itu yang paling penting adalah memahami konsep mikrokontroler dalam hal pemrogramannya, bukan hardwarenya.

  21. tolonng jelaskan fungsi2 menumonic seperti mov,sjmp,dll,terutama yang berhubungan dengan text bejalan.dan bgmn tips-nya supaca bisa memahami dan merancang sendiri suatu proyek dengan bhs assembly?sebelumnya tim’s..

    • @samarudin, penjelasan mnemonic2 itu dijelaskan di buku. tidak cuma penjelasan tentang mnemonic saja, tp jg teknik2 membuat program.

  22. Nice post!
    Thanks for share bro!

  23. Dari dulu saya pengen banget bisa mikro kontroler, programing tapi saya bingung harus belajar dari mana dan harus kemana.. karna kalau belajar sendiri itu butuh banyak waktu dibandingkan dengan belajar ada yang membimbing. Saya minta kritik dan saran temen2 yah.. soalnya saya pengen banget bisa IT

  24. bagus,

    postingan yang menarik,

    good job! :)

  25. Mas, salam kenal.
    saya mau tolong, posting dong bagaimana sistem minimum mikrokontroler PIC dan cara memprogramnya, kalau bisa contoh programnya, makasih

  26. Terima kasih untuk sharing infonya. Salam

    http://fis.uii.ac.id/

  27. hai Sul, aku mau tanya nih, di buku “mudah dan menyenagkan bljr mikro” untuk mengubah nilai heksa ukuran word bilangan dibagi sepuluh sampai hasil nol. tiap2 pembagian diambil sisa baginya untuk mendapatkan nilai desimalnya. yg jadi pertanyaan…diregister manakah sisa hasil bagi tersebut disimpan yg kemudian akan kita ambil untuk ditampilkan ke 7 segment.

    • MCS-51 hanya menyediakan pembagian untuk ukuran byte. Untuk ukuran word, kita harus melakukannya dengan manipulasi bit dengan metode mirip seperti porogapet yang diajarkan di SD. Tunggu artikel tentang itu, atau bukuku yang membahas tentang itu, atau coba browsing di internet tentang itu :D

  28. Mikrokontroller memang device segala bisa ya :D, walau tetap dengan keteratasannya. Sekedar info : Indonesia punya majalah elektronika digital :D, gratis, mudah dipahami, dan berbahasa Indonesia. ada di http://www.jurnalistrik.blogspot.com, mbahas mikrokontroller juga

    • Terimakasih atas informasinya. Semoga bermanfaat untuk memajuan bangsa.

  29. mas,klo mw bikin downloader AT89C51 atau AT89C2051 dari keluarga MCS-51 caranya gmn,kok dibuku g ada skema rangkaiannya???

    • klo boleh,minta dikirim skemanya donk!!!!!!!

    • Downloader untuk AT89C51 cukup rumit. Akan tetapi AT89C51 sendiri adalah produk lama yang sudah tidak disarankan untuk rancangan baru. Jadi sebaiknya ganti saja dengan AT89S51. Sedangkan untuk AT89C2051 memang lebih sederhana, tetapi lagi-lagi sebenernya semua tipe C adalah produk lama. Tetapi kalau memang maksa ingin memakai tipe C, browsing di internet juga banyak yang membahas.

  30. mas sulhan.. bakal nyusun buku tentang mikrokontroler lg gak mas.. kelanjutan dari buku “mudah belajar mikrokontolrer” yang sekarang.. klo iya.. sya tetep berharap mas sulhan membahas mikrokontroler keluarga mcs51 dengan bhs asembler..& aplikasi yaang dibuat lebih banyak lagi..contohnya led matrix dengan shift register….

    • Sebenernya sih saya sedang menunggu kabar dari penerbit apa naskah buku yang saya kirim bisa diterbitkan atau tidak. Dan seperti harapan Mas Budi, saya tetap mengupas tentang MCS-51 dengan bahasa assembly. Tapi bukan tentang sesuatu yang bersifat perancangan khusus seperti matriks led, melainkan lebih bersifat teknik lanjut. Yaitu tentang bagaimana kita bisa membuat mikrokontroler agar bersifat multitread sehingga bisa mengerjakan banyak tugas sekaligus (buku 1) dan bagaimana kita mengolah perhitungan matematis yang rumit seperti trigonometri, logaritma, dan sebagainya, menggunakan tipe bilangan yang tidak standar, tetapi menggunakan tipe data yang kita tentukan sendiri sehingga kita bisa berkompromi antara kecepatan dan ketelitian (buku 2). Dan semuanya dibahas menggunakan bahasa assembly!
      Selama ini perhitungan matamatis yang rumit biasanya diselesaikan menggunakan bahasa c atau pascal dan hanya menggunakan tipe data yang telah ditetapkan misalnya single atau double, tetapi saya menyajikan dengan bahasa assembly dengan tipe semau kita. Tolong doain ya Mas, biar bukunya cepet terbit :D

    • Memang benar2 pecinta assembly sejati… :)
      Semoga bukunya diterbitkan.

  31. pak bisa tolong dikasih salah satu contoh cara buat speedometer digital 2digit,skema+codingnya,terimakasih

  32. mas buku mudah dan menyenangkan belajar microcontroller bisa di dapat di mana,lewat online / ada d toko buku.trim’s

  33. lagi menunggu pesanan buku dari andipublisher.com nih ! tapi sya tertarik dengan mc Attiny yg imut” (kecil) bentuknya … belum ada refferensi nya ya

  34. pak ajarin q bkin jam digital tpi pake arduino mas bukan pke mikro
    gimana pak
    bisa kan!!!

Leave a comment

Before making a comment, make sure you have read the previous comments. Do not make the questions have been asked. Note also the links in the article. Take a look at those links before you create the questions, as it may be an explanation of your questions have been answered in that link.

Comments that do not follow these rules will be deleted!

(required)

(required)



− 3 = five

Notify me of followup comments via e-mail. You can also subscribe without commenting.