Microcontroller PART IV


Tiap orang logika berfikirnya pasti berbeda - beda, sesuai kreatifitas masing-masing, jadi kalo programnya tidak sama dengan yang lain, ya.. itu bukan masalah. Yang penting masalah terselesaikan..
Lanjut.. Mari kita belajar penggunaan prosedur.
Contoh:

#include <mega16.h>
#include <delay.h> 

int i;  // ini variable i dgn type data integer.
unsigned char nyala[9]= {0b00000000,0b00000001,
                         0b00000010,0b00000100,
                         0b00001000,0b00010000,
                         0b00100000,0b01000000,0b10000000};
void led_jalan(){

      for(i=0;i<9;i++){   // ulangi i=0 sd i-8  
            PORTC=nyala[i];    
            // PORTC = data "nyala" ke "i"
            delay_ms(500);   
        };
    };
                       
void main(void)
{
    // komentar lama sudah di hapus,tidak usah tanya lagi.
    DDRC=0xff;   
                                                         
    while (1){   
              
        led_jalan();

        }                 
     
}
Hayo.. apanya yang berubah???.. silahkan di pahami.
Terakhir kita modifikasi supaya bisa berubah arah nyala lednya jika tombol di pencet. Kita gunakan tombol yang ada di PINB.0 dan PINB.1 . Tombol terhubung dengan ground, artinya jika tombol PINB.0 di tekan makan PINB.0 berlogika 0. Jika tidak di tekan PINB.0 tidak berlogika apa-apa (mengambang). Supaya ketika tidak di tekan berlogika 1. Maka kita perlu mengaktifkan resistor pull-up internal.
Contoh:
#include <mega16.h>
#include <delay.h> 
int i,jalan;  // variable i dan jalan dgn type data integer.

unsigned char nyala[9]= {0b00000000,0b00000001,
                         0b00000010,0b00000100,
                         0b00001000,0b00010000,
                         0b00100000,0b01000000,0b10000000};
void led_jalan(unsigned char arah){
      for(i=0;i<9;i++){   // ulangi i=0 sd i-8  
            if (arah == 0){       // jika nilai arah =0;
                PORTC=nyala[i];    
                // PORTC = data "nyala" ke "i" 
            }else{                // jika nilai bukan =0;
                PORTC=nyala[8-i];    
                // PORTC = data "nyala" ke "8 dikurangi i" 
            }
            delay_ms(500);
            if (PINB.0==0 || PINB.1==0){ 
                // jika tombol di PINB.0 atau PINB.1 ditekan
                break;   // keluar dari for.   
            }  
        }
    };
                
      
void main(void)
{
    DDRC=0xff;       
   
    DDRB=0b11111000; // PORTB.0 - PORTB.3 sbg input
    PORTB=0b00000111; // aktifkan resistor pull-up internal 
   
    jalan=0;     // variable jalan awalnya bernilai 0
                                                              
    while (1){  
        if (PINB.0==0){ // jika tombol di PINB.0 ditekan
            jalan=0; // variable jalan diberi nilai 0 
            }  
        if (PINB.1==0){ // jika tombol PINB.1 ditekan
            jalan=1; // variable jalan diberi nilai 1 
            }
        if (jalan==0){  // jika variable jalan = 0
            led_jalan(0);   
            // panggil prosedur  led_jalan(nilai arah = 0);
        }else if(jalan==1){
            led_jalan(1); 
            // panggil prosedur  led_jalan(nilai arah = 1);

              };                  
       
        };                 
     
};

0 Response to " Microcontroller PART IV "

Welcome In Kode Blogger

Contoh Sliding Login Dengan JQuery

Disamping ini adalah contoh Sliding Login menggunakan JQuery. Login Form Disamping hanya Contoh dan tidak dapat digunakan layaknya Login Form FB, Karena Blog ini terbuka untuk umum tanpa perlu mendaftar menjadi Member

Tutorial Blog

Untuk membuatnya Silahkan : Klik Disini

Member Login

Lost your password?

Not a member yet? Sign Up!