Ads 468x60px

Program Counter Digital Input Mikrokontroler CodeVision AVR





Counter | Mikrokontroler | AVR | Program counter/pencacah yang dishare ini difungsikan untuk mencacah input digital pada mikrokontroler. ATMega16 yang digunakan untuk program ini merupakan keluarga AVR yang mempunyai 3 buah fasilitas Timer/Counter , yaitu Timer0 (8 bit), Timer1 (16 bit), dan Timer2 (8 bit). Dalam aplikasi ini digunakan Timer0 (8 bit), sehingga range pencacahan adalah 0 - 255 (00 – ff). Input yang dicacah oleh Timer/Counter adalah dari eksternal input PORTB.0 dengan mode operasi normal. Value dari timer di set FB (kode hexa), sehingga saat sudah mencacah 5 kali Timer/Counter akan overflow dan terjadi interupt, maka routine Timer0 Overflow Interupt akan dieksekusi. 

 

Rangkaian di atas digunakan untuk menguji program, yaitu dengan menekan pushbutton 5 kali, maka LED akan berkedip. Mode input yang dicacah adalah Falling Edge, sehingga PORTB.0 harus di set kondisi normal high (1) dan ketika pushbutton ditekan terjadi Falling Edge. 
 
Langsung saja kita coba langkah berikut ya :

1.    Menggunakan Code Wizard, dikonfigurasi Timer0 sebagai Counter, dengan konfigurasi berikut, Clock Source (T0 pin Falling Edge), Mode (Normal top=FFh), Overflow interupt (On), Value (FB).


2.    Mengkonfigurasi PORTB sebagai input normal high dan PORTA sebagai output.
                    PORTA=0x00;
                    DDRA=0xFF;

                    PORTB=0xff;
                    DDRB=0x00;


3.    Mengisikan kode berikut pada routine timer0 overflow interupt.
                    interrupt [TIM0_OVF] void timer0_ovf_isr(void)
                    {
                    TCNT0=0xFB;
                        PORTA = 0xff; delay_ms(500); PORTA = 0x00; delay_ms(500);
                        PORTA = 0xff; delay_ms(500); PORTA = 0x00; delay_ms(500);
                    }


4.    Compile dan download ke mikrokontroler…Selamat mencoba…hehehe

 

Yaaa…itu hanya sedikit sharing pengalaman, heeeee…Cuma sederhana saja,,,maap yaa…

Salam damai, senajan kenthir nanging kebak pikir
Semoga bermanfaat….