DISUSUN OLEH:
AINUN NAJIB
3.31.19.0.01
LT2A
❑ Modul mikrokontroller
❑ PC atau laptop
❑ power supply DC
simpan dengan nama file SW1 kemudian compile, menu Project -→Compile
#include <mega8535.h>
void main(void)
{
DDRC=0xFF;
DDRB=0x00;
PORTB=0xFF;
while(1)
{
if (PINB.0==0) {PORTC=0x01;}
else if (PINB.1==0){PORTC=0x02;}
else if (PINB.2==0){PORTC=0x04;}
else if (PINB.3==0){PORTC=0x08;}
else {PORTC=0x00;}
}
}
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
2. Buat program untuk menjalankan LED secara bergantian dua-dua mulai dari LED no 1 sampai
LED no 8 yang diaktifkan dengan SW no 4
3. Buat program untuk menjalankan LED secara bergantian satu-satu mulai dari pinggir ke tengah
yang diaktifkan dengan SW no 3
4. Buat program untuk menjalankan LED dari pinggir ke tengah kemudian balik lagi dari tengah
ke pinggir yang diaktifkan dengan SW no 7
1. Buat program untuk menghidupkan LED dengan urutan nomor yang berbeda dengan urutan
nomor push button.
Pada saat SW Push Button No 1 ditekan maka LED 2 menyala
2. Buat program untuk menjalankan LED secara bergantian dua-dua mulai dari LED no 1 sampai
LED no 8 yang diaktifkan dengan SW no 4
LED no 1 sampai LED no 8 yang diaktifkan dengan SW no 4
3. Buat program untuk menjalankan LED secara bergantian satu-satu mulai dari pinggir ke tengah
yang diaktifkan dengan SW no 3.
Menjalankan LED secara bergantian satu-satu mulai dari pinggir ke tengah yang
diaktifkan dengan SW no 3.
4. Buat program untuk menjalankan LED dari pinggir ke tengah kemudian balik lagi dari tengah
ke pinggir yang diaktifkan dengan SW no 7.
Menjalankan LED dari pinggir ke tengah kemudian balik lagi dari tengah ke pinggir
yang diaktifkan dengan SW no 7.
VII. PEMBAHASAN
• FLOWCHART TUGAS 1
Program untuk menghidupkan LED dengan urutan nomor yang berbeda dengan urutan
nomor push button
• FLOWCHART TUGAS 2
Program untuk menjalankan LED secara bergantian dua-dua mulai dari LED no 1 sampai
LED no 8 yang diaktifkan dengan SW no 4
START
PUSH
BUTTON 4
LED
1,2 DELAY 300 ms
ON
LED
3,4
DELAY 300 ms ON
LED
5,6
ON DELAY 300 ms
LED
DELAY 300 ms 7,8
ON
END
Pada percobaan Tugas 2 ketika rangkaian dinyalakan dan SW no 4 ditekan maka LED akan
menyala dua-dua yaitu LED ke 1,2 kemudian LED 3,4 lalu LED 5,6 dan LED 7,8. Dengan
masing masing jeda 300ms, begitu seterusnya atau berulang dua-dua dari LED no 1 sampai
LED no 8.
• FLOWCHART TUGAS 3
Program untuk menjalankan LED secara bergantian satu-satu mulai dari pinggir ke tengah
yang diaktifkan dengan SW no 3
START
PUSH
BUTTON 3
LED
1,8 DELAY 300 ms
ON
LED
DELAY 300 ms 2,7
ON
LED
3,6 DELAY 300 ms
ON
LED
DELAY 300 ms 4,5
ON
END
Pada percobaan Tugas 3 ketika rangkaian dinyalakan dan SW no 3 ditekan maka LED akan
menyala bergantian dimulai dari pinggir yaitu LED ke 1,8 kemudian LED 2,7 lalu LED 3,6
dan LED 4,5. Dengan masing masing jeda 300ms, begitu seterusnya atau berulang dimulai
dari pinggir.
• FLOWCHART TUGAS 4
Program untuk menjalankan LED dari pinggir ke tengah kemudian balik lagi dari tengah ke
pinggir yang diaktifkan dengan SW no 7
START
PUSH
BUTTON 7
LED
1,8 DELAY 300 ms
ON
LED
2,7
DELAY 300 ms
ON
LED
3,6 DELAY 300 ms
ON
LED
4,5
DELAY 300 ms
ON
LED
3,6 DELAY 300 ms
ON
LED
2,7
DELAY 300 ms
ON
LED
1,8 DELAY 300 ms
ON
END
Pada percobaan Tugas 4 ketika rangkaian dinyalakan dan SW no 7 ditekan maka LED akan
menyala bergantian dimulai dari pinggir kemudian ke tengah lalu kembali lagi dari tengah
ke pinggiryaitu LED ke 1,8 kemudian LED 2,7 lalu LED 3,6 dan LED 4,5 kemudian LED 3,6
lalu 2,7 dan kembali lagi ke LED 1,8. Dengan masing masing jeda 300ms, begitu seterusnya
atau berulang.
VIII. KESIMPULAN
Pada percobaan di atas dapat disimpulkan bahwa:
1. Pada percobaan ini PORTB difungsikan sebagai input dan PORTC difungsikan
sebagai output.
2. Pada percobaan ini, kita dapat belajar bagaimana mengambil data per bit. Dengan
menggunakan instruksi PINB.X, dengan X adalah nilai bit.
3. Pada percobaan ini kita dapat mengambil data dengan menggunakan SW push button,
setiap penekanan SW akan menampilkan pola LED tertentu.