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
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
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]
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
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
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
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.
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)
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)
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)
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
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
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
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
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
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.
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
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
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
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
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
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).
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
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
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
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.
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
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
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)
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
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
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
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.
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
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
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