2. Pengertian Mikrokontroler dan BASCOM AVR
Mikrokontroller adalah keseluruhan sistem komputer yang dikemas menjadi
sebuah chip dimana didalamnya sudah terdapat Mikroprosesor, I/O pedukung,
memori bahkan ADC (Analog Digital Converter) yang mempunyai satu atau
beberapa tugas yang spesifik. Berbeda dengan mikroprosesor yang berfungsi
sebagai pemroses data.
BASCOM AVR adalah salah satu tool untuk pengembangan / pembuatan program
untuk kemudian ditanamkan dan dijalankan pada mikrokontroler terutama
mikrokontroler keluarga AVR . 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 seperti monitoring komunikasi serial dan untuk menanamkan program yang
sudah di compile ke mikrokontroler
3. BASCOM AVR menyediakan pilihan yang dapat mensimulasikan program.
Program simulasi ini bertujuan untuk menguji suatu aplikasi yang dibuat dengan
pergerakan LED yang ada pada layar simulasi dan dapat juga langsung dilihat
pada LCD, jika kita membuat aplikasi yang berhubungan dengan LCD. Intruksi
yang dapat digunakan pada editor BASCOM AVR relatif cukup banyak dan
tergantung dari tipe dan jenis AVR yang digunakan. Berikut ini adalah beberapa
perintah intruksi-intruksi dasar yang digunakan pada BASCOM AVR.
4. Alat dan bahan membuat trafic light
LED warna merah, kuning, dan hijau (12 buah)
ATMega16 (1 buah)
Kabel jumper (secukupnya)
Kertas karton (secukupnya)
Resistor 220 ohm (12 buah)
Penggaris (1 buah)
Lem (secukupnya)
Pulpen atau spidol (1 buah)
Cutter (1 buah)
PC/Laptop (1 buah)
Kabel IDC (2 buah)
Kabel port USB (1 buah)
Software BASCOM-AVR dan AvrOspII
5. Langkah kerja membuat trafic light
1. Menyiapkan alat dan bahan yang sudah ada.
2. Membuat program dengan software BASCOM-AVR dan merangkai LED dan
rangkai komponen lain menjadi miniatur traffic light.
3. Memasukkan program pada mikrokontroller ATMega16 dengan software
AvrOspII dan merangkai mikrokontroller ATMega16 menggunakan kabel jumper
pada miniatur traffic light.
4. Menjalankan program.
5. Mendokumentasikan hasil.
7. Berikut penjelasan flowchart diatas :
Mulai
Menetapkan variabel dan urutan lampu merah (M), lampu kuning (K), lampu
Hijau (H).
Menentukan waktu delay M = 4 s, K = 2 s, H = 4 s.
Membaca lampu yang dieksekusi.
Menghitung mundur timer.
Ketika timer sudah sama dengan 0, artinya lampu hijau selesai menyala jika
belum maka tunggu timer sampai sama dengan 0.
Proses berulang kembali ke awal, lamanya timer menghitung mundur ataupun
urutan kerja lampu dari berbagai arah dapat disesuaikan kembali jika
memang dibutuhkan, ataupun bisa dibiarkan jika belum dibutuhkan
penyesuaian.
Selesai.
8. Program membuat trafic light
$regfile = "m161def.dat"
$crystal = 900000
Config Porta = Output
ConfigPortb = Output
Do
Porta = &B00100001
'jalan A
Portb = &B00001001
Wait 15
Porta = &B00100000
Portb = &B00001001
Wait 1
Porta = &B00100001
Portb = &B00001001
Wait 1
Porta = &B00100000
Portb = &B00001001
Wait 1
Porta = &B00100001
Portb = &B00001001
Wait 1
Porta = &B00100000
Portb = &B00001001
Wait 1
Porta = &B00100001
Portb = &B00001001
9. Wait 1
Porta = &B00100000
Portb = &B00001001
Wait 1
Porta = &B00100001
Portb = &B00001001
Wait 1
Porta = &B00100000
Portb = &B00001001
Wait 1
Porta = &B00100001
Portb = &B00001001
Wait 1
Porta = &B00100000
Portb = &B00001001
Wait 1
Porta = &B00100010
Portb = &B00001001
Wait 3
Porta = &B00100100
Portb = &B00001001
Wait 2
Porta = &B00001100
'Jalan B
Portb = &B00001001
Wait 10
Porta = &B00000100
10. Portb = &B00001001
Wait 1
Porta = &B00001100
Portb = &B00001001
Wait 1
Porta = &B00000100
Portb = &B00001001
Wait 1
Porta = &B00001100
Portb = &B00001001
Wait 1
Porta = &B00000100
Portb = &B00001001
Wait 1
Porta = &B00001100
Portb = &B00001001
Wait 1
Porta = &B00000100
Portb = &B00001001
Wait 1
Porta = &B00001100
Portb = &B00001001
Wait 1
Porta = &B00000100
Portb = &B00001001
Wait 1
Porta = &B00001100
Portb = &B00001001
Wait 1
Porta = &B00000100
11. Portb = &B00001001
Wait 1
Porta = &B00010100
Portb = &B00001001
Wait 3
Porta = &B00100100
Portb = &B00001001
Wait 2
Porta = &B01100100
'Jalan C
Portb = &B00001000
Wait 15
Porta = &B00100100
Portb = &B00001000
Wait 1
Porta = &B01100100
Portb = &B00001000
Wait 1
Porta = &B00100100
Portb = &B00001000
Wait 1
Porta = &B01100100
Portb = &B00001000
Wait 1
Porta = &B00100100
Portb = &B00001000
Wait 1
12. Porta = &B01100100
Portb = &B00001000
Wait 1
Porta = &B00100100
Portb = &B00001000
Wait 1
Porta = &B01100100
Portb = &B00001000
Wait 1
Porta = &B00100100
Portb = &B00001000
Wait 1
Porta = &B01100100
Portb = &B00001000
Wait 1
Porta = &B00100100
Portb = &B00001000
Wait 1
Porta = &B10100100
Portb = &B00001000
Wait 3
Porta = &B00100100
Portb = &B00001001
Wait 2
Porta = &B00100100
'jalan D
Portb = &B00000011
13. Wait 10
Porta = &B00100100
Portb = &B00000001
Wait 1
Porta = &B00100100
Portb = &B00000011
Wait 1
Porta = &B00100100
Portb = &B00000001
Wait 1
Porta = &B00100100
Portb = &B00000011
Wait 1
Porta = &B00100100
Portb = &B00000001
Wait 1
Porta = &B00100100
Portb = &B00000011
Wait 1
Porta = &B00100100
Portb = &B00000001
Wait 1
Porta = &B00100100
Portb = &B00000011
Wait 1
Porta = &B00100100
Portb = &B00000001
Wait 1
Porta = &B00100100
Portb = &B00000011
14. Wait 1
Porta = &B00100100
Portb = &B00000001
Wait 1
Porta = &B00100100
Portb = &B00000101
Wait 3
Porta = &B00100100
Portb = &B00001001
Wait 2
Loop
End