Kata Kunci —AVR, timer, counter, interrupt, delay. Pengaturan prilaku pin 0C0 (misalnya untuk mode non-PWM)
(Hal. 84)
I. PENDAHULUAN
Praktikum ini bertujuan memahami datasheet ATMega 8535,
mampu membuat aplikasi timer/counter dan interrupt pada
AVR dengan menggunakan bahasa pemrograman C pada
WinAVR dan mampu membuat aplikasi eksternal interrupt
pada AVR dengan menggunakan bahasa pemrograman C pada Pengaturan sumber (Hal.85)
WinAVR. Dengan pemahaman yang ditanamkan diharapkan
praktikan dapat memahami secara lengkap dan dapat
melakukan pengaplikasian untuk pengaturan mikrokontroler
tingkat lanjut.
Gambar dan tabel berikut ini dikutip dari datasheet ATMega 8535 Register-register penting (Hal.85)
#include <avr/io.h>
#define F_CPU 7372800UL
#include <util/delay.h>
#include <avr/interrupt.h>
void init_int(void);
ISR(TIMER1_OVF_vect)
{
Lakukan proses download ke AVR melalui WinAVR, unsigned char i;
dan lakukan analisis PORTA=0xFF;
_delay_ms(200);
TIFR=(1<<TOV1);
#include<avr/io.h> TCNT1H=0xE3;
#include<avr/io.h> TCNT1L=0xDF;
#define F_CPU 7372800UL // 8MHz }
#include <util/delay.h> int main(void)
void init_tim(void); {
int main(void) init_int();
{ DDRA=0xFF;
init_tim(); while (1)
DDRA=0xFF; {
while (1) PORTA = 0b01010101;
{ _delay_ms(100);
//penentuan nilai awal timer PORTA = 0b10101010;
_delay_ms(100);
TIMSK=0b000100;
}
return 0;
}
void init_int(void)
{
TIMSK=0b000000;
TCCR1B=0b00000101; //prescalar 1024
TCNT1H=0xE3;
TCNT1L=0xDF;
sei();
}
TABEL 1.3 SOURCE CODE PERCOBAAN 3
{
PORTA = 0x0F;
GAMBAR 1.2 KONDISI AWAL LED (0,1,2,3) MENYALA 0.5
Delay(); DETIK
PORTA = 0xF0;
Delay();
}
TCCR1A = 0;
TCCR1B = 0b00001100;
TABEL 1.5 SETTING PENGGUNAAN PRESCALER
#include <avr/io.h>
#define F_CPU 7372800UL
#include <util/delay.h>
#include <avr/interrupt.h>
void init_int(void);
ISR(TIMER1_OVF_vect)
{
unsigned char i;
PORTA=0xFF;
_delay_ms(200);
TIFR=(1<<TOV1);
TCNT1H=0xE3;
TCNT1L=0xDF;
}
int main(void)
{
init_int();
DDRA=0xFF;
while (1)
{
PORTA = 0b01010101;
_delay_ms(100);
PORTA = 0b10101010;
_delay_ms(100);
TIMSK=0b000100;
} GAMBAR 1.2 KONDISI AWAL LED (0,2,4,6) MENYALA
return 0; SELAMA 0.5 DETIK
}
void init_int(void)
{
TIMSK=0b000000;
TCCR1B=0b00000101;
TCNT1H=0xE3;
TCNT1L=0xDF;
sei();
}
TABEL 1.5 SOURCE CODE PERCOBAAN 2
LAMPIRAN