Dalam artikel kali ini ane mo kembali lagi ke basic IO mikrokontroler AVR. Yah, dimanapun kalau seorang pemula yang ingin belajar mikrokontroler apapun jenisnya, yang pertama dipelajari adalah operasi bit dan byte. Misalkan dengan menyalakan dan mematikan port yang dihubungkan dengan LED.

Wokey, bwt yang baru ingin nyemplung di dunia mikrokontroler dan bingung mau mulai dari mana.. coba latihan LED001 ini..

LED AVR Microcontroller

Dalam program latihan ini kita akan belajar bagaimana merubah logika output port dan menampilkannya dengan LED. Program akan merubah logika PORTC.0 dengan instruksi “~” one’s complement (unary). Saat pertama mikro dihidupkan, PORTC.0 dalam logika HIGH dan setelah satu detik akan berubah LOW.

/*
Seri latihan mikrokontroler AVR -WWW.NUBIELAB.COM-
Chip type           : ATmega16
Clock frequency     : 4.000000 MHz
Compiler            : CodeVisionAVR V2.03.9
Program name        : LED001
Programmer          : Herlambang Aribowo
 
Happy Programming ^^"
*/
 
#include <mega16.h>     //mikrokontroler preprocessor
#include <delay.h>      //delay library
void main(void){        //main function
  PORTC=0x01;           //set PORTC.0
  DDRC=0x01;            //PORTC.1 sebagai output (pullup resistor ON)
  while (1){            //looping forever bisa juga dengan for(;;)
    delay_ms(1000);     //delay 1000 milli second
    PORTC.0 = ~PORTC.0; //membalik logika PORTC.0 misal 1 jadi 0 dan kebalikannya.
  };                    //maka PORTC.0 akan berkedip dengan jeda 1detik.
}

dicoba2 dolo.. diutak atik.. dan silahkan download file project komplit sama simulasi proteusnya disini

Tagged with:  

10 Responses to Latihan Microcontroller AVR – LED001

  1. rio says:

    mas klo mau di batasi kedipnya 5 kali trus mati gmn?

  2. Herlambang says:

    ini, coding untuk kedip 5kali terus delay 5detik baru kedip lagi 5kali
    code ini ditusilkan dalam fungsi loop while (1){}

    for (i=0;i<10,i++){
        PORTC.0 = ~PORTC.0
        delay_ms(1000);
        {
    delay_ms(5000);

    kenapa loopnya jumlahnya 10?? karena berkedip kan ada periodenya jadi jumlah logika mati dan nyala dikali dua, biar terbentuk periode 2detik ON/OFF. :D

    kalo hanya kedip 5kali terus mati gk ngapa-ngapain mikronya? kok aneh kayaknya hehe.. tapi gampang saja tinggal fungsi diatas dituliskan diatas loop while (1){} dalam fungsi main(). Maka kedip 5kali hanya akan dijalankan satu kali dan untuk selanjutnya mikro akan melakukan looping terus menerus pada loop while (1).

  3. rio says:

    ok syukron ya mas.. ^^

  4. andar says:

    mas, kl LEDnya bergerak dari kanan ke kiri (atau sebaliknya) gmn?

  5. Herlambang says:

    @ andar.. bisa ndar udeh ane post malahan…
    silahkan langsung ke TKP : http://nubielab.com/elektronika/mikrokontroler/latihan-microcontroller-avr-led002

  6. Galih Wr says:

    Kalau mau belajar dan kursus secara detail maupun menyeluruh mengenai Elektronika trutama: Microcontroller atau Microchip (IC) ada dimana untuk didaerah Surabaya :roll: :shock: ?

  7. angga says:

    kancane om subuh kurniawan yah om?

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

[+] kaskus emoticons