Anda di halaman 1dari 24

LAPORAN MICROCOTROLLER UNIT

SWITCH AND SEVEN SEGMENT


Dosen Pengajar :
AZAM MUZAKHIM I,IR.MT

Disusun oleh :
Aulia Arviana Zahroh
1441160022
JTD 2B / 03

JARINGAN TELEKOMUNIKASI DIGITAL


JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI MALANG
2016

BAB I
PENDAHULUAN
1.1 Latar Belakang
ATMega 16 adalah sebuah mikrokontroler CMOS 8 bit yang berdaya rendah yang
berbasiskan arsitektur pengembangan RISC dengan satu instruksi dikerjakan dalam satu
clock dengan mencapai kecepatan throughputs mendekati 1 MIPS per MHz yang dapat
membuat perancangan system yang lebih mengoptimalkan konsumsi daya dibandingkan
dengan kecepatan proses. ATMega 16 merupakan prosessor AVR yang menggabungkan
instruksi set yang banyak dengan 32 register umum. Yang ke semua 32 register secara
langsung dihubungkan dengan Aritmatika Logika Unit (ALU), yang memungkinkan dua buah
register yang independen untuk diakses dalam satu instruksi dieksekusi dalam satu siklus
clock. Yang dihasilkan dari arsitektur AVR adalah kode yang lebih efisien dengan capaian
throughputs hingga sepuluh kali lebih cepat dari konvensional CISC mikrokontroler.
ATmega16 ini menyediakan beberapa fitur sebagai berikut: 16 Kbyte In-System
Programmable Flash, Memori program dengan kemampuan Baca-Tulis-Sementara, 512 byte
EEPROM, 1 Kbyte SRAM, 32 jalur I/O, 32 register kerja, antarmuka JTAG untuk
Boundaryscan, dukungan dan pemrograman On-chip Debugging, tiga Timer / Counter
fleksibel dengan mode perbandingan, Interupsi Internal dan Eksternal, sebuah programmable
serial USART, Dua-kawat Serial Interface berorientasi byte, serial USART (Universal
Synchronous and Asynchronous serial Receiver and Transmitter) yang dapat diprogram,8
kanal 10-bit ADC, 4 saluran PWM (Pulse Width Modulation), Master Slave (SPI) Serial
Interface dan Watchdog Timer yang dapat diprogram dengan osilator internal, port serial SPI,
dan enam pilihan mode daya rendah.
1.2 Tujuan
1.2.1 Untuk mengetahui dan memahami diagram alir dan program dari switch dengan
seven segment .
1.2.2 Untuk mengetahui cara menghidupkan seven segment menggunakan ATMEGA16.

BAB II

DASAR TEORI
2.1 ATMEGA16
Mikrokontroler adalah sebuah sistem komputer lengkap dalam satu serpih (chip).
Mikrokontroler lebih dari sekedar sebuah mikroprosesor karena sudah terdapat atau berisikan
ROM (Read-Only Memory), RAM (Read-Write Memory), beberapa bandar masukan
maupun keluaran, dan beberapa peripheral seperti pencacah/pewaktu, ADC (Analog to
Digital converter), DAC (Digital to Analog converter) dan serial komunikasi.
2.1.1 Arsitektur ATMEGA16
Mikrokontroler ini menggunakan arsitektur Harvard yang memisahkan memori
program dari memori data, baik bus alamat maupun bus data, sehingga pengaksesan program
dan data dapat dilakukan secara bersamaan (concurrent).
Secara garis besar mikrokontroler ATMega16 terdiri dari :
1.
2.
3.
4.
5.
6.
7.

Arsitektur RISC dengan throughput mencapai 16 MIPS pada frekuensi 16Mhz.


Memiliki kapasitas Flash memori 16Kbyte, EEPROM 512 Byte, dan SRAM 1Kbyte.
Saluran I/O 32 buah, yaitu Bandar A, Bandar B, Bandar C, dan Bandar D.
CPU yang terdiri dari 32 buah register.
User interupsi internal dan eksternal.
Bandar antarmuka SPI dan Bandar USART sebagai komunikasi serial.
Fitur Peripheral :
Dua buah 8-bit timer/counter dengan prescaler terpisah dan mode compare.
Satu buah 16-bit timer/counter dengan prescaler terpisah, mode compare, dan mode

capture.
Real time counter dengan osilator tersendiri.
Empat kanal PWM dan Antarmuka komparator analog.
8 kanal, 10 bit ADC.
Byte-oriented Two-wire Serial Interface.
Watchdog timer dengan osilator internal.
2.1.2 Konfigurasi PENA (PIN) ATMEG16
Konfigurasi pena (pin) mikrokontroler Atmega16 dengan kemasan 40-pena dapat
dilihat pada Gambar 2.1. Dari gambar tersebut dapat terlihat ATMega16 memiliki 8 pena
untuk masing-masing bandar A (Port A), bandar B (Port B), bandar C (Port C), dan
bandar D (Port D).

