Selasa, 26 Agustus 2014

BASCOM-AVR


Apa itu Bascom-AVR?
BASCOM-AVR adalah salah satu perangkat software untuk pembuatan program, yang ditanamkan dan dijalankan pada mikrokontroler keluarga AVR seperti ATMega8, ATMega16, dll. BASCOM-AVR juga bisa disebut sebagai IDE (Integrated Development Environment) yaitu lingkungan kerja yang terintegrasi, karena disamping tugas utamanya (meng-compile kode program menjadi file HEX / bahasa mesin), BASCOM-AVR juga memiliki kemampuan / fitur lain yang berguna sekali, contoh :
-          Simulator
-          Programmer (untuk menanamkan program yang sudah di-compile ke mikrokontroler).
Screenshot BASCOM-AVR :


Dan perlu diketahui, sesuai dengan namanya BASCOM (Basic Compiler) bahasa yang digunakan adalah bahasa BASIC. Jadi, jika anda sudah pernah menggunakan bahasa BASIC (Visual Basic, Turbo Basic, dll), akan menjadi modal penting untuk mempelajari tool ini karena secara struktur pemrograman dasar tidak ada perbedaan.
Mikrokontroler keluarga AVR bermacam-macam jenisnya beberapa contoh yang umum digunakan untuk aplikasi dan alat otomasi adalah ATMega 8 dan ATMega 16 :


 
                           ATMega 8                                                        ATMega 16

Sangat disarankan bagi Anda untuk membaca karakteristik dari mikrokontroler yang anda gunakan terlebih dahulu.


Langkah Awal Penulisan Program pada BASCOM-AVR

Untuk memulai pembuatan program dengan BASCOM-AVR, klik menu File -> New. Langkah awal penulisan program adalah dengan menentukan file register dan kristal yang digunakan, yakni dengan menuliskan :

$regfile  = "m16def.dat"
$crystal = 8000000

Dimana "m16def.dat" adalah nama file yang berisi konfigurasi alamat register pada mikrokontroler AVR ATMega 16, jika anda menggunakan jenis lain, maka anda harus mengganti nama file register ini sesuai dengan mikrokontroler yang anda gunakan. Sedangkan 8000000 adalah frekuensi denyut kristal yang digunakan, satuannya adalah dalam Hertz (8000000 = 8 MHz). Pada mikrokontroler keluarga AVR terdapat crystal internal : 1 MHz, 2 MHz, 4 MHz, dan 8 MHz, silahkan dipilih sesuai dengan keperluan anda.

Variabel & Tipe data
Di dalam pemrograman tipe data adalah hal yang sangat penting untuk diketahui sebelum kita memulai pemrograman itu sendiri. Pada bahasa Basic yang telah disesuaikan dengan BASCOM-AVR, tipe-tipe data yang dikenal dan dapat digunakan adalah sebagai berikut :
  • Bit (1/8 byte). Satu bit hanya bisa menampung nilai 1 atau 0. Kumpulan dari bit sebanyak 8 disebut byte.
  • Byte (1 byte). Byte bisa menampung angka binari 8 bit dengan jangkauan 0 sampai 255.
  • Integer (2 byte). Integer bisa menampung angka bulat 16 bit dengan jangkauan -32,768 sampai +32,767.
  • Word (2 byte). Words memiliki daya tampung yang sama dengan Integer, perbedaannya adalah Wor tidak mendukung nilai negatif adapun jangkauannya adalah dari 0 sampai 65535.
  • Long (4 byte). Long mampu menampung angka bulat 32 bit mulai dari -2147483648 sampai 2147483647.
  • Single. Single mampu menampung angka pecahan (desimal) 32 bit dengan jangkauan dari 1.5 x 10^–45 sampai 3.4 x 10^38
  • Double. Double mampu menampung angka pecahan (desimal) 64 bit dengan jangkauan dari 5.0 x 10^–324 sampai 1.7 x 10^308
  • String (bisa sampai 254 byte). String bisa menampung karakter ataupun kumpulan karakter. Misalnya : "IVAN ANTARIKSA" => merupakan kumpulan karakter, sehingga bisa ditampung ke dalam variabel dengan tipe data String.
Cara mendeklarasikan sebuah variabel pada BASCOM-AVR adalah  sebagai berikut :

Dim nama_variabel as tipedata, contoh : Dim x as Byte.

Khusus untuk tipe data String ada sedikit tambahan yakni jumlah karakter maksimal yang bisa ditampung oleh variabel tersebut. Contoh :
Dim X as String * 10, berarti variabel X mampu menampung karakter sepanjang 10 karakter.

Di dalam penulisan nama variabel terdapat beberapa aturan yang harus di perhatikan :
  1. Tidak boleh menggunakan karakter khusus seperti : */#$@!%^&*(),;'~`?<>+=-\
  2. Tidak boleh menggunakan kata kunci yang telah ada di dalam bahasa pemrograman, contoh : for, next, do, loop, while, until, dll.
  3. Karakter pertama dalam nama varibel tidak boleh angka, contoh : 1var => salah, var1 => benar.
  4. Tidak boleh ada spasi, jika nama variabel lebih dari satu kata dapat dihubungkan dengan underscore(“_”).
 Operator
Operator yang digunakan secara umum adalah, operator pembanding, operator aritmatik, dan operator logika.

