Laporan Display Nim Dengan If

  • Uploaded by: Nurul Furqon Rohmat
  • 0
  • 0
  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Laporan Display Nim Dengan If as PDF for free.

More details

  • Words: 859
  • Pages: 19
Laporan Microcontroler “Menampilkan NIM pada 7 segmen”

Disusun oleh: Kelompok : Maxtor Adi Pramono (2B / 01 / 0731130019 ) Lina Ernani (2B / 15 / 0731130046) Nurul Furqon R (2B / 20 / 0731130073)

JURUSAN TEKNIK ELEKTRO

PROGRAM STUDI TEKNIK TELEKOMUNIKASI

POLITEKNIK NEGERI MALANG 2008

A. Tujuan 1. Menampilkan NIM pada 7 segmen common anoda dengan kendali

microcontroler Atmega 8535. 2. Mengetahui cara menampilkan angka pada 7 segmen yang ditulis dalam hexadecimal 3. Pemprograman bahasa C untuk memprogram microcontroller AT mega 8535 dengan bantuan Code Vision AVR. B. Teori dasar input output

7 segmen common anoda piranti display yang mempuyai input dalam bentuk level tegangan , jika tegangan pada pin tersebut adalah “high” maka led yang terhubung pada pin tersebut mati dan sebaliknya jika tegangan pada pin tersebut “low” maka led yang tersebut akan menyala. Logika diatas dapat kita gunakan untuk mengkontrol 7 segmen untuk menanmpilkan angka sesuai dengan kebutuhan kita dengan menggunakan kontrol microcontroller Atmega 8535. Dengan menghubungkan salah satu port I/O microcontroller pada 7 segmen kita dapat mengatur logika pin yang ada pada port I/O ter sebut sehingga menampilkan angka pada 7 segmen sesuai dengan kebutuhan kita. Dibawah ini adalah tabel hubungan antara angka hexadecimal microcontroller dan output tampilan pada 7 segmen display 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

c

2 0xA4

1

0

1

0

0

1

0

0

a

b e g

d

3 0xB0

1

0

1

1

0

0

0

0

a

b

c

d

4 0x99

1

0

0

1

1

0

0

1

f b

g c

5

0x92

1

0

0

1

0

0

1

0

a

f

g c

d

6 0x82

1

0

0

0

0

0

1

0

a

f

e g c

d

1 0xF8 7

1

1

1

1

0

0

0

a

b

c

8 0x80

1

0

0

0

0

0

0

0

a

f b e g c

d

9 0x90

1

0

0

1

0

0

0

0

a

f b

g c

d

0 0xC0

1

1

0

0

0

0

0

0

a

f b e c

d

C. Gambar Rangkaian

D. Flow Char

Start

Tombol0, tombol1, tombol2=1

Semua led Menyala selama 5000ms

F Tombol0==0 T

F Tombol1==0 F T

Tombol2==0

T

Tampilkan NIM 0731130073

E. Program

Tampilkan NIM 0731130046

Tampilkan NIM 073113019

Tampilkan Led berkedip

#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);} else if(tombol1==0) { 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;

//ninet

delay_ms(450); PORTB=0x99; delay_ms(850); PORTB=0xff; delay_ms(450); PORTB=0x82; delay_ms(850); PORTB=0xff; delay_ms(2500); }

else if (tombol2==0) { 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;

//adi

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.

Related Documents

Nim
August 2019 44
Nim
November 2019 39
Display
April 2020 30
Display
May 2020 28

More Documents from ""

Waluyo
November 2019 43
Isi
November 2019 46
Codevisio Avr
November 2019 42
Codevision Avr
November 2019 40
Data Link Layer
November 2019 50
Am Dsb
November 2019 39