Gambar 2.1 Pena-Pena Atmega16


2.1.3 Deskripsi Mikrokontroler ATMEGA16
VCC (Power Supply) dan GND(Ground).
Bandar A (PA7PA0).
Bandar A berfungsi sebagai input analog pada konverter A/D. Bandar A juga
sebagai suatu bandar I/O 8-bit dua arah, jika A/D konverter tidak digunakan. Pena - pena
Bandar dapat menyediakan resistor internal pull-up (yang dipilih untuk masing-masing
bit). Bandar A output buffer mempunyai karakteristik gerakan simetris dengan keduanya
sink tinggi dan kemampuan sumber. Ketika pena PA0 ke PA7 digunakan sebagai input
dan secara eksternal ditarik rendah, penapena akan memungkinkan arus sumber jika
resistor internal pull-up diaktifkan. Pena Bandar A adalah tri-stated manakala suatu
kondisi reset menjadi aktif, sekalipun waktu habis.
Bandar B (PB7PB0).
Bandar B adalah suatu bandar I/O 8-bit dua arah dengan resistor internal pull-up
(yang dipilih untuk beberapa bit). Bandar B output buffer mempunyai karakteristik
gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber. Sebagai input,
pena Bandar B yang secara eksternal ditarik rendah akan arus sumber jika resistor pull-up
diaktifkan. Pena Bandar B adalah tri-stated manakala suatu kondisi reset menjadi aktif,
sekalipun waktu habis.

Bandar C (PC7PC0).

Bandar C adalah suatu bandar I/O 8-bit dua arah dengan resistor internal pull-up
(yang dipilih untuk beberapa bit). Bandar C output buffer mempunyai karakteristik
gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber. Sebagai input,
pena bandar C yang secara eksternal ditarik rendah akan arus sumber jika resistor pull-up
diaktifkan. Pena bandar C adalah tri-stated manakala suatu kondisi reset menjadi aktif,
sekalipun waktu habis.
Bandar D (PD7PD0).
Bandar D adalah suatu bandar I/O 8-bit dua arah dengan resistor internal pull-up
(yang dipilih untuk beberapa bit). Bandar D output buffer mempunyai karakteristik
gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber. Sebagai input,
pena bandar D yang secara eksternal ditarik rendah akan arus sumber jika resistor pull-up
diaktifkan. Pena Bandar D adalah tri-stated manakala suatu kondisi reset menjadi aktif,
sekalipun waktu habis.
RESET (Reset input).
XTAL1 (Input Oscillator).
AVCC adalah pena penyedia tegangan untuk bandar A dan Konverter A/D.
AREF adalah pena referensi analog untuk konverter A/D.
2.2 7 Segment
Seven Segment Display (7 Segment Display) dalam bahasa Indonesia disebut dengan
Layar Tujuh Segmen adalah komponen Elektronika yang dapat menampilkan angka desimal
melalui kombinasi-kombinasi segmennya. Seven Segment Display pada umumnya dipakai
pada Jam Digital, Kalkulator, Penghitung atau Counter Digital, Multimeter Digital dan juga
Panel Display Digital seperti pada Microwave Oven ataupun Pengatur Suhu Digital . Seven
Segment Display pertama diperkenalkan dan dipatenkan pada tahun 1908 oleh Frank. W.
Wood dan mulai dikenal luas pada tahun 1970-an setelah aplikasinya pada LED (Light
Emitting Diode).
Seven Segment Display memiliki 7 Segmen dimana setiap segmen dikendalikan
secara ON dan OFF untuk menampilkan angka yang diinginkan. Angka-angka dari 0 (nol)
sampai 9 (Sembilan) dapat ditampilkan dengan menggunakan beberapa kombinasi Segmen.
Selain 0 9, Seven Segment Display juga dapat menampilkan Huruf Hexadecimal dari A
sampai F. Segmen atau elemen-elemen pada Seven Segment Display diatur menjadi bentuk

angka 8 yang agak miring ke kanan dengan tujuan untuk mempermudah pembacaannya.
Pada beberapa jenis Seven Segment Display, terdapat juga penambahan titik yang
menunjukan angka koma decimal.

Terdapat beberapa jenis Seven Segment Display,

