Percobaan 2 Modul 3 Motor Stepper





1. Hardware [Kembali]


2. Rangkaian Simulasi [kembali]



3. Flowchart [kembali] 


4. Listing Program  [kembali]
#include <mega128.h>                       // Library atmega 128
#include <delay.h>                             // Libaray delay
#include <alcd.h>                               // Library LCD
int pin[]={1,2,4,8};                             // Deklarasi pin digunakan
int i;                                                     // Deklarasi nilai I;
void putar()                                         // Fungsi putar
{
    for( i=4;i>0;i--)                                // Perulangan
         {     
         lcd_gotoxy(1,1);                        // Posisi tulisan pada LCD
         lcd_putsf("Putar");                     // Mencetak tulisan pada LCD
         delay_ms(50);                            // Delay selama 50 ms
         lcd_clear();                                 // Membersihkan /reset LCD
         PORTD= pin[i];                         // Menjalankan motor sesuai biner
         }
}
void keypad()
{
PORTE=0b1111011;                          // PORTE sebagai keypad
delay_ms(1);                                       // Delay selama 1 ms
if (PINE.4 == 0)                                 // Jika PINE.4 ditekan dengan aktif low
  {           
    lcd_gotoxy(1,0);                             // Posisi kata yang tampil pada LCD
    lcd_putsf("Anda Tekan 1");            // Menulis kata pada LCD
    putar();                                            // Memanggil fungsi putar
  }
}
void main(void)                                  // Fungsi utama dalam program
{         
    PORTD=0x00;                                // PORTD dengan kondisi awal aktif low
    DDRD=0xff;                                  // PORTD ditetapkan sebagai ouput
    PORTF=0x00;                                // PORTF dengan kondisi awal aktif low
    DDRF=0x00;                                  // PORTF ditetapkan sebagai input
    PORTE=0xff;                                 // PORTE dengan kondisi awal aktif high
    DDRE=0x0f;                                  // PORTE ditetapkan sebagai input dan output
    lcd_init(16);                                    // Inisialisasi tipe LCD yang digunakan
   
    while(1)                                           // Looping dalam program
    {  
       keypad();                                      // Fungsi keypad     
       if (PINB.0 == 1)                          // Jika PINF.0 aktif high saat ditekan
        {                 
         putar();                                       // Memanggil fungsi putar
        }        
    }

}
 5. Video  [kembali]


6. Link Download  [kembali]

download video percobaan disini

Tidak ada komentar:

Posting Komentar