Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
LAPORAN PRAKTIKUMANTARMUKA DAN PERIPHERAL
Oleh :
Rahmi Khoirani 09011281520104
Rofby Hidayadi 09011281020132
Dosen Pengampuh : Sarmayanta Sembiring, S.Si., M.T.
JURUSAN SISTEM KOMPUTERFAKULTAS ILMU KOMPUTER
UNIVERSITAS SRIWIJAYA2018
I. Nomor Percobaan
Percobaan Pertama
II. Nama Percobaan
Pengenalan BASCOM AVR
III. Dasar Teori
A. Pengenalan Software Proteus
Proteus adalah sebuah software untuk mendesain PCB yang juga
dilengkapi dengan simulasi pspice pada level skematik sebelum rangkaian
diupgrade ke PCB, sehingga sebelum PCB dicetak kita akan mengetahui
apakah PCB yang akan kita cetak sudah benar atau belum [1]. Proteus
mengkombinasikan program ISIS (Intelligent Schematic Input System) untuk
membuat desain rangkaian dan program ARES (Advanced Routing and
Editing System) untuk membuat layout PCB dari skematik yang kita buat.
Software ini bagus untuk digunakan dalam desain rangkaian mikrokontroller.
Proteus juga bagus untuk proses belajar mengenai elektronikasi dasar sampai
pada aplikasi mikrokontroller. Adapun fitur-fitur dari Proteus adalah sebagai
berikut [1]:
1. Memiliki kemampuan untuk mensimulasikan hasil rancangan bai digital
ataupun analog maupun gabungan dari keduanya.
2. Mendukung simulasi berbagai jenus mikrokontroller seperti PIC, 8051
series dan lain-lain.
3. Memiliki model-model peripheral yang interaktif seperti LED, tampilan
LCD, RS232, dan berbagai jenis library lainnya.
4. Mendukung instrumen-instrumen virtual seperti voltmeter, ammeter,
occiloscope, logic analyser, dan lain-lain.
5. Memiliki kemampuan menampilkan berbagai jenis analisis secara grafis
seperti transient, frekuensi, noise, distorsi, AC dan DC, dan lain-lain.
6. Mendukung berbagai jenis komponen-komponen analog.
7. Mendukung open architecture sehingga kita bisa memasukan program
seperti C++ untuk keperluan simulasi.
1
8. Mendukung pembuatan PCB yang diupdate secara langsung dari program
ISIS ke program pembuat PCB yaitu ARES.
ISIS dipergunakan untuk keperluan pendidikan dan perancangan. Beberapa
fitur umum dari ISIS adalah sebagai berikut [1]:
1. Windows dapat dioperasikan pada Windows 98/Me/2k/XP dan Windows
terbaru.
2. Routing secara otomatis dan memiliki fasilitas penempatan dan
penghapusan dot.
3. Sangat powerful untuk pemilihan komponen dan pemberian properties-
nya.
4. Mendukung untuk perancangan berbagai jenis bus dan komponen-
komponen pin, port modul dan jalur.
5. Memiliki fasilitas report terhadap kesalahan-kesalahan perancangan dan
simulasi elektrik.
6. Mendukung fasilitas interkoneksi dengan program pembuat PCB-ARES.
7. Memiliki fasilitas untuk menambahkan package dari komponen yang
belum didukung.
ARES digunakan untuk membuat modul layout PCB. Adapun fitur-fitur dari
ARES adalah sebagai berikut [1]:
1. Memiliki database dengan tingkat keakuratan 32-bit dan memberikan
resolusi sampai 10 nm, resolusi angular 0,1 derajat dan ukuran maksimim
board sampai kurang lebih 10 m. ARES mendukung sampai 16 layer.
2. Terintegrasi dengan program pembuat skematik ISIS, dengan kemampuan
untuk menentukan informasi routing pada skematik.
3. Visualisasi board 3-Dimensi.
4. Penggambaran 2-Dimensi dengan simbol library.
2
Gambar 1. Tampilan program Proteus 8 Professional [2]
Keterangan [2]:
1. Title Bar Title
Berisi informasi mengenai nama file yang sedang aktif dan juga
menunjukkan apakah animasi simulasi sedang berjalan atau tidak.
2. Menu Bar
Menu utama dari ISIS, karena pada menu bar terdapat perintah dari
hampir seluruh fungsi yang ada pada ISIS Proteus. Dalam menu bar
terdapat beberapa menu utama yaitu File, View, Edit, Tools Design,
Graph, Source, Debug, Library, Template, System dan Help.
3. Toolbars
Fasilitas untuk mengakses dengan cepat perintah tertentu melalui ikon-
ikon yang terdapat pada toolbar. Toolbar yang disedakan ISIS ada tiga
jenis yaitu Command Toolbar, Mode Selector Toolbar dan Orientation
Toolbar.
4. Command Toolbar
Pada bagian atas screen layout dan merupakan akses alternatif dari menu
bar. Pada command toolbar terdapat 4 sub toolbar lagi yaitu File, View,
Edit dan Design.
5. Mode Selector Toolbar
3
Ada 3 jenis mode selector toolbar yang disediakan oleh ISIS yaitu Main
Modes, Gadget, 2D Graphics. Mode toolbar tidak dapat disembunyikan
dan fungsifungsinya tidak terdapat pada menu bar.
6. Orientation Toolbar
Berfungsi untuk menampilkan dan mengontrol arah rotasi dan refleksi
objek yang diletakkan pada lembar kerja. Komponen yang akan diubah
arahnya harus diseleksi atau ditandai terlebih dahulu sebelum diubah
arahnya. Komponen yang telah dipilih tersebut akan berubah warnanya,
biasanya berwarna merah. Proses penyeleksian komponen dikenal dengan
istilah Tag.
7. Window Editing
Menampilkan lembar kerja yang menjadi tempat untuk mengambar,
mengedit dan menyimulasikan skematik rangkaian. Window editing bias
di-redraw (refresh) dengan menggunakan perintah Redraw yang berada
pda menu View.
8. Window Overview
Biasanya berfungsi untuk merepresentasikan objek atau komponen yang
terdapat pada window editing.
9. Object Selector
Digunakan untuk menyimpan berbagai jenis komponen, terminal,
generator, graph dan objek yang lainnya sebelum diletakkan pada window
editing.
10. Kontrol Panel Animasi
Untuk menjalankan dan menghentikan simulasi rangkaian.
B. Pengenalan Software BASCOM AVR
BASCOM AVR sendiri adalah salah satu tool untuk pengembangan atau
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 atau bahasa mesin, BASCOM AVR
4
juga memiliki kemampuan atau 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 [3]. Intruksi yang dapat digunakan pada editor BASCOM AVR
relatif cukup banyak dan tergantung dari tipe dan jenis AVR yang digunakan.
Gambar 2. Tampilan program BASCOM AVR [2]
Adapun intruksi dasar dari BASCOM AVR adalah sebagai berikut [3]:
Tabel 1. Intruksi dasar BASCOM AVR [3]
5
Intruksi Keterangan
DO....LOOP Perulangan
GOSUB Memaggil prosedur
IF....THEN Percabangan
FOR.....NEXT Perulangan
WAIT Waktu tanda detik
WAITMS Waktu tanda mili detik
WAITUS Waktu tanda micro detik
GOTO Loncat ke alamat memori
SELECT....CAS
EPercabangan
Berikut adalah penjelasan mengenai BASCOM AVR lebih lanjut [3]:
1. 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
2. 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 :
6
$crystal = 12000000 ‘menggunakan crystal clock 12 MHz
$baud = 9600 ‘komunikasi serial dengan baudrate 9600
$eeprom ’menggunakan fasilitas eeprom
3. Tipe Data
Tipe data merupakan bagian program yang paling penting karena sangat
berpengaruh pada program. Pemilihan tipe data yang tepat maka operasi
data menjadi lebih efisien dan efektif.
Tabel 2. Tipe data pada BASCOM AVR
Tipe data Ukuran (byte) Range
Bit 1/8 -
Byte 1 0 – 225
Integer 2 -32.768 – 32.768
Word 2 0 – 65.535
Long 4 -2.147.483.648 – 2.147.483.648
Single 4 -
String -254 -
4. Konstanta
Konstanta merupakan suatu nilai dengan tipe data tertentu yang tidak
dapat diubah-ubah selama proses program berlangsung. Konstanta harus
didefinisikan terlebih dahulu diawal program.
Contoh :
Kp = 35, Ki=15, Kd=40
5. Variabel
Variabel adalah suatu pengenal (identifier) yang digunakan untuk
mewakili suatu nilai tertentu di dalam proses program yang dapat diubah-
ubah sesuai dengan kebutuhan. Nama dari variable terserah sesuai dengan
yang diinginkan namun hal yang terpenting adalah setiap variabel
diharuskan :
7
a. Terdiri dari gabungan huruf dan angka dengan karakter pertama harus
berupa huruf, max 32 karakter.
b. Tidak boleh mengandung spasi atau symbol-simbol khusus seperti : $,
?, %, #, !, &, *, (, ), -, +, = dan lain sebagainya kecuali underscore.
6. Deklarasi
Deklarasi sangat diperlukan bila akan menggunakan pengenal (identifier)
dalam suatu program.
7. Deklarasi Variabel
Bentuk umum pendeklarasian suatu variable adalah Dim nama_variabel
AS tipe_data.
Contoh :
Dim x As Integer ‘deklarasi x bertipe integer
8. Deklarasi Konstanta
Dalam Bahasa Basic konstanta di deklarasikan langsung.
Contoh :
S = “Hello world” ‘Assign string
9. Deklarasi Fungsi
Fungsi merupakan bagian yang terpisah dari program dan dapat dipanggil
di manapun di dalam program. Fungsi dalam Bahasa Basic ada yang
sudah disediakan sebagai fungsi pustaka seperti print, input data dan
untuk menggunakannya tidak perlu dideklarasikan.
10. Deklarasi Buatan
Fungsi yang perlu dideklarasikan terlebih dahulu adalah fungsi yang
dibuat oleh programmer. Bentuk umum deklarasi sebuah fungsi adalah
Sub Test ( byval variabel As type).
Contoh :
Sub Pwm(byval Kiri As Integer , Byval Kanan As Integer)
8
11. Operator
Berikut adalah berbagai operator dalam BASIC AVR :
1. Operator Penugasan
Operator Penugasan (Assignment operator) dalam Bahasa Basic
berupa “=”.
2. Operator Aritmatika
* : untuk perkalian
/ : untuk pembagian
+ : untuk pertambahan
- : untuk pengurangan
% : untuk sisa pembagian (modulus)
3. Operator Hubungan (Perbandingan)
Operator hubungan digunakan untuk membandingkan hubungan dua
buah operand atau sebuah nilai / variable, misalnya :
= ’Equality X = Y
< ’Less than X < Y
> ’Greater than X > Y
<= ’Less than or equal to X <= Y
>= ’Greater than or equal to X >= Y
4. Operator Logika
Operator logika digunakan untuk membandingkan logika hasil dari
operator-operator hubungan. Operator logika ada empat macam,
yaitu :
NOT ‘Logical complement
AND ‘Conjunction
OR ‘Disjunction
XOR ‘Exclusive or
Operator Bitwise
“Operator bitwise digunakan untuk memanipulasi bit dari data yang
ada di memori.”
Operator bitwise dalam Bahasa Basic :
Shift A, Left, 2 : Pergeseran bit ke kiri
9
Shift A, Right, 2 : Pergeseran bit ke kanan
Rotate A, Left, 2 : Putar bit ke kiri
Rotate A, right, 2 : Putar bit ke kanan
12. Pernyataan Kondisional (IF-THEN – END IF)
Pernyataan ini digunakan untuk melakukan pengambilan keputusan
terhadap dua buah bahkan lebih kemungkinan untuk melakukan suatu
blok pernyataan atau tidak. Konstruksi penulisan pernyatan IF-THEN-
ELSE-END IF pada bahasa basic adalah sebagai berikut:
IF pernyataan kondisi 1 THEN
‘blok pernyataan 1 yang dikerjakan bila kondisi 1 terpenuhi
IF pernyataan kondisi 2 THEN
‘blok pernyataan 2 yang dikerjakan bila kondisi 2 terpenuhi
IF pernyataan kondisi 3 THEN
‘blok pernyataan 3 yang dikerjakan bila kondisi 3 terpenuhi
Setiap penggunaan pernyataan IF-THEN harus diakhiri dengan perintah
END IF sebagai akhir dari pernyatan kondisional.
Gambar 3. Flowchart pernyataan kondisional (IF-THEN – END IF)
13. Pernyataan Kondisional (SELECT-CASE – END SELECT)
10
Pernyataan ini digunakan untuk melakukan pengambilan keputusan
terhadap banyak kondisi. Konstruksi penulisan pernyatan SELECT-
CASE-END SELECT pada bahasa BASIC ialah sebagai berikut :
SELECT CASE var
CASE ‘kondisi1 : ‘blok perintah1
CASE ‘kondisi2 : ‘blok perintah2
CASE ‘kondisi3 : ‘blok perintah3
CASE ‘kondisi4 : ‘blok perintah4
CASE ‘kondisi5 : ‘blok perintah5
CASE ‘kondisi’n’ : ‘blok perintah’n’
END SELECT ‘akhir dari pernyatan SELECT CASE
Gambar 4. Flowchart pernyataan kondisional (SELECT-CASE – END
SELECT)
IV. Prosedur Percobaan
Langkah 1. Membuka Proteus lalu buatlah rangkaian dengan komponen
ATMEGA 8535, Button, LED-Yellow, dan Resistor sebagai berikut :
11
Gambar 5. Rangkaian simulasi pada Proteus
Langkah 2. Membuka BASCOM AVR lalu membuat program LED_01
sebagai berikut :
$regfile "m8535.dat"
$crystal = 8000000
Config Portc = Output
Portc = 129
End
Langkah 3. Membuka proteus yang telah ada rangkaian seperti Langkah 1,
lalu klik dua kali pada gambar mikrokontroller seperti gambar dibawah ini :
Gambar 6. Mikrokontroller ATMEGA 8535
12
Langkah 4. Lalu isikan program file dengan program yang telah dibuat
dengan ekstension Hex. Lalu isikan clock frequency dengan 8000000 seperti
gambar dibawah ini :
Gambar 7. Input clock frequency
Langkah 5. Lalu jalankan simulasi program dengan klik tombol run the
simulation sehingga tampilan sebagai berikut :
Gambar 8. Simulasi Program
13
Langkah 6. Buatlah program LED_02 sebagai berikut :
$regfile = "8535def.dat"
$crystal = 8000000
Config Portc = Output
Dim I As Byte
Portc = 0
Do
Incr I
Portc = I
Waitms 200
Loop Until I = 255
End
Langkah 7. Buatlah program LED_03 sebagai berikut :
$regfile = "8535def.dat"
$crystal = 8000000
Config Portc = Output
Dim I As Byte
Dim Y As Byte
For I = 0 To 7 Step 1
Y = 2 ^ I
Portc = Y
Waitms 200
Next
End
Langkah 8. Buatlah program LED_04 sebagai berikut :
14
$regfile = "8535def.dat"
$crystal = 8000000
Config Portc = Output
Dim I As Byte
Dim Y As Byte
For I = 7 To 0 Step -1
Y = 2 ^ I
Portc = Y
Waitms 200
Next
End
Langkah 9. Buatlah program LED_05 sebagai berikut :
$regfile = "8535def.dat"
$crystal = 8000000
Config Portc = Output
Led Alias Portc
Dim I As Byte
I = &B11111110
Do
Rotate I , Left , 1
Led = I
Waitms 200
Loop
End
Langkah 10. Buatlah program LED_06 sebagai berikut :
$regfile = "8535def.dat"
$crystal = 8000000
15
Config Portc = Output
Led Alias Portc
Dim I As Byte
I = &B01111111
Do
Rotate I , Right , 1
Led = I
Waitms 200
Loop
End
Langkah 11. Buatlah program switch sebagai berikut :
$regfile = "8535def.dat"
$crystal = 8000000
Config Portc = Output
Config Pinb.0 = Input
Config Pinb.1 = Input
Led Alias Portc
Sw1 Alias Pinb.0
Sw2 Alias Pinb.1
Dim I As Byte
Dim Y As Byte
I = 0
Do
If Sw1 = 1 Then
If I < 7 Then Incr I
Y = 2 ^ I
End If
While Sw1 = 1
Wend
16
If Sw2 = 1 Then
If I > 0 Then
Decr I
Y = 2 ^ I
End If
While Sw2 = 1
Wend
End If
Led = Y
Loop
End
Langkah 12. Buatlah rangkaian ADC dengan menambahkan komponen
pembagi tegangan POT-HG sebagai berikut :
Gambar 9. Rangkaian program ADC
Langkah 13. Buatlah program ADC sebagai berikut :
$regfile = "8535def.dat"
$crystal = 8000000
Config Adc = Single , Prescaler = Auto
Config Portc = Output
Led Alias Portc
Dim Digital As Integer
17
Dim Konversi As Single
Do
Digital = Getadc(0)
Konversi = Digital / 4.011764706
Digital = Int(konversi)
Led = Digital
Waitms 200
Loop
Langkah 14. Buatlah rangkaian seven segmen sebagai berikut :
Gambar 10. Rangkaian program seven segmen 01
Langkah 15. Buatlah program Seven_Segmen01 sebagai berikut :
$regfile = "8535def.dat"
$crystal = 8000000
$baud = 9600
Dim Variabel_a As Byte
Dim Variabel_b As Byte
Dim Masukkan As String * 4
Dim Panjang As Integer
Dim Tampung As String * 1
18
Config Portb = Output
Config Portc = Output
Satuan Alias Portb
Puluhan Alias Portc
Declare Sub Decoder()
Do
Input "masukkan 2 digit angka yang akan ditampikan = " , Masukkan
Panjang = Len(masukkan)
If Panjang < 2 Then
Puluhan = &B00000001
Tampung = Right(masukkan , 1) 'satuan
Variabel_a = Val(tampung)
Call Decoder()
Satuan = Variabel_b
Else
Tampung = Left(masukkan , 1) 'puluhan
Variabel_a = Val(tampung)
Call Decoder()
Puluhan = Variabel_b
Tampung = Right(masukkan , 1) 'satuan
Variabel_a = Val(tampung)
Call Decoder()
Satuan = Variabel_b
End If
Loop
Sub Decoder()
19
Select Case Variabel_a
Case 0 : Variabel_b = &B01000000
Case 1 : Variabel_b = &B01111001
Case 2 : Variabel_b = &B00100100
Case 3 : Variabel_b = &B00110000
Case 4 : Variabel_b = &B00011001
Case 5 : Variabel_b = &B00010010
Case 6 : Variabel_b = &B00000011
Case 7 : Variabel_b = &B01111000
Case 8 : Variabel_b = &B00000000
Case 9 : Variabel_b = &B00011000
End Select
End Sub
Langkah 16. Buatlah rangkaian seven segmen sebagai berikut :
Gambar 11. Rangkaian program seven segmen 02
Langkah 17. Buatlah program Seven_Segmen02 sebagai berikut :
$regfile = "8535def.dat"
$crystal = 8000000
20
Dim Variabel_a As Integer
Dim Hitung As Single
Dim Variabel_b As Byte
Dim Masukkan As String * 2
Dim Panjang As Integer
Dim Tampung As String * 1
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Config Portb = Output
Config Portc = Output
Satuan Alias Portb
Puluhan Alias Portc
Declare Sub Decoder()
Do
Variabel_a = Getadc(1)
Hitung = 0.488758553 * Variabel_a
Variabel_a = Int(hitung)
Masukkan = Str(variabel_a)
Panjang = Len(masukkan)
If Panjang < 2 Then
Puluhan = &B01000000
Tampung = Right(masukkan , 1) 'satuan
Variabel_a = Val(tampung)
Call Decoder()
Satuan = Variabel_b
Else
Tampung = Left(masukkan , 1) 'puluhan
21
Variabel_a = Val(tampung)
Call Decoder()
Puluhan = Variabel_b
Tampung = Right(masukkan , 1) 'satuan
Variabel_a = Val(tampung)
Call Decoder()
Satuan = Variabel_b
End If
Waitms 200
Loop
Sub Decoder()
Select Case Variabel_a
Case 0 : Variabel_b = &B01000000
Case 1 : Variabel_b = &B01111001
Case 2 : Variabel_b = &B00100100
Case 3 : Variabel_b = &B00110000
Case 4 : Variabel_b = &B00011001
Case 5 : Variabel_b = &B00010010
Case 6 : Variabel_b = &B00000011
Case 7 : Variabel_b = &B01111000
Case 8 : Variabel_b = &B00000000
Case 9 : Variabel_b = &B00011000
End Select
End Sub
Langkah 18. Buatlah rangkaian Latihan 01 sebagai berikut :
22
Gambar 12. Rangkaian program Latihan 01
Langkah 19. Buatlah program Latihan_01 sebagai berikut :
$regfile "m8535.dat"
$crystal = 8000000
Config Portc = Output
Config Pinb.0 = Input
Config Pinb.1 = Input
Led Alias Portc
Tombol_1 Alias Pinb.0
Tombol_2 Alias Pinb.1
Dim Tampung As Byte
Declare Sub Naik()
Declare Sub Turun()
Do
If Tombol_1 = 1 Then
Do
nop
nop
Loop Until Tombol_1 = 0
Call Naik()
Led = Tampung
23
End If
If Tombol_2 = 1 Then
Do
nop
nop
Loop Until Tombol_2 = 0
Call Turun()
Led = Tampung
End If
Loop
Sub Naik()
If Tampung < 255 Then
Incr Tampung
Else
Tampung = 0
End If
End Sub
Sub Turun()
If Tampung = 0 Then
Tampung = 255
Else
Decr Tampung
End If
End Sub
V. Hasil dan Pembahasan
A. Program LED_01
24
Berikut adalah hasil dari program LED_01 yang telah diinputkan ke
mikrokontroller ATMEGA 8535 pada rangkaian Proteus :
Gambar 13. Program LED_01
Sesuai dengan program LED_01 pada BASCOM AVR yang
menginginkan ouput pada PORT C sebesar 129 biner. Dari gambar
tersebut dapat diketahui bahwa ouput yang dihasilkan adalah sebesar 129
biner, karena delapan LED pada gambar tersebut diinisialisasikan sebagai
8 bit bilangan biner.
B. Program LED_02
Berikut adalah hasil dari program LED_02 yang telah diinputkan ke
mikrokontroller ATMEGA 8535 pada rangkaian Proteus :
Gambar 14. Progam LED_02
Sesuai dengan program LED_02 pada BASCOM AVR yang
menginginkan output pada PORTC berupa 0 – 255 biner. Dari gambar
tersebut yang merupakan sample dari output program LED_02 dapat
25
diketahui bahwa output yang dihasilkan adalah 21 biner, nilai biner
tersebut bermula dari 0 biner dan terus meningkat sebesar 1 biner hingga
255 biner. Pada gambar tersebut, delapan LED diinisialisasikan sebagai 8
bit bilangan biner.
C. Program LED_03
Berikut adalah hasil dari program LED_03 yang telah diinputkan ke
mikrokontroller ATMEGA 8535 pada rangkaian Proteus :
Gambar 15. Progam LED_03
Sesuai dengan program LED_03 pada BASCOM AVR yang
menginginkan output pada PORT C berupa 2n biner dengan nilai n adalah
0 – 7. Dari gambar tersebut yang merupakan sample dari output program
LED_03 dapat diketahui bahwa output yang dihasilkan adalah 27 atau 128
biner, nilai tersebut bermula dari 20 atau 1 biner dan terus meningkat
sebesar n dengan delay 200 ms serta peningkatan nilai n dari 0 – 7 sebesar
1. Jadi, output yang akan dihasilkan nanti adalah 20 – 27. Pada gambar
tersebut, delapan LED diinisialiasikan sebagai 8 bit bilangan biner.
D. Program LED_04
Berikut adalah hasil dari program LED_04 yang telah diinputkan ke
mikrokontroller ATMEGA 8535 pada rangkaian Proteus :
26
Gambar 16. Progam LED_04
Sesuai dengan program LED_04 pada BASCOM AVR yang
menginginkan output pada PORT C berupa 2n biner dengan nilai n adalah
7 – 0. Dari gambar tersebut yang merupakan sample dari output program
LED_04 dapat diketahui bahwa output yang dihasilkan adalah 20 atau 1
biner, nilai tersebut bermula dari 27 atau 128 biner dan terus menurun
sebesar n dengan delay 200 ms serta penurunan nilai n dari 0 – 7 sebesar -
1. Jadi, output yang akan dihasilkan nanti adalah 27 – 20. Pada gambar
tersebut, delapan LED diinisialiasikan sebagai 8 bit bilangan biner.
E. Program LED_05
Berikut adalah hasil dari program LED_05 yang telah diinputkan ke
mikrokontroller ATMEGA 8535 pada rangkaian Proteus :
Gambar 17. Progam LED_05
Sesuai dengan program LED_05 pada BASCOM AVR yang
menginginkan output pada PORT C berupa bilangan biner 11111110
dengan nilai 0 pada bilangan biner tersebut akan bergeser ke kiri. Pada
27
gambar tersebut yang merupakan sample dari output program LED_05
dapat diketahui bahwa output yang dihasilkan adalah 11111110 dan nilai
0 akan bergeser ke kiri. Artinya output yang akan dihasilkan oleh program
ini adalah 11111110, 11111101, 11111011, dan seterusnya. Pada gambar
tersebut LED diinisialisasikan sebagai nilai 0 atau 1 pada bilangan biner.
LED menyala = 1 dan LED mati = 0.
F. Program LED_06
Berikut adalah hasil dari program LED_06 yang telah diinputkan ke
mikrokontroller ATMEGA 8535 pada rangkaian Proteus :
Gambar 18. Program LED_06
Sesuai dengan program LED_06 pada BASCOM AVR yang
menginginkan output pada PORT C berupa bilangan biner 01111111
dengan nilai 0 pada bilangan biner tersebut akan bergeser ke kanan. Pada
gambar tersebut yang merupakan sample dari output program LED_06
dapat diketahui bahwa output yang dihasilkan adalah 01111111 dan nilai
0 akan bergeser ke kanan. Artinya output yang akan dihasilkan oleh
program ini adalah 01111111, 10111111, 11011111, dan seterusnya. Pada
gambar tersebut LED diinisialisasikan sebagai nilai 0 atau 1 pada
bilangan biner. LED menyala = 1 dan LED mati = 0.
G. Program Switch
Berikut adalah hasil dari program switch yang telah diinputkan ke
mikrokontroller ATMEGA 8535 pada rangkaian Proteus :
28
Gambar 19. Program Switch
Pada gambar tersebut yang merupakan salah satu sample output dari
program Switch pada BASCOM AVR dapat diketahui bahwa jika switch
1 ditekan maka output yang akan dihasilkan adalah perpindahan
(peningkatan) LED yang aktif ke kiri kemudian apabila switch 2 ditekan
maka output yang akan dihasilkan adalah perpindahan (penurunan) LED
yang aktif ke kanan.
H. Program ADC
Berikut adalah hasil dari program ADC yang telah diinputkan ke
mikrokontroller ATMEGA 8535 pada rangkaian Proteus :
Gambar 20. Program ADC
Pada gambar tersebut yang merupakan salah satu sample output dari
program ADC pada BASCOM AVR dapat diketahui bahwa ketika resistor
variabel menunjukkan nilai 100% maka semua lampu LED akan menyala
29
dan sebaliknya jika resistor variabel menunjukkan nilai 0% maka semua
lampu LED akan mati.
I. Program Seven_Segmen01
Berikut adalah hasil dari program Seven_Segmen01 yang telah diinputkan
ke mikrokontroller ATMEGA 8535 pada rangkaian Proteus :
Gambar 21. Program Seven_Segmen01
Pada gambar tersebut yang merupakan salah satu sample output dari
program Seven_Segmen01 pada BASCOM AVR dapat diketahui bahwa
nilai yang muncul pada seven segmen adalah nilai yang sama dengan nilai
yang di ketik pada Virtual Terminal.
J. Program Seven_Segmen02
Berikut adalah hasil dari program Seven_Segmen02 yang telah diinputkan
ke mikrokontroller ATMEGA 8535 pada rangkaian Proteus :
30
Gambar 22. Program Seven_Segmen02
Pada gambar tersebut yang merupakan salah satu sample output dari
program Seven_Segmen02 pada BASCOM AVR dapat diketahui bahwa
nilai yang muncul pada seven segmen adalah nilai yang sama dengan
LM35 dimana itu berarti nilai Vout pada LM35 mempengaruhi nilai
output pada seven segmen.
K. Program Latihan_01
Berikut adalah hasil dari program Latihan_01 yang telah diinputkan ke
mikrokontroller ATMEGA 8535 pada rangkaian Proteus :
Gambar 23. Program Latihan_01
31
Pada gambar tersebut yang merupakan salah satu sample output dari
program Latihan_01 pada BASCOM AVR dapat diketahui bahwa jika
Tombol_1 ditekan maka program akan melakukan penjumlahan biner
pada lampu LED dari 1 sampai dengan 255 secara manual dan jika
Tombol_02 ditekan maka program akan melakukan pengurangan biner
pada lampu LED dari 255 sampai dengan 1 secara manual.
VI. Kesimpulan
Adapun kesimpulan dari percobaan kali ini adalah sebagai berikut :
1. BASCOM AVR merupakan salah satu tool untuk pengembangan atau
pembuatan program untuk kemudian ditanamkan dan dijalankan pada
mikrokontroller.
2. Perintah Do-Loop pada BASCOM AVR merupakan perintah untuk
perulangan yang digunakan untuk melakukan perulangan program selama
kondisi yang diinginkan masih bernilai benar, dan akan berhenti jika
kondisi salah.
3. Perintah If-Then-Else untuk memberikan suatu kondisi tertentu sebagai
patokan untuk mengeksekusi data, jika bernilai benar maka perintah Then
dieksekusi namun jika salah maka yang akan dijalankan adalah perintah
pada bagjan Else.
4. Perintah For-Next pada BASCOM AVR merupakan perintah untuk
perulangan yang digunakan untuk melakukan perulangan program sesuai
dengan jumlah dan tingkat perulangannya, jadi jika diinginkan perulangan
program sebanyak 10 kali, maka akan dilakukan perulangan sebanyak 10
kali dan akan berhenti ketika telah mencapai perulangan yang ke 10
selesai.
5. Perintah While-Wend merupakan perintah untuk perulangan yang akan
melakukan perulangan apabila keadaan yang diminta telah terpenuhi.
VII.Tugas
Buatlah program menghidupkan LED bergeser ke kanan sebanyak 10 kali ,
lalu bergeser ke kiri sebanyak 10 kali, lalu kembali ke kanan dan seterusnya!
32
Jawab :
Berikut adalah rangkaian program tersebut :
Gambar 24. Rangkaian proteus program Tugas
Berikut adalah kode program yang digunakan pada BASCOM AVR :
$regfile = "8535def.dat"
$crystal = 8000000
Config Portc = Output
Led Alias Portc
Dim I As Byte
Dim J As Byte
Dim K As Byte
J = 0
K = 0
Do
Do
Led = &B01111111
For I = 0 To 7
Rotate Led , Right , 1
Waitms 200
Next
J = J + 1
Loop Until J = 10
Do
33
Led = &B11111110
For I = 0 To 7
Rotate Led , Left , 1
Waitms 200
Next
K = K + 1
Loop Until K = 10
Loop
End
Berikut adalah outputnya :
Gambar 25. Output program Tugas
Gambar 26. Output program Tugas
34
Gambar 27. Output program Tugas
Gambar 28. Output program Tugas
Gambar 29. Output program Tugas
Gambar 30. Output program Tugas
35
Gambar 31. Output program Tugas
Gambar 32. Output program Tugas
Dari beberapa gambar output tersebut dapat diketahui bahwa output yang
dihasilkan adalah 01111111 dan nilai 0 akan bergeser ke kanan sebanyak 10
kali kemudian setelah 10 kali bergeser ke kanan nilai 0 akan bergeser ke kiri
sebanyak 10 kali lalu setelah 10 kali bergeser kekiri maka akan kembali ke
kondisi awal dan seterusnya. Artinya output yang akan dihasilkan oleh
program ini adalah 01111111, 10111111, dan seterusnya hingga 1111110,
pergeseran tersebut akan terus berulang hingga 10 kali. Kemudian setelah 10
kali bergeser kekanan, maka nilai 0 akan bergeser ke kiri dimulai dari
11111110, 11111101, dan seterusnya hingga 0111111, pergeseran tersebut
aka terus berulang hingga 10 kali. Setelah bergeser kekiri 10 kali makan akan
kembali kekondisi awal dan seterusnya. Pada gambar tersebut LED
diinisialisasikan sebagai nilai 0 atau 1 pada bilangan biner. LED menyala = 1
dan LED mati = 0.
VIII. Daftar Pustaka
[1] Anonim, “Pengenalan Proteus Software Simulasi Desain PCB.” 2010.
36
[2] S. Sembiring, “Modul Praktikum Antarmuka dan Peripheral.” Fasilkom,
Universitas Sriwijaya, pp. 1–33, 2017.
[3] Anonim, “Mengenal bahasa BASIC pada BASCOM AVR.” 2015.
37