Top Banner
Laporan Tugas Akhir BAB II STT Telematika Telkom Purwokerto 6 D310012 BAB II DASAR TEORI Pada bab ini menjelaskan tentang teori dasar yang menunjang Tugas Akhir yang meliputi perangkat keras maupun perangkat lunak yang digunakan seperti mikropengendali ATMega8, LCD 2x16, sensor suhu LM35, dot matrix 5x7, keypad 4x4, seven segment, push button, buzzer, LED, dan teori lainnya yang menunjang dalam melakukan perancangan dan pembuatan trainer. A. SISTEM MIKROPENGENDALI 1. PENGERTIAN MIKROPENGENDALI Mikropengendali adalah sebuah sistem mikroprosesor dimana di dalamnya sudah terdapat Central Processing Unit (CPU), Random Access Memory (RAM), Read Only Memory (ROM), Timer/Counter , clock, dan unit masukan dan keluaran (I/O) yang digunakan untuk melakukan komunikasi timbal balik dengan dunia luar, melalui sensor (masukan) dan akuator (keluaran). Blok diagram masukan, pemrosesan dan keluaran mikropengendali dapat dilihat pada gambar 2.1. [1] \ Gambar 2.1. Blog Diagram Masukan, Pemrosesan dan Keluaran Mikropengendali 2. KELEBIHAN SISTEM DENGAN MIKROPENGENDALI a. Kehandalan tinggi (high reliability) dan kemudahan integrasi dengan komponen lain (high degree of integration). Masukan Pemrosesan Keluaran Sensor Suhu LM35 ATmega 8 LED LCD Buzzer Dot Matrix Seven Segment
36

Masukan Pemrosesan Keluaran

Feb 03, 2022

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Masukan Pemrosesan Keluaran

Laporan Tugas Akhir BAB II

STT Telematika Telkom Purwokerto 6 D310012

BAB II

DASAR TEORI

Pada bab ini menjelaskan tentang teori dasar yang menunjang Tugas Akhir yang

meliputi perangkat keras maupun perangkat lunak yang digunakan seperti mikropengendali

ATMega8, LCD 2x16, sensor suhu LM35, dot matrix 5x7, keypad 4x4, seven segment,

push button, buzzer, LED, dan teori lainnya yang menunjang dalam melakukan

perancangan dan pembuatan trainer.

A. SISTEM MIKROPENGENDALI

1. PENGERTIAN MIKROPENGENDALI

Mikropengendali adalah sebuah sistem mikroprosesor dimana di dalamnya

sudah terdapat Central Processing Unit (CPU), Random Access Memory (RAM),

Read Only Memory (ROM), Timer/Counter , clock, dan unit masukan dan

keluaran (I/O) yang digunakan untuk melakukan komunikasi timbal balik dengan

dunia luar, melalui sensor (masukan) dan akuator (keluaran). Blok diagram

masukan, pemrosesan dan keluaran mikropengendali dapat dilihat pada gambar

2.1.[1]

\

Gambar 2.1. Blog Diagram Masukan, Pemrosesan dan Keluaran

Mikropengendali

2. KELEBIHAN SISTEM DENGAN MIKROPENGENDALI

a. Kehandalan tinggi (high reliability) dan kemudahan integrasi dengan

komponen lain (high degree of integration).

Masukan Pemrosesan Keluaran

Sensor Suhu

LM35

ATmega 8 LED

LCD

Buzzer

Dot Matrix

Seven Segment

Page 2: Masukan Pemrosesan Keluaran

7

Laporan Tugas Akhir BAB II

STT Telematika Telkom Purwokerto D310012

b. Ukuran yang semakin dapat diperkecil (reduced in size).

c. Penggunaan komponen dipersedikit (reduced component count) yang juga

akan menyebabkan biaya produksi dapat semakin ditekan (lower

manufacturing cost).

d. Waktu pembuatan lebih singkat (shorter development time) sehingga lebih

cepat pula dijual ke pasar sesuai kebutuhan (shorter time to market).

e. Konsumsi daya yang rendah (lower power consumption). [2]

3. BAGIAN-BAGIAN MIKROPENGENDALI AVR

Bagian-bagian dari mikropengendali dapat dilihat pada gambar 2.2.

Program

Memori

Program

Counter

32 General Purpose

Working Register

ALUInternal

Peripheral

SRAM

Gambar 2.2 Blok Diagram Mikropengendali AVR

a. Arithmetic Logic Unit (ALU) adalah prosesor yang bertugas mengeksekusi

(eksekutor) kode program yang ditunjuk oleh program counter.

b. Progam memori adalah memori flash Programmable Erasable Read Only

Memory (PEROM) yang bertugas menyimpan program (software) yang

dibuat dalam bentuk kode-kode program (berisi alamat memori beserta kode

program dalam ruangan memori alamat tersebut) yang telah di compile

berupa bilangan heksa atau biner.

c. Program Counter (PC) adalah komponen yang bertugas menunjukkan

kepada ALU alamat program memori yang harus diterjemahkan kode

Page 3: Masukan Pemrosesan Keluaran

8

Laporan Tugas Akhir BAB II

STT Telematika Telkom Purwokerto D310012

programnya dan dieksekusi. Sifat dari PC adalah linier artinya PC

menghitung naik satu bilangan yang bergantung alamat awalnya.

d. 32 General Purpose Register (GPR) adalah register file atau register kerja

(R0-R31) yang mempunyai ruangan 8-bit. Tugas GPR adalah tempat ALU

mengeksekusi kode-kode program, setiap instruksi dalam ALU melibatkan

GPR. GPR terbagi 2 yaitu kelompok atas (R16-R31) dan kelompok bawah

(R0-R15), dimana kelompok bawah tidak dapat digunakan untuk mengakses

data secara langsung (imidiet) data konstan seperti instruksi assembly LDI,

dan hanya dapat digunakan antar register, Static Random Access Memory

(SRAM), atau register I/O (register port). Sedangkan kelompok atas sama

dengan kelompok bawah hanya saja mempunyai kelebihan dapat mengakses

data secara langsung (imidiet) data konstan. Kelebihan lain dari GPR adalah

terdapat register pasangan yang digunakan untuk pointer (penunjuk ke alamat

tertentu).

e. Static Random Access Memory (SRAM) adalah Random Access Memory

(RAM) yang bertugas menyimpan data sementara sama seperti RAM pada

umumnya mempunyai alamat dan ruangan data. Alamat terakhir dari SRAM

bergantung pada kapasitas SRAM, biasanya sudah didefinisikan pada file

header dengan nama RAMEND, jadi tidak perlu mengingat nama SRAM

yang terakhir pakai saja RAMEND. RAMEND biasanya digunakan untuk

membuat stack (alamat terakhir dari SRAM). Dalam bahasa C, pembuatan

stack menjadi tanggungan compiler.

f. Internal periperal adalah peralatan/modul internal yang ada dalam

mikropengendali seperti saluran masukan/keluaran, interupsi eksternal,

timer/counter, Universal Synchronous/Asynchronous Receiver/Transmitter

(USART) dan Electrically Erasable Programmable Read-Only Memory

(EEPROM). Tiap peralatan internal mempunyai register port (register I/O)

yang mengendalikan peralatan internal tersebut. Kata-kata port dan I/O

tersebut bukan hanya pin masukan dan keluaran tetapi semua peralatan

internal yang ada didalam chip disebut port atau I/O.[3]

Page 4: Masukan Pemrosesan Keluaran

9

Laporan Tugas Akhir BAB II

STT Telematika Telkom Purwokerto D310012

