MODUL 1

[Home]
[Go to Bottom]


Modul 1
Mikrokontroler AT MEGA 128

1. Tujuan [kembali]
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. 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. LCD


berikut penjelasan kakinya yaitu:

3. Tugas Pendahuluan [kembali]
     Menampilkan tulisan bergerak dari kiri ke kanan saat menekan salah satu switch

4. Video [kembali]


5. Flowchart [kembali]


6. Listing Program [kembali]

#include <mega128.h>
#include <delay.h>
// Alphanumeric LCD Module functions
#include <alcd.h>

// Declare your global variables here
char kolom = 0;
void main(void)
{
PORTA=0x00;
DDRA=0xFF;
PORTB=0x00;
DDRB=0x00;
PORTC=0x00;
DDRC=0x00;
PORTD=0x00;
DDRD=0x00;
PORTE=0x00;
DDRE=0x00;
PORTF=0x00;
DDRF=0x00;
PORTG=0x00;
DDRG=0x00;
lcd_init(16);

while (1)
      {
      // Place your code here
       for (kolom=0; kolom<=15; kolom++)
       {                               
       if(PINB.0==1)  // keadaan switch 1 aktif high
           { 
            lcd_clear();
            lcd_gotoxy(kolom,0);          
            lcd_putsf("Ini");    // pada lcd akan tampil karakter
            lcd_gotoxy(kolom,1); 
            lcd_putsf("Switch Pertama");
            delay_ms(5);
            } 
       else if(PINB.1==1) // keadaan switch 2 aktif high
          {
          lcd_clear();
          lcd_gotoxy(kolom,0);          
          lcd_putsf("Ini");    // pada lcd akan tampil karakter
          lcd_gotoxy(kolom,1); 
          lcd_putsf("Switch Kedua");
          delay_ms(5);
          }
          }          
      }
}

7. Analisa [kembali]
      Tujuan dari tugas pendahuluan kali ini adalah bagaimana membuat tulisan di LCD bergerak dari kiri ke kanan. Dari program dapat dilihat, terdapat dua kondisi yaitu sw1 hidup sw2 mati dan sw1 mati sw2 hidup. Dalam rangkaian juga hanya terlihat ada dua switch. Dalam program dan rangkaian, hanya dua port yang digunakan yaitu PORT A dan PORT B. Dimana PORT B sebagai input dan PORT A sebagai output. Input disini yaitu keadaan dari switch. Outputnya yaitu berupa tulisan yang bergerak dari kiri ke kanan. 

8. Link Download [kembali]
    Link Rangkaian, Flowchart, Video, dan Listing : Disini
    Link Html                                        : Disini



Posting Komentar