MODUL II ANTARMUKA MIKROKONTROLER DENGAN TOGGLE SWITCH
Imam Arief SN (110534406826)TanggalPercobaan: 20/09/2012 PTE408 – Praktikum Mikroprosesor
Laboratorium Mikroprosesor S1 Pendidikan Teknik Elektro–Fakultas Teknik
Universitas Negeri Malang
Abstrak
Mikokontroler sebagai alat pemproses program untuk menjalankan perintah menggunakan bahasa mesin. Dengan menggunakan toggle switch untuk psrsmeter input dengan cara
memasukan inputan program
sebelumnya pada mikrokontroler akan terlihat hasil keluarannya dari nyala atau tidaknya lampu LED.
Kata kunci: mikrokontroler, LED, toggle switch.
1. PENDAHULUAN
Mikrokontroler merupakan keluarga mikroprosesor yaitu sebuah chip yang dapat melakukan pemprosesan data secara digital sesuai dengan perintah bahasa computer yang diberikan perusahaan pembuatnya. Banyak aplikasi yang dapat dibangun berbasis mikrokontroler, hal ini dikarenakan bentuk yang Compaq san sederhana untuk membangun suatu system berbasis mikrokontroler.
Saklar toggle merupakan bentuk saklar yang paling sederhana, dioperasikan secara manual dengan sebuah tuas. Menurut konvensinya, posisi tuas kebawah mengindikasikan pada keadaan off atau terbuka, sedangkan apabila tuas keadaan keatas diindikasi saklar dalam kondisi on atau tertutup/terhubung.
Untuk memfungsikan toggle switch supaya bisa menyalakan LED sesuai keinginan diperlukan program-program yang dapat didownload kedalam memori chip. Dengan demikian LED bisa menyala sesuai dengan bit pada toggle switch.
2. STUDI PUSTAKA
Saklar Toggle adalah saklar elektrik yang digerakkan secara manual oleh batang mekanik. Saklar toogle tersedia dalam berbagai bentuk dan ukuran, serta digunakan dalam berbagai aplikasi. Gambar dibawah memperlihatkan bentuk fisik dan symbol saklar toggle.
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. Kedelapan rangkaian saklar tersebut dihubungkan ke sebuah soket jumper bernama input. Berikut gambar rangkaian yang menggunakan toggle switch
3. METODOLOGI
Alat dan bahan yang digunakan:
1 set PC/Laptop untuk memprogrogram melalui Code Vision dan Khazama
1 buah ISP Downloader AVR 1 buah minimum AVR 1 buah I/O
1 buah kabel printer USB 2 buah kabel pita hitam
Prosedur:
Soket jumper PORTB pada minimum system dihubungkan dengan soket jumper port Output pada I/O. Soket jumper PORTC pada minimum system dengan soket jumper INPUT I/O
Buka Program Code Vision AVR
Membuat projek baru dengan inisialisasi 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:
PORTB=0x00; DDRB=0xff; PORTC=0xff; DDRC=0x00;
Tambahkan delarasi variable local dalam program utama:
unsigned char data_in;
Lakukan Percobaan sesuai perintah pada Modul
4. HASIL DAN ANALISIS
Tabel Percobaan Program Saklar1
No. Saklar LED
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 3 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 4 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 5 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 6 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 7 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 8 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 9 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Tabel Percobaan Program Saklar2
No. Saklar LED
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 2 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 3 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 5 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 7 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1) Buat Program menggunakan fungsi if: a. Jika switch bit 0 berlogika maka
LED bit 4 menyala
while (1)
{ if(PINC.0==1) PORTB.4=1; }
b. Jika switch Bit 1 berlogika 1 maka LED nit 7 menyala
while (1)
{ if(PINC.1==1) PORTB.7=1; }
c. Jika switch bit 2 berlogika 1 maka LED menyala dengan konfigurasi ON-OFF-ON-OFF-ON-OFF-ON-OFF (bit7-bit0)
while (1)
{ if(PINC.2==1)
PORTB=0b10101010; }
d. Jika switch bit 3 berlogika 1 maka LED menyala dengan konfigurasi OFF-ON-OFF-ON-OFF-ON-OFF-ON (bit7-bit0)
while (1)
{ if(PINC.3==1)
PORTB=0b01010101;}
e. Jika switch bit 4 berlogika 1 maka LED menyala semua
while (1) {
if(PINC.4==1) PORTB=0xf; }
f. Jika switch bit 5 berlogika 1 maka
LED mati semua
while (1) {
if(PINC.5==1) PORTB=0x00; }
g. Jika switch bit 6 berlogika 1 maka LED menyala berurutan mulai dari bit7 lalu kembali lagi ke bit0 dengan delay 1 detik
while (1) {
if(PINC.6==1){
PORTB=0b00000001; delay_ms(1000); PORTB=0b00000010; delay_ms(1000); PORTB=0b00000100; delay_ms(1000); PORTB=0b00001000; delay_ms(1000); PORTB=0b00010000; delay_ms(1000); PORTB=0b00100000;
delay_ms(1000); PORTB=0b01000000; delay_ms(1000); PORTB=0b10000000; delay_ms(1000); PORTB=0b00000001; delay_ms(1000);}
h. Jika switch bit 7 berlogika 1 maka LED akan menyala dengan nilai sama dengan dua digit terakhir NIM anda. (NIM=26)
while (1) {
if(PINC.7==1)
PORTB=0b00011010; }
2) Buat Program menggunakan fungsi if-else:
a. Jika switch bit 0 berlogika maka LED bit 4 menyala
while (1)
{ if(PINC.0==1) PORTB.4=1;
else
PORTB.4=0; }
b. Jika switch Bit 1 berlogika 1 maka LED nit 7 menyala
while (1)
{
if(PINC.1==1) PORTB.7=1;
else
PORTB.7=0; }
c. Jika switch bit 2 berlogika 1 maka LED menyala dengan konfigurasi ON-OFF-ON-OFF-ON-OFF-ON-OFF (bit7-bit0)
while (1)
{ if(PINC.2==1)
PORTB=0b10101010; else
PORTB=0b00000000; }
d. Jika switch bit 3 berlogika 1 maka LED menyala dengan konfigurasi OFF-ON-OFF-ON-OFF-ON-OFF-ON (bit7-bit0)
while (1)
{ if(PINC.3==1)
PORTB=0b01010101; else
PORTB=0b00000000; }
e. Jika switch bit 4 berlogika 1 maka LED menyala semua
while (1)
{ if(PINC.4==1) PORTB=0xf; else
PORTB=0x00; }
f. Jika switch bit 5 berlogika 1 maka
LED mati semua
while (1) {
if(PINC.5==1) PORTB=0x00; else
PORTB=0x00; }
g. Jika switch bit 6 berlogika 1 maka LED menyala berurutan mulai dari bit7 lalu kembali lagi ke bit0 dengan delay 1 detik
while (1) {
if(PINC.6==1){
PORTB=0b00000001; delay_ms(1000); PORTB=0b00000010; delay_ms(1000); PORTB=0b00000100; delay_ms(1000); PORTB=0b00001000; delay_ms(1000); PORTB=0b00010000; delay_ms(1000); PORTB=0b00100000; delay_ms(1000); PORTB=0b01000000; delay_ms(1000); PORTB=0b10000000; delay_ms(1000); PORTB=0b00000001; delay_ms(1000); else
PORTB=0x00; }
h. Jika switch bit 7 berlogika 1 maka LED akan menyala dengan nilai sama dengan dua digit terakhir NIM anda.(26)
while (1) {
if(PINC.7==1)
PORTB=0b00011010; else
PORTB=0x00; }
3) Buat program keseluruhan:
while(1) {
A1=PINC.0; A2=PINC.1; A3=PINC.2; A4=PINC.3; A5=PINC.4; A6=PINC.5; A7=PINC.6; A8=PINC.7; A9=PINC;
if (A1 == 1) {
PORTB=0x10;} else if(A2==1){ PORTB=0x80;} else if (A3==1){ PORTB=0xaa;} else if (A4==1){ PORTB=0x55;} else if (A5==1){ PORTB=0xf;} else if (A6==1){ PORTB=0x00;} else if (A7==1){ PORTB=0x01; delay_ms(1000); PORTB=0x02; delay_ms(1000); PORTB=0x04; delay_ms(1000); PORTB=0x08; delay_ms(1000); PORTB=0x10; delay_ms(1000); PORTB=0x20; delay_ms(1000); PORTB=0x40; delay_ms(1000); PORTB=0x80; delay_ms(1000); PORTB=0x40; delay_ms(1000); PORTB=0x20; delay_ms(1000); PORTB=0x10; delay_ms(1000); PORTB=0x08; delay_ms(1000); PORTB=0x04; delay_ms(1000); PORTB=0x02; delay_ms(1000); PORTB=0x01; delay_ms(1000); }
else if (A8==1){
PORTB=0b00011010;} else if (A9==0){
PORTB=0x00;}
5. ANALISA
Program menggunakan fungsi If hanya satu perintah yang dijalankan, sedangkan
fungsi if-else perintah yang diinputkan bisa lebih dari satu pernyataan.
6. 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.
DAFTARPUSTAKA
[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