4. MEMORI MIKROPENGENDALI AVR

Bagian yang sangat penting dalam pemrograman chip mikropengendali

adalah manajemen memori, karena memori dalam mikropengendali sangat

terbatas berbeda dengan komputer yang mempunyai bermega-mega bahkan giga

byte memori, sehingga harus dapat digunakan seefisien dan seefektif mungkin.

Bahasa C diciptakan untuk komputer berasitektur Von Neumann dimana bus

memori data dan bus memori program dapat menyatu. Sedangkan AVR

mempunyai arsitektur harvard dimana bus memori program dan bus memori data

terpisah, sehingga dapat mengakses memori data dan memori program dalam satu

waktu.

a. Peta Memori ATmega

Memori ATmega terbagi menjadi tiga yaitu :

1) Memori Flash

Memori flash adalah memori Read Only Memory (ROM) tempat

kode-kode program berada. Kata flash menunjukkan jenis ROM yang

dapat ditulis dan dihapus secara elektrik. Memori flash terbagi menjadi

dua bagian yaitu bagian aplikasi dan bagian boot. Bagian aplikasi adalah

bagian kode-kode program aplikasi berada. Bagian boot adalah bagian

yang digunakan khusus untuk booting awal yang dapat diprogram untuk

menulis bagian aplikasi tanpa melalui programmer/downloader,

misalnya USART.

2) Memori Data

Memori data adalah memori Random Access Memori (RAM) yang

digunakan untuk keperluan program. Memori data terbagi empat bagian

yaitu 32 General Purpose Register (GPR), I/O register, additional I/O

register dan internal RAM. 32 GPR adalah register khusus yang bertugas

untuk membantu eksekusi program oleh Arithmatich Logic Unit (ALU),

dalam instruksi assembler setiap instruksi harus melibatkan GPR. Dalam

bahasa C biasanya digunakan untuk variabel global atau nilai balik fungsi

yang dapat memperingan kerja ALU. Dalam istilah prosesor komputer

sehari-hari GPR dikenal sebagai chace memory. I/O register dan

additional I/O register adalah register yang difungsikan khusus untuk

Page 5: Masukan Pemrosesan Keluaran

10

Laporan Tugas Akhir BAB II

STT Telematika Telkom Purwokerto D310012

mengendalikan berbagai periperal dalam mikropengendali seperti pin

port, timer/counter, dan USART. Register ini dalam keluarga

mikropengendali MCS51 dikenal sebagai Special Function Register

(SFR). Internal Random Access memory (RAM) adalah memori yang

sudah ada di dalam mikropengendali.

3) Electrically Erasable Programmable Read-Only Memory (EEPROM)

Memori ini adalah memori yang dapat digunakan untuk menyimpan

data pada saat chip sedang berjalan dan data yang tersimpan tidak akan

terhapus meskipun catu daya mati atau biasa disebut memori yang

bersifat non volatile.[3]

5. BAGIAN-BAGIAN RANGKAIAN SISTEM MINIMUM

Rangkaian sistem minimum adalah rangkaian minimal dimana chip

mikropengendali dapat bekerja (running). Chip AVR ATmega dilengkapi dengan

osilator internal sehingga menghemat biaya karena tidak perlu menggunakan

osilator eksternal untuk sumber clock CPU. Sistem minimum AVR sangat

sederhana dimana hanya menghubungkan VCC dan AVCC ke + 5V dan GND dan

AGND ke ground tanpa memakai kristal, dan pin reset diambangkan (tidak

dihubungkan kemanapun) dan chip sudah siap bekerja normal.[3]

a. Catu Daya

Berdasarkan datasheet, catu daya untuk AVR model low voltage

(contohnya ATmega8L) adalah 2,7V-5,5V dan catu daya untuk AVR model

biasa (contohnya ATmega8) adalah 4,5V-5,5V. Sebaiknya AVR diberi catu

daya 5V karena catu daya ini mudah dibuat menggunakan IC penstabil

tegangan 7805. [4]

b. Kristal Osilator (XTAL)

Pada sebuah rangkaian minimum sistem, dibutuhkan osilator. Ibaratnya

pada manusia inilah jantungnya, jadi tanpa adanya jantung (osilator)

mikropengendali juga tak akan pernah hidup. Sebenarnya pada

mikropengendali AVR sudah terdapat rangkaian osilator internal (di dalam

IC sudah ada osilatornya). Namun osilator internal ini besar frekuensi

maksimalnya hanya sebesar 8MHz. Sehingga jika ingin menggunakan

Page 6: Masukan Pemrosesan Keluaran

11

Laporan Tugas Akhir BAB II

STT Telematika Telkom Purwokerto D310012

frekuensi diatas 8MHz harus menggunakan osilator eksternal. Biasanya

rangkaian osilator eksternal ini terdiri dari sebuah kristal dan 2 buah

kapasitor.

c. Rangkaian RESET

Reset ialah kondisi yang menyebabkan eksekusi program AVR dimulai

dari awal atau alamat 0. Reset merupakan fitur penting AVR. Tanpa adanya

reset, program AVR akan dijalankan dari sembarang lokasi memori yang

berakibat pada kekacauan jalannya program. Sumber reset AVR dapat berasal

dari rangkaian power-on reset internal, pin reset, timer watchdog dan

rangkaian pendeteksi brown-out. Rangkaian Power-on reset internal

memberikan sinyal reset kepada AVR ketika catu daya diberikan kepada

AVR, yaitu sejak tegangan catu bernilai 0 V sampai 1,4 V. Logika low pada

pin reset yang lebih lama daripada 1,5 µs juga dapat memberikan sinyal reset

kepada AVR.[3]

Blok diagram bagian-bagian rangkaian minimum sistem dapat dilihat pada

gambar 2.3.

Gambar 2.3 Blok Diagram Bagian-Bagian Rangkaian Minimum Sistem

6. MIKROPENGENDALI AVR ATMEGA8

AVR adalah mikropengendali Reduce Instruction Set Compute (RISC) 8 bit

berdasarkan arsitektur Harvard, yang diproduksi oleh Atmel pada tahun 1996.

AVR mempunyai kepanjangan dari advanced versatile RISC atau Alf and

vegard’s risc processor. AVR memiliki keunggulan dibandingkan dengan

mikropengendali lain. Keunggulan mikropengendali AVR yaitu AVR memiliki

kecepatan eksekusi program yang lebih cepat. Selain itu, mikropengendali AVR

CATU DAYA

XTAL MIKROPENGENDALI RESET

Page 7: Masukan Pemrosesan Keluaran

12

Laporan Tugas Akhir BAB II

STT Telematika Telkom Purwokerto D310012

memiliki fitur yang lengkap seperti ADC internal, EEPROM internal,

Timer/Counter, Watchdog Timer, PWM, Port I/O, dan komunikasi serial

sehingga dengan adanya fasilitas yang cukup lengkap ini akan memudahkan

programmer dan desainer dapat memanfaatkannya untuk berbagai aplikasi

sistem elektronika seperti robot, peralatan komunikasi dan berbagai keperluan

lain yang menggunakan fasilitas mikropengendali sebagai pengolah datanya. [5]

AVR ATmega8 adalah mikropengendali CMOS 8-bit berarsitektur AVR

RISC yang memiliki 8K byte in-System Programmable Flash. Mikropengendali

dengan konsumsi daya rendah ini mampu mengeksekusi instruksi dengan

kecepatan maksimum 16MIPS pada frekuensi 16MHz. Jika dibandingkan

dengan ATmega8L perbedaannya hanya terletak pada besarnya tegangan yang

