Professional Documents
Culture Documents
Disusun oleh:
Kelompok : Maxtor
Adi Pramono (2B / 01 / 0731130019 )
Lina Ernani (2B / 15 / 0731130046)
Nurul Furqon R (2B / 20 / 0731130073)
Nyala 0
P P P P P P P P
Mati 1 7 6 5 4 3 2 1 0 tampilan
desim hexadesi
al mal . g f e d c b a 7 segmen
1 0xF9 1 1 1 1 1 0 0 1
b
2 0xA4 1 0 1 0 0 1 0 0
a
e
g
3 0xB0 1 0 1 1 0 0 0 0
a
4 0x99 1 0 0 1 1 0 0 1
f
g
c
5 1 0 0 1 0 0 1 0
0x92
a
g
c
6 0x82 1 0 0 0 0 0 1 0
a
e
g
c
1 1 1 1 1 0 0 0
0xF8
7
a
8 0x80 1 0 0 0 0 0 0 0
a
e
g
c
9 0x90 1 0 0 1 0 0 0 0
a
g
c
0 0xC0 1 1 0 0 0 0 0 0
a
C. Gambar Rangkaian
D. Flow Char
Start
Tombol0,
tombol1,
tombol2=1
Semua led
Menyala selama
5000ms
Tombol0==0
T F
Tombol1==0
T Tombol2==0
E. Program
#include <mega8535.h>
#include <delay.h>
unsigned int led=255;
unsigned int tombol0=255,tombol1=255,tombol2=255;
void main(void)
{
PORTA=0xff;
DDRA=0x00;
PORTB=0x00;
DDRB=0xFF;
delay_ms(5000);
while (1)
{
tombol0=PINA.0;
tombol1=PINA.1;
tombol2=PINA.2;
if (tombol0==0) //furqon
{ PORTB=0xc0;
delay_ms(850);
PORTB=0xff;
delay_ms(450);
PORTB=0xf8;
delay_ms(850);
PORTB=0xff;
delay_ms(450);
PORTB=0xb0;
delay_ms(850);
PORTB=0xff;
delay_ms(450);
PORTB=0xf9;
delay_ms(850);
PORTB=0xff;
delay_ms(450);
PORTB=0xf9;
delay_ms(850);
PORTB=0xff;
delay_ms(450);
PORTB=0xb0;
delay_ms(850);
PORTB=0xff;
delay_ms(450);
PORTB=0xc0;
delay_ms(850);
PORTB=0xff;
delay_ms(450);
PORTB=0xc0;
delay_ms(850);
PORTB=0xff;
delay_ms(450);
PORTB=0xf8;
delay_ms(850);
PORTB=0xff;
delay_ms(450);
PORTB=0xb0;
delay_ms(850);
PORTB=0xff;
delay_ms(2500);}
PORTB=0xf8;
delay_ms(850);
PORTB=0xff;
delay_ms(450);
PORTB=0xb0;
delay_ms(850);
PORTB=0xff;
delay_ms(450);
PORTB=0xf9;
delay_ms(850);
PORTB=0xff;
delay_ms(450);
PORTB=0xf9;
delay_ms(850);
PORTB=0xff;
delay_ms(450);
PORTB=0xb0;
delay_ms(850);
PORTB=0xff;
delay_ms(450);
PORTB=0xc0;
delay_ms(850);
PORTB=0xff;
delay_ms(450);
PORTB=0xc0;
delay_ms(850);
PORTB=0xff;
delay_ms(450);
PORTB=0x99;
delay_ms(850);
PORTB=0xff;
delay_ms(450);
PORTB=0x82;
delay_ms(850);
PORTB=0xff;
delay_ms(2500);
}
PORTB=0xf8;
delay_ms(850);
PORTB=0xff;
delay_ms(450);
PORTB=0xb0;
delay_ms(850);
PORTB=0xff;
delay_ms(450);
PORTB=0xf9;
delay_ms(850);
PORTB=0xff;
delay_ms(450);
PORTB=0xf9;
delay_ms(850);
PORTB=0xff;
delay_ms(450);
PORTB=0xb0;
delay_ms(850);
PORTB=0xff;
delay_ms(450);
PORTB=0xc0;
delay_ms(850);
PORTB=0xff;
delay_ms(450);
PORTB=0xc0;
delay_ms(850);
PORTB=0xff;
delay_ms(450);
PORTB=0xF9;
delay_ms(850);
PORTB=0xff;
delay_ms(450);
PORTB=0x90;
delay_ms(850);
PORTB=0xff;
delay_ms(2500);}
else
{ PORTB=led;
delay_ms(1500);
led=~led;
};
};
}
F. Analisis
1. Code DDRA=0x00 PORTA=0xff menunjukkan perintah port A sebagai input
dan nilai awalnya adalah 0xff yang berarti semua pin pada PORTA akan
mempuyai logika “high”.
2. Code DDRB=0xff PORTB=0x00 menunjukkan perintah port B sebagai output
dan nilai awalnya adalah 0x00 yang berati semua led pada 7 segmen display
menyala.
3. Perintah delay_ms (5000) menahan agar tampilan nyala led diatas tetap
menyala selama 5 detik.
4. Pada baris bawahnya adalah inisiasi atau deklarasi pin input .
5. Perintah if pada baris selanjutnya mempunyai arti jika PINA.0 ( pin pertama
pada port A) berlogika “low” maka outpot pada 7 segmen menampilkan NIM
0731130073.
6. Jika PINA.1 berlogika “low” maka 7 segmen akan menampilkan NIM
0731130046.
7. Jika PINA.2 berlogika “low” maka 7 segmen akan menam[ilkan NIM
0731130019.
8. Bila PINA.0, PINA.1, dan PINA.2 tidak ada yang berlogika “low” , maka
output pada 7 segmen menampilkan semua led berkedip terus menerus sampai
salah satu dari ketiga pin input diatas ada yang berlogika “low”
9. Perintah pada penjelasan nomor 4 sampai nomor 8 akan diulangi terus
menerus sampai ada interupsi reset dari pin reset, dan eksekusi program
kembali mulai baris yang pertama.
G. Kesimpulan
1. Microcontroller dapat difungsikan sebagai pengendali 7 segmen display
dengan cara mengatur logika dari pin-pin dari port I/O microcontroller
tersebut.
2. Pemilihan keluaran / respons output dari microcontroller dapat dikendalikan
dari luar dengan cara membaca level tegangan dari masing – masing pin input.
3. Cara penulisan code untuk 7 segmen common anoda dan common katoda
berbeda hal ini dikarenakan logikan pin yang dibutuhkan untuk
mengendalikan led – led pada dua 7 segmen tersebut berbeda.