49
LAPORAN PRAKTIKUM ANTARMUKA DAN PERIPHERAL Oleh : Rahmi Khoirani 09011281520104 Rofby Hidayadi 09011281020132 Dosen Pengampuh : Sarmayanta Sembiring, S.Si., M.T.

edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

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

Page 2: edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

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

Page 3: edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

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

Page 4: edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

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

Page 5: edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

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

Page 6: edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

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

Page 7: edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

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

Page 8: edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

$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

Page 9: edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

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

Page 10: edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

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

Page 11: edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

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

Page 12: edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

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

Page 13: edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

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

Page 14: edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

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

Page 15: edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

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

Page 16: edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

$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

Page 17: edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

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

Page 18: edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

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

Page 19: edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

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

Page 20: edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

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

Page 21: edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

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

Page 22: edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

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

Page 23: edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

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

Page 24: edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

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

Page 25: edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

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

Page 26: edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

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

Page 27: edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

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

Page 28: edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

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

Page 29: edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

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

Page 30: edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

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

Page 31: edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

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

Page 32: edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

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

Page 33: edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

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

Page 34: edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

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

Page 35: edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

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

Page 36: edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

Gambar 27. Output program Tugas

Gambar 28. Output program Tugas

Gambar 29. Output program Tugas

Gambar 30. Output program Tugas

35

Page 37: edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

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

Page 38: edocs.ilkom.unsri.ac.idedocs.ilkom.unsri.ac.id/2047/1/Laporan 1.docx  · Web viewjuga memiliki kemampuan atau fitur lain yang berguna sekali seperti monitoring komunikasi serial

[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