diperlukan untuk bekerja. Untuk ATmega8 tipe L, mikropengendali ini dapat

bekerja dengan tegangan antara 2,7-5,5 V sedangkan untuk ATmega8 hanya

dapat bekerja pada tegangan antara 4,5-5,5 V.[6]

a. Konfigurasi Pin Atmega8

Konfigurasi pin dari ATmega8 dapat dilihat pada gambar 2.4.

Gambar 2.4. Konfigurasi Pin Atmega8

ATmega8 memiliki 28 pin, yang masing-masing pin nya memiliki fungsi

yang berbeda-beda baik sebagai port maupun fungsi yang lainnya. Berikut

akan dijelaskan fungsi dari masing-masing pin ATmega8.

VCC

Merupakan supply tegangan digital.

Page 8: Masukan Pemrosesan Keluaran

13

Laporan Tugas Akhir BAB II

STT Telematika Telkom Purwokerto D310012

GND

Merupakan ground untuk semua komponen yang membutuhkan

grounding.

Port B (PB7...PB0)

Port I/O 8-bit dengan resistor pull-up internal tiap pin. Buffer port B

mempunyai kapasitas menyerap (sink) dan mencatu (sorce).

Khusus PB6 dapat digunakan sebagai input kristal (inverting oscilator

amplifier) dan masukan ke rangkaian clock internal, bergantung pada

pengaturan fuse bit (ada dalam software programmer/downloader) yang

digunakan untuk memilih sumber clock.

Khusus PB7 dapat digunakan output kristal (output inverting oscilator

amplifier) bergantung pada pengaturan fuse bit untuk memilih sumber

clock. Jika pada sumber clock yang dipilih dari osilator internal, PB7 dan

PB6 dapat digunakan sebagai I/O atau jika PB7 (TOSC2 dan TOSC1)

digunakan untuk saluran masukan dan counter. Fungsi khusus dari pin

ditunjukkan pada tabel 2.1

Tabel 2.1 Fungsi Khusus Pin B[7]

PIN FUNGSI

PB7 XTAL2 (Chip Clock Oscillator pin 2)

TOSC2 (Timer Oscillator pin 2)

PB6 XTAL1 (Chip Clock Oscillator pin 1 or External Clock Input)

TOSC1 (Timer Oscillator pin 1)

PB5 SCK (SPI Bus Master Clock Input)

PB4 MISO (SPI Bus Master Input/Slave Output)

PB3 MOSI (SPI Bus Master Output/Slave Input)

OC2 (Timer/Counter1 Output Compare Match Output)

PB2 SS (SPI Bus Master Slave Select)

OC1B (Timer/Counter1 Output Compare Match B Output)

PB1 OC1A (Timer/Counter1 Output Compare Match A Output)

PB0 ICP1 (Timer/Counter Input Capture Pin)

Page 9: Masukan Pemrosesan Keluaran

14

Laporan Tugas Akhir BAB II

STT Telematika Telkom Purwokerto D310012

Keterangan :

- ICP1(PB0), berfungsi sebagai timer/counter 1 input capture pin.

- OC1A(PB1), OC1B(PB2) dan OC2(PB3) dapat difungsikan sebagai

keluaran PWM (Pulse Width Modulation).

- MOSI(PB3), MISO(PB4), SCK(PB5), SS(PB2) merupakan

jalur komunikasi SPI. Selain itu pin ini juga berfungsi sebagai jalur

pemrograman serial (ISP).

- TOSC1(PB6) dan TOSC2(PB7) dapat difungsikan sebagai sumber clock

eksternal untuk timer.

- XTAL1(PB6) dan XTAL2(PB7) merupakan sumber clock utama

mikropengendali. Perlu diketahui, jika kita menggunakan clock internal

(tanpa kristal) maka PB6 dan PB7 dapat difungsikan sebagai

masukan/keluaran digital biasa. Namun jika kita menggunakan clock dari

kristal eksternal maka PB6 dan PB7 tidak dapat kita gunakan sebagai

masukan/keluaran.

Port C (PC5...PC0)

Port I/O 7-bit dengan resistor pull-up internal tiap pin. Buffer port C

mempunyai kapasitas menyerap (sink) dan mencatu (sorce). Fungsi

khusus dari pin ditunjukkan pada tabel 2.2.

Tabel 2.2 Fungsi Khusus Pin C[7]

PIN FUNGSI

PC6 RESET (Reset Pin)

PC5 ADC5 (ADC Input Channel 5)

SCL (Two-wire Serial Bus Clock Line)

PC4 ADC4 (ADC Input Channel 4)

SDA (Two-wire Serial Bus Data Input/Output Line)

PC3 ADC3 (ADC Input Channel 3)

PC2 ADC2 (ADC Input Channel 2)

PC1 ADC1 (ADC Input Channel 1)

PC0 ADC0 (ADC Input Channel 0)

Page 10: Masukan Pemrosesan Keluaran

15

Laporan Tugas Akhir BAB II

STT Telematika Telkom Purwokerto D310012

Keterangan :

- ADC 6 channel (PC0,PC1,PC2,PC3,PC4,PC5) dengan resolusi sebesar

10 bit. ADC dapat kita gunakan untuk mengubah masukan yang berupa

tegangan analog menjadi data digital.

- I2C (SDA dan SDL) merupakan salah satu fitur yang terdapat pada port

C. I2C digunakan untuk komunikasi dengan sensor atau perangkat lain

yang memiliki komunikasi data tipe I2C seperti sensor kompas.

- RESET merupakan salah satu pin penting di mikropengendali, reset dapat

digunakan untuk me-restart program. Pada ATMega8 pin reset

digabungkan dengan salah satu pin I/O (PC6). Secara default PC6 ini di-

disable dan diganti menjadi pin RESET. Dapat men-disable fungsi pin

reset tersebut untuk menjadikan PC6 sebagai pin masukan/keluaran serta

dapat melakukan konfigurasi di fuse bit untuk melakukan pengaturannya,

namun disarankan untuk tidak merubahnya karena jika pin reset di-

disable maka tidak dapat melakukan pemograman melalui jalur ISP.

Port D (PD7...PD0)

Port I/O 8-bit dengan resistor pull-up internal tiap pin. Buffer port C

mempunyai kapasitas menyerap (sink) dan mencatu (sorce). Fungsi

khusus dari pin ditunjukkan pada tabel 2.3.

Tabel 2.3 Fungsi Khusus Pin D[7]

PIN FUNGSI

PD7 AIN1 (Analog Comparator Negative Input)

PD6 AIN0 (Analog Comparator Positive Input)

PD5 T1 (Timer/Counter 1 External Counter Input)

PD4 XCK (USART External Clock Input/Output)

T0 (Timer/Counter 0 External Counter Input)

PD3 INT1 (External Interrupt 1 Input)

PD2 INT0 (External Interrupt 0 Input )

PD1 TXD (USART Output Pin)

PD0 RXD (USART Input Pin)

Page 11: Masukan Pemrosesan Keluaran

16

Laporan Tugas Akhir BAB II

STT Telematika Telkom Purwokerto D310012

Keterangan :

- USART (TXD dan RXD) merupakan jalur data komunikasi serial dengan

level sinyal TTL. Pin TXD berfungsi untuk mengirimkan data serial,

sedangkan RXD kebalikannya yaitu sebagai pin yang berfungsi untuk

menerima data serial.

- Interrupt (INT0 dan INT1) merupakan pin dengan fungsi khusus sebagai

interupsi hardware. Interupsi biasanya digunakan sebagai selaan dari

program, misalkan pada saat program berjalan kemudian terjadi interupsi

