SW PUSH BUTTON
Disusun oleh:
simpan dengan nama file SW1 kemudian compile, menu Project -→Compile
Simpan dengan nama file sw2 kemudian compile, menu Project -→Compile
c. Percobaan SW dengan pemilihan kombinasi LED
Pada percobaan ini anda akan mengambil data dengan menggunakan SW push
button, setiap penekanan SW akan menampilkan pola LED tertentu
#include <mega8535.h>
#include <delay.h>
while(1)
{
//# if SW0 is pressed show pattern 1
if(PINB.0==0)
{
for(i=0;i<4;i++)
{
PORTC=p1[i]; //output data
delay_ms(300); //wait for some time
}
PORTC=0; //turn off all LEDs
}
};
}
Simpan dengan nama file sw3 kemudian compile, menu Project -→Compile
V. Data Hasil
1. Percobaan 1
2. Percobaan 2
3. Percobaan 3
PINB.0
PINB.1
4. Tugas 1
5. Tugas 2
6. Tugas 3
7. Tugas 4
VI. Pembahasan
1. Percobaan 1
Pada percobaan 1 baris 1 merupakan penulisan pemrograman untuk penggunaan
mikrokontroler atmega 8535,pada baris kedua merupakan penulisan awal pada sebuah
pemrograman,pada baris ke 3 merupakan pembukaan pada sebuah fungsi pemrograman,baris
3 menunjukkan bahwa portc digunakkan sebagai output dengan nilai masukkan high pada
kondisi awal,pada baris ke 5 menunjukkan port b di jadikkan sebagai input,baris ke 6
menunjukkan bahwa input masukkan awal pada port b dalam kondisi high,pada baris 7
merupakkan fungsi perulangan,baris 8 menunjukkan awalan dalam sebuah fungsi
perulangan,baris 9 menunjukkan bahwa kondisi portc sama dengan input pada pin b,baris 10
menunjukkan penutupan fungsi perulangan,pada baris 11 menunjukkan penutupan dari
penulisan pemrograman.
#include <mega8535.h>
While
high (1)
End
2. Percobaan 2
Pada baris 1 menyatakan pada compiler agar membaca file bernama
mega8535.h saat pelaksanaan kompilasi, Pada baris 2 merupakan perintah
program utama. Pada baris 3 merupakan awalan program. Pada baris 4, port C
digunakan sebagai output. Pada baris 5, port B digunakan sebagai fungsi input.
Pada baris 6 artinya memasukan bilangan 1 1 1 1 1 1 1 1 ke register PORT B,
yang membuat semua pin B menjadi berlogika high. Pada baris 7 merupakan
fungsi looping while dimana yang akan aktif ketika diberi logika high (1) dan
berulang sampai tidak ada batasan tertentu. Pada baris 8 terdapat tanda {
artinya, menyatakan awal eksekusi program. Pada baris 9 maksutnya jika pin 0
pada port B berlogika low (0), maka output / keluaran pada port C akan
berlogika logika high (1) pada pin 0. Pada baris 10 arinya jika pin 1 pada port
B berlogika low (0), maka output / keluaran pada port C akan berlogika logika
high (1) pada pin 1. Pada baris 11 adalah jika pin 2 pada port B berlogika low
(0), maka output / keluaran pada port C akan berlogika logika high (1) pada pin
2. Pada baris 12 adalah jika pin 3 pada port B berlogika low (0), maka output /
keluaran pada port C akan berlogika logika high (1) pada pin 3. Pada baris 13
adalah setelah salah satu pin 0, pin 1, pin 2, dan pin 3 pada port C berlogika
high, maka secara otomatis Kembali berlogikaa low (0). Pada baris 14-15
menyatakan akhir eksekusi program.
#include <mega8535.h>
While
high (1)
Berulang
If Salah
satu pin
B low (0)
End
3. Percobaan 3
Dilihat dari program yang dibuat maka dapat dijelaskan bahwa pada
baris 1 menyatakan pada compiler agar membaca file bernama mega8535.h
saat pelaksanaan kompilasi, pada baris 2 menjukkan masukan untuk instruksi
delay pada program. pada baris 4-12 mendeklarasikan fungsi array dengan 2
pola. Pada pola pertama terdiri dari 4 bit, bit pertama yaitu PINC.0 dan PINC.7
berlogika high (1). Pada bit kedua yaitu PINC.1 dan PINC.6 berlogika high (1).
Pada bit ketiga yaitu PINC.2 dan PINC.5 berlogika high (1). Kemudian pada
bit keempat yaitu PINC.3 dan PINC 4 berlogika high (1). Pada pola kedua
terdiri dari 4 bit, bit pertama yaitu seluruh port A berlogika high (1). Pada bit
kedua yaitu PINC.0 dan PINB.7 berlogika low (0). Pada bit ketiga yaitu PINC.1
dan PINB.6 berlogika low (0). Kemudian pada bit keempat yaitu PINC.2 dan
PINB.5 berlogika low (0). Pada baris 13-14 adalah program utamanya. Pada
baris 15 adalah looping dari fungsi array. Pada baris 17-18 adalah port A
sebagai fungsi output dengan kondisi awalnya berlogika low (0). Pada baris 20-
22 adalah port B sebagai fungsi input dengan PINB.0 dan PINB.1 berlogika
high (1). Pada baris 24-45 adalah looping while dimana Ketika PINB.0
berlogika low (0), maka fungsi array pada pola pertama akan dijalankan dengan
delay 0,3s. Ketika PINB.1 berlogika low (0), maka fungsi array pada pola
kedua akan dijalankan dengan delay 0,3s
Pin C = Output
Pin B= Input
VII. Kesimpulan
1. Rangakaian common anode merupakan rangkaian yang akan aktif apabila
diberi logika 0(low).
2. Pada Program SW Push Button dapat memvariasi input dengan mengganti
pin yang diinginkan, sehingga output LED akan dapat dikendalikan melalui
Push Button.
3. Pada percobaan ini menggunakkan fungsi delay_ms yang berfungsi untuk
memberikan waktu jeda untuk menyalanya lampu ketika SW ditekan