Jikadilihat dari tingkatan bahasanya, dalam pemrograman suatu mikrokontroler terdapat tiga tingkatan bahasa pemrograman, yaitu : o Bahasa Mesin o Assembly o Bahasa Tingkat Tinggi Bahasa mesin (machine language/machine code) adalah bahasa yang dipahami oleh komputer. Mikrokontroleryang digunakan dalam penelitian ini adalah PIC16F84A. Bahasa pemrograman 'sistem BASIC' dibuat dalam dua tahap. Pada tahap pertama dibuat kompiler di komputer pribadi (PC) yang menerjemahan kode memiliki nama yang baku dan tidak bisa diubah. Tiap-tiap register ini memiliki panjang 8-bit, yang tiap bitnya diasosiasikan Beruntunglahsudah ada vendor yang menyediakan bahasa pemrograman yang sudah mirip dengan bahasa pemrograman tingkat tinggi untuk memprogram mikrokontroler. Berikut ini adalah 7 alasan mengapa menggunakan mikrokontroler lebih menguntungkan dibandingkan menggunakan kumpulan IC digital sederhana dalam sebuah aplikasi hardware digital: LEDjuga dapat memancarkan sinar inframerah yang tidak tampak oleh mata seperti yang sering kita jumpai pada Remote Control TV ataupun Remote Control perangkat elektronik lainnya. Konfigurasi yang ada dipasaran adalah: (a).Sirip roller yang bisa diatur, (b) plunger, (c) Sirip roller standar, (d) sirip wobbler, (e) sirip rod yang bisa diatur Bahasapemrograman, atau sering diistilahkan juga dengan bahasa komputer atau bahasa pemrograman komputer, adalah instruksi standar untuk memerintah komputer.Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaks dan semantik yang dipakai untuk mendefinisikan program komputer.Bahasa ini memungkinkan seorang Programmer dapat menentukan secara persis data mana yang akan diolah oleh Vay Tiền Nhanh Chỉ Cần Cmnd. Mikrokontroler AVR Alf and Vegard's Risc processor standar memiliki arsitektur 8 bit, dimana semua instruksi dikemas dalam kode 16-bit, dan sebagian besar instruksi dieksekusi dalam 1 satu siklus clock. AVR dapat dikelompokkan menjadi empat kelas, yaitu keluarga ATtiny, keluarga ATSOSxx, keluarga ATMega, dan AT86RFxx. Pada dasamya, yang membedakan masing-masing kelas adalah memori, peripheral, dan fungsinya. Mikrokontroler AVR ATmega16 adalah salah satu dari keluarga ATmega dengan populasi pengguna cukup besar. Memiliki memori flash 16k dan 32 jalur input output, serta dilengkapi dengan ADC 8 kanal dengan resolusi 10-bit dan 4 kanal PWM. Sebuah chip dengan fitur cukup lengkap untuk mendukung beragam aplikasi, termasuk robotik. Pemrograman mikrokontroler AVR Atmega16 menggunakan beberapa bahasa program seperti bahasa Basic, C atau Assembler. Untuk bahasa basic kita gunakan Software Bascom AVR sedang bahasa C dan Assembler kita gunakan WinAVR. Program aplikasi yang kita susun dalam software setelah di kompilasi akan dihasilkan file dengan ekstensi heksa. File heksa inilah yang akan kita tuliskan ke memori flash mikrokontroler AVR melalui sebuah alat yang disebut Downloader. Rangkaian Downloader ada yang sederhana dan dapat kita buat sendiri. Anda juga dapat mendownload di internet skema PCB Downloader kemudian membuatnya sendiri. Pada postingan berikutnya akan saya bahas secara khusus mengenai Downloader. Pemrograman Dengan Bascom AVR Pada umumnya bahasa yang dipergunakan untuk memprogram mikrokontroler adalah bahasa Assembly. Bahasa Assembly adalah bahasa pemrograman tingkat menengah, dimana program yang dibuat lebih mendekati bahasa mesin, sehingga pemenfaatan memori dapat dilakukan secara optimal, namun di sisi lain pemrogramannya menjadi relatif sulit. Karena bahasa yang dipergunakan Bascom, yaitu Basic, adalah bahasa tingkat tinggi, maka pemrograman menggunakan Bascom sangatlah mudah untuk dipelajari. Sintaksnya tidak jauh berbeda dari Basic pada umumnya, misalnya do-loop, for-next, while-wend, goto, gosub dan sebagainya. Selain itu Bascom dilengkapi dengan fungsifungsi khusus, misalnya LCD untuk menampilkan karakter pada LCD, PRINT untuk mengirimkan karakter ke PC melalui kabel RS232, SHIFTIN dan SHIFTOUT untuk komunikasi serial sinkron dan lain sebagainya. Fungsi-fungsi khusus tersebut jika dituliskan dalam bahasa Assembly akan menjadi lebih panjang dan rumit, terutama karena kita harus mengetahui register-register yang ada pada mikrokontroler. Kontruksi bahasa BASIC pada BASCOM-AVR Setiap bahasa pemprograman mempunyai standar penulisan program. Konstruksi dari program bahasa BASIC harus mengikuti aturan sebagai berikut $regfile = "header" 'inisialisasi 'deklarasi variabel 'deklarasi konstanta Do 'pernyataan-pernyataan Loop end Pengarah preprosesor $regfile = " merupakan pengarah pengarah preprosesor bahasa BASIC yang memerintahkan untuk meyisipkan file lain, dalam hal ini adalah file yang berisi deklarasi register dari mikrokonroller ATmega 16, pengarah preprosesor lainnya yang sering digunakan ialah sebagai berikut $crystal = 12000000 'menggunakan crystal clock 12 MHz $baud = 9600 'komunikasi serial dengan baudrate 9600 $eeprom 'menggunakan fasilitas eeprom Karakter Pada Bascom Karakter pada Bascom dipergunakan untuk membentuk label, keyword, variabel, dan operator, yang kesemuanya akan membentuk suatu program. Pada dasarnya karakter pada Bascom terdiri dari karakter huruf A-Z dan karakter angka 0-9. Beberapa karakter pada Bascom yang dipergunakan secara khusus terdapat pada tabel 2-1. Tipe Data Setiap variabel pada Bascom mempunyai tipe data yang menunjukkan kapasitas dan jenis data yang dapat disimpan pada variabel tersebut. Hal ini berpengaruh pada seberapa besar memori yang diperlukan untuk menyimpan variabel tersebut. Tabel 2-2 menunjukkan tipe data pada Bascom beserta ukuran dan rentangnya. Variabel Variabel adalah simbol yang digunakan untuk mewakili suatu nilai. Variabel digunakan sebagai tempat penyimpanan data atau penampung data sementara. Variabel numerik hanya dapat diisi nilai numerik bit, byte, integer, word, long, dan single. Isi dari suatu variabel numerik dapat berupa Suatu nilai konstan A = 5 C = Nilai variabel numerik lain A = B Nilai yang didapat dengan mengkombinasikan variabel, konstan, dan operator Temp = A + 5 Pada Bascom terdapat beberapa aturan mengenai penamaan suatu variabel, yaitu Nama suatu variabel maksimum terdiri atas 32 karakter dan dapat berupa huruf ataupun angka. Karakter pertama variabel haruslah berupa huruf. Nama variabel tidak boleh menggunakan kata-kata yang dipergunakan Bascom sebagai perintah, pernyataan, register dan operator misal AND, OR, DIM, P1 TIMER0 dan lain sebagainya Sebelum digunakan suatu variabel haruslah dideklarasikan terlebih dahulu tipe data yang dipergunakan dengan menggunakan pernyataan DIM DIM A As Byte DIM Nama1 As Byte, Nama2 As Integer DIM Kata As String*10 Selain menggunakan DIM, variabel dapat juga ditentukan tipe datanya menggunakan DEFBYTE, DEFINT, DEFBIT, dan DEFWORD DEFBYTE A DEFWORD B;C;D Suatu variabel dapat mempunyai nama lain atau alias. Umumnya alias digunakan untuk mengganti variabel standar dengan nama yang lebih mudah diingat. Hal ini akan berguna pada saat membuat program yang panjang dan kompleks, jika terdapat perubahan penggunaan pin atau port, cukup diganti pada pernyataan Alias. Saklar1 Alias LED1 Alias Konstanta Konstanta adalah variabel yang mempunyai nilai konstan selama program dijalankan. Untuk mendeklarasikan suatu konstanta dapat digunakan dua cara, yaitu menggunakan Dim atau Const Dim A As Const 5 Dim B1 As Const &B1001 Const Cbyte = &HF Const Cint = -1000 Const Csingle = Const Cstring = "tes" Larik Larik atau array adalah kumpulan variabel dengan nama dan tipe data yang sama. Untuk membedakan satu variabel dengan variabel lainnya digunakan indeks. Indeks haruslah berupa angka dengan tipe data byte, integer atau word, dengan nilai minimal 1 bukan 0. Pendeklarasian larik mirip seperti variabel biasa, hanya ditambahkan jumlah komponen lariknya. Dim a10 as byte Sistem Bilangan Pada pemrograman mikrokontroler terdapat 3 sistem bilangan yang sering digunakan, yaitu desimal basis 10, biner basis 2, dan heksadesimal basis 16. Cara penulisan bilangan pada Bascom disesuaikan dengan sistem bilangan yang digunakan, yaitu Untuk bilangan desimal tidak didahului angka ataupun huruf lain Untuk bilangan biner didahului dengan &B Untuk bilangan heksadesimal didahului dengan &H Contoh 240 bilangan desimal, &B11110000 bilangan biner, &HF0 bilangan heksadesimal Operator Operator digunakan untuk melakukan operasi terhadap bilangan. Pada Bascom operator dibedakan menjadi operator aritmetik, operator relasional, dan operator logika. Operator aritmatik adalah operator yang digunakan dalam kalkulasi, yaitu + penjumlahan, - pengurangan, * perkalian, / pembagian, \ pembagian integer, MOD modulo = sisa dari pembagian. Operator relasional digunakan untuk membandingkan dua nilai, yang memberikan hasil benar 1 atau salah 0 dan dapat digunakan untuk membuat keputusan. Operator logika digunakan untuk menguji suatu pola bit tertentu, manipulasi bit atau operator Boolean. Misal operator AND dapat digunakan untuk mengabaikan semua bit dalam suatu byte kecuali satu bit untuk memantau status bit tersebut Pernyataan Bersyarat Pada Bascom terdapat beberapa pernyataan bersyarat yang sering digunakan yaitu If – Then, If – Then – Elseif, dan Select – Case Syntaksis If – Then If Then Else End If Sintaksis If – Then – Elseif If Then Elseif Then Else End If Sintaksis Select – Case Select Case Case Case Case Else End Select Pernyataan Perulangan Loop Loop adalah suatu perulangan terhadap perintah atau instruksi sampai mencapai keadaan tertentu jumlah perulangan tersebut dapat diketahui. Fungsi dari loop sendiri banyak sekali, dan dapat menghemat dalam penulisan program karena program yang sama dapat dilakukan dengan beberapa perintah dan kemudian diulang-ulang. Terdapat 3 pernyataan perulangan yaitu Do-Loop, While-Wend, dan For-Next. Sintaksis Do – Loop Do Loop Sintaksis While – Wend While Wend Sintaksis For – Next FOR = TO/DOWNTO Exit Semoga bermanfaat.. Download BascomAVR Posted in mikrokontroler Pentingnya Mikro AVR untuk Memulai Belajar Mikrokontrollermikro avr adalah mikrokontroller yang biasa di pelajari. Umumnya menggunakan atmega16, atmega8535, atmega32, atmega8 dan atmega328 dan diprogram dengan cvavr atau codevision AVR, Bascom AVR dan Atmel mikro AVR di awal awal memiliki banyak ke untungan jika di bandingkan langsung belajar Arduino. Kenapa demikian? karena untuk memulai nya kita benar benar belajar dari dasar. Sebagai contoh, ketika ingin membuat system atmega32 dengan LCD, pelan pelan kita browsing rangkaian nya, kemudian desain PCB, cetak, dan kemudian solder komponen. Pada proses pembuatan ini kita akan banyak belajar hal baru tentang elektronika dan seni nya yang tidak akan di dapat kan oleh orang yang belajar Arduino sebagai dasar belajar avr relay keypadBayangkan saja ketika ingin buat system Arduino dengan LCD, tinggal beli jumper female dan male, beli Arduino jadi, entah itu Arduino nano, uno atau mega, kemudian beli module LCD, protoboard, colok sana colok sini, download library langsung jadi, instan, dan cepat, namun ada yang terlewatkan seperti apa yang di dapatkan ketika belajar mikro avr di mikro avr juga kita akan belajar tentang register-register mikrokontroller itu, seperti DDR, PORT, PIN, register ADC, register timer, register USART dan lain lain. Beda dengan Arduino, semua sudah menjadi fungsi fungsi, tinggal di apakah kamu ingin belajar Arduino langsung atau mikro AVR? itu terserah, bagi saya lebih baik belajar mikro avr dulu, kemudian sudah mahir baru belajar Arduino, agar mindset kita ketika belajar mikro avr terbawa ke Arduino. Hasil nya adalah, Arduino custome, Arduino dengan desain PCB kita sendiri, shiled Arduino dengan tipe kita Langkah Belajar Mikro AVR yang Harus Kamu LaluiPemrograman C/ C++ atau Bahasa BasicPertama yang harus di pelajari adalah belajar program C/C++ atau basic. Menurut saya belajar C/C++ lebih di rekomendasikan jika ingin masuk ke Arduino, karena Arduino sendiri menggunakan Bahasa C++, jadi migrasi nya lebih ketika saya belajar C/C++, saya install neatbean dan eclipse, kemudian belajar lah apa itu operator aritmatika, operator logika, function, type data, variable local, variable global dan lain lain. Padahal program yang saya pelajari ini tidak ada hubungan nya dengan mikro avr, tapi begini lah saya memulai nya. Namun ada yang belum sempat saya pelajar di C++ yaitu OOP, Bahasa C++ berbasis OBJEK, mungkin next step akan di pemrogramanLantas apa penting nya Bahasa pemrograman di system mikro avr? yang tentu saja untuk memprogram mikrokontroller ini sesuai dengan system apa yang kita buat. Sebagai contoh kita ingin program led nyala 1 detik, led mati satu detik, kita program dengan setingan waktu, begitu juga dengan led berjalan, led kedip cepat, sampai dengan program yang lebih kompleks dengan system automasi control yang lebih komplek. Bagaimana kamu siap belajar program C/C++?Try Error dan Learning Rangkaian Elektronik untuk Mikro AVR dan Pendukung nyaRangkaian untuk mikro avr dan pendukung nya sangat dibutuhkan untuk belajar mikro avr. Semakin banyak katalog kita tentang rangkaian ini maka semakin mudah kita desain sebuah system contoh, kita ingin membuat sebuah alat untuk membuka pintu otomatis dalam sebuah rumah, alat real dan bukan prototype, nah rangkaian apa kah yang kita butuhkan? sensor apakah yang kita butuhkan? tipe jenis motor apakah yang akan kita pakai? Jika motor nya menggunakan motor yang besar, apakah rangkaian yang kita punya sanggup mengendalikan morot tersebut?rangkaian atmega328Semua katalog rangkaian yang kita uji satu per satu ini akan sangat membantu kita jika ingin desain sebuah system. Kita sudah punya history cara desain nya, tata letak komponen, bentuk hatsink dan lain lain. Sehingga desain system kita semakin apik dan hal yang gak kalah penting nya adalah Rangkaian power supplay di system kendali, ini sangat penting sekali karena beda desain control beda kebutuhan daya nya. Dari sana nanti kita dapat apakah kita perlu menggunakan power supply variable, apakah cukup 1A, 2A, atau malah sampai Error sensor sensor untuk Mikro AVRPada dasar nya semua jenis sensor untuk Arduino bias kita gunakan untuk sensor Mikro AVR. Karena Arduino pun ada bebera chip nya yang memakai AVR, sepert Arduino Nano, Arduino Mega, Arduino Uno. Beda nya di bootloader dan software compiler kita tentang sensor juga point yang sangat penting. Contoh kasus nya misalanya kita ingin desain sebuah system alarm peringatan banjir di sebuah sungai. Cara kerja nya jika ketinggian sungai mencapai level atau ketinggian tertentu maka dikirim notifikasi ke operator jaga misalnya. Nah sensor apakah yang harus kita pakai? sensor yang punya ketahanan tinggi, sensor yang murah dan kuat?Itu adalah contoh kasus yang ada yang membutuhkan pengetahuan akan jenis jenis sensor. Sensor cukup banyak beredar saat ini, seperti sensor Arus, Sensor Tegangan, Sensor Level, Sensor Suara, Jarak, Suhu, Kelembaban, Gas, Api, dan sensor sensor jenis PCB untuk Membuat System Mikro AVRBelajar desain pcb sangat penting jika kita ingin menjadi product maker di bidang elektronik control, hahaha gak mungkin kan kita buat produk dengan protoboard? jumper sana sini? hehe. Desain PCB ini adalah pondasi dari sebuah system, hardware. Ketahanan, gampang di pakai, gampang di install di cashing, atau packing, ini semua terletak di desain cetak pcb dan desain pcbBanyak sekali software software desain PCB yang ada, tapi ada dua yang sangat popular, yaitu eagle cadsoft dan Althium. Dua software ini berbayar, eagle cadsoft bahkan menjual software ini dengan lisensi perbulan, minimal beli 3 bulan lisensi. Ini yang saya rasakan ketika nanya lisensi eagle memulai desain PCB bisa gunakan software eagle cadsoft yang free, menurut saya ini cukup lumayan, walau ukuran nya terbatas, tapi bisa di siasati, misal nya desain dulu PCB mega328 di satu pcb, baru sediakan socket header 2×5, kemudian desain lagi system relay. Jadi nanti untuk menghubungkan system minimum atmega328 dengan relay adalah jumper 2× Project Mikro AVR untuk naik LevelSetelah semua di atas kita pelajari, mulai lah membuat sebuah project mikro AVR. Jujur saya memiliki modal yang tidak cukup untuk membuat project mikro AVR ini. Saya memulai membuat project mikro AVR dengan mengerjakan project project mahasiswa, hehehe banyak yang bilang gak boleh lah, tapi saya berasumsi, begini cara saya belajar mikro AVR, di biayain, dan dapat duit harga jauh disbanding kan yang lain.begini cara saya belajar mikro AVR, di biayain, dan dapat duit harga jauh disbanding kan yang lain.Dengan mengerjakan project mikro AVR ini kita akan di paksa belajar hal hal baru, karena permintaan project alat tidak selamanya sudah pernah kita lakukan. Sebagai contoh saya pernah kerjakan project SIM800L, pertama tama saya suplay sim800 dengan tegangan 5V seperti kebanyakan modul biasa nya, program dengan cara tutorial yang ada, step di ikuti pelan pelan, begitu di coba tidak berhasil, tidak avr pcbDari project SIM800 ini juga saya mulai sadar bahwa ada beberapa module controller yang sifat nya memberikan karate melalui komunikasi serial. AT command istilah nya, dan satu lagi, tidak semua modul bekerja di tegangan 5v, ada yang spesifik, contoh nya sim800 ini level tengan nya di sekitar – volt, saya pribadi buat di tengangan juga dengan project project lain yang memaksa kita terus belajar hal hal baru. Semua project yang kita buat menjadi list history di data kita, saya pribadi simpan data di cloud. Ketika ada project serupa, tinggal copy paste and modifie,Satu hal lagi yang penting Bahasa inggrisSebenar nya Bahasa inggris bukan hal aneh lagi untuk di pelajari, rata rata generasi baru mengerti Bahasa inggris, apalagi yang tinggal di kota dan sudah berbahasa inggris? ada pola unik mindset engineer orang luar dengan orang Indonesia saya lihat. Mereka lebih terbiasa untuk berbagi. Bayangkan saja library dan coding yang gitu rumit di share public di GitHub. Karena materi mikro avr banyak dari Bahasa inggris, maka kita harus belajar juga Bahasa inggris, jujur untuk belajar Arduino saya lebih banyak belajar dari web web luar,. 🙂 google translate pun jadi lah,. hahasekian dulu tulisa nya, semoga bermanfaatThanks Skip to content Sistem minimum mikrokontroler hanya sekumpulan komponen-komponen elektronika yang belum dapat dioperasikan. Agar dapat dioperasikan, haruslah terlebih dahulu dimasukkan program ke dalam IC mikrokontroler. Progam yang akan dimasukkan haruslah sesuai dengan tujuan dari sistem tersebut dibuat. Program tersebut akan disimpan ke dalam mikrokontroler pada bagian penyimpanan memory. Ketika sistem dijalankan, maka baris per baris pada memory akan dibaca dan dijalankan instruksinya oleh keseluruhan sistem. Dengan demikian, barulah sistem tersebut dapat bekerja dengan komputer memahami kehendak si perancang, maka program yang dimasukkan harus dipahami oleh sistem mikrokontroler. Oleh karena itu, diperlukan sebuah bahasa yang dipahami oleh si perancang dan juga mikrokontroler, yang disebut dengan Bahasa Pemrograman, atau sering diistilahkan juga dengan bahasa komputer, adalah teknik komando/instruksi standar untuk memerintah komputer. Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaks dan semantikyang dipakai untuk mendefinisikan program ini memungkinkan seorang programmer dapat menentukan secara persis data mana yang akan diolah oleh komputer, bagaimana data ini akan disimpan/diteruskan, dan jenis langkah apa secara persis yang akan diambil dalam berbagai tingkat kedekatannya dengan mesin komputer, bahasa pemrograman terdiri dari Bahasa Mesin, yaitu memberikan perintah kepada komputer dengan memakai kode bahasa biner, contohnya 01100101100110. Terkadang, untuk memudahkan penulisan, bahasa biner ini dituliskan dalam bilangan heksadesimal, seperti 2A, F5 dan BC. File yang dihasilkan dari penulisan Bahasa Mesin berekstensi *. Tingkat Rendah, atau dikenal dengan istilah bahasa rakitan Assembly, yaitu memberikan perintah kepada komputer dengan memakai kode-kode singkat kode mnemonic, contohnya MOV, SUB, CMP, JMP, JGE, JL, LOOP, dsb. File yang dihasilkan dari penulisan bahasa ini berekstensi *. Tingkat Menengah, yaitu bahasa komputer yang memakai campuran instruksi dalam kata-kata bahasa manusia lihat contoh Bahasa Tingkat Tinggi di bawah dan instruksi yang bersifat simbolik, contohnya {, }, ?, >, &&, , Tingkat Tinggi, yaitu bahasa komputer yang memakai instruksi berasal dari unsur kata-kata bahasa manusia, contohnya begin, end, if, for, while, and, or, dsb. Sebagian besar bahasa pemrograman digolongkan sebagai Bahasa Tingkat Tinggi, hanya bahasa C yang digolongkan sebagai Bahasa Tingkat Menengah dan Assembly yang merupakan Bahasa Tingkat Rendah. Semua bahasa pemrograman, pada akhirnya, harus diubah ke dalam Bahasa Mesin *.hex. Karena, hanya Bahasa Mesin yang dapat dikirimkan ke dalam IC Mikrokontroler. Jadi, ayo belajar bahasa pemrograman, agar bisa memprogram sistem mikrokontroler. Post navigation MicroPython adalah implementasi dari bahasa pemrograman python 3, yang mencakup sebagian kecil dari library python dan library tambahan dari MicroPython, yang dioptimalkan untuk berjalan di mikrokontroler dan pada environment dengan resource terbatas. Dengan micropython kita bisa memprogram mikrokontroller dengan sintaks python yang sederhana daripada menggunakan bahasa C atau C++ yang terkesan kompleks yang digunakan untuk memprogram Aruduino. Sejarah MicroPython Damien P. George dan Paul Sokolovsky adalah teknisi dengan spesialisasi di Python dan project – project robotik. Mereka terinspirasi akan sebuah ide bagaimana python dapat digunakan untuk memprogram “mikrokomputer satu keping” sehingga mampu untuk mengendalikan robot. Python sebagai bahasa pemrograman yang sederhana dan mudah dipelajari serta mendapat dukungan komunitas yang besar dipandang ideal sebagai bahasa pemrograman yang cocok buat pemula, namun python tidak sepopuler C/C++ di ranah pemrograman bare-metal. Setelah berkutat selama 6 bulan melakukan penulisan ulang python yang ditujukan untuk pemrograman aras bawah, terciptalah MicroPython yang ditulis diatas bahasa pemrograman ANSI C. Dengan sintaks yang serupa dengan Python 3, dipersenjatai dengan parser, compiler, virtual machine dan beberapa library khusus. Keunggulan MicroPython Sebagai bahasa interpreted’, micropython memiliki kekurangan dalam hal performa dan terkadang memakan memory saat menerjemahkan kode. Di sisi lain, micropython memiliki beberapa keunggulan diantaranya Source code yang terlihat simpel dan bersihBeberapa sintaks yang familiar bagi pengguna bahasa pythonBuilt in library cukup banyak yang dapat membantu pekerjaan kodingExtensibilitas. Pengguna bisa mengkobinasikan dengan bahasa tingkat rendah seperti C/C++ sesuai kebutuhannyaDokumentasi yang cukup lengkap dan komunitas yang besar Board yang Kompatibel dengan MicroPython MicroPython kompatibel dengan beberapa board development/Mikrokontroler/SoC seperti Raspberry Pi, ESP8266, ESP32, dan juga keluarga mikrokonteroler STM32. Untuk melihat daftar lengkap board yang kompatibel dengan micropython, silahkan cek di official website Halo semua, perkenalkan nama Saya Muhammad Rozan, admin sekaligus author satu-satunya di Tambang Kode adalah wadah informasi, edukasi, dan kreatifitas dalam dunia mikrokontroller, otomasi, dan IT yang disajikan dalam bentuk artikel, tips & tutorial, dan video yang diperuntukan untuk segala tingkat beginner sampai advance. View more posts Post navigation Pemrograman menggunakan bahasa assembly bahasa tingkat rendah memerlukan pemahaman register, termasuk didalamnya nama setiap register dari chip kontroler yang digunakan dan struktur register itu sendiri. Secara fisik, kerja dari sebuah mikrokontroler dapat dijelaskan sebagai siklus pembacaan instruksi yang tersimpan di dalam memori. Mikrokontroler menentukan alamat dari memori program yang akan dibaca, dan melakukan proses baca data di memori. Data yang dibaca diinterprestasikan sebagai instruksi disimpan oleh mikrokontroler di register, yang dikenal sebagai program counter. Instruksi ini misalnya program aritmatika yang melibatkan 2 register. Sarana yang ada dalam program assembly sangat minim, tidak seperti dalam bahasa pemrograman tingkat atas high level language programming semuanya sudah siap pakai. Penulis program assembly harus menentukan segalanya, menentukan letak program yang ditulisnya dalam memori-program, membuat data konstan dan tablel konstan dalam memori-program, membuat variabel yang dipakai kerja dalam memori-data dan lain sebagainya. Program-sumber assembly assembly source program merupakan kumpulan dari baris-baris perintah yang ditulis dengan program penyunting-teks text editor sederhana, misalnya program dalam DOS, atau program NOTEPAD dalam Windows atau MIDE-51. Kumpulan baris-printah tersebut biasanya disimpan ke dalam file dengan nama ekstensi *. ASM dan lain sebagainya, tergantung pada program Assembler yang akan dipakai untuk mengolah program-sumber assembly tersebut. Setiap baris-perintah merupakan sebuah perintah yang utuh, artinya sebuah perintah tidak mungkin dipecah menjadi lebih dari satu baris. Satu baris perintah bisa terdiri atas 4 bagian, bagian pertama dikenali sebagai label atau sering juga disebut sebagai symbol, bagian kedua dikenali sebagai kode operasi, bagian ketiga adalah operand dan bagian terakhir adalah komentar. Antara bagian-bagian tersebut dipisahkan dengan sebuah spasi atau tabulator. Label Label dipakai untuk memberi nama pada sebuah baris-perintah, agar bisa mudah menyebitnya dalam penulisan program. Label bisa memberi nama pada baris bersangkutan. Bagian label sering disebut juga sebagai bagian symbol, hal ini terjadi kalau label tersebut tidak dipakai untuk menandai bagian program, melainkan dipakai untuk menandai bagian data. Bagian Kode Operasi Kode operasi operation code atau sering disingkat sebagai OpCode merupakan bagian perintah yang harus dikerjakan. Dalam hal ini dikenal dua macam kode operasi, yang pertama adalah kode-operasi untuk mengatur kerja mikroprosesor / mikrokontroler. Jenis kedua dipakai untuk mengatur kerja program assembler, sering dinamakan sebagai assembler directive. Kode-operasi ditulis dalam bentuk mnemonic, yakni bentuk singkatan-singkatan yang relatip mudah diingat, misalnya adalah MOV, ACALL, RET dan lain sebagainya. Kode-operasi ini ditentukan oleh pabrikpembuatikroprosesor/ penerjemahan tersebut dilakukan oleh program yang dinamakan sebagai Program luar kode-operasi yang ditentukan pabrik pembuat mikroprosesor/mikrokontroler, ada pula kode-operasi untuk mengatur kerja dari program assembler, misalnya dipakai untuk menentukan letak program dalam memori ORG, dipakai untuk membentuk variabel DS, membentuk tabel dan data konstan DB, DW dan lain sebagainya. Bagian operand Operand merupakan pelengkap bagian kode operasi, namun tidak semua kode operasi memerlukan operand, dengan demikian bisa terjadi sebuah baris perintah hanya terdiri dari kode operasi tanpa operand. Sebaliknya ada pula kode operasi yang perlu lebih dari satu operand, dalam hal ini antara operand satu dengan yang lain dipisahkan dengan tanda operand sangat bervariasi, bisa berupa kode-kode yang dipakai untuk menyatakan Register dalam prosesor, bisa berupa nomor-memori alamat memori yang dinyatakan dengan bilangan atau pun nama label, bisa berupa data yang siap di-operasi-kan. Bagian komentar Bagian komentar merupakan catatan-catatan penulis program, bagian ini meskipun tidak mutlak diperlukan tapi sangat membantu masalah dokumentasi. Membaca komentar-komentar pada setiap baris-perintah, dengan mudah bisa dimengerti maksud tujuan baris bersangkutan, hal ini sangat membantu orang lain yang membaca program. Pemisah bagian komentar dengan bagian sebelumnya adalah tanda spasi atau tabulator, meskipun demikian huruf pertama dari komentar sering-sering berupa tanda titik-koma, merupakan tanda pemisah khusus untuk komentar. Untuk keperluan dokumentasi yang intensip, sering-sering sebuah baris yang merupakan komentar saja, dalam hal ini huruf pertama dari baris bersangkutan adalah tanda titik-koma. AT89S51 memiliki sekumpulan instruksi yang sangat lengkap. Instruksi MOV untuk byte dikelompokkan sesuai dengan mode pengalamatan addressing modes. Mode pengalamatan menjelaskan bagaimana operand penjelasan dari berbagai mode pengalamatan. Bentuk program assembly yang umum ialah sebagai berikut Isi memori ialah bilangan heksadesimal yang dikenal oleh mikrokontroler kita, yang merupakan representasi dari bahasa assembly yang telah kita buat. Mnemonic atau opcode ialah kode yang akan melakukan aksi terhadap operand . Operand ialah data yang diproses oleh opcode. Sebuah opcode bisa membutuhkan 1 ,2 atau lebih operand, kadang juga tidak perlu operand. Sedangkan komentar dapat kita berikan dengan menggunakan tanda titik koma ;. Berikut contoh jumlah operand yang berbeda beda dalam suatu assembly. CJNE R5,22H, aksi ;dibutuhkan 3 buah operand MOVX DPTR, A ;dibutuhkan 2 buah operand RL A ;1 buah operand NOP ; tidak memerlukan operand Program yang telah selesai kita buat dapat disimpan dengan ekstension .asm. Lalu kita dapat membuat program objek dengan ekstension HEX dengan menggunakan compiler MIDE-51

bahasa pemrograman yang belum dapat memprogram mikrokontroller adalah