Anda di halaman 1dari 19

LAPORAN PRAKTIKUM

ANTARMUKA MIKRONTROLER DENGAN TOGGLE SWITCH


Disusun untuk Memenuhi Matakuliah Workshop Mikroprosesor
Yang Dibimbing oleh
Bu Dyah Lestari,S.T.M.Eng.

Disusun Oleh:
RIZKI NUR ARIFIN (150531507817)
UNIVERSITAS NEGERI MALANG
FAKULTAS TEKNIK
JURUSAN TEKNIK ELEKTRO
PRODI D3 TEKNIK ELEKTRO
SEPTEMBER 2016

MODUL II
ANTARMUKA MIKROKONTROLER DENGAN TOGGLE SWITCH
TUJUAN

Mengetahui dan memahami cara mengantarmukakan mikrokontroler


dengan rangkaian input saklar toggle.
Mengetahui dan memahami bagaimana memrogram mikrokontroler
untuk membaca data input dari saklar toggle.

SAKLAR TOGGLE
Saklar toggle adalah salah satu saklar elektrik yang digerakkan
secara manual oleh batang mekanik. Saklar toggle tersedia dalam
berbagai bentuk dan ukuran, serta digunakan dalam berbagai aplikasi.
Gambar dibawah memperlihatkan bentuk fisik dan symbol saklar toggle.

(a) Salah satu toggle switch

(b) Simbol elektronik


Dalam modul I/O yang dipakai dalam
praktikum,
saklar
toggle
yang
digunakan diberi rangkaian tambahan
berupa rangkaian LED untuk melihat
secara langsung logika yang ada pada
saklar. Rangkaian LED sama dengan
rangkaian dalam Modul I. Kedelapan
rangkaian
saklar
tersebut
dihubungkan ke sebuah soket jumper
bernama INPUT.

PERINTAH DASAR MEMBACA DATA

Sebelum membaca data, perlu dibuat deklarasi variabel untuk data


yang dimasukkan. Data bisa bertipe char. Deklarasi variabel
diletakkan di variabel lokal pada main program.
void main (void)
{
//Declare your local variables here
unsigned char data_in;

Untuk membaca data byte ke PORTX (X=A, B, C, D) digunakan


statement
data_in = PINX;
contoh: data_in = PINB;
Untuk membaca data bit ke PORTX.Y (X=A, B, C, D dan Y=0, 1, 2 , 3,
4, 5, 6, 7) digunakan statement
data_in = PINX.Y;
contoh: data_in = PINB.1;

ALAT DAN BAHAN YANG DIGUNAKAN

1 set PC/Laptop yang sudah berisi program Code Vision dan


Khazama
1 buah catu daya DC +5V
1 buah multimeter
1 buah ISP Downloader AVR
1 buah sistem minimum AVR
1 buah I/O
1 buah kabel printer USB
2 buah kabel pita hitam

PROSEDUR
1.
2.
3.

Hubungkan soket jumper PORTB pada minimum system dengan


soket jumper OUTPUT pada I/O dan soket jumper PORTC pada
minimum system dengan soket jumper INPUT pada I/O
Buka program Code Vision AVR
Buat file baru dengan cara klik File>>New, atau klik icon Create a
New File or Project, atau ketik Ctrl + N. Kemudian muncul dialog box,
pilih Project pada File Type, kemudian klik OK.

4.

Kemudian klik No ketika muncul dialog box untuk menanyakan


apakah ingin menggunakan CodeWizardAVR

5.

Kemudian pilih lokasi penyimpanan file dan buat folder baru dengan
nama praktikum 2 untuk menyimpan file.
Kemudian simpan file pada folder tersebut dan berinama file dengan
nama saklar dan klik Save.
Kemudian muncul dialog box Configure Project. Pada subtab Code
Generation pada tab C Compiler pilih chip ATmega8535 dan ubah
Clock menjadi 4 Mhz. Kemudian klik OK

6.
7.

8.

Buat file Source baru dengan cara klik File>>New, atau klik icon
Create a New File or Project, atau ketik Ctrl + N. Kemudian muncul
dialog box, pilih Source pada File Type, kemudian klik OK. Kemudian
Save as file Source itu dengan nama saklar dan simpan di dalam
direktori yang sama yaitu di dalam folder praktikum 2.

9.

Hubungkan file Project dengan File Source dengan Cara klik


Project>> Configure

10.

Pada dialog box, klik Add pada tab Input Files. Kemudian pilih file
yang sudah anda simpan tadi dan klik Open. Kemudian klik OK.

11.

Jika sudah ditambahkan, maka pada Code Navigator akan terlihat


saklar.c.

12.

Tambahkan file header

13.

Buat program utama dan inisialisasikan PORTB sebagai output


(DDRB = FFH) dan output value = 0 (PORTB=00H), dan PORTC
sebagai input (DDRC = 00H) dan resistor pullup dihubungkan
(PORTC=FFH) sehingga pada program bagian inisialisasi PORTB dan
PORTC terlihat sebagai berikut:

14.

Tambahkan deklarasi variabel lokal di bawah ini dalam program


utama.

15.

Tuliskan dalam program utama tepatnya tuliskan program didalam


while (1)

16.

Compile program tersebut dengan cara klik Project>> Compile atau


ketik F9.
Jika ada error , koreksi program yang error dan perbaiki. Jika sudah
tidak ada yang error build program tersebut dengan cara klik
Project>> Build atau klik Shift + F9.
Hubungkan kabel usb printer antara PC/ Laptop dengan trainer.
Buka aplikasi Khanzama AVR Programmer. Pilih ATmega8535 pada
pilihan chip AVR. Kemudian buka program kompilasi saklar.hex
biasanya terdapat pada folder atau sub derektori..\Exe yang terdapat
pada folder praktikum 2 dengan cara klik file>> Load Flash File to
Buffer atau ketik Ctrl + L kemudian klik Open.
Klik Auto Program kemudian pindahkan saklar sesuai tabel 2.1
dibawah, amati dan catat nyala LED.

17.
18.
19.

20.

No.
7

Tabel
Saklar
5 4 3
0
0 0 0
1
0 0 0
1
0 0 0
1
0 0 1
1
0 1 0
1
1 0 0
1
0 0 0
1
0 0 0
1
1 1 1
1

2.1 Program Saklar1


LED
2 1
7 6 5 4 3
0
0 0
0

21.

Hapus program yang ada pada program utama tepatnya program di


dalam while (1) kemudian tuliskan program di dalam while(1).

22.

Compile dan Build program, jika ada yang error perbaiki program.
Masukkan file hex menggunakan Khanzama AVR Programer. Klik
auto program.
Pindahkan saklar sesuai tabel 3.1 dibawah, amati dan catat nyala
LED.

23.

No.
7

Tabel 3.1 Program Saklar2


Saklar
LED
5 4 3 2 1
7 6 5 4 3
0
0

0
1
0
1
0
0
0
1
1
0
0
1
0
0

24.
a)
b)
a)
b)
c)
d)
e)
f)
g)
h)