hardware/software maka program utama akan berhenti dan akan

menjalankan program interupsi.

- XCK dapat difungsikan sebagai sumber clock eksternal untuk USART,

namun kita juga dapat memanfaatkan clock dari CPU, sehingga tidak

perlu membutuhkan eksternal clock.

- T0 dan T1 berfungsi sebagai masukan counter eksternal untuk timer 1

dan timer 0.

- AIN0 dan AIN1 keduanya merupakan masukan untuk analog

komparator.

AVcc

AVcc adalah pin tegangan catu untuk Analog to Digital Converter (A/D

Converter). AVcc harus dihubungkan ke Vcc, walaupun ADC tidak

digunakan. Jika ADC digunakan, maka AVcc harus dihubungkan ke Vcc

melalui Low Pass Filter (LPF).

AREF

Untuk pin tegangan referensi analog untuk ADC.[3]

B. PERANGKAT PENDUKUNG

1. PERANGKAT KELUARAN

Untuk membentuk sebuah trainer dibutuhkan beberapa perangkat pendukung

seperti :

a. Light Emitting Diode (LED) Display 1x8

Light Emitting Diode (dioda pemancar cahaya), yang lebih dikenal

dengan kependekannya yaitu LED, menghasilkan cahaya ketika arus mengalir

Page 12: Masukan Pemrosesan Keluaran

17

Laporan Tugas Akhir BAB II

STT Telematika Telkom Purwokerto D310012

melewatinya. Pada awalnya LED hanya dibuat dengan warna merah, namun

sekarang warna-warna jingga, kuning, hijau, biru dan putih juga tersedia di

pasaran. Terdapat pula LED inframerah, yang menghasilkan cahaya

inframerah. Sebuah LED yang tipikal memiliki kemasan berbentuk kubah

yang terbuat dari bahan plastik, dengan pinggiran yang menonjol pada bagian

bawah kubah, terdapat dua kubah kaki terminal dibagian bawah kubah.

Biasanya, meskipun tidak selalu demikian, kaki katoda lebih pendek dari kaki

anoda. Cara lain untuk membedakan kaki katoda dengan kaki anoda adalah

dengan memperhatikan bagian rim (apabila LED yang bersangkutan memang

memilikinya). Rim dibuat berbentuk datar pada sisi yang berdekatan dengan

kaki katoda.

Sebuah LED membutuhkan arus sekitar 20 mA untuk memancarkan

cahaya dengan kecerahan maksimum, meskipun arus sekecil 5 mA masih

dapat menghasilkan cahaya yang jelas tampak. Sebuah LED rata-rata adalah

1,5V, sehingga pasokan tegangan 2V dapat menyalakan sebagian besar LED

dengan kecerahan maksimum. Dengan level-level tegangan yang lebih tinggi,

LED dapat terbakar apabila tegangan maju yang diberikan melebihi 2V. Kita

harus penting untuk menyambungkan resistor pembatas arus secara seri

kesebuah LED. Cara mengetahuinya nilai resistor yang digunakan adalah

melalui persamaan 2.1 :

.....................................................................................(2.1)

R =

R = 0,15 KΩ = 150 Ω

Dengan :

V = Tegangan Sumber

R = Besar Tahanan

Vled = Tegangan LED

I = Arus yang mengalir

Page 13: Masukan Pemrosesan Keluaran

18

Laporan Tugas Akhir BAB II

STT Telematika Telkom Purwokerto D310012

Gambar rangkaian LED dapat dilihat pada gambar 2.5.

Gambar 2.5 Rangkaian LED

LED digunakan sebagai lampu-lampu indikator, misalnya untuk

mengindikasikan bahwa daya listrik ke sebuah perangkat berada dalam

keadaan tersambung. LED juga digunakan untuk tampilan-tampilan

informatif dan dekoratif. LED dibuat dalam beragam bentuk, beberapa di

antaranya bulat, persegi, dan segitiga. Susunan beberapa buah LED

digunakan untuk membentuk sebuah display (tampilan). Bentuk susunan

yang paling umum adalah tampilan tujuh segmen, yang digunakan untuk

menampilkan angka-angka dan huruf-huruf secara digital. Satu atau beberapa

baris susunan semacam ini dapat digunakan untuk menampilkan sebuah

pesan lengkap.

LED dibuat dengan beberapa ukuran tertentu. LED terkecil memiliki

ukuran diameter sekitar 1 mm, digunakan sebagai lampu-lampu indikator

pada panel-panel dengan ruang yang relatif sempit. Sebaiknya LED-LED

terbesar (jumbo) memiliki ukuran diameter 10 mm dan digunakan dalam

aplikasi-aplikasi yang membutuhkan lampu-lampu peringatan yang harus

mudah terlihat. LED sangat ideal untuk digunakan sebagai lampu indikator

karena hanya membutuhkan arus listrik yang relatif sangat kecil dibandingkan

dengan lampu-lampu filamen. Hal ini menjadikan LED sangat cocok untuk

digunakan pada perangkat-perangkat yang digerakkan oleh baterai, dimana

penggunaan lampu filamen akan segera menghabiskan daya yang tersedia.

Juga terdapat fakta bahwa lampu-lampu filamen memiliki usia pemakaian

yang terbatas. Cepat atau lambat, kawat filamen di dalam lampu akan

terbakar. Di sisi lain, LED dapat bertahan untuk tetap digunakan praktis

Page 14: Masukan Pemrosesan Keluaran

19

Laporan Tugas Akhir BAB II

STT Telematika Telkom Purwokerto D310012

selamanya. Simbol untuk LED dan bentuk fisik LED dapat dilihat pada

gambar 2.6 dan gambar 2.7.[8]

Gambar 2.6 Simbol Komponen LED

Gambar 2.7 Bentuk LED

b. Liquid Crystal Display (LCD) 2x16

LCD ialah suatu display dari bahan cairan kristal yang pengoperasiannya

menggunakan sistem dot matriks. Penggunaan LCD sangat praktis

dikarenakan konsumsi daya yang rendah, lebih ringan dan tampilan yang

dihasilkan lebih bagus. Pada LCD terdapat dua susunan dimensi yang dibagi

menjadi dalam baris dan kolom yang mana pada pembuatan alat ini,

perancang menggunakan LCD 2x16. Gambar dari LCD 2 x 16 dapat dilihat

pada gambar 2.8.

Gambar 2.8 LCD 2 x 16

Page 15: Masukan Pemrosesan Keluaran

20

Laporan Tugas Akhir BAB II

STT Telematika Telkom Purwokerto D310012

Cara kerja pada LCD sangat mudah seperti halnya monitor pada

komputer karena sudah dilengkapi dengan pengontrol sendiri yang sudah

menyatu dengan LCD maka tinggal mengikuti aturan standar yang sudah

disimpan dalam pengontrol tersebut. Secara umum bentuk konfigurasi dari

LCD yang terhubung ke rangkaian mikropengendali. Rangkaian interfacing

LCD dapat dilihat pada gambar 2.9.

Gambar 2.9 Rangkaian Interfacing LCD[9]

Pada konfigurasi rangkaian interfacing LCD dapat dilihat bahwa LCD

memiliki jumlah pin sebanyak 16 yang memiliki fungsi masing-masing.

Berikut tabel pin LCD beserta fungsinya. Fungsi tabel ini akan

mempermudah dalam proses pengoperasian LCD. Seperti tampak pada tabel

terdapat beberapa pin, namun yang menjadi pin penting dari proses

pengoprasian LCD adalah pin Register Select (RS) dan Read/Write (RW).

Konfigurasi pin LCD dapat dilihat pada tabel 2.4.

