Sabtu, 02 Desember 2017

modul 1 mikro

[menuju akhir]



MODUL I
MIKROKONTROLLER ATMEGA 128
a. Merangkai dan menguji output pada mikrokontroller ATMEGA 128 
b. Merangkai dan menguji input pada mikrokontroller ATMEGA 128 
c. Merangkai dan menguji I/O pada mikrokontroller ATMEGA 128 
           
2. Alat dan Bahan  [kembali]
         a.    
Module AT MEGA 128
         b.    LED
        c.    Switch

3. Dasar Teori 

[kembali]
A. Mikrokontroller ATMEGA 128

Mikrokontroller ATMEGA 128 merupakan mikrokontroller keluarga AVR yang mempunyai kapasitas flash memori 128KB. AVR (Alf and Vegard’s Risc Processor) merupakan seri mikrokontroler CMOS 8-bit buatan ATEMEL inc, berdasarkan arsitektur RISC (Reduced Instruction Set Computer). Secara umum, AVR dapat terbagi menjadi 4 kelas, yaitu keluarga ATtiny, keluarga AT90Sxx, keluarga AT-Mega, dan AT86RFxx. Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral, dan fungsinya. Dari segi arsitektur dan instruksi yang digunakan, bisa dikatakan hampir sama. Semua jenis AVR dilengkapi dengan flash memori sebagai memori program. Kapasitas dari flash memori ini berbeda antara chip yang satu dengan chip yang lain. Tergantung dari jenis IC yang digunakan. Untuk flash memori yang paling kecil adalah 1 kbytes (ATtiny11, ATtiny12, dan ATtiny15) dan paling besar adalah 128 kbytes (AT-Mega128). Berikut ini adalah spesifikasi Mikrokontroler AVR ATMega-128 dan konfigurasi pin ATMEGA 128. 

1. Saluran I/O sebanyak 56 buah, yaitu Port A, Port B, Port C, Port D, Port E, Port F dan Port G.
2. ADC 10 bit sebanyak 8 saluran.
3. 2 buah Timer/Counter 8 bit dan 2 buah Timer/Counter 16 bit.
4. Dua buah PWM 8 bit.
5. Watchdog Timer dengan osilator internal.
6. Internal SRAM sebesar 4 kbyte.
7. Memori flash sebesar 128 kBytes.
8. Interupsi Eksternal.
9. Port antarmuka SPI.
10. EEPROM sebesar 4 kbyte.
11. Real time counter.
12. 2 buah Port USART untuk komunikasi serial.
13. Enam kanal PWM.
14. Tegangan operasi sekitar 4,5 V sampai dengan 5,5V



Konfigurasi pin ATMEGA-128

B. LED


LED adalah suaatu semikonduktor yang memancarkan cahaya,  LED mempunyai kecenderungan polarisasi. LED mempunyai kutub positif dan negatif (p-n) dan hanya akan menyala bila diberikan arus maju. Ini dikarenakan LED terbuat dari bahan semikonduktor yang hanya akan mengizinkan arus listrik mengalir ke satu arah dan tidak ke arah sebaliknya. Bila LED diberikan arus terbalik, hanya akan ada sedikit arus yang melewati  LED. Ini menyebabkan LED tidak akan mengeluarkan emisi cahaya.
4. Tugas Pendahuluan [kembali]
        Kondisi : Dengan input switch pertama,LED bergerak dari kiri ke kanan dan kembali ke kiri delay 500 ms dan dengan input switch kedua LED blink sebanyak 2 kali. Kondisi awal semua LED mati.

5. Flowchart [kembali]


6. Listing Program [kembali]
#include <mega128.h>                                   // untuk mengaktifkan library atmega128
# include <delay.h>                                        // untuk mengaktifkan library delay
void main(void)                                                // Fungsi utama
{                                                                            // Kurung pembuka
PORTE=0x00;                                                     // Mendeklarasikan kondisi awal PORT E dalam keadaan mati
DDRE=0x00;                                                        // Mendeklarasikan PORT E sebagai input
PORTC=0x00;                                                     // PORTC kondisi awalnya dalam keadaan mati
DDRC=0xff;                                                      // PORTC merupakan OUTPUT
while(1)                                                               // Fungsi Perulangan
{
if (PINE.0 == 1 && PINE.1 == 0)                                         // Jika PINE.0 bernilai 1 dan PINE.1 bernilai 0
{
PORTC=0b00000001 ;                                                      // 1 led di PORTC hidup
delay_ms(100);                                                           // led hidup bergantian dengan bergeser ke kiri
PORTC= 0b00000010;                                                      
delay_ms(100);
PORTC= 0b00000100;  
delay_ms(100);
PORTC= 0b00001000;  
delay_ms(100);
PORTC= 0b00010000;  
delay_ms(100);
PORTC= 0b00100000;  
delay_ms(100); 
PORTC= 0b01000000;  
delay_ms(100); 
PORTC= 0b10000000;  
delay_ms(100);                                                                // led dilanjutkan hidup bergeser ke kanan
PORTC= 0b01000000;  
delay_ms(100);
PORTC= 0b00100000;  
delay_ms(100); 
PORTC= 0b00010000;  
delay_ms(100);
PORTC= 0b00001000;  
delay_ms(100);
PORTC= 0b00000100;  
delay_ms(100);
PORTC= 0b00000010;  
delay_ms(100);                                                        //delay 100ms
}

else if (PINE.0==1 && PINE.1 == 1)                                                    // Jika PINE.0 bernilai 1 dan PINE.1 bernilai 1
{            
PORTC=0b01100011;                                                      // Maka 4 led di PORTC akan hidup
delay_ms(100);
PORTC=0b01010101;
delay_ms(100);
PORTC=0b11010110;
delay_ms(100);                                                // delay 100 ms
}
else                                                                        // jika tidak
{
PORTC=0x00;                                                     // led di PORTC akan mati
delay_ms(100);                                                 // delay 100ms
 } }                                                                         //Kurung penutup

7. Video Simulasi Rangkaian [kembali]
8. Analisa hubungan Rangkaian dan Program [kembali]


Dari praktikum ini dapat kita lihat bahwa antara rangkaian dengan program saling berhubungan. Jika program salah maka rangkaian tidak akan bisa disimulasikan dan begitu juga sebaliknya. Port yang digunakan pada rangkaian harus terlebih dahulu di deklarasikan diprogram sebagai port input atau output. Pada program diatas portc sebagai output dan porte sebagai input. Led digunakan sebagai penjelas dari output. 
9. Link Download [kembali]
Download Video Rangkaian DOWNLOAD
Download HTML DOWNLOAD
Download Listing Program DOWNLOAD
Download Simulasi Rangkaian DOWNLOAD


[menuju awal]

Tidak ada komentar:

Posting Komentar