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 = "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
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 = 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
Konstanta adalah variabel yang mempunyai nilai konstan selama program dijalankan. Untuk mendeklarasikan suatu konstanta dapat digunakan dua cara, yaitu menggunakan Dim atau ConstDim A As Const 5
Dim B1 As Const &B1001
Const Cbyte = &HF
Const Cint = -1000
Const Csingle = 1.1
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 a(10) 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 – CaseSyntaksis If – Then
If <syarat> Then<Pernyataan 1>
<Pernyataan 2>
Else
<Pernyataan 3>
<Pernyataan 4>
End If
Sintaksis If – Then – Elseif
If <syarat1> Then<Pernyataan 1>
<Pernyataan 2>
Elseif <syarat2>Then
<Pernyataan 3>
<Pernyataan 4>
Else
<Pernyataan 5>
<Pernyataan 6>
End If
Sintaksis Select – Case
Select Case < Variabel>Case < Nilai 1> : <Pernyataan 1>
Case < Nilai 2> : <Pernyataan 2>
Case Else : <Pernyataan 3>
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<Pernyataan 1>
<Pernyataan 2>
Loop
Sintaksis While – Wend
While <Syarat><Pernyataan 1>
<Pernyataan 2>
Wend
Sintaksis For – Next
FOR <Variabel> = <Nilai Awal> TO/DOWNTO <Nilai Akhir><Pertambahan/Pengurangan>
<Pernyataan 1>
<Pernyataan 2>
Exit
Semoga bermanfaat..
Download : BascomAVR 2.0.7.3
No comments:
Post a Comment