Apa yang dimaksud dengan bahasa tingkat tinggi dalam pemrograman mikrokontroler?

persamaan mblock dan scratch adalah​

pohon keputusan berguna untuk....​

manfaat utama dari penggunaan pohon keputusan adalah...​

bantu jwb jangan ngasal ²​

Jawab jangan ngsal ngsal!!​

jangan ngsaaal!! yg penting​

tolong bantu jangan ngasal ngasal dh​

Sebutkan organisasi masyarakat sipil yang memelopori inisiatif anti hoax dan edukatif literasi digital​

tolong bantu jangan ngasaalll ngasal​

tolong bantuu mau antar bsk jangan ngasal ngasal-!!​

Kembali ke era kegelapan dari mikroprosesor, dimana pengembangan software dilakukan secara eksklusif dengan bahasa assembly yang spesifik dari divais tertentu. Bahasa assembly ini menggunakan mnemonic sebagai pengganti dari kode numerik bahasa mesin. Untuk menuliskan 0x12 0x07 0xA4 0x8F yang akan memerintahkan chip untuk memasukkan sebuah nilai ke sebuah lokasi memori, kita dapat menuliskannya demikian dengan bahasa assembly: MOV 22, MYBUFFER+7. Program assembler akan menerjemahkan perintah tersebut ke dalam kode mesin.

Saya pernah menulis kode dalam bahasa mesin sewaktu kuliah dulu, dan percayalah saat saya mengatakan bahwa bahasa assembly merupakan langkah maju dalam upaya meningkatkan produktivitas. Namun, bahasa assembly untuk sebuah piranti terikat dengan piranti tersebut. Sulit untuk menjadi mahir di dalam bahasa assembly karena ketika mikrokontroler yang dimaksud kadaluarsa atau hilang dari pasaran, maka apa yang kita pelajari pun menjadi mubazir. Bahasa assembly merupakan bahasa dengan tujuan tertentu yang hanya bekerja pada chip tertentu. Bila kita menguasai bahasa assembly untuk chip Motorola, tidak secara otomatis kita akan menguasai bahasa assembly untuk chip Zilog.

Bagaimana dengan bahasa tingkat tinggi? Seperti Bahasa C misalnya?

Bahasa tingkat tinggi umumnya dikembangkan untuk tujuan umum, untuk pemakain secara luas. Bahasa C merupakan salah satu bahasa tingkat tinggi yang banyak diminati. Sekali kita belajar C, kita dapat berpindah dengan mudah diantara keluarga mikrokontroler, menulis software dengan lebih cepat dan kode yang dibuat lebih mudah dimengerti dan di-maintain. Namun harus dicatat, mikrokontroler yang dimaksud harus memiliki C compiler yang ditulis untuknya. Dengan kata lain, kita bisa membuat program dalam bahasa C untuk mikrokontroler AVR, bila tersedia C compiler untuk AVR.

Saat ini, tidak sulit mencari C compiler untuk mikrokontroler yang beredar di pasaran, walaupun harus sedikit menunggu untuk chip-chip keluaran terbaru.

Satu produk C Compiler open source untuk mikrokontroler AVR, yang cukup banyak diminati, adalah WinAVR, yang dapat diunduh dari http://sourceforge.net/projects/winavr. WinAVR dapat diadaptasikan ke dalam AVR Studio IDE yang memiliki GCC plug-in.

Untuk memprogram suatu mikrokontroler terdapat banyak bahasa pemrograman yang dapat digunakan. Bahasa pemrograman yang biasa digunakan dalam pemrograman mikrokontroler terdahulu adalah Assembly. File bahasa Assembly (ASM) dapat dituliskan menggunakan pengolah kata (misal Notepad), untuk kemudian dikompile menggunakan Assembler untuk mendapatkan file HEX. File HEX inilah yang dimasukkan ke mikrokontroler menggunakan perangkat lunak pemrogram (programmer) melalui perantaraan kabel paralel ataupun serial. Gambar 2 menunjukkan langkah-langkah pada pemrograman mikrokontroler secara umum. Saat ini telah dikembangkan beberapa kompiler untuk beberapa bahasa pemrograman tingkat tinggi yang dapat digunakan pada pemrograman mikrokontroler. Untuk mikrokontroler keluarga AVR perangkat lunak pemrograman yang dapat digunakan antara lain SDCC (Small Device C Compiler) dari Sandepp Duta (http://sdcc.sourceforge.net), Bascom-AVR (Basic Compiler) dari MCS Electronics (www.mcse.com), CodeVision AVR dari HP InfoTech (http://www.hpinfotech.com), dan WinAVR (winavr.sourceforge.net) serta Arduino (www.arduino.cc).

Gambar 2 Langkah-langkah pemrograman mikrokontroler.

      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.

       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 = "m16def.dat" merupakan pengarah pengarah preprosesor bahasa BASIC yang memerintahkan untuk meyisipkan file lain, dalam hal ini adalah file m16def.dat 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 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.


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 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 = 1.1 · 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 PB.0      LED1 Alias PD.0 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 = 1.1       Const Cstring = "tes" 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 a(10) as byte 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 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


Pada Bascom terdapat beberapa pernyataan bersyarat yang sering digunakan yaitu If – Then, If – Then – Elseif, dan Select – Case    If <syarat> Then    <Pernyataan 1>    <Pernyataan 2>    Else    <Pernyataan 3>    <Pernyataan 4>    End If     If <syarat1> Then     <Pernyataan 1>     <Pernyataan 2>     Elseif <syarat2>Then     <Pernyataan 3>     <Pernyataan 4>     Else    <Pernyataan 5>    <Pernyataan 6>    End If      Select Case < Variabel>      Case < Nilai 1> : <Pernyataan 1>      Case < Nilai 2> : <Pernyataan 2>      Case Else : <Pernyataan 3>      End Select 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.      Do      <Pernyataan 1>      <Pernyataan 2>      Loop      While <Syarat>      <Pernyataan 1>      <Pernyataan 2>      Wend      FOR <Variabel> = <Nilai Awal> TO/DOWNTO <Nilai Akhir>      <Pertambahan/Pengurangan>      <Pernyataan 1>      <Pernyataan 2>      Exit Semoga bermanfaat..

Download : BascomAVR 2.0.7.3


Page 2