1. Operator Pembanding
Operator
Keterangan
Penggunaan
=
Sama Dengan
A=B
<> 
Tidak Sama Dengan
A<>B
> 
Lebih Besar Dari
A>B
< 
Lebih Kecil Dari
A<B
>=
Lebih Besar Sama Dengan
A>=B
<=
Lebih Kecil Sama Dengan
A<=B

Hasil dari operasi dengan menggunakan operator pembanding adalah true atau false.

2. Operator Aritmatik
Operator
Keterangan
Penggunaan
+
Tambah
A=B+C
-
Kurang
A=B-C
*
Kali
A=B*C
/
Bagi
A=B/C
\
Pembagian Bulat (Div)
A=B\C
^
Pangkat
A=B^C

3. Operator Logika
Operator
Keterangan
Penggunaan
AND
Konjungsi
A AND B
OR
Disjungsi
A OR B
XOR
Exclusive Or
A XOR B
NOT
Komplemen
NOT A

Perulangan / Looping
Perulangan / looping tidak bisa dipisahkan dengan bahasa pemrograman. di dalam bahasa basic, perulangan yang dapat digunakan adalah sebagai berikut :
1. Do ... Loop Until Kondisi
    Contoh penggunaan :
            Dim x as byte
            x = 0
            Do
                    statement
                    ...
                    x = x  + 1
            Loop until x = 10
2. While Kondisi ..... Wend
    Contoh penggunaan :
           Dim x as byte
           x = 0
           While x < 10
                   statement
                   ...
                   x = x + 1
           Wend
3. For..... Next
    Contoh penggunaan :
           Dim x as byte
           For x = 1 to 10
                  statement
                  ...
          Next x

Konfigurasi Dasar Port
Agar dapat digunakan, Port  yang terdapat pada mikrokontroler harus dikonfigurasi terlebih dahulu. Pada kesempatan ini kita hanya akan mengkonfigurasi Port sebagai I/O (Input atau Output).

Konfigurasi Port Sebagai Output
Dengan mengkonfigurasi Port sebagai output berarti Port tersebut ditugaskan untuk mengeluarkan suatu logika. Untuk mengkonfigurasi Port sebagai output dapat dilakukan dengan 2 cara :
  • Konfigurasi Semua Pin dalam suatu Port secara keseluruhan. Dengan mengggunakan cara ini berarti kita menginginkan semua pin pada Port tertentu dikonfigurasi sebagai output. Adapun cara penulisannya adalah :
Config PORTX= output. Contoh : Config PORTA = output.

  • Konfigurasi Pin tertentu dalam suatu Port. Dengan menggunakan cara ini berarti kita menginginkan salah satu Pin atau beberapa Pin pada Port tertentu dikonfigurasi sebagai output. Adapun cara penulisannya adalah:
Config PORTX.y = output. Contoh : Config PORTA.3 = output.
Pada contoh tersebut dapat dilihat bahwa hanya Pin 3 (Pin ke 4, karena penomoran Pin dimulai dari 0) pada PORTA yang dikonfigurasi sebagai output.

Konfigurasi Port Sebagai Input
Dengan mengkonfigurasi Port sebagai input berarti Port tersebut ditugaskan untuk menangkap perubahan logika dari suatu sumber tertentu (misalnya sensor). Untuk mengkonfigurasi Port sebagai input dapat dilakukan dengan 2 cara :
  • Konfigurasi Semua Pin dalam suatu Port secara keseluruhan. Dengan mengggunakan cara ini berarti kita menginginkan semua pin pada Port tertentu dikonfigurasi sebagai input. Adapun cara penulisannya adalah :
Config PORTX= input. Contoh : Config PORTA = input.

  • Konfigurasi Pin tertentu dalam suatu Port. Dengan menggunakan cara ini berarti kita menginginkan salah satu Pin atau beberapa Pin pada Port tertentu dikonfigurasi sebagai input. Adapun cara penulisannya adalah:
Config PINX.Y = input. Contoh : Config PINA.3 = input.
Pada contoh tersebut dapat dilihat bahwa hanya Pin 3 (Pin ke 4, karena penomoran Pin dimulai dari 0) pada PORTA yang dikonfigurasi sebagai input.

Setting Programmer
            Seiring dengan berkembangnya jaman, saat ini begitu banyak jenis downloader/programmer yang dijual dipasaran. USBASP adalah salah satu downloader/programmer yang umum digunakan oleh user, bagi anda yang masih menggunakan downloader/programmer parallel, BASCOM-AVR juga support karena saya masih hobi menggunakannya tapi karena port parallel pada PC sudah semakin jarang. Sekarang sudah semakin jarang yang menggunakan, dan lebih memilih USBASP karena setiap PC atau laptop pasti ada port USBnya. Berikut cara setting untuk downloader/programmer parallel :
Option => Programmer => pilih STK200/STK300 Programmer => centang AUTOFLASH => OK
Sedangkan untuk USBASP anda harus menginstal terlebih dahulu drivernya “libusb_0.1.12.1” silahkan download search aja di mbah google, bagi yang belum punya. Berikut cara setting untuk downloader/programmer USBASP :
Option => Programmer => pilih USB ASP  => centang AUTOFLASH => OK

Cukup mengenai pengenalan dasar BASCOM-AVR. Mari kita langsung bermain dengan mikrokontrolernya…

Tidak ada komentar:

Posting Komentar