Tabel 2.4 Konfigurasi Pin LCD 2x16[10]

No PIN Nama PIN Fungsi

1 GND Ground

2 VCC Tegangan

3 VEE Contras voltage

4 RS

Register select

0 = instruction Register

1 = data register

Page 16: Masukan Pemrosesan Keluaran

21

Laporan Tugas Akhir BAB II

STT Telematika Telkom Purwokerto D310012

Tabel 2.4 Konfigurasi Pin LCD 2x16 (Lanjutan)

No PIN Nama PIN Fungsi

5 RW

Read / write, to choose

write or read mode

0 = write mode

1 = read mode

6 E

Enable

0 = start to lacht data to

LCD character

1 = disable

7 D0 Data bit ke - 0

8 D1 Data bit ke - 1

9 D2 Data bit ke - 2

10 D3 Data bit ke - 3

11 D4 Data bit ke - 4

12 D5 Data bit ke - 5

13 D6 Data bit ke - 6

14 D7 Data bit ke - 7

15 A Anoda (+5 V)

16 K Katoda (Ground)

RS merupakan Register Select pada saat RS berlogika “0” maka RS akan

berfungsi sebagai inisialisasi atau perintah khusus. Sedangkan pada saat

berlogika “1” maka RS akan berfungsi sebagai data yang nantinya akan

dimunculkan pada LCD.

RW merupakan Read/Write, seperti namanya baca dan tulis, pada saat

RW berlogika “0” maka RW akan berfungsi sebagai penulis, yang mana LCD

akan menampilkan informasi yang diperoleh. Sedangakan pada saat RW

berlogika “1” maka RW akan berfungsi sebagai pembaca yang akan

melakukan pembacaan memori pada LCD.

Page 17: Masukan Pemrosesan Keluaran

22

Laporan Tugas Akhir BAB II

STT Telematika Telkom Purwokerto D310012

c. Buzzer

Buzzer adalah komponen elektronika yang mengubah energi listrik

menjadi energi suara. Buzzer pada umumnya digunakan untuk menandakan

bahwa suatu proses telah selesai atau berfungsi sebagai penanda alarm bahwa

suatu proses yang dilakukan terjadi kesalahan. Pada suatu buzzer terkandung

di dalamnya sebuah osilator internal yang digunakan untuk menghasilkan

suara dan pada buzzer osilator yang biasanya diatur pada frekuensi kerja

sebesar 400 Hz. Dalam penggunaannya pada rangkaian, buzzer dapat

digunakan pada tegangan sebesar antara 5V sampai dengan 12V dan arus

sebesar 25 mA. Simbol dari komponen buzzer dan bentuk fisik buzzer dapat

dilihat pada gambar 2.10 dan gambar 2.11. [11]

Gambar 2.10 Simbol Komponen Buzzer

Gambar 2.11 Buzzer

d. Display Seven Segment

Seven segment adalah suatu segmen-segmen yang digunakan untuk

menampilkan angka/bilangan desimal. Seven segment ini terdiri dari 7 batang

LED yang disusun membentuk angka 8 dengan menggunakan huruf a-f yang

disebut dot matriks. Penyusunan LED tersebut disusun dengan cara

menyambung pada semua kutup anodanya yang mana sering disebut dengan

common anoda atau dengan menyambung pada kutup katodanya yang biasa

disebut dengan common katoda. Setiap segmen ini terdiri dari 1 atau 2

Page 18: Masukan Pemrosesan Keluaran

23

Laporan Tugas Akhir BAB II

STT Telematika Telkom Purwokerto D310012

LED.[13]

Bentuk susunan karakter penampil karakter A-F pada display 7

segment dapat dilihat pada gambar 2.12.

Gambar 2.12 Bentuk Susunan Karakter Display Seven Segment

Seven segment dapat menampilkan angka-angka desimal dan beberapa

karakter tertentu melalui kombinasi aktif atau tidaknya LED penyusun dalam

seven segment. Untuk mempermudah pengguna seven segment, umumnya

digunakan sebuah decoder atau sebuah seven segment driver yang akan

mengatur aktif atau tidaknya LED-LED dalam seven segment sesuai dengan

masukan biner yang diberikan. Piranti tampilan modern disusun sebagai pola

7 segmen atau dot matriks.

Jenis seven segment sebagaimana namanya, menggunakan pola tujuh

batang LED yang disusun membentuk angka 8 seperti yang ditunjukkan pada

gambar 2.11. Huruf-huruf yang diperlihatkan dalam gambar tersebut

ditetapkan untuk menandai segmen-segmen tersebut. Dengan menyalakan

beberapa segmen yang sesuai, akan dapat diperagakan digit-digit dari 0

sampai 9, dan juga bentuk huruf A sampai F (dimodifikasi). Sinyal input dari

switches tidak dapat langsung dikirimkan ke peraga seven segment, sehingga

harus menggunakan decoder Binary Code Decimal (BCD) ke seven segment

sebagai antar muka. Decoder ini terdiri dari gerbang-gerbang logika yang

masukannya berupa digit BCD dan keluarannya berupa saluran-saluran untuk

mengemudikan tampilan seven segment.

1) Prinsip Kerja Seven Segment

Prinsip kerja dari seven segment ini adalah himpuan bilangan biner

pada switch dikonversi masuk kedalam decoder, kemudian decoder

Page 19: Masukan Pemrosesan Keluaran

24

Laporan Tugas Akhir BAB II

STT Telematika Telkom Purwokerto D310012

mengkonversi bilangan biner tersebut ke dalam bilangan desimal, yang

mana bilangan desimal ini akan ditampilkan pada layar seven segment.

Fungsi dari decoder adalah sebagai pengkonversi bilangan biner ke

dalam bilangan desimal.

2) Jenis-Jenis Seven Segment

Seven segment ada 2 jenis, yaitu common anoda dan common katoda

a) Common Anoda

Common Anoda merupakan pin yang terhubung dengan semua

kaki anoda LED dalam seven segment. Common anoda diberi

tegangan VCC dan seven segment dengan common anoda akan aktif

pada saat diberi logika rendah (0) atau sering disebut aktif low. Kaki

katoda dengan label a sampai h sebagai pin aktifasi yang

menentukan nyala LED.

b) Common Katoda

Common katoda merupakan pin yang terhubung dengan semua

kaki katoda LED dalam seven segment dengan common katoda akan

aktif apabila diberi logika tinggi (1) atau disebut aktif high. Kaki

anoda dengan label a sampai h sebagai pin aktifasi yang menentukan

nyala LED. Gambar 2.13 merupakan jenis hubungan dalam seven

segment.

Gambar 2.13 Jenis Hubungan Dalam Seven Segment

Page 20: Masukan Pemrosesan Keluaran

25

Laporan Tugas Akhir BAB II

STT Telematika Telkom Purwokerto D310012

Dipasaran dapat dijumpai display seven segment dalam beberapa varian

fisik yang bermacam-macam. Ada yang dikemas untuk menampilkan 1

karakter angka dan ada juga yang dikemas langsung untuk menampilkan

beberapa karakter angka. Contoh bentuk display seven segment yang dapat

dijumpai dipasaran dapat dilihat pada gambar 2.14.

Gambar 2.14 Bentuk Fisik Display Seven Segment

Penggunaan seven segment sangat mudah dan praktis dikarenakan

penggunaan daya yang relatif kecil dan mudah dalam proses

pemrogramannya. Untuk dapat menghidupkan sebuah seven segment, maka

diharuskan untuk mengirimkan logika “0” dan sebaliknya untuk mematikan