Buat program untuk masingmasing algoritma berikut dengan


menggunakan if :
Jika switch bit 0 berlogika 1 maka LED bit 4 menyala.
Jika switch bit 1 berlogika 1 maka LED bit 7 menyala.
25. Buat satu program untuk masingmasing algoritma berikut dengan
menggunakan if-else.
Jika switch bit 0 berlogika 1 maka LED bit 4 menyala.
Jika switch bit 1 berlogika 1 maka LED bit 7 menyala.
Jika switch bit 2 berlogika 1 maka LED menyala dengan konfigurasi
ON-OFF-ON-OFF-ON-OFF-ON-OFF (bit7-bit0).
Jika switch bit 3 berlogika 1 maka LED menyala dengan konfigurasi
OFF-ON-OFF-ON-OFF-ON-OFF-ON (bit7-bit0).
Jika switch bit 4 berlogika 1 maka LED menyala semua.
JIka switch bit 5 berlogika 1 maka LED mati semua.
Jika switch bit 6 berlogika 1 maka LED menyala berurutan mulai dari bit0
ke bit7 lalu kembali lagi ke bit0 dengan delay 1 detik
Jika switch bit 7 berlogika 1 maka LED akan menyala dengan nilai sama
dengan dua digit terakhir NIM anda.
DATA HASIL PERCOBAAN
1.
2.
3.
4.

Tabel 2.1
Tabel 3.1
Source code program pada percobaan langkah 9
Source code program pada percobaan langkah 10

ANALISA DATA

1.
2.
3.

Analisa Program Saklar1 dan Saklar2


Instruksi apa yang digunakan untuk membaca data input?
Apakah perbedaan program yang menggunakan if dan if-else?

DATA HASIL PERCOBAAN


1. Tabel 2.1
No.
7

Saklar
5 4 3
0
0 0 0
1
0 0 0
1
0 0 0
1
0 0 1
1
0 1 0
1
1 0 0
1
0 0 0
1
0 0 0
1
1 1 1
1

2
0
0
1
0
0
0
0
0
1

Tabel 2.1 Program


LED
1
7 6 5 4
0
0
0 0 0 0
1
1
0 0 0 0
1
0
0 0 0 0
1
0
0 0 0 0
1
0
0 0 0 1
1
0
0 0 1 0
1
0
0 1 0 0
1
0
1 0 0 0
1
1
1 1 1 1
1

1.

4.

2.

5.

Saklar1
3

3.

6.

7.

8.

9.

2. Tabel 3.1
No.

Saklar