diantaranya adalah Incandescent bulbs, Fluorescent lamps (FL), Liquid Crystal Display
(LCD) dan Light Emitting Diode (LED).
LED 7 Segmen (Seven Segment LED)
Salah satu jenis Seven Segment Display yang sering digunakan oleh para penghobi
Elektronika adalah 7 Segmen yang menggunakan LED (Light Emitting Diode) sebagai
penerangnya. LED 7 Segmen ini umumnya memiliki 7 Segmen atau elemen garis dan 1
segmen titik yang menandakan koma Desimal. Jadi Jumlah keseluruhan segmen atau
elemen LED sebenarnya adalah 8. Cara kerjanya pun boleh dikatakan mudah, ketika segmen
atau elemen tertentu diberikan arus listrik, maka Display akan menampilkan angka atau digit
yang diinginkan sesuai dengan kombinasi yang diberikan.
Terdapat 2 Jenis LED 7 Segmen, diantaranya adalah LED 7 Segmen common
Cathode dan LED 7 Segmen common Anode.
LED 7 Segmen Tipe Common Cathode (Katoda)
Pada LED 7 Segmen jenis Common Cathode (Katoda), Kaki Katoda pada semua
segmen LED adalah terhubung menjadi 1 Pin, sedangkan Kaki Anoda akan menjadi Input
untuk masing-masing Segmen LED. Kaki Katoda yang terhubung menjadi 1 Pin ini
merupakan Terminal Negatif (-) atau Ground sedangkan Signal Kendali (Control Signal)
akan diberikan kepada masing-masing Kaki Anoda Segmen LED.

LED 7 Segmen Tipe Common Anode (Anoda)


Pada LED 7 Segmen jenis Common Anode (Anoda), Kaki Anoda pada semua segmen
LED adalah terhubung menjadi 1 Pin, sedangkan kaki Katoda akan menjadi Input untuk
masing-masing Segmen LED. Kaki Anoda yang terhubung menjadi 1 Pin ini akan diberikan
Tegangan Positif (+) dan Signal Kendali (control signal) akan diberikan kepada masingmasing Kaki Katoda Segmen LED.

Gambar 1.6 Tabel Pengaktifan 7 Segment

2.3 SWITCH
Push button switch (saklar tombol tekan) adalah perangkat / saklar sederhana
yang berfungsi untuk menghubungkan atau memutuskan aliran arus listrik dengan sistem
kerja tekan unlock (tidak mengunci). Sistem kerja unlock disini berarti saklar akan
bekerja sebagai device penghubung atau pemutus aliran arus listrik saat tombol ditekan,
dan saat tombol tidak ditekan (dilepas), maka saklar akan kembali pada kondisi normal.
Gambar push button switch :

Sebagai device penghubung atau pemutus, push button switch hanya memiliki 2
kondisi, yaitu On dan Off (1 dan 0). Istilah On dan Off ini menjadi sangat penting karena
semua perangkat listrik yang memerlukan sumber energi listrik pasti membutuhkan
kondisi On dan Off.
Karena sistem kerjanya yang unlock dan langsung berhubungan dengan operator,
push button switch menjadi device paling utama yang biasa digunakan untuk memulai
dan mengakhiri kerja mesin di industri. Secanggih apapun sebuah mesin bisa dipastikan
sistem kerjanya tidak terlepas dari keberadaan sebuah saklar seperti push button switch
atau perangkat lain yang sejenis yang bekerja mengatur pengkondisian On dan Off.
Prinsip Kerja Push button switch :

Berdasarkan fungsi kerjanya yang menghubungkan dan memutuskan, push button


switch mempunyai 2 tipe kontak yaitu NC (Normally Close) dan NO (Normally Open).
NO (Normally Open), merupakan kontak terminal dimana kondisi normalnya terbuka
(aliran arus listrik tidak mengalir). Dan ketika tombol saklar ditekan, kontak yang NO ini
akan menjadi menutup (Close) dan mengalirkan atau menghubungkan arus listrik.
Kontak NO digunakan sebagai penghubung atau menyalakan sistem circuit (Push Button
ON).

NC (Normally Close), merupakan kontak terminal dimana kondisi normalnya tertutup


(mengalirkan arus litrik). Dan ketika tombol saklar push button ditekan, kontak NC ini
akan menjadi membuka (Open), sehingga memutus aliran arus listrik. Kontak NC
digunakan sebagai pemutus atau mematikan sistem circuit (Push Button Off).

BAB III
PERANCANGAN
3.1 Inisialisasi Program

3.1.1 Inisialisasi Chip ATmega16

3.1.2 Inisialisasi PORT A

3.1.3 Inisialisasi PORT C


3.2 Algoritma
a. Start
b. Apabila Push Button 1 ditekan maka 7 Segmen menampilkan tulisan NIM =
1441160022
c. Apabila Push Button 2 ditekan maka 7 Segmen menampilkan tulisan Nama =
Aulia
d. Apabila Push Button 3 ditekan maka 7 Segmen menampilkan tulisan Absen
dan Kelas = 03-JTD-2B
e. Apabila Push Button 4 ditekan maka 7 Segmen menampilkan tulisan Tanggal
Lahir = 05-10-1995

3.3 Rangkaian Schematic

3.4 Flowchart

