#include < Mega8535.h>
#include <delay.h>
unsigned char angka[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
int satuan,puluhan,ratusan,ribuan,data,data_temp,x;
void ambil_data()
{
data_temp=data;
satuan=data_temp%10;
puluhan=(data_temp/10)%10;
ratusan=(data_temp/100)%10;
ribuan=(data_temp/1000)%10;
}
void tampilkan_seven_segment()
{
PORTD.0=0;
PORTD.1=1;
PORTD.2=1;
PORTD.3=1;
PORTC=angka[satuan];
delay_ms(1);
PORTD.0=1;
PORTD.1=0;
PORTD.2=1;
PORTD.3=1;
PORTC=angka[puluhan];
delay_ms(1);
PORTD.0=1;
PORTD.1=1;
PORTD.2=0;
PORTD.3=1;
PORTC=angka[ratusan];
delay_ms(1);
PORTD.0=1;
PORTD.1=1;
PORTD.2=1;
PORTD.3=0;;
PORTC=angka[ribuan];
delay_ms(1);
}
void main(void)
{
data=0;
PORTA=0xFF;
DDRA=0x00;
PORTB=0xFF;
DDRB=0x00;
PORTC=0x00;
DDRC=0xFF;
PORTD=0xFF;
DDRD=0xFF;
while (1)
{
for(x=0;x<50;x++)
{
ambil_data();
tampilkan_seven_segment();
}
if (PINB.0==0)
{
data++;
if (data>9999)
{
data=0;
}
}
if (PINB.1==0)
{
data--;
if (data<=0)
{
data=0;
}
}
};
}
|