PRAKTIKUM PEMROGRAMAN MIKROKONTROLER
AKADEMI KOMUNITAS NEGERI
KAJEN
JOBSHEET 04TEKNIK MESIN
SEMESTER 3
Instruksi Bersyarat
A. Tujuan Pembelajaran
Dengan melaksanakan kegiatan praktikum Jobsheet 04 ini diharapkan Mahasiswa
dapat memahami cara kerja dari Push Button sebagai input dalam mikrokontroler serta
rangkaiannya. Mahasiswa juga diharapkan mampu mengembangkan Logika And dan Or
untuk aplikasi menggunakan Push Button serta LED.
B. Materi
Tombol salah satu komponen yang paling sering digunakan pada aplikasi elektronik.
Tombol biasa digunakan sebagai pemilih, pengatur dan juga sebagai sensor yang kemudian
diproses untuk mengerjakan sesuatu. Umumnya jenis tombol ada 2 macam, yaitu tombol
Push Button (Tombol Tekan) dan Tombol Toggle (On/Off). Terdapat berbagai macam bentuk
dan ukuran tombol dari yang kecil sampai yang besar, sehingga pengguna harus memilih
tombol yang sesuai tergantung kebutuhan. Tombol Push Button sering kita lihat dalam
kehidupan sehari-hari pada peralatan elektronik, seperti radio, televisi, keyboard dan
kalkulator lain-lain. Biasanya tombol push button ini digunakan untuk memilih atau
menetukan suatu proses, misalnya memilih channel televisi atau mengetik komputer.
Tombol Push Button juga sering digunakan sebagai komponen untuk menyalakan LED pada
mikrokontroler untuk pembelajaran bagi pemula. Dengan menggunakan beberapa Gerbang
Logika Dasar yaitu AND OR NOT serta penggunaan komponen Push Button sebagai input
dan LED sebagai Outpu maka dapat menjadi suatu pembelajaran yang menarik.
LALU DHULKHAQ 141250016
PRAKTIKUM PEMROGRAMAN MIKROKONTROLER
AKADEMI KOMUNITAS NEGERI
KAJEN
JOBSHEET 04TEKNIK MESIN
SEMESTER 3
C. Alat dan Bahan
No. Nama Peralatan / Komponen Spesifikasi Jumlah
1. Personal computer + Software CodeVision AVR & Proteus 8
1
D. Gambar Rangkaian
Gambar 1-Rangkaian Instruksi Bersyarat
E. Latihan Soal
1. Buatlah program instruksi bersyarat dengan 3 buah tombol pada port A
dan output port C dengan kondisi jika PB 1 menghidupkan 4 LED dari kanan, PB 2
menghidupkan 4 LED kiri, PB 3 mematikan semua LED.
2. Buatlah program instruksi bersyarat dengan logika “AND” & “OR” output led dari
portC dan input push button dari pinA
3. Buatlah program dengan kondisi Ketika push button ditekan maka LED akan
membentuk RUNNING LED dari kiri ke kanan
LALU DHULKHAQ 141250016
PRAKTIKUM PEMROGRAMAN MIKROKONTROLER
AKADEMI KOMUNITAS NEGERI
KAJEN
JOBSHEET 04TEKNIK MESIN
SEMESTER 3
F. Kode Program
1. Kode Program Latihan Soal1
Gambar 2- Kode Program latihan soal1
2. Kode Program latihan Soal2
Gambar 3- Kode Program Latihan Soal2 (AND)
LALU DHULKHAQ 141250016
PRAKTIKUM PEMROGRAMAN MIKROKONTROLER
AKADEMI KOMUNITAS NEGERI
KAJEN
JOBSHEET 04TEKNIK MESIN
SEMESTER 3
3. Kode Program latihan Soal2 (OR)
Gambar 4- Kode Program Latihan Soal2 (OR)
G. Langkah Praktikum
1. Buka software Proteus 8 dan buatlah rangkaian Running LED seperti pada gambar1.
2. Buka software CodeVision AVR3. Buatlah 2 project baru menggunakan ATMega8535 dengan iniliasisasi PORTC
sebagai Output (DDRC=0xFF;) dan setting PORTC logika awal LOW (PORTC=0x00;).
4. Tambahkan file header #include <delay.h>5. Dan ketikan kode program selengkapnya sesuai dengan kode program latihan
soal1, latihan soal2 AND dan OR serta latihan soal3 pada gambar2 dan gamba3 dan gambar4 diatas.
LALU DHULKHAQ 141250016
PRAKTIKUM PEMROGRAMAN MIKROKONTROLER
AKADEMI KOMUNITAS NEGERI
KAJEN
JOBSHEET 04TEKNIK MESIN
SEMESTER 3
H. Analisa
1. Analisa Rangkaian
Pada Rangkaian Running LED praktikum jobsheet04 ini agar dapat
menjalankan fungsinya sebagai suatu sistem minimum maka dibutuhkan dua
komponen yaitu kristal osilator dan juga rangkaian RESET. Fungsi dari osilator adalah
sebagai jantungnya. Rangkaian sistem reset dengan button yang masuk pada pin
reset no9 pada mikrokontroler ATMega8535 dan sistem rangkaian pengunci yang
langsung masuk ke pin xtail 1 dan xtail 2 dengan tegangan input yaitu 5v . output
pada PORTC yaitu lampu LED green 8 buah yang terhubung ke GND (ground). Input
terdapat pada PORTC.0, PORTC.1 PORTC.2 untuk push Button serta saklar SWITCH
pada PORTC.3 dan PORTC.4.
2. Analisa program
A. Kode Program Running LED1
LALU DHULKHAQ 141250016
PRAKTIKUM PEMROGRAMAN MIKROKONTROLER
AKADEMI KOMUNITAS NEGERI
KAJEN
JOBSHEET 04TEKNIK MESIN
SEMESTER 3
1. Pada baris 1-3, kode program:
/*****************************************************
By : Lalu Dhulkhaq
*****************************************************/
Kode ini /* .... */ digunakan untuk menuliskan catatan atau komentar
dengan banyak baris. Semua huruf/angka atau semua yang ada
diantara dua simbol akan diabaikan oleh program (tidak dieksekusi).
Sedangkan komentar untuk satu baris menggunakan //.
2. Baris berikutnya, kode program:
#include <mega8535.h>
Kode program #include artinya perintah untuk memanggil
library/pustaka bahasa bahasa C. Pada praktikum kali ini digunakan IC
Atmega8535 untuk itu agar dapat menggunakan fungsi-fungsinya
maka perlu header file/pemanggilan pustaka bahasa ATMega8535.
3. Baris program berikutnya:
void main(void)
perintah diatas merupakan awal program utama (kepala awal
program utama)
4. Baris perintah berikutnya:
PORTA=0x00;
DDRA=0x00;
PORTC=0x00;
DDRC=0xFF;
Kode program DDRA=0x00 adalah instruksi untuk mensetting PORTA
sebagai input. PORTA=0x00 adalah perintah untuk mensetting pin
pada PORTA DDRC=0xFF; adalah perintah setting seluruh PIN pada
PORTC sebagai eksternal pull up (logika awal 0). 0xFF merupakan
bilangan heksadesimal, jika dikonversi menjadi biner sama dengan
11111111. PORTC=0x00; adalah perintah untuk setting pin 0-7 pada
LALU DHULKHAQ 141250016
PRAKTIKUM PEMROGRAMAN MIKROKONTROLER
AKADEMI KOMUNITAS NEGERI
KAJEN
JOBSHEET 04TEKNIK MESIN
SEMESTER 3
PORTC dengan logika awal 0 (LOW). artinya awal mikrokontoler diberi
arus maka pin 0-7 pada PORTC aktif LOW. dan akan aktif HIGH ketika
diberi logika 1.
5. Baris program berikutnya:
while (1)
{
if (PINA.0==1)
{
PORTC=0x0F;
}
else if (PINA.1==1)
{
PORTC=0xF0;
}
else if (PINA.2==1)
{
PORTC=0x00;
}
}
}
Program diatas dapat di analisa bahwa perintah while() berarti
perintah looping atau pengulangan semua kode program yang
dibawahnya tanpa syarat, dan akan berhenti jika mikrokotroler tidak
diberi tegangan. Kemudian kode program if (PINA.0==1)
{PORTC=0x0F; } adalah suatu kondisi b yang akan dieksekusi jika
kondisi c terpenuhi. Atau jika PINA.0 berlogika 1, maka PORTC=0x0F;
artinya jika Push Button pada PINA.1 ditekan maka output LED 4 dari
kanan akan menyala (0x0F = 00001111) .sedangkan else if (PINA.1==1)
{PORTC=0xF0; } artinya pada saat Push Button pada PINA.1 ditekan
LALU DHULKHAQ 141250016
PRAKTIKUM PEMROGRAMAN MIKROKONTROLER
AKADEMI KOMUNITAS NEGERI
KAJEN
JOBSHEET 04TEKNIK MESIN
SEMESTER 3
(HIGH) maka output 4 LED dari kiri akan menyala (0xF0 = 11110000).
Kode berikutnya else if (PINA.2==1) {PORTC=0x00; } menginstruksikan
ketika Push Button pada PINA.2 ditekan maka output LED PORT C
akan mati semua (0x00 = 00000000).
B. Kode Program latihan soal2 (AND)
1. Pada baris 1-3, kode program:
/*****************************************************
By : Lalu Dhulkhaq
*****************************************************/
Kode ini /* .... */ digunakan untuk menuliskan catatan atau komentar
dengan banyak baris. Semua huruf/angka atau semua yang ada
diantara dua simbol akan diabaikan oleh program (tidak dieksekusi).
Sedangkan komentar untuk satu baris menggunakan //.
6. Baris berikutnya, kode program:
#include <mega8535.h>
LALU DHULKHAQ 141250016
PRAKTIKUM PEMROGRAMAN MIKROKONTROLER
AKADEMI KOMUNITAS NEGERI
KAJEN
JOBSHEET 04TEKNIK MESIN
SEMESTER 3
Kode program #include artinya perintah untuk memanggil
library/pustaka bahasa bahasa C. Pada praktikum kali ini digunakan IC
Atmega8535 untuk itu agar dapat menggunakan fungsi-fungsinya
maka perlu header file/pemanggilan pustaka bahasa ATMega8535.
7. Baris program berikutnya:
void main(void)
perintah diatas merupakan awal program utama (kepala awal
program utama)
8. Baris perintah berikutnya:
PORTA=0x00;
DDRA=0x00;
PORTC=0x00;
DDRC=0xFF;
Kode program DDRA=0x00 adalah instruksi untuk mensetting PORTA
sebagai input. PORTA=0x00 adalah perintah untuk mensetting pin
pada PORTA DDRC=0xFF; adalah perintah setting seluruh PIN pada
PORTC sebagai eksternal pull up (logika awal 0). 0xFF merupakan
bilangan heksadesimal, jika dikonversi menjadi biner sama dengan
11111111. PORTC=0x00; adalah perintah untuk setting pin 0-7 pada
PORTC dengan logika awal 0 (LOW). artinya awal mikrokontoler diberi
arus maka pin 0-7 pada PORTC aktif LOW. dan akan aktif HIGH ketika
diberi logika 1.
9. Baris kode berikutnya :
while (1)
{
if (PINA.3==1 && PINA.4==1)
{
PORTC=0xFF;
}
else {
LALU DHULKHAQ 141250016
PRAKTIKUM PEMROGRAMAN MIKROKONTROLER
AKADEMI KOMUNITAS NEGERI
KAJEN
JOBSHEET 04TEKNIK MESIN
SEMESTER 3
PORTC=0x00;
}
}
}
Program diatas dapat di analisa bahwa perintah while() berarti
perintah looping atau pengulangan semua kode program yang
dibawahnya tanpa syarat, dan akan berhenti jika mikrokontroler tidak
diberi tegangan. Kemudian kode program if (PINA.3==1 &&
PINA.4==1) {PORTC=0xFF; } adalah menginstruksikan PINA.3 dan
PINA.4 untuk saling berhubungan DAN (&&). Artinya ketika PINA.3
(SWITCH) HIGH /ditekan dan PINA.4 (SWITCH) juga HIGH/ditekan
makan output pada PORTC yaitu LED akan menyala semua. (0xFF =
11111111). Sedangkan else {PORTC=0x00; } adalah kode program
yang menginstruksikan agar selain kondisi PINA.3 dan PINA4 HIGH
bersamaan maka output pada PORTC yaitu LED akan mati semua
(0x00=00000000).
C. Kode Program latihan soal2 (AND)
LALU DHULKHAQ 141250016
PRAKTIKUM PEMROGRAMAN MIKROKONTROLER
AKADEMI KOMUNITAS NEGERI
KAJEN
JOBSHEET 04TEKNIK MESIN
SEMESTER 3
Rangkaian kode program hampir sama dengan kode program latihan
soal2 (AND). Perbedaannya hanya pada kondisi LED pada PORTC akan
menyala JIKA SALAH SATU SWITCH pada PINA.3 dan PINA.4 ditekan. Jadi
hanya jika salah satu berlogika HIGH maka sudah dapat menyalakan LED.
Namun jika keduanya tidak ditekan maka akan mati.
D. Kode Program latihan soal3 (AND)
LALU DHULKHAQ 141250016
PRAKTIKUM PEMROGRAMAN MIKROKONTROLER
AKADEMI KOMUNITAS NEGERI
KAJEN
JOBSHEET 04TEKNIK MESIN
SEMESTER 3
1. Pada baris 1-3, kode program:
/*****************************************************
By : Lalu Dhulkhaq
*****************************************************/
Kode ini /* .... */ digunakan untuk menuliskan catatan atau komentar
dengan banyak baris. Semua huruf/angka atau semua yang ada
diantara dua simbol akan diabaikan oleh program (tidak dieksekusi).
Sedangkan komentar untuk satu baris menggunakan //.
2. Baris berikutnya, kode program:
#include <mega8535.h>
LALU DHULKHAQ 141250016
PRAKTIKUM PEMROGRAMAN MIKROKONTROLER
AKADEMI KOMUNITAS NEGERI
KAJEN
JOBSHEET 04TEKNIK MESIN
SEMESTER 3
Kode program #include artinya perintah untuk memanggil
library/pustaka bahasa bahasa C. Pada praktikum kali ini digunakan IC
Atmega8535 untuk itu agar dapat menggunakan fungsi-fungsinya
maka perlu header file/pemanggilan pustaka bahasa ATMega8535.
3. Baris program berikutnya:
void main(void)
perintah diatas merupakan awal program utama (kepala awal
program utama)
4. Baris perintah berikutnya:
DDRA=PORTA=PORTC=0x00;
DDRC=0xFF;
Kode program DDRA=0x00 adalah instruksi untuk mensetting PORTA
sebagai input. PORTA=0x00 adalah perintah untuk mensetting pin
pada PORTA DDRC=0xFF; adalah perintah setting seluruh PIN pada
PORTC sebagai eksternal pull up (logika awal 0). 0xFF merupakan
bilangan heksadesimal, jika dikonversi menjadi biner sama dengan
11111111. PORTC=0x00; adalah perintah untuk setting pin 0-7 pada
PORTC dengan logika awal 0 (LOW). artinya awal mikrokontoler diberi
arus maka pin 0-7 pada PORTC aktif LOW. dan akan aktif HIGH ketika
diberi logika 1.
5. Baris kode berikutnya :
while (1)
{
if (PINA.0==1)
{
PORTC=0b10000000;
delay_ms(10);
PORTC=0b01000000;
delay_ms(10);
PORTC=0b00s100000;
LALU DHULKHAQ 141250016
PRAKTIKUM PEMROGRAMAN MIKROKONTROLER
AKADEMI KOMUNITAS NEGERI
KAJEN
JOBSHEET 04TEKNIK MESIN
SEMESTER 3
delay_ms(10);
PORTC=0b00010000;
delay_ms(10);
PORTC=0b00001000;
delay_ms(10);
PORTC=0b00000100;
delay_ms(10);
PORTC=0b00000010;
delay_ms(10);
PORTC=0b00000001;
delay_ms(10);
}
Program diatas dapat di analisa bahwa perintah while() berarti
perintah looping atau pengulangan semua kode program yang
dibawahnya tanpa syarat, dan akan berhenti jika mikrokontroler tidak
diberi tegangan. Kemudian kode program if (PINA.0==1) {...} adalah
suatu instruksi ketika PINA.0 (Push Button) ditekan (HIGH) maka akan
menjalankan statement didalam pada kurung kurawal. Sedangkan
setatement yang ada didalam kurung kurwala pada program diatas
adalah berupa perintah menjalankan aksi running LED dari kiri ke
kanan secara berurutan. Artinya jika Push Button pada PINA.0 ditekan
maka OUTPUT pada PORTC yaitu LED akan menyala bergantian dari
kiri ke kanan. Sedangkan kode program else {PORTC=0b00000000; }
adalah suatu kondisi jika kondisi awal yang terdapat pada IF tidak
terpenuhi maka akan menjalankan perintah yang ada didalam kurawal
ELSE. Singkatnya ketika Push Button pada PORTA.0 tidak ditekan maka
LED pada PORTC akan mati.
LALU DHULKHAQ 141250016
PRAKTIKUM PEMROGRAMAN MIKROKONTROLER
AKADEMI KOMUNITAS NEGERI
KAJEN
JOBSHEET 04TEKNIK MESIN
SEMESTER 3
LALU DHULKHAQ 141250016
Top Related