seven segment maka kirimkan logika “1” seperti ingin menampilkan angka

satu maka pada seven segment b dan c diberi logika “0”. Tabel 2.5 adalah

cara kerja untuk menampilkan angka 1 sampai 9.

Tabel 2.5 Menampilkan Angka 1 sampai 9

Angka h G f E d c b A Heksa

0 1 1 0 0 0 0 0 0 C0

1 1 1 1 1 1 0 0 1 F9

2 1 0 1 0 0 1 0 0 A4

3 1 0 1 1 0 0 0 0 B0

4 1 0 0 1 1 0 0 1 99

5 1 0 0 1 0 0 1 0 92

6 1 0 0 0 0 0 1 0 82

7 1 1 1 1 1 0 0 0 F8

8 1 0 0 0 0 0 0 0 80

9 1 0 0 1 0 0 0 0 90

Page 21: Masukan Pemrosesan Keluaran

26

Laporan Tugas Akhir BAB II

STT Telematika Telkom Purwokerto D310012

e. Dot Matrix 5x7

Display LED dot matrix pada umumnya terbentuk oleh beberapa LED

(berbentuk “dot”) yang disusun membentuk matriks 5 kolom dan 7 baris

(5x7) dan 8 kolom dan 8 baris (8x8) atau dengan ukuran yang lain. Kolom

berfungsi sebagai katoda (common chatode) dan baris sebagai anoda

(common anode) atau sebaliknya. Bentuk fisik dot matrix 5x7 dapat dilihat

pada gambar 2.15.[14]

Gambar 2.15 Bentuk Fisik Dot Matrix 5 x7

2. PERANGKAT MASUKAN

a. Sensor Suhu LM35

Sensor suhu LM35 adalah komponen elektronika yang memiliki fungsi

untuk mengubah besaran suhu menjadi besaran listrik dalam bentuk tegangan.

Sensor suhu LM35 yang dipakai dalam penelitian ini berupa komponen

elektronika yang diproduksi oleh National Semiconductor. Sensor suhu

LM35 memiliki keakuratan tinggi dan kemudahan perancangan jika

dibandingkan dengan sensor suhu yang lain. Sensor suhu LM35 juga

mempunyai keluaran impedansi mudah dihubungkan dengan rangkaian

kendali khusus serta tidak memerlukan penyetelan lanjutan.

Sensor suhu LM35 berfungsi untuk melakukan pendeteksian terhadap

suhu yang akan diukur Sensor suhu LM35 mempunyai jangkauan pengukuran

suhu antara 0 – 100 derajat Celcius dengan kenaikan 10 mV untuk tiap

derajat celcius yang berarti bahwa setiap kenaikan suhu (0C) maka akan

terjadi kenaikan tegangan sebesar 10 mV, dimana output dari sensor suhu

LM35 yang menyatakan kondisi perubahan dari suhu lingkungan. Setiap

terjadi perubahan suhu maka akan terjadi perubahan data output yang

Page 22: Masukan Pemrosesan Keluaran

27

Laporan Tugas Akhir BAB II

STT Telematika Telkom Purwokerto D310012

dihasilkan, dimana perubahan tersebut berupa perbedaan tegangan yang

dihasilkan.

Sensor suhu LM35 tidak memerlukan pengkalibrasian atau penyetelan

dari luar karena ketelitiannya sampai lebih kurang seperempat derajat celcius

pada temperatur ruang. Komponen ini bekerja pada arus 60µA sampai 5 mA

serta mempunyai impedansi masukan kurang dari 1.[12]

Tampilan fisik dan

rangkaian dari sensor suhu LM35 dapat dilihat seperti gambar 2.16 dan

gambar 2.17.

Gambar 2.16 Bentuk Fisik Sensor Suhu LM35

Gambar 2.17 Rangkaian Sensor Suhu LM35

Sensor suhu terdiri dari 3 pin konfigurasi antara lain sebagai berikut :

a. Pin Vout berfungsi sebagai pin tegangan keluaran yang beroperasi pada 0

volt sampai 1,5 volt.

b. Pin GND berfungsi sebagai pin ground dari LM 35.

c. Pin +Vs berfungsi sebagai pin sumber tegangan kerja untuk LM35.

Berikut karakteristik dari sensor suhu LM 35 :

a. Diukur langsung dalam °Celcius (skala seratus).

Page 23: Masukan Pemrosesan Keluaran

28

Laporan Tugas Akhir BAB II

STT Telematika Telkom Purwokerto D310012

b. Memiliki faktor skala linier + 10,0 mV/°C.

c. Rata–rata bekerja pada rentang suhu -55° hingga +150°C.

d. Dapat digunakan untuk aplikasi pengendalian suhu jarak jauh.

e. Hanya membutuhkan arus yang kecil yaitu kurang dari 60 µA.

f. Pemanasan suhu sangat rendah pada kondisi temperatur udara 0,08°C.

g. Memiliki faktor kesalahan yang kecil yaitu sebesar 0,25 °C.

h. Menghasilkan output impedansi yang rendah 0,1Ω dengan menggunakan

nilai beban arus sebesar 1mA.

IC LM35 adalah sebagai sensor suhu yang sangat teliti terkemas dalam

bentuk Integrated Circuit ( IC ), dimana output tegangan keluaran sangat

linier berpadanan dengan perubahan suhu. Secara prinsip sensor ini

mempunyai koefisien sebesar 10 mV/0C yang berarti bahwa setiap kenaikan

suhu (0C) maka akan terjadi kenaikan tegangan sebesar 10 mV. Sensor suhu

LM35 adalah sensor temperatur yang cukup presisi dan mudah dikalibrasi.

Dengan impedansi yang kurang dari 1Ω, LM35 beroperasi pada range arus

sekitar 400 μA sampai dengan 5 mA, mempunyai error kurang dari 1 °C

untuk range yang > 100 °C, aplikasi sensor berkisar antara 0 °C sampai 100

°C, Dapat dikatakan bahwa LM35 memiliki output yang linear. [12]

Grafik

akurasi dari sensor LM 35 terhadap suhu dapat dilihat pada gambar 2.18.

Gambar 2.18 Grafik Akurasi sensor LM 35 terhadap suhu

Page 24: Masukan Pemrosesan Keluaran

29

Laporan Tugas Akhir BAB II

STT Telematika Telkom Purwokerto D310012

b. Keypad 4x4

Keypad adalah suatu peralatan berupa tombol-tombol yang dapat

memberikan logika-logika yang akan diproses oleh mikropengendali. Dalam

perancangannya setiap tombol mewakili satu nama stasiun sehingga tombol

tersebut dipergunakan untuk memilih nama stasiun yang dikehendaki

tertampil. Bentuk fisik keypad 4x4 dapat dilihat pada gambar 2.19.[15]

Gambar 2.19 Bentuk Fisik Keypad 4x4

c. Push Button Switch

Push button switch adalah saklar tekan yang berfungsi untuk

menghubungkan atau memisahkan bagian–bagian dari suatu instalasi listrik

satu sama lain. Suatu sistem saklar tekan push button terdiri dari saklar tekan

mulai, berhenti, reset dan saklar tekan untuk emergency. Push button

memiliki kontak normally close (NC) dan normally open (NO). Pada

umumnya push button NO berwarna hijau dan untuk push button NC

berwarna merah.

Prinsip kerja push button NO adalah apabila dalam keadaan normal

(tidak ditekan) maka kontak tidak berubah atau dapat dikatakan jika tidak

ditekan maka tidak akan ada aliran listrik namun apabila di tekan maka akan

ada aliran listrik yang lewat. Sedangkan prinsip kerja push button NC adalah