Tabel 3.1 Program Saklar2


LED

4
0
0
1
0
1
0
0
0
1
1
0
0
1
0
0

1.

4.

2.

5.

3.

6.

4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

7.

26.

Buat program untuk masingmasing algoritma


menggunakan if :
c) Jika switch bit 0 berlogika 1 maka LED bit 4 menyala.

d) Jika switch bit 1 berlogika 1 maka LED bit 7 menyala.

berikut

dengan

27.

Buat satu program untuk masingmasing algoritma berikut dengan


menggunakan if-else.
i) Jika switch bit 0 berlogika 1 maka LED bit 4 menyala.

j) Jika switch bit 1 berlogika 1 maka LED bit 7 menyala.

k) Jika switch bit 2 berlogika 1 maka LED menyala dengan konfigurasi


ON-OFF-ON-OFF-ON-OFF-ON-OFF (bit7-bit0).

l) Jika switch bit 3 berlogika 1 maka LED menyala dengan konfigurasi


OFF-ON-OFF-ON-OFF-ON-OFF-ON (bit7-bit0).

m) Jika switch bit 4 berlogika 1


maka LED menyala semua.

n) JIka switch bit 5 berlogika 1 maka LED mati semua.

o) Jika switch bit 6 berlogika 1 maka LED menyala berurutan mulai dari bit0 ke
bit7 lalu kembali lagi ke bit0 dengan delay 1 detik

p) Jika switch bit 7 berlogika 1 maka LED akan menyala dengan nilai sama
dengan dua digit terakhir NIM anda.

ANALISA DATA
1. Analisa Program Saklar1 dan Saklar2
Pada Saklar 1 ,saat PORTC difungsikan sebagai input
dan dalam program tertulis data_in=PINC; maka toggle switch
berfungsi sebagai saklar untuk menginputkan data ke
mikrokontroller dan data itu dimasukkan ke variable data_in.
Karena yang dituliskan PINC, maka yang digunakan sebagai
input adalah data byte atau semua bit digunakan untuk
menginputkan data ke mikrokontroller. Kemudian ketika
dalam program tertuliskan PORTB=data_in; maka PORTB
digunakan untuk mengeluarkan data yang masuk ke variable
data_in dengan LED sebagai media outputnya. Dan pada

program yang dituliskan adalah PORTB jadi yang dikeluarkan


adalah data byte atau semua bit digunakan.
Pada percobaan 2 pada program utama tertulis
data_in=PINC.0; jadi script tersebut digunakan untuk
menginputkan data bit yaitu bit ke 0. Maka data yang masuk
ke PINC bit 0 akan dimasukkan ke variable data_in. Pada
program juga dituliskan PORTB.7=data_in; maka data yang
masuk ke variable data_in akan dikeluarkan pada PORTB bit 7.
Script PORTB bit 7 juga berarti data yang dikeluarkan adalah
data bit.Pada percobaan 2 ini didapatkan hasil LED yang
menyala hanya pada PORTB bit 7 dan itu menyala jika pada
saklar bit 0 berlogika 1. Hal ini dikarenakan pada program
utama dituliskan PINC.0, jadi yang diprogram sebagai input
hanya PORTC bit 0.
2. Instruksi apa yang digunakan untuk membaca data input?
unsigned char data_in;
Untuk membaca data byte ke PORTX (X=A, B, C, D) digunakan
statement
data_in = PINX;
Untuk membaca data bit ke PORTX.Y (X=A, B, C, D dan Y=0,
1, 2 , 3, 4, 5, 6, 7) digunakan statement
data_in = PINX.Y;
3. Apakah perbedaan program yang menggunakan if dan if-else?
Program menggunakan fungsi If hanya satu perintah
yang dijalankan, sedangkan fungsi if-else perintah yang
diinputkan bisa lebih dari satu pernyataan.

KESIMPULAN
Berdasarkan percobaan diatas dapat disimpulkan bahwa:
a)Saklar toggle dapat menjalankan program bila saklar
dalam kondisi On, namun jika dalam kondisi Off saklar
tidak akan menjalankan program.
b) Fungsi If dalam pemrograman digunakan menjalan
perintah jika pernyataan benar, namun jika salah perintah
tidak dijalankan.
c)Fungsi If-else dalam pemrograman digunakan untuk
pernyataan
majemuk.
Jika
pernyataannya
bukan
pernyataan pertama maka yang akan dijalankan
pernyataan selanjutnya.

DAFTAR PUSTAKA

[1] Jackstar H. S., PanduanPenulisanLaporan


, Jacks Publishing, Bandung, 2008.
[2] Adel S. Sedra dan Kennet C. Smith,
Microelectronic Circuits
, Oxford University Press, USA, 1997.
[3]mikrolab.wordpress.com
[4] Datasheet ATMega 8535

Beri Nilai