Anda di halaman 1dari 5

Program Animasi LED Mikrokontroler CodeVision AVR

01.22 KI SABLENG 3 COMMENTS

Program animasi led mikrokontroler adalah penggabungan dari program running led dan program blink led. Ya ini hanyalah sedikit berbagi untuk yang pengen belajar mikrokontroler, tapi maaf hanya sederhana. Buat yang sudah master, mungkin sudah lewat kalo cuma gini tok peaceAnimasinya hanya berjalan ke kana, ke kiri trus kedip-kedip,,,heeeeMikrokontroler yang saya gunakan adalah ATMEGA 8535 dengan bahasa c memanfaatkan CodeVision AVR. Beikut ini gambar rangkaiannya :

Trus langsung lanjut source code program ya : buat dulu inisialisasi/definisi variabel : #include #include int i;

kemudian dilanjut membuat definisi fungsi : void blink () {PORTC=0x00; delay_ms(400); PORTC=0xff; delay_ms(400); PORTC=0x00; delay_ms(400); PORTC=0xff; delay_ms(400); }

void kanan () {PORTC=0b10000000;

delay_ms(400); for (i=0;i<7;i++) {PORTC>>=1; delay_ms(400); }}

void kiri () {PORTC=0b00000001; delay_ms(400); for (i=7;i>0;i--) {PORTC<<=1; delay_ms(400); }}

Selanjutnya tinggal dipanggil dah fungsinya heeeee while (1) { kanan(); kiri(); blink(); };

Program Counter Seven Segment Mikrokontroler CodeVision AVR


01.21 KI SABLENG 2 COMMENTS

Counter seven segment yang dimaksud disini adalah aplikasi penghitung dengan display berupa seven segment....heeee (maap tapi ini ndeso dan katrok karena bikina Ki Sableng...Penghitungan hanya bisa 0 sampai 99,,,soalnya seven segment ku cuma 2 digit,,,heee...(Sssttt ojo ngomong sopo2 lek iku barang leles, bekase konco2,,,gak modal wkwkwk)..O iya,,,seven segment yang tak pake adalah common katoda/common ground lek bahasaku...heee maap kalo salah bahasa, maklum ndeso...Katoda dihubungkan PORTD.1 dan PORTD.0, sedangkan anoda dihubungkan PORTC mikrokontroler ATMega 8535...La ini perbedaan common katoda dan common anoda... (gambar tak ambil dari tetangga sebelah heee thelearningpit.com) ...

Yang tak pakai seven segment common katoda double, jadi ada dua katoda, makanya butuh 2 pin untuk mengaturnya...Untuk menyalakan nya katoda harus low dan anoda harus high...heeee...lanjut programnya aja ya, mohon juga dikoreksi,,,o iya maap ya bukan maksud menggurui tapi cuma share aj...heee..

Pertama saya gunakan CodeWizard untuk generate project, PORTC, PORTD.0, PORTD.1 setting sebagai output...

Kedua,,,saya definisikan variabel yang digunakan : #include #include unsigned char angka[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; int digit1,digit2,i;

Ketiga,,,saya buat dulu fungsi counter nya bro : void counter_up () { for (digit1=0;digit1<10;digit1++) {for (digit2=0;digit2<10;digit2++) {for (i=0;i<100;i++) { PORTD.1=0; PORTD.0=1; PORTC=angka[digit1]; delay_ms(1); PORTD.1=1; PORTD.0=0; PORTC=angka[digit2];

delay_ms(1); } } } }

Keempat,,,tinggal panggil aj fungsinya , heeee while (1) { counter_up (); };

Anda mungkin juga menyukai