kebalikan dari push button NO yaitu sebelum ditekan aliran listrik sudah ada

(mengalir) namun jika ditekan berarti kita memutuskan aliran listrik tersebut.

Kontak NC akan berfungsi sebagai stop (memberhentikan) dan kontak NO

akan berfungsi sebagai start (menjalankan) biasanya digunakan pada sistem

Page 25: Masukan Pemrosesan Keluaran

30

Laporan Tugas Akhir BAB II

STT Telematika Telkom Purwokerto D310012

pengontrolan motor–motor induksi untuk menjalankan mematikan motor

pada industri–industri. Bentuk fisik push button switch dapat dilihat pada

gambar 2.20.[16]

Gambar 2.20 Push Button Switch

C. PEMROGRAMAN

1. Bahasa Pemrograman C

Untuk pemrogram perangkat pada Tugas Akhir (TA) ini penulis menggunakan

bahasa C. Bahasa C mempunyai kemampuan lebih dibandingkan dengan bahasa

pemrograman yang lain. Bahasa C merupakan bahasa pemrograman yan bersifat

portabel, yaitu suatu program yang dibuat dengan bahasa C pada suatu komputer

dapat dijalankan pada komputer lain dengan sedikit atau tanpa perubahan. Bahasa

C merupakan bahasa pemrograman yang serbaguna dimana pemakaiannya tidak

terbatas untuk pemrograman sistem, namun juga dapat digunakan untuk aplikasi

bisnis, matematis maupun games, bahkan untuk aplikasi kecerdasan buatan.

a. Sejarah Singkat Bahasa C

C merupakan hasil dari perkembangan bahasa sebelumnya oleh Dennis

Ricthie sekitar tahun 1970-an di Bell Telephone Laboratories Inc. Bahasa C

pertama dipergunakan di komputer Digital Equipment Corporation PDP-11

yang menggunakan sistem operasi UNIX.[17]

C adalah bahasa program yang standar, artinya suatu program yang

ditulis dengan versi bahasa C tertentu akan dapat dikompilasi dengan versi

bahasa C yang lain dengan sedikit modifikasi. Standar bahasa C yang asli

adalah standar dari UNIX. Patokan dari standar UNIX ini diambil dari buku

yang ditulis oleh Brian Kerninghan dan Dennis Ritchie berjudul “the C

Page 26: Masukan Pemrosesan Keluaran

31

Laporan Tugas Akhir BAB II

STT Telematika Telkom Purwokerto D310012

programming language”, diterbitkan oleh prentice hall tahun 1978. Deskripsi

C dari kerninghan dan ritchie ini kemudian dikenal secara umum sebagai

“K&R C”.

b. Struktur Program C

Untuk dapat memahami bagaimana suatu program ditulis, maka struktur

dari program harus dimengerti terlebih dahulu. Jika struktur dari program

tidak diketahui, maka akan sulit bagi pemula untuk memulai menulis suatu

program. Program C sendiri dapat dilihat sebagai kumpulan dari sebuah atau

lebih fungsi-fungsi.[11]

Fungsi pertama yang harus ada di program C sudah ditentukan namanya,

yaitu bernama main(). Suatu fungsi di program C dibuka dengan kurung

kurawal “” dan ditutup dengan kurung kurawal tutup “”. Diantara kurung-

kurung kurawal dapat dituliskan statement program C. Struktur dari program

C dapat dilihat pada gambar 2.21.

Main ()

Statemen-statemen Fungsi utama

Fungsi_fungsi_lain()

Fungsi lain yang ditulis oleh

Statemen-statemen pemrograman komputer

Gambar 2.21 Struktur Program C.[17]

Bahasa C dikatakan sebagai bahasa terstruktur karena strukturnya

menggunakan fungsi sebagai program bagian. Fungsi-fungsi selain fungsi

utama merupakan program bagian. Fungsi ini dapat ditulis setelah fungsi

utama atau diletakan di file pustaka atau library. Jika fungsi-fungsi diletakan

di file pustaka dan akan dipakai di suatu program, maka nama file judulnya

(header file) harus dilibatkan di dalam program yang menggunakannya

dengan preprocessor direvtive #include.

Page 27: Masukan Pemrosesan Keluaran

32

Laporan Tugas Akhir BAB II

STT Telematika Telkom Purwokerto D310012

c. Kata-Kata Kunci

Kata-kata kunci merupakan kata-kata yang telah digunakan oleh

kompiler dan tidak dapat digunakan oleh pemakai program sebagai nama

pengenal, misalnya sebagai nama variabel atau nama fungsi. Bahasa C adalah

bahasa yang sensitif terhadap bentuk huruf. Huruf kecil adalah berbeda

dengan huruf besar.

Semua kata-kata kunci adalah dalam huruf kecil dan jika ditulis dengan

huruf besar, maka dianggap sudah berbeda dan bukan kata-kata kunci lagi.

Misalnya if adalah kata kunci dan IF atau if atau iF bukanlah kata kunci lagi.

Seperti *asm, asm (cli) dan asm (sei).

Suatu statement diprogram C yang panjang, dapat ditulis dalam beberapa

baris penulisan, akhir dari suatu baris yang menggunakan tanda “ \ ”

menunjukkan bahwa baris berikut adalah baris sambungan dan program yang

telah dituliskan.

D. PERANGKAT PEMROGRAMAN

Untuk memprogram suatu perangkat mikropengendali, dibutuhkan perangkat-

perangkat pembantu lainnya agar program yang akan dimasukkan dapat

terhubung ke perangkat mikropengendali. Dalam Tugas Akhir ini perangkat

pemrograman yang digunakan adalah Personal Computer (PC) yang telah

memiliki aplikasi untuk pengetikan program sebagai sarana pengetikan program

yang akan dimasukkan ke dalam trainer, downloader untuk mendownload

program yang telah diketikkan pada PC, lalu terhubung ke perangkat trainer. Blok

diagram perangkat pemrograman dapat dilihat pada gambar 2.22.

Gambar 2.22 Blok Diagram Perangkat Pemrograman

PC

(Software) Downloader

Board Trainer

Mikropengendali

Page 28: Masukan Pemrosesan Keluaran

33

Laporan Tugas Akhir BAB II

STT Telematika Telkom Purwokerto D310012

E. TAHAPAN PEMROGRAMAN

File bahasa assembly (ASM) dapat dituliskan menggunakan pengolah kata

(misal notepad), untuk kemudian disusun menggunakan assembler untuk

mendapatkan file HEX. File HEX inilah yang dimasukkan ke mikropengendali

menggunakan perangkat lunak pemrogram (programmer) melalui perantaraan

kabel paralel ataupun serial. Tahapan pemrograman dapat dilihat seperti gambar

2.23.

Gambar 2.23 Tahapan Pemrograman Mikropengendali

F. PERANGKAT LUNAK

Perangkat lunak merupakan bagian dari pembuatan Tugas Akhir ini yang

berfungsi untuk menjalankan perangkat yang dibuat berupa program compiler dan

downloader. Perangkat lunak yang akan dijelaskan berupa Code vision AVR dan Prog

ISP 168.

1. CODE VISION AVR

Code vision AVR C Compiler (CV AVR) merupakan kompiler bahasa C

untuk AVR. Kompiler ini cukup memadai untuk belajar AVR, karena selain

mudah dalam penggunaannya juga didukung berbagai fitur yang sangat

membantu dalam pembuatan software untuk keperluan pemrograman AVR. CV

AVR ini dapat dijalankan pada sistem operasi windows 9x, ME, NT 4, 2000 dan

