You are on page 1of 13

LAPORAN SEMENTARA

No. praktikum : 02
Judul Praktikum : Tampilan Seven segment
Nama : DINA WARDIAH
NIM : 1720302003
Prodi : TRJT
Jurusan : Teknik Elektro
Tanggal Praktikum :
Tanggal Pengumpulan:

A. PROGRAM UNTUK MENAMPIKAN SEVEN SEGMENT 1 DIGIT:


$regfile = "m8535.dat "
$crystal = 16000000
Ddrb = &HFF
Ddrd = &HFF
Portd = &B11111110
Portb = &HC0
End
FLOWCHART

Data:
Angka yang ditampilkan pada seven segment adalah angka 0.

B.PROGRAM UNTUK MENAMPILKAN SEVEN SEGMENT 8 DIGIT:


$regfile = "m8535.dat "
$crystal = 16000000
Ddrb = &HFF
Ddrd = &HFF
Dim I As Byte
Do
For I = 0 To 7
Portd = Lookup(i , Digit)
Portb = Lookup(i , Angka)
Waitms 40
Next
Loop
End
Digit:
Data &HFE , &HFD , &HFB , &HF7 , &HEF , &HDF , &HBF , &H7F
Angka:
Data &HF8 , &H82 , &H92 , &H99 , &HB0 , &HA4 , &HF9 , &HC0
End

Flowchart

 Data
Angka yang ditampilkan pada seven segment adalah angka 7,6,5,4,3,2,1,
PERTANYAAN

1.PROGRAM UNTUK MENAMPILKAN ANGKA 0 SAMPAI 9 PADA SEVEN SEGMENT

$regfile "m8535.dat "


$crystal = 12000000
Config Portd = Output
Do
Portd = &B11000000
Waitms 50
Portd = &B11111001
Waitms 50
Portd = &B10100100
Waitms 50
Portd = &B10110000
Waitms 50
Portd = &B10011001
Waitms 50
Portd = &B10010010
Waitms 50
Portd = &B10000010
Waitms 50
Portd = &B11111000
Waitms 50
Portd = &B10000000
Waitms 50
Flowchart
2.DIAGRAM ALIRNYA MENAMPILKAN ANGKA 00 SAMPAI 99
 Program

$regfile = "m8535.dat"
$crystal = 8000000

Config Portc = Output


Config Portd = Output

Dim O(8) As Integer


Dim N(4) As Integer
Dim U As Byte
Dim W As Integer

Do

For U = 1 To 4
Decr N(u)
If N(u) = -1 Then N(u) = 99
Next U

'proses
O(1) = N(1) Mod 100
O(1) = O(1) / 10
O(2) = N(1) Mod 10

O(3) = N(2) Mod 100


O(3) = O(3) / 10
O(4) = N(2) Mod 10

O(5) = N(3) Mod 100


O(5) = O(5) / 10
O(6) = N(3) Mod 10

O(7) = N(4) Mod 100


O(7) = O(7) / 10
O(8) = N(4) Mod 10

For W = 1 To 50 'delay
For U = 1 To 8
Portd = Lookup(u , Modes)
Portc = Lookup(o(u) , Segmen)
Waitus 200
Next U
Next W

Loop

Modes:
Data 0 , 1 , 2 , 4 , 8 , 16 , 32 , 64 , 128

Segmen:
Data &HC0 , &HF9 , &HA4 , &HB0 , &H99 , &H92 , &H82 , &HF8 , &H80 ,
&H90
Flowchart
3. PROGRAM UNTUK MENAMPILKAN ANGKA 12345678 PADA SEVEN SEGMENT
$regfile = "m8535.dat "
$crystal = 16000000
Ddrb = &HFF
Ddrd = &HFF
Dim I As Byte
Do
For I = 1 To 7
Portd = Lookup(i , Digit)
Portb = Lookup(i , Angka)
Waitms 0.6
Next
Loop
End
Digit:
Data &HFE , &HFD , &HFB , &HF7 , &HEF , &HDF , &HBF , &H7F
Angka:
Data &HC0 , &HF9 , &HA4 , &HB0 , &H99 , &H92 , &H82 , &HF8

