PERCOBAAN SEVEN SEGMENT
-
Percobaan 1 (Seven
Segment Counter Up)
#include <mega8535.h>
#include <delay.h>
int baca_digit1(int data)
{
int
digit1=data;
//////////////////////////////////////status
digit1//////////////////////////////////////
if (digit1==0)
{PORTE.0=0;PORTE.1=0;PORTE.2=0;PORTE.3=0; goto selesai;} //digit1 0
if (digit1==1)
{PORTE.0=0;PORTE.1=0;PORTE.2=0;PORTE.3=1; goto selesai;} //digit1 1
if (digit1==2)
{PORTE.0=0;PORTE.1=0;PORTE.2=1;PORTE.3=0; goto selesai;} //digit1 2
if (digit1==3)
{PORTE.0=0;PORTE.1=0;PORTE.2=1;PORTE.3=1; goto selesai;} //digit1 3
if (digit1==4)
{PORTE.0=0;PORTE.1=1;PORTE.2=0;PORTE.3=0; goto selesai;} //digit1 4
if (digit1==5)
{PORTE.0=0;PORTE.1=1;PORTE.2=0;PORTE.3=1; goto selesai;} //digit1 5
if (digit1==6)
{PORTE.0=0;PORTE.1=1;PORTE.2=1;PORTE.3=0; goto selesai;} //digit1 6
if (digit1==7)
{PORTE.0=0;PORTE.1=1;PORTE.2=1;PORTE.3=1; goto selesai;} //digit1 7
if (digit1==8)
{PORTE.0=1;PORTE.1=0;PORTE.2=0;PORTE.3=0; goto selesai;} //digit1 8
if (digit1==9)
{PORTE.0=1;PORTE.1=0;PORTE.2=0;PORTE.3=1; goto selesai;} //digit1 9
selesai:
/////////////////////////////////////////////////////////////////////////////////////////
}
int baca_digit2(int data)
{
int
digit2=data;
/////////////////////////////////////status
digit1//////////////////////////////////////
if (digit2==0)
{PORTE.4=0;PORTE.5=0;PORTE.6=0;PORTE.7=0; goto end;} //digit2 0
if (digit2==1)
{PORTE.4=0;PORTE.5=0;PORTE.6=0;PORTE.7=1; goto end;} //digit2 1
if (digit2==2)
{PORTE.4=0;PORTE.5=0;PORTE.6=1;PORTE.7=0; goto end;} //digit2 2
if (digit2==3)
{PORTE.4=0;PORTE.5=0;PORTE.6=1;PORTE.7=1; goto end;} //digit2 3
if (digit2==4)
{PORTE.4=0;PORTE.5=1;PORTE.6=0;PORTE.7=0; goto end;} //digit2 4
if (digit2==5)
{PORTE.4=0;PORTE.5=1;PORTE.6=0;PORTE.7=1; goto end;} //digit2 5
if (digit2==6)
{PORTE.4=0;PORTE.5=1;PORTE.6=1;PORTE.7=0; goto end;} //digit2 6
if (digit2==7)
{PORTE.4=0;PORTE.5=1;PORTE.6=1;PORTE.7=1; goto end;} //digit2 7
if (digit2==8)
{PORTE.4=1;PORTE.5=0;PORTE.6=0;PORTE.7=0; goto end;} //digit2 8
if (digit2==9)
{PORTE.4=1;PORTE.5=0;PORTE.6=0;PORTE.7=1; goto end;} //digit2 9
end:
//////////////////////////////////////////////////////////////////////////////////////
}
void main(void)
{
int digit1, digit2;
int a,b;
PORTE=0x00;
DDRE=0xff;
while (1)
{
for(a=0;a<=9;a++)
{
baca_digit1(a);
delay_ms(30);
for(b=0;b<=9;b++)
{
baca_digit2(b);
delay_ms(30);
}
}
}
}
-
Percobaan 2 (Seven
Segment Counter Down)
#include <mega8535.h>
#include <delay.h>
int baca_digit1(int data)
{
int
digit1=data;
//////////////////////////////////////status
digit1//////////////////////////////////////
if (digit1==0)
{PORTE.0=0;PORTE.1=0;PORTE.2=0;PORTE.3=0; goto selesai;} //digit1 0
if (digit1==1)
{PORTE.0=0;PORTE.1=0;PORTE.2=0;PORTE.3=1; goto selesai;} //digit1 1
if (digit1==2)
{PORTE.0=0;PORTE.1=0;PORTE.2=1;PORTE.3=0; goto selesai;} //digit1 2
if (digit1==3)
{PORTE.0=0;PORTE.1=0;PORTE.2=1;PORTE.3=1; goto selesai;} //digit1 3
if (digit1==4)
{PORTE.0=0;PORTE.1=1;PORTE.2=0;PORTE.3=0; goto selesai;} //digit1 4
if (digit1==5)
{PORTE.0=0;PORTE.1=1;PORTE.2=0;PORTE.3=1; goto selesai;} //digit1 5
if (digit1==6)
{PORTE.0=0;PORTE.1=1;PORTE.2=1;PORTE.3=0; goto selesai;} //digit1 6
if (digit1==7)
{PORTE.0=0;PORTE.1=1;PORTE.2=1;PORTE.3=1; goto selesai;} //digit1 7
if (digit1==8)
{PORTE.0=1;PORTE.1=0;PORTE.2=0;PORTE.3=0; goto selesai;} //digit1 8
if (digit1==9)
{PORTE.0=1;PORTE.1=0;PORTE.2=0;PORTE.3=1; goto selesai;} //digit1 9
selesai:
/////////////////////////////////////////////////////////////////////////////////////////
}
int baca_digit2(int data)
{
int
digit2=data;
////////////////////////////////////status
digit1//////////////////////////////////////
if (digit2==0)
{PORTE.4=0;PORTE.5=0;PORTE.6=0;PORTE.7=0; goto end;} //digit2 0
if (digit2==1)
{PORTE.4=0;PORTE.5=0;PORTE.6=0;PORTE.7=1; goto end;} //digit2 1
if (digit2==2)
{PORTE.4=0;PORTE.5=0;PORTE.6=1;PORTE.7=0; goto end;} //digit2 2
if (digit2==3)
{PORTE.4=0;PORTE.5=0;PORTE.6=1;PORTE.7=1; goto end;} //digit2 3
if (digit2==4)
{PORTE.4=0;PORTE.5=1;PORTE.6=0;PORTE.7=0; goto end;} //digit2 4
if (digit2==5)
{PORTE.4=0;PORTE.5=1;PORTE.6=0;PORTE.7=1; goto end;} //digit2 5
if (digit2==6)
{PORTE.4=0;PORTE.5=1;PORTE.6=1;PORTE.7=0; goto end;} //digit2 6
if (digit2==7)
{PORTE.4=0;PORTE.5=1;PORTE.6=1;PORTE.7=1; goto end;} //digit2 7
if (digit2==8)
{PORTE.4=1;PORTE.5=0;PORTE.6=0;PORTE.7=0; goto end;} //digit2 8
if (digit2==9)
{PORTE.4=1;PORTE.5=0;PORTE.6=0;PORTE.7=1; goto end;} //digit2 9
end:
////////////////////////////////////////////////////////////////////////////////////////
}
void main(void)
{
int digit1, digit2;
int a,b;
PORTE=0x00;
DDRE=0xff;
while (1)
{
for(a=9;a>0;a--)
{
baca_digit1(a);
for(b=9;b>=0;b--)
{
baca_digit2(b);
delay_ms(30);
}
}
}
}