XP. CV AVR ini dapat mengimplementasikan hampir semua instruksi bahasa C

yang sesuai dengan arsitektur AVR, bahkan terdapat beberapa keunggulan lain

Penulisan

Program

Download ke

Mikropengendali

LINKING Kompile

Program

Mikropengendali

Beroperasi

Page 29: Masukan Pemrosesan Keluaran

34

Laporan Tugas Akhir BAB II

STT Telematika Telkom Purwokerto D310012

yang memenuhi spesifik dari AVR. Hasil kompilasi objek CV AVR dapat

digunakan sebagai source debug dengan AVR studio debugger dari ATMEL.

Selain itu CV AVR juga memiliki program generator yang memungkinkan untuk

membuat program dengan cepat. Tampilan dari Code Vision C Compiler (CV

AVR) ditunjukkan pada gambar 2.24.

Gambar 2.24 Tampilan Code Vision AVR

Cara membuat program pada CV AVR sangat mudah karena instruksi–

instruksi yang akan digunakan untuk pemrograman sudah disediakan oleh library

CV AVR. Struktur pada CV AVR dapat dilihat pada gambar 2.25.

Gambar 2.25 Struktur Proyek dan File

Pada Struktur proyek dan file pada CV AVR terdapat dua file yaitu file c (*.c)

dan file Project (*.prj) serta file tambahan yaitu file CodeWizardProject (*.cwp)

Page 30: Masukan Pemrosesan Keluaran

35

Laporan Tugas Akhir BAB II

STT Telematika Telkom Purwokerto D310012

jika menggunakan project generator. Setting programmer generator dilakukan

untuk mengisikan program yang mengandung variable global yang harus dibuat.

Langkah-langkah pembuatan program pada CV AVR adalah sebagai berikut :

a. Pada saat pengguna ingin menjalankan aplikasi CodeVisionAVR, pengguna

dapat memilih shortcut ikon CodeVisionAVR yang ada pada desktop seperti

pada gambar 2.26.

Gambar 2.26 Ikon CodeVisionAVR

b. Kemudian sebuah splash screen akan muncul yang berisi informasi tentang

versi yang digunakan seperti gambar 2.27.

Gambar 2.27 Tampilan Spalsh Screen CV AVR

c. Pada saat pengguna ingin membuat project baru, pengguna memilih menu

file dan memilih submenu new seperti pada gambar 2.28.

Gambar 2. 28 Membuat Project Baru

Page 31: Masukan Pemrosesan Keluaran

36

Laporan Tugas Akhir BAB II

STT Telematika Telkom Purwokerto D310012

d. Setelah submenu new dipilih, maka akan muncul tampilan tipe file apa yang

akan dibuat seperti gambar 2.29.

Gambar 2.29 Tampilan Tipe File

e. Setelah memilih tipe project maka akan muncul kotak dialog kemudian

memilih “YES” seperti gambar 2.30.

Gambar 2.30 Kotak Dialog Menggunakan CV AVR

f. Kemudian pengguna memilih tipe mikropengendali yang digunakan lalu

meng-klik OK seperti pada gambar 2.31.

Gambar 2.31 Pemilihan Tipe Mikropengendali

g. Maka akan muncul tampilan pengaturan seperti gambar 2.32

Gambar 2.32 Pengaturan Mikropengendali

Page 32: Masukan Pemrosesan Keluaran

37

Laporan Tugas Akhir BAB II

STT Telematika Telkom Purwokerto D310012

h. Setelah seluruh pengaturan dilakukan, maka pengguna memilih menu

program dan memiilih submenu generate, save and exit untuk menyimpan file

seperti pada gambar 2.33.

Gambar 2.33 Menyimpan File

i. File yang akan disimpan terdiri dari 3 ekstensi yaitu dengan ekstensi .c

kemudian dengan ekstensi .prj dan yang terakhir dengan ekstensi .cwp seperti

pada gambar 2.34.

Gambar 2.34 Nama File dengan 3 Ekstensi

j. Maka akan tampil lembar kerja seperti pada gambar 2.35

Gambar 2.35 Tampilan Lembar Kerja CV AVR

Page 33: Masukan Pemrosesan Keluaran

38

Laporan Tugas Akhir BAB II

STT Telematika Telkom Purwokerto D310012

k. Kemudian masukkan instruksi sesuai dengan program yang diinginkan

dibawah instruksi “while” seperti pada gambar 2.36.

Gambar 2.36 Memasukkan Program

l. Kemudian pengguna memilih menu project dan memiilih submenu build all

untuk melakukan kompilasi seperti pada gambar 2.37.

Gambar 2.37 Melakukan Kompilasi

m. Setelah dilakukan kompilasi maka akan tampil informasi apakah program

yang dibuat terdapat kesalahan atau tidak seperti pada gambar 2.38.

Page 34: Masukan Pemrosesan Keluaran

39

Laporan Tugas Akhir BAB II

STT Telematika Telkom Purwokerto D310012

Gambar 2.38 Informasi Hasil Kompilasi

2. PROG ISP VERSI 1.68

Merupakan perangkat lunak yang digunakan sebagai downloader artinya

mengirimkan program yang sudah dibuat pada mikropengendali. Program yang

sudah dibuat tersebut harus di kompilasi terlebih dahulu agar mikropengendali

dapat membaca dan menjalankan programnya. Tampilan awal dari perangkat

lunak Prog ISP versi 1.68 ditunjukkan pada gambar 2.39.

Gambar 2.39 Tampilan Awal Prog ISP versi 1.68

Page 35: Masukan Pemrosesan Keluaran

40

Laporan Tugas Akhir BAB II

STT Telematika Telkom Purwokerto D310012

Untuk dapat menggunakan software ini diharuskan untuk memilih tipe

mikropengendali yang dipergunakan. Untuk dapat melakukan ini, pilih menu chip

yang terdapat pada toolbar dan pilih ATmega8. Tampilan pemilihan tipe

mikropengendali yang digunakan ditunjukkan pada gambar 2.40.

Gambar 2.40 Tampilan Pemilihan Tipe Mikropengendali

Untuk membuka file yang akan diunduh dapat dilakukan dengan memilih

menu file dan memilih submenu load flash kemudian pilih program yang akan

dijalankan. Program yang diunduh ke dalam mikropengendali merupakan

program dengan ekstensi hex (.hex). Tampilan untuk membuka program

ditunjukkan pada gambar 2.41.

Gambar 2.41 Tampilan Membuka Program

Page 36: Masukan Pemrosesan Keluaran

41

Laporan Tugas Akhir BAB II

STT Telematika Telkom Purwokerto D310012

Setelah selesai maka langkah selanjutnya adalah meng-klik menu auto pada

program, maka program sedang diproses untuk di download pada mikropengendali.

Tampilan proses pengisian program pada mikropengendali seperti ada gambar 2.42.

Gambar 2.42 Proses Pengisian Program ATmega8

a. Download Program ke ATmega8

Download program merupakan proses untuk mengirimkan program ke

dalam chip mikropengendali. File program yang akan di download harus

memiliki ekstensi hex (.hex) karena mikropengendali hanya mampu membaca

file dalam bentuk .hex. Rangkaian yang digunakan untuk memasukan

program ke dalam chip mikropengendali disebut dengan rangkaian

Downloader. Proses melakukan pengisian program menggunakan software

yang disebut dengan progisp seperti yang dijelaskan pada gambar 2.35.

Rangkaian downloader yang digunakan pada Tugas Akhir ini adalah

rangkaian downloader USB seperti pada gambar 2.43.

Gambar 2.43 Downloader USB