PROGRAM DALAM BAHASA ASSEMBLY AVR STUDIO 4


 Program untuk menampilkan seven segment 1 digit
/*
* a.c
*
* Created: 5/17/2019 12:28:20 PM

* Author: dina wardiah


*/

#include <avr/io.h>
#define F_CPU 4000000UL
#include <util/delay.h>

int main(void)
{
DDRB=0xff;
while(1)
{
//TODO:: Please write your application code
PORTB=0b01000000;
_delay_ms(500);

}
return 0;
}

 Program untuk menampilkan seven segment 8 digit


/*
* a.c
* Created: 5/17/2019 12:28:20 PM

* Author: dina wardiah


*/

#include <avr/io.h>
#define F_CPU 4000000UL
#include <util/delay.h>

int main(void)
{
DDRB=0xff;

while(1)
{
//TODO:: Please write your application code
PORTB=0b01111000;
_delay_ms(500);
PORTB=0b00000010;
_delay_ms(500);
PORTB=0b00010010;
_delay_ms(500);
PORTB=0b00011001;
_delay_ms(500);
PORTB=0b00110000;
_delay_ms(500);
PORTB=0b00100100;
_delay_ms(500);
PORTB=0b01111001;
_delay_ms(500);
PORTB=0b01000000;
_delay_ms(500);

}
return 0;
}
 program untuk menampilkan angka 0 sampai 9 pada seven segment.
/*
* a.c
*
* Created: 5/17/2019 12:28:20 PM

* Author: Dina wardiah


*/

#include <avr/io.h>
#define F_CPU 4000000UL
#include <util/delay.h>

int main(void)
{
DDRB=0xff;

while(1)
{
//TODO:: Please write your application code
PORTB=0b01000000;
_delay_ms(500);//----0
PORTB=0b01111001;
_delay_ms(500);//----1
PORTB=0b00100100;
_delay_ms(500);//----2
PORTB=0b00110000;
_delay_ms(500);//----3
PORTB=0b00011001;
_delay_ms(500);//----4
PORTB=0b00010010;
_delay_ms(500);//----5
PORTB=0b00000010;
_delay_ms(500);//----6
PORTB=0b01111000;
_delay_ms(500);//----7
PORTB=0b00000000;
_delay_ms(500);//----8
PORTB=0b00010000;
_delay_ms(500);//----9

}
return 0;
}

 program untuk menampilkan angka 00 sampai 99 pada seven segment.


/*
* p2.c
*
* Created: 5/17/2019 12:28:20 PM
* Authordina wardiah
*/
Tombol = Port A.0
Seven Segment common anode = Port B
Scan = Port C.7 & Port C.6
#include <avr/io.h>
#include <util/delay.h>

unsigned char hitung,seg1,seg2;


unsigned char
kodeangka[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};

void display (void)


{
seg1=hitung;
seg1%=0x0A;
PORTB=kodeangka[seg1];
PORTC&=~(1<<7);
_delay_ms(20);
PORTC|=(1<<7);
seg2=hitung;
seg2/=0x0A;
PORTB=kodeangka[seg2];
PORTC&=~(1<<6);
_delay_ms(20);
PORTC|=(1<<6);
if (hitung == 100)
hitung = 0x00;
else
return;
}

int main(void)
{
DDRB = 0xFF; //PORTB=output
DDRC = 0xFF; //PORTC=output
PORTA= 0xFF; //enable all pull up
PINA = 0xFF;
DDRA = 0x00; //PORTA=input
hitung = 0x00;

while(1)
{
//TODO:: Please write your application code
char tombol;
tombol=PINA;
switch(tombol)
{
case 254://11111110
hitung++; display ();PINA=0xFF;
break;
case 255://11111111
display ();
break;
default:display ();

}
}

 program untuk menampilkan angka 12345678 pada seven segment.


Lhokseumawe,
Dosen Pembimbing Praktikan

Dina Wardiah
Hanafi, S.T., M.Eng
Nim. 1720302015
Nip.

You might also like