3.5 Program
/*****************************************************

This program was produced by the


CodeWizardAVR V2.05.3 Standard
Automatic Program Generator
Copyright 1998-2011 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com
Project :
Version :
Date

: 15/04/2016

Author : fatturrahman
Company : Mozakoz
Comments:

Chip type

: ATmega16

Program type

: Application

AVR Core Clock frequency: 12,000000 MHz


Memory model

: Small

External RAM size

:0

Data Stack size

: 256

*****************************************************/
#include <mega16.h>
#include <delay.h>
// Declare your global variables here
void main(void)
{
// Declare your local variables here
unsigned char datain;
unsigned char NIM [10]={0xF9,0x99,0x99,0xF9,0xF9,0x82,0xC0,0xC0,0xA4,0xA4};

unsigned char Nama[5]={0x88,0xC1,0xC7,0xF9,0x88};


unsigned char No_kls[8]={0xC0,0xB0,0xF7,0xF1,0x87,0xA1,0xA4,0x83};
unsigned char Tgl_lhr[10]={0xC0,0x92,0xBF,0xF9,0xC0,0xBF,0xF9,0x90,0x90,0x92};
// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=P State2=P State1=P State0=P
PORTA=0x0F;
DDRA=0x00;
// Port B initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out
Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTB=0x00;
DDRB=0xFF;
// Port C initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out
Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTC=0x00;
DDRC=0xFF;
// Port D initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out
Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTD=0x00;
DDRD=0xFF;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=0xFF
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Normal top=0xFFFF
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;

OCR1BL=0x00;
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer2 Stopped
// Mode: Normal top=0xFF
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;
// USART initialization
// USART disabled
UCSRB=0x00;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

// ADC initialization
// ADC disabled
ADCSRA=0x00;
// SPI initialization
// SPI disabled
SPCR=0x00;
// TWI initialization
// TWI disabled
TWCR=0x00;
while(1)
{
// Place your code here
int i;
datain=PINA;
if (PINA.0==0)
{for(i=0;i<=9;i++) {
PORTB=NIM[i];
delay_ms(250);
PORTB=0xFF;
delay_ms(100); }
datain=PINA;
}else if (PINA.1==0)
{for(i=0;i<=4;i++){
PORTB=Nama[i];
delay_ms(250);
PORTB=0xFF;

delay_ms(100); }
datain=PINA;
}else if (PINA.2==0)
{for(i=0;i<=7;i++) {
PORTB=No_kls[i];
delay_ms(250);
PORTB=0xFF;
delay_ms(100);}
datain=PINA;
}else if (PINA.3==0)
{for(i=0;i<=9;i++){
PORTB=Tgl_lhr[i];
delay_ms(200);
PORTB=0xFF;
delay_ms(100);}
}
}
}

BAB IV
PEMBAHASAN
4.1 Hasil Simulasi

4.2 Foto MCU

Gambar Foto tampil Nomor dan Kelas

4.3 Inisialisasi PORT

PORTA bernilai 0xFF yang artinya pada PORTA menggunakan pull-up.


DDRB dan DDRD bernilai 0x00 Artinya digunakan sebagai input sedangkan
DDRC bernilai 0xFF yang berarti PORTC digunakan sebagai output.
4.4 Hasil Praktikum
Pada saat Mikrokontroler diberi tegangan maka LED indikator menyala tetapi
program masih belum berjalan. Setelah itu program yang telah dimasukkan kedalam
ATMega 16 akan berfungsi dengan menekan push button yang ada pada MCU. Terdapat
4 tombol yang mewakili PINA.0, PINA.1, PINA.2 dan PINA.3 pada program. Tombol
ditekan maka program akan bejalan dikarenakan menggunakan perintah If yang sama
artinya dengan jika ditekan maka akan melakukan perintah :
o PINA.0 = Akan melakukan perintah untuk menampilkan NIM pada 7 segmen.
o PINA.1 = Akan melakukan perintah untuk menampilkan NAMA pada 7
segmen.
o PINA.2 = Akan melakukan perintah untuk menampilkan No Absen dan Kelas
pada 7 segmen.
o PINA.3 = Akan melakukan perintah untuk menampilkan Tanggal Lahir pada 7
segmen.

Pada PINA.0, PINA.1, PINA.2 dan PINA.3 saat ditekan maka rangkaian akan
hubung singkat (short) yang menyebabkan arus mengalir. Pada saat itu juga
PINA.0, PINA.1, PINA.2 dan PINA.3 memiliki logika 0 yang menyebabkan
program berjalan.

BAB V
KESIMPULAN
Rangkaian MCU menggunakan Push button dan Seven Segment merupakan rangkaian
yang berfugsi dengan menekan sebagai logika 0 dan melepasnya sebagai logika 1 yang
menggunakan perintah if else agar MCU tersebut dapat memilih salah satu mana yang akan
ditampilkannya.