#include <mega16.h>
sfrb R0=0x00;
void timer_1s()
{
TCNT1=54735;
TCCR1B=0b101;
do
{
R0=TIFR;
}
while(!R0.2);
TIFR=0b00000100;
TCCR1B=0;
}
void main()
{
DDRC=0xFF;
PORTC=0xFF;
while(1)
{
PORTC=0;
timer_1s();
PORTC=0xFF;
timer_1s();
}
}
Percobaan 2
#include <mega16.h>
sfrb R0=0x00;
void timer_500ms()
{
TCNT1=61630;
TCCR1B=0b101;
do
{
R0=TIFR;
}
while(!R0.2);
TIFR=0b00000100;
TCCR1B=0;
}
void main()
{
DDRC=0xFF;
PORTC=0xFF;
while(1)
{
PORTC=0;
timer_500ms();
PORTC=0xFF;
timer_500ms();
}
}
Percobaan 3
#include <mega16.h>
void main()
{
DDRB=0;
PORTB=0xFF;
DDRD=0xFF;
PORTD=0xFF;
TCCR0=0b00000110;
TCNT0=0;
while(1)
{
PORTD=TCNT0;
}
Percobaan 5
#include <mega16.h>
void main()
{
DDRC=0xFF;
PORTC=0xFF;
DDRD=0xFF;
PORTD=0xFF;
GICR=0b11000000;
#asm("sei")
while(1);
}
{
PORTC=0xF0;
{
PORTC=0x0F;
}
Percobaan 4
#include <mega16.h>
#include <alcd.h>
#include <stdlib.h>
#include <stdio.h>
#include <delay.h>
intbaca;
void main()
{
DDRB=0;
PORTB=0xFF;
DDRD=0xFF;
PORTD=0xFF;
TCCR0=0b00000110;
TCNT0=0;
lcd_init(16);
lcd_clear();
lcd_putsf("nilai=");
while(1)
{
baca=TCNT0;
sprintf(data,"nilai=%d", baca);
lcd_gotoxy(0,0);
lcd_puts(data);
delay_ms(500);
}
}
LAPORAN PRAKTIKUM
Praktikum Mikrokontroler