Ajeng Triya Pradani (100533406902) Tanggal Percobaan: 28/01/2013 PTI494 Praktikum Mikroprocessor dan Teknik Antarmuka
Laboratorium Mikroprocessor S1 Pendidikan Teknik Informatika Fakultas Teknik Universitas Negeri Malang
Abstrak Praktikum modul I yaitu tentang mengantarmukakan mikrokontroler dengan LED. Percobaan ini mennggunakan PORT sebagai media koneksi input dan output sehingga dapat menghasilkan nyala pada lampu LED sesuai dengan program yang diinputkan. Bahasa C digunakan pada praktikum ini, sedangkan agar dapat menghasilkan nyala lampu sesuai kebutuhan kami menggunakan bilangan biner ataupun hexadesimal. Kata kunci: Mikrokontroler, PORT, LED. 1. PENDAHULUAN
Pada praktikum pertama kami yaitu mengenai antarmuka mikrokontroler dengan led. Kami mempelajari bagaimana cara mengantarmukakan mikrokontroler dengan rangkaian led. Selain itu juga memahami dan mempraktikkan langkah-langkah memprogram mikrokontroler untuk menyalakan led sesuai yang kita inginkan. Aplikasi CVR dan Khazama digunakan untuk mendukung praktikum ini. Matakuliah elektronika digital benar-benar menjadi dasar yang yang kuat bagi kami. Pengetahuan pembacaan bilangan biner juga menjadi acuan kami untuk mengerjakan latihan-latihan praktikum yang ada dalam modul, seperti konversi dari bilangan biner ke hexadesimal atau sebaliknya.
2.
STUDI PUSTAKA
2.1 LED
LED (Light Emmiting Diode) merupakan salah satu dioda yang memiliki lapisan fosfor sehingga dapat memancarkan cahaya saat diberi polaritas pada kedua kutubnya. Jenis LED ditentukan oleh cahaya yang diancarkan[2]. LED akan memancarkan cahaya apabila diberi tegangan listrik dengan konfigurasi bias maju. Kemampuan mengalirkan arus pada LED cukup rendah, yaitu maksimal 20 mA. Apabila LED dialiri arus lebih besar dari 20 mA maka LED akan rusak, sehingga pada rangkaian LED dipasang sebuah resisitor sebagai penghambat arus[3].
2.2 Mikrokontroler
Mikrokontroler adalah sebuah semikonduktor yang mengandung banyak transistor dalam ruang yang kecil. Mikrokontroler merupakan komponen yang dapat menyimpan program kontrol yang digunakan untuk mengendalikan berbagai komponen sesuai dengan tujuan pembuatannya [4]. Mikrokontroler Atmega8535 perlu diset isi register DDR dan PORT agar bisa digunakan sebagaimana mestinya[1]. Tabel dibawah ini merupakan konfigurasi pengaturan port I/O.
Tabel 2.2-1
DDR bit = 1 PORT bit = 1 PORT bit = 0 Output; High Ouput; Low
Untuk mengirim data byte dalam bentuk bilangan desimal ke PORTX (X = A, B, C, D) digunakan pernyataan sebagai berikut: PORTX = desimal;
Laporan Praktikum - Laboratorium Mikroprocessor S1 Pendidikan Teknik Informatika FT UM
PORTB = 128;
Untuk mengirim data byte dalam bentuk bilangan biner ke PORTX PORTX (X = A, B, C, D) digunakan pernyataan sebagai berikut: PORTX = 0bdata; PORTB = 0b10101010; Untuk mengirim data per bit ke PORTX.Y (X = A, B, C, D dan Y = 0, 1, 2, 3, 4, 5, 6, 7) digunakan pernyataan sebagai berikut: PORTX.Y = data; PORTB.1 = 0; Dimana data bisa berupa 0 atau 1.
3.
METODOLOGI
Catu Daya +5v b. c. Membuka program Code Vision AVR. Membuat project baru dengan inisialisasi PORTA sebagai output (DDRA = FFH) dan ouput value = 0 (PORTA=00H) sehingga pada program bagian inisialisasi PORTA terlihat sebagai berikut: PORTA=0x00; DDRA=0xff; d. Memnambahkan file header. #include <delay.h>
Laporan Praktikum - Laboratorium Mikroprocessor S1 Pendidikan Teknik Informatika FT UM
e.
Menulis dalam program utama, pernyataan berikut ini. //Program LED1 PORTA=0x0f; delay_ms(1000); PORTA=0xf0; delay_ms(1000);
f. g.
Mengamati nyala LED dan menggambarkan nyala LED tersebut. Mengulangi langkah c-f untuk program-program berikut. //Program LED2 PORTA=0b00001111; delay_ms(1000); PORTA=0b11110000; delay_ms(1000); //Program LED3 PORTA=0x55; delay_ms(1000); PORTA=0xaa; delay_ms(1000);
//Program LED4 PORTA=0b11100111; delay_ms(1000); PORTA=0b11011011; delay_ms(1000); PORTA=0b10111101; delay_ms(1000); PORTA=0b01111110; delay_ms(1000); PORTA=0b10111101; delay_ms(1000); PORTA=0b11011011; delay_ms(1000); //Program LED5 PORTA=0b00000001; delay_ms(1000); PORTA=0b00000010; delay_ms(1000);
Laporan Praktikum - Laboratorium Mikroprocessor S1 Pendidikan Teknik Informatika FT UM
PORTA.2=1; PORTA.1=1;
PORTA=0b00000100; delay_ms(1000); PORTA=0b00001000; delay_ms(1000); PORTA=0b00010000; delay_ms(1000); PORTA=0b00100000; delay_ms(1000); PORTA=0b01000000; delay_ms(1000); PORTA=0b10000000; delay_ms(1000);
4.
Telah terlihat jelas pada angka binernya yaitu: PORTA=0b11100111; delay_ms(1000); PORTA=0b11011011; delay_ms(1000); PORTA=0b10111101; delay_ms(1000); PORTA=0b01111110; delay_ms(1000); PORTA=0b10111101; delay_ms(1000); PORTA=0b11011011; delay_ms(1000); Dimana, angka biner 1=nyala dan 0=mati. Sehingga menghasilkan nyala lampu LED seperti berikut. LED5 PORTA=0b00000001; delay_ms(1000); PORTA=0b00000010; delay_ms(1000); PORTA=0b00000100; delay_ms(1000); PORTA=0b00001000; delay_ms(1000); PORTA=0b00010000; delay_ms(1000); PORTA=0b00100000; delay_ms(1000); PORTA=0b01000000; delay_ms(1000); PORTA=0b10000000; delay_ms(1000);
Laporan Praktikum - Laboratorium Mikroprocessor S1 Pendidikan Teknik Informatika FT UM
PORTA.2=1; PORTA.1=1;
Pernyataan PORTA.2=1 menunjukkan bahwa PORTA bit kedua diberi nilai 1 yang berarti led menyala. Begitu juga dengan pernyataan PORTA.1=1 menunjukkan bahwa PORTA bit ke-1 diberi nilai 1 yang berarti led menyala. Sehingga menghasilkan nyala lampu LED seperti berikut. b. c. Apakah persamaan dan perbedaan Program LED1 dan Program LED2? Persamaan: Menggunakan delay yang sama Menghasilkan hasil yang sama LED 1 menggunakan pernyataan bilangan hexadesimal, sedangkan LED2 menggunakan pernyataan bilangan biner. Instruksi apa yang digunakan untuk mengeluarkan data ke LED? Instruksi yang digunakan untuk mengeluarkan data ke LED adalah PORTX = (A, B, C, D) dengan menggunakan angka biner atau hexadesimal. d. Mengapa ada jeda waktu sekitar 1 detik antara tampilan LED yang pertama dengan yang berikutnya? Karena menggunakan pernyataan delay_ms(1000); dimana ms artinya adalah milisekon sehingga tampilan LED akan berjarak 1 detik.
Perbedaan:
5.
KESIMPULAN
Praktikum antarmuka mikrokontroler dengan LED ini, menggunakan bahasa C untuk memprogram hasil keluaran pada mikrokontroler. Pernyataan yang ditampilkan adalah berupa bilangan biner atau hexadesimal. Pada bilangan biner angka 1 menunjukkan bahwa lampu LED menyala, sedangkan angka 0 menunjukkan bahwa lampu LED mati. Apabila menggunakan bilangan hexadesimal maka untuk memahaminya dapat dikonversi dulu ke biner. Selain itu pernyataan delay_ms() menunjukkan jeda tampilan LED yang pertama dengan yang selanjutnya, dimana ms berarti milisekon.
DAFTAR PUSTAKA [1] [2] [3] [4] Dyah Lestari, Petunjuk Praktikum, Universitas Negeri Malang, 2012. http://www.unhas.ac.id/elektro/elda/?p=78, 3 Januari 2013, 6.50. http://elektronika-dasar.com/komponen/led-light-emitting-dioda/, 3 Januari 2013, 7.07. http://mbahtiar.files.wordpress.com/2011/01/microkontroler.pdf, 3 Januari 2013, 7.51.