46
BAB II TINJAUAN PUSTAKA 2.1 Barcode Berdasarkan Kamus Komputer dan Teknologi Informasi, Barcode memiliki arti kode batang. Sejenis kode yang mewakili data atau informasi tertentu (biasanya jenis dan harga barang seperti makanan dan buku). Kode berbentuk batangan balok dan berwarna hitam putih ini, mengandungi satu kumpulan kombinasi batang yang berlainan ukuran yang disusun sedemikian rupa. Kode ini dicetak di atas stiker atau di kotak bungkusan barang. Kode tersebut akan dibaca oleh alat pengimbas (Barcode reader) yang akan menterjemahkan kode ini kepada data/informasi yang mempunyai arti. Di supermarket, barcode reader ini biasanya digunakan oleh kasir dalam pencatatan transaksi oleh customer. Tidak ada satu standard dari kode batang ini, malahan terdapat bermacam- macam standard yang digunakan untuk berbagai keperluan, industri, maupun berdasarkan tempat digunakannya. Semenjak 1973, Uniform Product Code (UPC) diatur oleh Uniform Code Council, sebuah organisasi industri, yang menyediakan suatu standard bar code yang digunakan oleh toko-toko retail. Joe Woodland, merupakan penemu sistem barcode ini. (http://www.total.or.id/) Barcode pada dasarnya adalah susunan garis vertikal hitam dan putih dengan ketebalan yang berbeda,

barcode dgn avr

Embed Size (px)

DESCRIPTION

elka

Citation preview

Page 1: barcode dgn avr

BAB II TINJAUAN

PUSTAKA

2.1 Barcode

Berdasarkan Kamus Komputer dan Teknologi Informasi, Barcode

memiliki arti kode batang. Sejenis kode yang mewakili data atau informasi

tertentu (biasanya jenis dan harga barang seperti makanan dan buku). Kode

berbentuk batangan balok dan berwarna hitam putih ini, mengandungi satu

kumpulan kombinasi batang yang berlainan ukuran yang disusun sedemikian

rupa. Kode ini dicetak di atas stiker atau di kotak bungkusan barang. Kode

tersebut akan dibaca oleh alat pengimbas (Barcode reader) yang akan

menterjemahkan kode ini kepada data/informasi yang mempunyai arti. Di

supermarket, barcode reader ini biasanya digunakan oleh kasir dalam pencatatan

transaksi oleh customer.

Tidak ada satu standard dari kode batang ini, malahan terdapat bermacam-

macam standard yang digunakan untuk berbagai keperluan, industri, maupun

berdasarkan tempat digunakannya. Semenjak 1973, Uniform Product Code (UPC)

diatur oleh Uniform Code Council, sebuah organisasi industri, yang menyediakan

suatu standard bar code yang digunakan oleh toko-toko retail. Joe Woodland,

merupakan penemu sistem barcode ini. (http://www.total.or.id/)

Barcode pada dasarnya adalah susunan garis vertikal hitam dan putih

dengan ketebalan yang berbeda, sangat sederhana tetapi sangat berguna, dengan

kegunaan untuk menyimpan data-data spesifik misalnya kode produksi, tanggal

kadaluwarsa, nomor identitas dengan mudah dan murah, walaupun teknologi

semacam itu terus berkembang dengan ditemukannya media magnetic, rfid,

electronics tags, serial eeprom (seperti pada smart card), barcode terus bertahan

dan masih memiliki kelebihan-kelebihan tertentu yaitu ,yang paling utama, murah

dan mudah, sebab media yang digunakan adalah kertas dan tinta, sedangkan untuk

membaca barcode ada begitu banyak pilihan di pasaran dengan harga yang relatif

murah mulai dari yang berbentuk pena(wand), slot, scanner, sampai ke CCDdan

bahkan kita dapat membuatnya sendiri. (http://www.innovativeelectronics.com/)

5

Page 2: barcode dgn avr

6

Pada konsep digital, hanya ada 2 sinyal data yang dikenal dan bersifat

boolean, yaitu 0 atau 1. Ada arus listrik atau tidak ada (dengan besaran tegangan

tertentu, misalnya 5 volt dan 0 volt). Barcode menerapkannya pada batang-batang

baris yang terdiri dari warna hitam dan putih. Warna hitam mewakili bilangan 0

dan warna putih mewakili bilangan 1. Karena warna hitam akan menyerap cahaya

yang dipancarkan oleh alat pembaca barcode, sedangkan warna putih akan

memantulkan balik cahaya tersebut.

Gambar 2.1 Anatomi Barcode

Selanjutnya, masing-masing batang pada barcode memiliki ketebalan yang

berbeda. Ketebalan inilah yang akan diterjemahkan pada suatu nilai. Demikian,

karena ketebalan batang barcode menentukan waktu lintasan bagi titik sinar

pembaca yang dipancarkan oleh alat pembaca.

Dan sebab itu, batang-batang barcode harus dibuat demikian sehingga

memiliki kontras yang tinggi terhadap bagian celah antara (yang menentukan

cahaya). Sisi-sisi batang barcode harus tegas dan lurus, serta tidak ada lubang atau

noda titik ditengah permukaannya. Sementara itu, ukuran titik sinar pembaca juga

tidak boleh melebihi celah antara batang barcode. (http://sabri.telkom.us/)

2.1.1 Jenis-Jenis Barcode

• Code 39/3 of 9

Code 39 dapat mengkodekan karakter alphanumeric yaitu angka

desimal dan huruf besar serta tambahan karakter spesial-.*$/%+. Satu

Page 3: barcode dgn avr

7

karakter dalam Code 39 terdiri dari 9 elemen yaitu 5 bar (garis vertikal

hitam) dan 4 spasi (garis vertikal putih) yang disusun bergantian antara bar

dan spasi. 3 dari 9 elemen tersebut memiliki ketebalan lebih tebal dari

yang lainnya oleh karenanya kode ini biasa disebut juga , 3 elemen yang

lebih tebal tersebut terdiri dari 2 bar dan 1 spasi. Elemen yang lebar

mewakili digit biner 1 dan elemen yang sempit mewakili digit biner 0.

Gambar 2.2 Contoh Barcode Code 39

(http://www.innovativeelectronics.com/)

• Interleaved 2 of 5 (ITF)

ITF barcode hanya dapat mengkodekan angka saja dan sering

digunakan pada produk-produk yang memiliki kemasan dengan

permukaan yang tidak rata (misalnya corugated box), hal ini disebabkan

struktur dan cara pengkodean ITF yang unik. Setiap karakter pada ITF

barcode dikodekan dengan 5 elemen yaitu 2 elemen tebal dan 3 elemen

sempit, dimana elemen tebal mewakili digit biner 1 sedangkan elemen

tipis mewakili digit biner 0 dengan perbandingan ketebalan antara elemen

tebal dengan elemen tipis 2:1 s/d 3:1. Keunikan dari ITF adalah

pengkodean karakternya apakah menggunakan bar ataukah menggunakan

spasi tergantung pada posisi sesuai dengan namanya interleaved, atau lebih

jelasnya sebagai berikut : Karakter pertama dikodekan menggunakan bar

setelah start character, sedangkan karakter kedua dikodekan menggunakan

spasi secara interleaved pada karakter pertama, karena sifat berpasang-

pasangan itulah panjang message termasuk check character haruslah genap

jika jumlahnya ganjil maka harus ditambahkan karakter 0 pada awal

message.

Page 4: barcode dgn avr

8

Tabel 2.1 Karater Set ITF

Gambar 2.3 Contoh jenis barcode ITF

(http://www.innovativeelectronics.com/)

• Code 128

Code 128 adalah barcode dengan kerapatan tinggi, dapat

mengkodekan keseluruhan simbol ASCII (128 karakter) dalam luasan

yang paling minim dibandingkan dengan barcode jenis lain, hal ini

disebabkan karena code 128 menggunakan 4 ketebalan elemen (bar atau

spasi) yang berbeda (jenis yang lain kebanyakan menggunakan 2

ketebalan elemen yang berbeda). Setiap karakter pada code 128 dikodekan

oleh 3 bar dan 3 spasi (atau 6 elemen) dengan ketebalan masing-masing

Page 5: barcode dgn avr

9

elemen 1 sampai 4 kali ketebalan minimum (module), jika dihitung dngan

satuan module maka tiap karakter code 128 terdiri dari 11 module kecuali

untuk stop character yang terdiri dari 4 bar 3 spasi (13 module). Jumlah

total module untuk bar selalu genap sedangkan untuk spasi selalu ganjil,

selain itu code 128 memiliki 3 start character yang berbeda sehingga code

128 memiliki 3 sub set karakter yang bersesuaian dengan start

characternya.

Gambar 2.4. Struktur Code 128 Barcode

(http://www.innovativeelectronics.com/)

2.2 Mikrokontroller AT89S52

AT89S52 merupakan mikrokontroller yang dikembagkan dari 8051

standar (semua pin dan instruksi assembler sesuai dengan standar 8051) oleh

Atmel Corporation. Mikrokontroler ini dirancang dengan teknologi AMOS dan

memori non-volatile dari Atmel dengan memori program internal (memori flash)

sebesar 8 KB yang bisa diprogram dalam sistem (In-system programmable flash

memory-ISP).

Penambahan fitur dari mikrokontroler standar di antaranya :

1. Memori flash 8 KB yang bisa diprogram ulang sampai 1000 siklus

baca/tulis.

2. Fungsi penguncian memori program (program memori lock) untuk

memproteksi isi memori program internal.

3. bekerja pada frekuensi sampai 33 MHz.

4. RAM internal sebesar 256 byte.

5. penambahan Timer 2.

6. Timer Watchdog yang bisa diprogram.

7. Dua data pointer (DPTR)

Page 6: barcode dgn avr

1

8. 8 sumber interupsi.

9. Fungsi-fungsi penghematan daya (power down mode).

Dengan penambahan fungsi-fungsi di atas, AT89S52 merupakan

mikrokontroler yang cukup andal untuk aplikasi-aplikasi sistem kendali atau yang

lainnya. Memori flash internal sebesar 8 KB yang bisa diprogram ulang dalam

sistem (ISP) memudahkan untuk meracang software sehingga mungkin tidak

diperlakukan emulator. (Usman, 2008: 59)

Berikut ini adalah gambar blok diagram dari mikrokontroller AT89S52

Gambar 2.5 Diagram Blok Mikrokontroller AT89S52 (Agfianto, 2003:33)

Page 7: barcode dgn avr

1

Keterangan Gambar 2.2 Diagram Blok Mikrokontroller AT89S52

a. Accumulator

ACC merupakan register akumulator atau tempat penyimpanan data

untuk sementara waktu. Dimana accumulator ini biasa dipakai untuk

menyimpan proses perhitungan aritmatika. Register ini biasa disebut Register

A.

b. Register B

Register B digunakan pada operasi perkalian dan pembagian. Instruksi

– instruksi yang lain berfungsi sebagai register umumnya. Register ini

berpasangan dengan register A, pada proses perkalian atau pembagian.

c. Program Status Word (PSW)

PSW berisi informasi status yang penting seperti adanya carry pada

proses perhitungan, adanya proses overflow pada proses perhitungan,

pemeriksaan bit pada transfer data, adanya polaritas (+/-) dan status untuk

pemilihan bank dari register (R0-R7).

d. Stack Pointer (SP)

Stack Pointer terdiri dari 8 bit. Alamat SP ditambah / dinaikkan

sebelum data disimpan pada eksekusi instruksi PUSH dan CALL. SP dapat

diletakkan pada alamat manapun di on-chip RAM, SP diinisialisasikan pada

alamat 07H setelah reset. Hal ini mengakibatkan stack dimulai pada lokasi

08H.

e. Data Pointer (DPTR)

DPTR terdiri dari high byte (DPH) dan low byte (DPL). Fungsi

utamanya adalah sebagai tempat alamat 16 bit. Register ini bisa juga

dimanipulasi sebagai sebuah register 16 bit atau 2 buah register 8 bit yang

berdiri sendiri.

Ini juga untuk akses data atau source code di memori Flash PEROM

atau Memori Eksternal.

Page 8: barcode dgn avr

1

f. Oscilator

Xtal dengan frekuensi 12 MHz dan 2 kapasitor 30 pF dipakai untuk

melengkapi rangkaian oscilator pembentuk clock yang menentukan kecepatan

kerja mikrokontroller.

g. Register Control

Special Function Register IP, IE, TMOD, T2CON, SCON dan PCON

berisi bit kontrol atau status untuk sistem interrupt, timer / counter dan port

serial. Yang dimaksud dengan special function register adalah kumpulan –

kumpulan register yang memiliki fungsi khusus dimana isi dari register

tersebut ada yang menunjukkan sebuah informasi penting mengenai suatu

fungsi tertentu, ada juga yang menyimpan data sebagai buffer dari port

tertentu (memori sementara).

h. Struktur dan Cara Kerja Port

Pada mikrokontroller AT89S52 memiliki 4 port bi-directional (Port 0

– Port 3), yang masing – masing terdiri dari 8 bit. Setiap port terdiri dari

sebuah latch.

i. Serial Data Buffer

Serial data buffer sebenarnya merupakan 2 register yang terpisah,

transmit buffer (untuk mengirim data serial) dan receive buffer (untuk

menerima data serial). Ketika data dipindahkan ke SBUF, maka data akan

menuju ke transmit buffer dimana data ditampung untuk pengiriman serial.

Memindahkan data ke SBUF berarti menginisialisasi / memulai transmisi data

secara serial. Sebaliknya bila data dipindahkan dari SBUF, data tersebut

berasal dari receive buffer.

j. Register Timer

Pasangan register (TH0 & TL0), (TH1 & TL1) serta (TH2 & TL2)

adalah register 16 bit untuk proses perhitungan timer / counter 0, 1 dan 2.

(Special Function Register P0 sampai P3), sebuah output driver, dan sebuah

input buffer. Output driver Port 0 dan Port 2, serta input buffer Port)

digunakan untuk mengakses memori eksternal. Untuk aplikasi yang

menggunakan memori eksternal, maka port 0 mengeluarkan ‘low order byte’

Page 9: barcode dgn avr

1

alamat memori eksternal (A0-A7), yang multipleks dengan data (1 byte) yang

dibaca atau ditulis. Port 2 mengeluarkan ‘High order byte’ alamat memori

eksternal (A8-A15) bila alamat yang diperlukan sebanyak 16 bit. Bila alamat

yang diperlukan hanya A0-A7 maka output Port 2 sama dengan isi SFR

(Special Function Register). Semua pin Port 3 mempunyai fungsi alternatif

selain sebagai port. Fungsi alternatif hanya akan aktif bila bit – bit yang

bersesuaian pada port SFR berisi ‘1’. Bila tidak maka output port akan

terkunci pada low.

Pada mikrokontroller AT89S52 ini hanya memerlukan tambahan 3

kapasitor, 1 resistor dan 1 Xtal serta catu daya 5 volt. Kapasitor 10 µF dan

resistor 10 KΩ yang dipakai untuk membentuk rangkaian reset. Dengan adanya

rangkaian reset ini, AT89S52 ini secara langsung akan di-reset pada saat

rangkaian menerima catu daya. Xtal dengan frekuensi 12MHz dan kapasitor 30 pF

dipakai untuk melengkapi rangkaian oscilator pembentuk clock yang menentukan

kecepatan kerja atau frekuensi dari mikrokontroller.

Adapun memori data yang disediakan dalam mikrokontroller AT89S52

sebesar 256 byte, sarana input / output yang disediakan cukup banyak dan

bervariasi. AT89S52 ini mempunyai 32 jalur input / output paralel. Jalur input /

output ini dikenal sebagai Port 0 (P0.0.......P0.7), Port 1 (P1.0.......P1.7), Port 2

(P2.0.......P2.7), Port 3 (P3.0.........P3.7).

2.2.1 Deskripsi Pin Mikrokontroller AT89S52

Gambar dibawah ini memperlihatkan susunan kaki AT89S52, dimana

susunan kaki sama persis dengan AT89S51. Demikian pula dengan IC dari

keluarga MCS-51 yang lain, dimana semua keluarga MCS-51 memiliki konstruksi

dalam chip yang sama dan yang membedakannya adalah hanya kapasitas Flash

PEROM nya saja.

Mikrokontroller AT89S52 mempunyai 40 kaki, 32 kaki digunakan untuk

keperluan port pararel. Setiap port terdiri dari 8 pin, sehingga terdapat 4 port, yang

terdiri dari port 0, port 1, port 2 dan port 3.

Page 10: barcode dgn avr

1

Gambar 2.6 Mikrokontroler AT8952 (Usman, 2008:5)

Keterangan Gambar 2.6 Mikrokontroler AT89S52

Fungsi dari pin mikrokontroler AT89S52 :

1. VCC

Terletak pada pin 40 yang merupakan sumber tegangan positif.

2. GND

Terletak pada pin 20 yang merupakan ground sumber tegangan.

3. Port 0

Terletak pada pin 32 – 39 merupakan saluran (bus) input / output 8 bit

open collector yang dapat digunakan sebagai multipleks bus alamat rendah

dan bus data selama adanya akses ke memori program eksternal. Pada saat

proses pemrograman dan verifikasi port 0 digunakan sebagai saluran (bus)

data.

4. Port 1

Teletak pada pin 1 - 8 merupakan port 1 yang menjadi saluran (bus)

dua arah input / output 8 bit. Dengan internal pull-up yang dapat digunakan

untuk berbagai keperluan dan dapat mengendalikan empat input TTL

(Transistor – transistor logic). Port ini juga digunakan sebagai saluran alamat

pada pemrograman dan verifikasi.

5. Port 2

Terletak pada pin 21 – 28 yang menjadi saluran (bus) input / output

dua arah 8 bit dengan internal pull up. Merupakan port paralel 8 bit dua arah.

Page 11: barcode dgn avr

1

Port ini mengirim byte alamat-alamat bila dilakukan pengaksesan memori

eksternal.

6. Port 3

Pin 10 – 17 merupakan saluran (bus) input / output 8 bit dua arah

dengan internal pull up yang memiliki fungsi pengganti. Ketika logika 1

diberikan ke port 3, maka pull up internal akan menset port pada kondisi high

dan port 3 dapat digunakan sebagi saluran input. Bila fungsi pengganti tidak

digunakan, maka fungsi ini dapat digunakan sebagai port paralel 8 bit

serbaguna. Selain itu, sebagaian dari port 3 dapat berfungsi sebagai sinyal

kontrol pada saat proses pemrograman dan verifikasi. Port ini mempunyai

beberapa fungsi khusus seperti ditunjukkan tabel berikut ini :

Tabel 2.2 Fungsi Pin Pada Port 3 di Mikrokontroller

Pin – pin pada port 3 Fungsi Pengganti

P3.0

P3.1

P3.2

P3.3

P3.4

P3.5

P3.6

P3.7

RXD (port input serial)

TXD (port output serial) INT0

(interrupt eksternal 0) INT1 (interrupt

eksternal 1) T0 (input eksternal timer

0) T1 (input eksternal timer 1)

WR (perintah write pada memori eksternal)

RD (perintah read pada memori eksternal)

7. RST

Terletak pada pin 9 yang berfungsi untuk mengembalikan kondisi

kerja mikrokontroler pada posisi awal. Pin ini harus diberi logic 1 untuk

mengaktifkannya.

Page 12: barcode dgn avr

1

8. ALE / PROG

Address Latch Enable (ALE) PROG terletak pada pin 31 yang

merupakan penahan alamat memori eksternal pada port 1 selama mengakses

ke memori eksternal. Pin ini juga sebagai pulsa (sinyal) input program

(PROG) selama proses pemrograman.

9. PSEN (Program Store Enable)

Program Store Enable (PSEN) yang terletak pada pin 29 merupakan

sinyal pengontrol untuk mengakses program memori eksternal yang masuk ke

dalam saluran (bus) selama proses pemberian atau pengambilan instruksi.

10. EA /Vpp (External Acces Enable)

EA (External Acces Enable) terletak di pin 31. EA (External Acces

Enable) merupakan sinyal kontrol untuk pembacaan memori program dan

juga berfungsi sebagai tegangan pemrograman selama proses pemrograman

berjalan.

11. XTAL1

Terletak di pin 18 dan berfungsi sebagai masukan dari rangkaian

osilator

12. XTAL2

Terletak di pin 19 dan berfungsi sebagai keluaran dari rangkaian

osilator.(http://www.alldatasheet.com).

2.2.2 Sistem Minimum Mikrokontroler AT89S52

Sistem minimum adalah rangkaian minimum yang diperlukan agar

AT89S52 bisa menjalankan program. Rangkaian ini meliputi rangaian osilator dan

rangkaian reset (untuk power on reset). Oleh karena AT89S52 memiliki memori

program internal, maka rangkaian ntuk mengakses memori program eksternal

(yaitu IC latch untuk alamat) tidak iperlukan selama AT89S52 hanya

menggunakan memori program internal yang dimilikinya. Resistor pull up

eksternal diperlukan P0 karena keluaran P0 bersifat drain terbuka.

Page 13: barcode dgn avr

1

Rangkaian sistem minimum yang diperlihatkan oleh gambar 2.7

mengansumsikan bahwa AT89S52 akan selalu mengerjakan program yang ada di

memori flash yang dimilikinya (pin EA dihubungkan dengan VCC). Osilator

menggunakan sebuah kristal 11.0592 MHz(X400) mengingat pada frekuensi ini

banyak baud rate standar yang bisa dibangkitkan oleh AT89S52 pada komunikasi

serial. (Usman, 2008:513)

Gambar 2.7 Sistem Minimum Mikrokontroler AT89S52 (Usman, 2008:514)

2.3 Mikrokontroler ATMEGA8535

AVR termasuk kedalam jenis mikrokontroler RISC (Reduced Instruction

Set Computing) 8 bit. Berbeda dengan mikrokontroler keluarga MCS-51 yang

berteknologi CISC (Complex Instruction Set Computing). Pada mikrokontroler

dengan teknologi RISC semua instruksi dikemas dalam kode 16 bit (16 bits

words) dan sebagian besar instruksi dieksekusi dalam 1 clock, sedangkan pada

teknologi CISC seperti yang diterapkan pada mikrokontroler MCS-51, untuk

menjalankan sebuah instruksi dibutuhkan waktu sebanyak 12 siklus clock.

AVR atau sebuah kependekan dari Alf and Vegard’s Risc Processor

merupakan chip mikrokontroler yang diproduksi oleh Atmel, yang secara umum

dapat dikelompokkan ke dalam 4 kelas :

• ATtiny

• ATMega

Page 14: barcode dgn avr

1

• AT90Sxx

• AT86RFxx

Perbedaan yang terdapat pada masing-masing kelas adalah kapasitas

memori, peripheral, dan fungsinya. Dalam hal arsitektur maupun instruksinya,

hampir idak ada perbedaan sama sekali. Dalam hal ini ATMEGA8535 dapat

beroperasi pada kecepatan maksimal 16MHz serta memiliki 6 pilihan mode sleep

untuk menghemat penggunaan daya listrik. (http://www.forumsains.com)

Mikrokontroler dapat disebut sebagai ”one chip solution” karena terdiri

dari :

1. CPU (Central Processing Unit)

2. RAM (Random Access Memory)

3. EPROM/PROM/ROM (Erasable Programmable Read Only Memory)

4. I/O (Input/Output) - serial dan parallel

5. Timer

6. Interupt Controller

Mikrokontroller AVR (Alf and Vegard’s Risc processor) memiliki

arsitektur 8 bit, dimana semua instruksi dikemas dalam kode 16-bit (16-bits word)

dan sebagian besar instruksi dieksekusi dalam 1 (satu) siklus clock atau dikenal

dengan teknologi RISC (Reduced Instruction Set Computing), berbeda dengan

instruksi MCS51 yang membutuhkan 12 siklus clock atau dikenal dengan

teknologi CISC (Complex Instruction Set Computing). Secara umum, AVR dapat

dikelompokan ke dalam 4 kelas, yaitu keluarga ATtiny, keluarga AT90Sxx,

keluarga ATMega dan AT86RFxx. Pada dasarnya yang membedakan masing-

masing adalah kelas memori, peripheral dan fungsinya. Dari segi arsitektur dan

instruksi yang digunakan, mereka bisa dikatakan hampir sama.

Page 15: barcode dgn avr

1

2.3.1 Arsitektur ATmega8535

Gambar 2.8 Gambar Arsitektur ATMEGA8535 (http://www.forumsains.com)

Dari gambar tersebut dapat dilihat bahwa ATMega8535 memiliki bagian

sebagai berikut:

1. Saluran I/O sebanyak 32 buah, yaitu Port A, Port B, Port C, dan Port D.

2. ADC 10 bit sebanyak 8 saluran.

3. Tiga buah Timer/Counter dengan kemampuan pembandingan.

4. CPU yang terdiri atas 32 buah register.

5. Watchdog Timer dengan osilator internal.

Page 16: barcode dgn avr

2

6. SRAM sebesar 512 byte.

7. Memori Flash sebesar 8 kb dengan kemampuan Read While Write.

8. Unit interupsi internal dan eksternal.

9. Port antarmuka SPI.

10. EEPROM sebesar 512 byte yang dapat diprogram saat operasi.

11. Antarmuka komparator analog.

12. Port USART untuk komunikasi serial. Fitur ATMega8535.

Kapabilitas detail dari ATMega8535 adalah sebagai berikut:

1. System mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16

Mhz.

2. Kapabilitas memory flash 8KB,SRAM sebesar 512 byte,dan EEPROM

(Electrically Erasable Programmable Read Only Memory) sebesar 512 byte.

3. ADC internal dengan fidelitas 10 bit sebanyak 8 channel.

4. Portal komunikasi serial (USART) dengan kecepatan maksimal 2,5 Mbps.

5. Enam pilihan mode sleep menghemat penggunaan daya listrik. Konfigurasi

Pin ATMega8535

2.3.2 Konfigurasi Pin ATmega8535

Gambar 2.9 Konfigurasi Pin ATMEGA8535 (http://www.forumsains.com)

Konfigurasi pin ATMega8535 bisa dilihat pada gambar 2.9. Dari gambar

tersebut dapat dijelaskan secara fungsional konfigurasi pin ATMega8535 sebagai

berikut:

Page 17: barcode dgn avr

2

1. VCC merupakan pin yang berfungsi sebagai pin masukan catu daya.

2. GND merupakan pin ground.

3. Port A (PA0..PA7) merupakan pin I/O dua arah dan pin masukan ADC.

4. Port B (PB0..PB7) merupakan pin I/O dua arah dan pin fungsi khusus,

yaitu Timer/Counter,komparator analog,dan SPI.

5. Port C (PC0..PC7) merupakan pin I/O dua arah dan pin fungsi khusus,

yaitu TWI,komparator analog dan Timer Oscillator.

6. Port D (PD0..PD7) merupakan pin I/O dua arah dan pin fungsi khusus,

yaitu komparator analog,interupsi eksternal,dan komunikasi serial.

7. RESET merupakan pin yang digunakan untuk me-reset mikrokontroler.

8. XTAL1 dan XTAL2 merupakan pin masukan clock ekstenal.

9. AVCC merupakan pin masukan tegangan untuk ADC.

10. AREF merupakan pin masukan tegangan referensi ADC.

2.3.3 Fungsi Alternatif Port-Port ATmega8535

Selain berfungsi sebagai port I/O bidirectional 8-bit, masing-masing port

ATMega8535 memiliki fungsi lain, yaitu sebagai berikut :

1. Fungsi Alternatif Port A

Tabel 2.3 Fungsi Alternatif Port A

Pin Keterangan

PA.7 ADC7 (ADC Input Channel 7)

PA.6 ADC6 (ADC Input Channel 6)

PA.5 ADC5 (ADC Input Channel 5)

PA.4 ADC4 (ADC Input Channel 4)

PA.3 ADC3 (ADC Input Channel 3)

PA.2 ADC2 (ADC Input Channel 2)

PA.1 ADC1 (ADC Input Channel 1)

PA.0 ADC0 (ADC Input Channel 0)

Page 18: barcode dgn avr

2

2. Fungsi Alternatif Port B

Tabel 2.4 Fungsi Alternatif Port B

Pin Keterangan

PB.7 SCK (SPI Bus Serial Clock)

PB.6 VISO (SPI Bus Master Input/Slave Output)

PB.5 VOSI (SPI Bus Master Output/Slave Input)

PB.4 SS (SPI Slave Select Input)

PB.3AIN1 (Analog Comparator Negative Input)

OCC (Timer/Counter0 Output Compare Match Output)

PB.2AIN0 (Analog Comparator Positive Input)

INT2 (External Interrupt2 Input)

PB.1 T1 (Timer/Counter1 External Counter Input)

PB.0T0 (Timer/Counter0 External Counter Input) XCK

(JSART External Clock Input/Output)

3. Fungsi Alternatif Port C

Tabel 2.5 Fungsi Alternatif Port C

Pin Keterangan

PC.7 TOSC2 (Timer Oscillator Pin 2)

PC.6 TOSC1 (Timer Oscillator Pin 1)

PC.1 SDA (Two-Wire Serial Bus Data Input/Output Line)

PC.0 SCL (Two-Wire Serial Bus Clock Line)

4. Fungsi Alternatif Port D

Tabel 2.6 Fungsi Alternatif Port D

Pin Keterangan

PD.7 OC2 (Timer/Counter2 Output Compare Match Output)

PD.6 ICP1 (Timer/Counter1 Input Capture Pin)

PD.5 OC1A (Timer/Counter1 Output Compare A Match Output)

PD.4 OC1B (Timer/Counter1 Output Compare B Match Output)

Page 19: barcode dgn avr

2

PD.3 INT1 (External Interrupt1 Input)

PD.2 INT0 (External Interrupt0 Input)

PD.1 TXD (USART Output Pin)

PD.0 RXD (USART Input Pin)

(http://www.alldatasheet.com)

2.4 Driver Motor DC L293D

IC L293D adalah IC yang umum dipakai untuk mengendalikan motor DC

memiliki 2 Supply daya yang memiliki fungsi berbeda yaitu tegangan 5V untuk

mengaktifkan IC dan 12 V untuk tegangan motor Sebuah IC L293D berisi empat

buah push-pull. Setiap dua buah push-pull dapat digunakan sebagai sebuah untai

H-bridge dan dapat diaktifkan dengan sebuah sinyal enable. Dalam penelitian ini

digunakan metode DC Chopper kelas E sehingga untai yang dirancang I

ditunjukkan gambar 3.5 IC L293D mampu beroperasi pada tegangan 4,5 V

sampai 36 V. Besarnya arus yang dapat ditarik adalah 600mA pada kondisi

normal serta 1,2 A pada arus puncak (Budiharto Widodo, 2006 : 57).

Gambar 2.10 Konfigurasi L293D Untuk 1 Motor (http://digilib.petra.ac.id/).

Dan berikut ini adalah rating tegangan maximum yang dapat dilewatkan

oleh IC ini :

Tabel 2.7 Karakteristik L293D

Symbol Parameter Value Unit

Vs Supply Voltage 35 V

VSS Logic Supply Voltage 35 V

VI Input Voltage 7 V

Page 20: barcode dgn avr

2

VM Enable Voltage 7 V

IP Peak Output Current (100μs non repetitive) 12 A

Psl Total Power Dissipation at Tphs-900C 4 W

Tapl Tl Storage and Junction Temperature - 40 to 150 0C

Gambar 2.11 kontruksi IC 29L3D

IC 29L3D terdiri atas 16 pin dengan 4 pin utama digunakan sebagai jalur

komunikasi dengan motor atau pun mikrokontorler. (http://digilib.petra.ac.id/).

2.5 LCD Grafik

LCD atau Liquid Crystal Display sekarang semakin banyak digunakan,

dari yang berukuran kecil, seperti LCD pada sebuah MP3 player, sampai yang

berukuran besar seperti minitor PC atau televisi. Warna yang dapat ditampilkan

bisa bermacam-macam, dari yang 1 warna (monokrom) sampai yang 65.000

warna. Pola (pattern) LCD juga bisa bervariasi, dari pola yang membentuk

display 7 segmen (misalnya LCD yang dipakai untuk jam tangan) sampai LCD

yang bisa menampilkan karakter/teks dan LCD yang bisa menampilkan gambar.

LCD sangat berbeda dengan display 7 segmen atau display dot matriks.

Untuk menyalakan LCD diperlukan sinyal khusus (gelombang AC). Oleh karena

itu, diperlukan sebuah IC driver yang khusus juga. Pada LCD yang bisa

menampilakan karakter (LCD karakter) dan LCD yang bisa menampilakan

gambar (LCD grafik), diperlukan memori untuk membangkitkan gambar

(CGROM atau Character Generator ROM) dan juga RAM untuk menyimpan data

Page 21: barcode dgn avr

2

(teks atau gambar) yang sedang ditampilkan (DDRAM atau Display Data RAM).

Diperlukan pula pengendali (controller) untuk berkomunikasi dengan

mikrokontroler. (Usman, 2008 : 209).

Gambar 2.12 LCD tipe LCM-S01602DTR (http://media.digikey.com/).

Gambar 2.13 Rangkaian LCD (http://www.kmitl.ac.th/).

Tabel 2.8 Fungsi-fungsi Kaki LCD

No Nama Fungsi Keterangan

1. Vss Catu daya (0 V atau GND)

2. Vcc Catu daya +5 V

3. Vee Tegangan LCD

4. RS Register Select, untuk

memilih mengirim perintah

atau data (Input)

“0” memilih register perintah

“1” register data

Page 22: barcode dgn avr

2

5. R/W Read/Write, Pin untuk

pengendalian baca atau tulis

(Input)

“0” tulis

“1” baca, dalam banyak aplikasi,

tidak ada proses pembacaan data

dari LCD, sehingga R/W bisa

langsung dihubungkan ke GND

6. E Enable, untuk mengaktifkan

LCD untuk memulai operasi

baca atau tulis (Input)

Pulsa :

Rendah-Tinggi-Rendah

7-

14

DB0-

DB7

Bus data (Input/Output) Pada operasi 4 bit hanya DB4-

DB7 yang dipakai, yang lain

sebaiknya dihubungkan ke GND.

DB7 bisa digunakan sebagai bit

status sibuk (busy flag)

Dua pin terakhir adalah pin untuk memberikan tegangan ke LED backlight

LCD, pin anoda (A) dan katoda (K). Seperti terlihat pada Gambar 2.14, sebuah

resistor digunakan untuk menghubungkan pin A dengan tegangan +5 V,

sedangkan pin K langsung dihubungkan dengan GND. Resistor tersebut

digunakan untuk mengatur arus yang mengalir ke LED backlight sekaligus

mengatur kecerahan backlight. Lembaran data akan menyebutkan berapa arus

yang diperlukan, sehingga nilai resistor pembatas bisa ditentukan. (Usman, 2008:

212-213)

2.5.1 Function Set

Mengatur interface lebar data, jumlah dari baris dan ukuran font karakter

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

0 0 0 0 1 DL N F X X

CATATAN:

X : Don’t care

DL: Mengatur lebar data

Page 23: barcode dgn avr

2

DL=1, Lebar data interface 8 bit ( DB7 s/d DB0)

DL=0, Lebar data interface 4 bit ( DB7 s/d DB4)

Ketika menggunakan lebar data 4 bit, data harus dikirimkan dua kali

(http://mau-nulis.co.cc/).

2.5.2 Entry Mode Set

Mengatur increment/ decrement dan mode geser

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

0 0 0 0 0 0 0 1 I/D S

Catatan:

I/D: Increment/ decrement dari alamat DDRAM dengan 1 ketika kode karakter

dituliskan ke DDRAM.

I/D = “0”, decrement

I/D= “1”, increment

S: Geser keseluruhan display kekanan dan kekiri

S=1, geser kekiri atau kekanan bergantung pada I/D

S=0, display tidak bergeser

(http://mau-nulis.co.cc/).

2.5.3 Display On/ Off Cursor

Mengatur status display ON atau OFF, cursor ON/ OFF dan fungsi Cursor Blink.

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

0 0 0 0 0 0 1 D C B

D : Mengatur display

D = 1, Display is ON

D = 0, Display is OFF

Pada kasus ini data display masih tetap berada di DDRAM, dan dapat ditampilkan

kembali secara langsung dengan mengatur D=1.

Page 24: barcode dgn avr

2

C : Menampilkan kursor

C = 1, kursor ditampilkan

C = 0, kursor tidak ditampilkan

B : Karakter ditunjukkan dengan kursor yang berkedip

B=1, kursor blink

(http://mau-nulis.co.cc/).

2.5.4 Clear Display

Perintah ini hapus layar

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

0 0 0 0 0 0 0 0 0 1

(http://mau-nulis.co.cc/).

2.5.5 Geser Kursor dan Display

Geser posisi kursor atau display ke kanan atau kekiri tanpa menulis atau baca data

display. Fungsi ini digunakan untuk koreksi atau pencarian display

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

0 0 0 0 0 0 S/C R/L X X

Catatan : x = Dont care

S/C R/L Note

0 0 Shift cursor position to the left

0 1 Shift cursor position to the right

1 0 Shift the entire display to the left

1 1 Shift the entire display to the right

(http://mau-nulis.co.cc/).

Page 25: barcode dgn avr

2

2.5.6 Posisi Kursor

Modul LCD terdiri dari sejumlah memory yang digunakan untuk display.

Semua teks yang kita tuliskan ke modul LCD adalah disimpan didalam memory

ini, dan modul LCD secara berturutan membaca memory ini untuk menampilkan

teks ke modul LCD itu sendiri. (http://mau-nulis.co.cc/).

2.6 Buzzer

Rangkaian Simple Electronic Buzzer

Rangkaian simple electronic buzzer merupakan rangkaian yang hanya

menggunakan 2 resistor, 3 kapasitor, 1 buah IC NE555, saklar dan speaker.

Perakitan rangkaian simple buzzer electronic ini juga sangat mudah dan simpel.

IC NE555 ini menghasilkan frekuensi sekitar 1 KHz ketika saklar ditekan.

Frekuensi ini bisa bisa diatur dengan menggunakan potensiometer 10 KOhm.

Gambar rangkaian simple electronic buzzer ini bisa dilihat disini :

Gambar 2.15 Rangakain Buzzer (http://tutorial-elektronika.blogspot.com/)