bab ii dasar teori baru

Upload: evedewanti

Post on 06-Jul-2015

151 views

Category:

Documents


0 download

TRANSCRIPT

BAB II LANDASAN TEORI

2.1 Mikrokontroler Mikrokontroler adalah salah satu dari bagian dasar dari suatu sistem komputer. Meskipun mempunyai bentuk yang jauh lebih kecil dari suatu komputer pribadi dan komputer mainframe, mikrokontroler dibangun dari elemen-elemen dasar yang sama. Secara sederhana, komputer akan menghasilkan output spesifik berdasarkan inputan yang diterima dan program yang dikerjakan. Di dalam sebuah IC (Integrated Circuit) mikrokontroler sudah terdapat kebutuhan minimal agar mikroprosesor dapat bekerja, yaitu meliputi mikroprosesor, ROM (Read Only Memory), RAM (Random Access Memory), I/O (Input/Output) dan clock seperti yang dimiliki sebuah PC (Personal Computer). Mengingat kemasan yang hanya berupa sebuah chip dengan ukuran yang relatif kecil tentu saja spesifikasi dan kemampuan yang dimiliki oleh mikrokontroler menjadi lebih rendah bila dibandingkan dengan sistem komputer PC baik dilihat dari segi kecepatan, kapasitas memori maupun fiturfitur yang dimiliki mikrokontroler. Meskipun dari sisi kemampuan lebih rendah tetapi mikrokontroler memiliki kelebihan yang tidak bisa diperoleh pada sistem komputer yaitu dengan kemasan yang lebih kecil menjadi lebih fleksibel dan praktis digunakan terutama pada sistemsistem yang relatif tidak terlalu komplek atau membutuhkan beban yang lebih tinggi. 5

Selain itu perkembangan bidang elektronika akhirakhir ini, mikroprosesor menunjukkan bahwa semakin banyak dijumpai aplikasiaplikasi pada peralatan elektronika yaitu otomatisasi dan kendali yang dikehendaki agar sistem mampu berdiri sendiri (stand alone) sehingga mikrokontroler menjadi pilihan yang paling tepat untuk melakukan tugastugas tersebut bila dibandingkan dengan komputer. Ada banyak jenis mikrokontroler yang masingmasing memiliki keluarga atau series sendirisendiri. Secara garis besar pengelompokan keluarga mikrokontroler ditentukan oleh perusahaan tertentu sesuai dengan spesifikasi khusus yang

dimiliki, yang membedakan dengan mikrokontroler keluarga lain, terutama menyangkut kompatibilitas dalam hal pemrograman. Jadi kemudahan sebuah mikrokontroler dalam keluarga yang sama akan memiliki kesamaan dalam hal arsitektur dan kompatibilitas pemrograman. Yang membedakan kemungkinan hanya dalam kemasan fisik misalnya jumlah pin dan fiturfitur seperti ukuran, kapasitas memori program dan memori data, jumlah timer, jumlah interupsi, dan lainlain. Berikut ini adalah beberapa contoh keluarga mikrokontroler : Keluarga MCS-48 ( Intel ) Keluarga MCS-51 ( Intel ) Keluarga AT89 ( Atmel, arsitektur Intel 8051 ) Keluarga AT90, ATtiny, ATmega ( Atmel, arsitektur AVR ) Keluarga MC68HC05 ( Motorola ) Keluarga MC68HC08 ( Motorola )

6

Keluarga MC68HC11 ( Motorola ) Keluarga PIC 8 ( Microchip ) Keluarga Z80 ( Zillog )

2.1.1 Mikrokontroler keluarga AVR Mikrokonktroler AVR (Alv and Vegards Risc processor) merupakan

mikrokonktroler RISC (Reduced Instruction Set Computer) 8 bit. AVR adalah jenis mikrokontroler yang paling sering dipakai dalam bidang elektronika dan instrumentasi. Secara umum, AVR dapat dikelompokkan dalam 4 kelas. Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral dan fungsi. Keempat kelas tersebut adalah keluarga ATTiny, keluarga AT90Sxx, keluarga ATMega dan AT86RFxx. 2.1.1.1 Arsitektur AVR AVR adalah arsitektur Harvard diubah 8-bit RISC chip mikrokontroler (C) yang dikembangkan oleh Atmel pada tahun 1996. AVR adalah salah satu keluarga mikrokontroler pertama yang menggunakan on-chip flash memory untuk penyimpanan program. Flash , EEPROM (Electrically Erasable Programmable Read-Only Memory) , dan SRAM (Static Random Access Memory) semua terintegrasi dalam satu chip, sehingga kebutuhan untuk memori eksternal dalam sebagian besar aplikasi.

7

Beberapa perangkat memiliki pilihan bus paralel eksternal untuk memungkinkan menambahkan data tambahan (atau kode) memori, atau perangkat memoridipetakan. Semua perangkat memiliki antarmuka serial, yang dapat digunakan untuk menghubungkan EEPROM serial yang lebih besar atau chip flash. Blok diagram arsitektur MCU AVR ditunjukkan pada gambar 2.1 berikut ini.

Gambar 2.1 Blok Diagram arsitektur MCU AVR Secara umum, AVR diklasifikasikan menjadi lima kelompok besar:a. TinyAVR - seri ATtinyo o

Memori program 0.58 kB Pin paket 632

8

o

Limited peripheral set

b. MegaAVR - seri Atmegao o o

Memori program 4256 kB Pin paket 28100 Extended set instruksi (Instruksi perkalian dan instruksi untuk

menangani memori program yang besar)o

Extensive peripheral set

c. XMEGA seri ATxmegao o o

Memori program 16384 Pin paket (A4, A3, A1) 44-64-100 Extended fitur kinerja, seperti DMA (Direct Memory Access),

"Event System", dan dukungan kriptografi.o

Ekstensif perifer diatur dengan DAC (Digital to Analog

Converter).d. Aplikasi spesifik AVRo

Mega AVRS dengan fitur-fitur khusus yang tidak ditemukan pada

anggota lain dari keluarga AVR, seperti pengendali LCD (Liquid Crystal Display), USB (Universal Serial Bus) controller, PWM (Pulse Width Modulation) maju, dan yang lain.e. Atmel At94k FPSLIC (Field Programmable System Level Integrated

Circuits). FPSLIC menggunakan SRAM untuk kode program AVR, tidak seperti semua AVRS yang lain. Sebagian disebabkan oleh perbedaan

9

kecepatan relatif antara SRAM dan flash, AVR inti dalam FPSLIC dapat berjalan pada sampai 50 MHz. 2.1.1.2 Random Access Memory (RAM) Random access memory adalah sebuah tipe penyimpanan yang isinya dapat diakses dalam waktu yang tetap tidak memperdulikan letak data tersebut dalam memori. Pertama kali dikenal pada tahun 60'an. Hanya saja saat itu memori semikonduktor belumlah populer karena harganya yang sangat mahal. Biasanya RAM dapat ditulis dan dibaca, berlawanan dengan Read Only Memory (ROM). RAM biasanya digunakan untuk penyimpanan primer (memori utama) dalam komputer untuk digunakan dan mengubah informasi secara aktif, meskipun beberapa alat menggunakan beberapa jenis RAM untuk

menyediakan penyimpanan sekunder jangka-panjang. 2.1.1.2.1 Tipe Umum RAM Random Access Memory mempunyai beberapa tipe umum diantaranya:a. SRAM atau Static RAM

Static Random Access Memory (SRAM) adalah sejenis memori semikonduktor. Kata "statik" menandakan bahwa memori memegang isinya selama listrik tetap berjalan. Hal ini dikarenakan SRAM didesain menggunakan transistor tanpa kapasitor. Tidak adanya kapasitor membuat tidak ada daya yang bocor sehingga SRAM tidak membutuhkan refresh periodik. SRAM juga didesain menggunakan desain cluster enam transistor untuk menyimpan setiap bit informasi. Random access menandakan bahwa lokasi dalam memori dapat diakses, dibaca atau ditulis

10

dalam waktu yang tetap tidak memperdulikan lokasi alamat data tersebut dalam memori. Chip SRAM lazimnya digunakan sebagai chace memori , hal ini terutama dikarenakan kecepatannya. Saat ini SRAM dapat diperoleh dengan waktu akses dua nano detik atau kurang , kira kira mampu mengimbangi kecepatan processor 500 MHz atau lebih.b. NV-RAM atau Non-Volatile RAM

NVRAM (Non-Volatile Random Access Memory) merupakan sebuah jenis memori dengan akses acak (RAM) yang umumnya digunakan untuk menyimpan konfigurasi yang dilakukan oleh firmware, seperti BIOS, EFI atau firmwarefirmware lainnya pada perangkat embedded, semacam router. Umumnya, NVRAM dibuat dengan teknologi manufaktur

CMOS (Complimentary Metal-Oxide Semiconductor) sehingga daya yang dibutuhkannya juga kecil. Untuk menghidupinya agar data yang disimpan tidak hilang, NVRAM menggunakan sebuah baterai Litium dengan nomor seri CR2032. Data yang tersimpan pada NVRAM tidak akan hilang meskipun catu daya dimatikan (bersifat permanen).

c. DRAM atau Dynamic RAM

11

DRAM merupakan jenis random akses memori yang menyimpan setiap bit data yang terpisah dalam kapasitor dalam satu integrated sirkuit. Karena kapasitornya selalu bocor, informasi yang tersimpan akhirnya hilang kecuali kapasitor itu disegarkan secara berkala. Karena kebutuhan dalam penyegaran, hal ini yang membuatnya sangat dinamis dibandingkan dengan memori (SRAM) statik memori dan lain-lain. Keuntungan dari DRAM adalah kesederhanaan struktural: hanya satu transistor dan kapasitor yang diperlukan per bit, Hal ini memungkinkan DRAM untuk mencapai kepadatan sangat tinggi. Tidak seperti flash memori, memori DRAM itu mudah menguap karena kehilangan datanya bila kehilangan aliran listrik.

2.1.1.3 Read-only Memory (ROM) Read Only Memory (ROM) adalah istilah bahasa Inggris untuk medium penyimpanan data. ROM ini sifatnya permanen, artinya program / data yang disimpan didalam ROM ini tidak mudah hilang atau berubah walau aliran listrik di matikan. Tetapi ada juga yang berpendapat bahwa ROM merupakan jenis lain dari RAM, karena sifatnya yang sebenarnya juga Random Access seperti halnya SRAM ataupun DRAM. Hanya saja memang proses penulisan pada ROM membutuhkan proses khusus yang tidak semudah dan fleksibel seperti halnya pada SRAM atau DRAM. Selain itu beberapa bagian dari space addres RAM ( memori utama ) dari sebuah sistem yang dipetakan kedalam satu atau dua chip ROM.

12

Menyimpan data pada ROM tidak dapat dilakukan dengan mudah, namun membaca data dari ROM dapat dilakukan dengan mudah. Biasanya program / data yang ada dalam ROM ini diisi oleh pabrik yang membuatnya. Oleh karena sifat ini, ROM biasa digunakan untuk menyimpan firmware (piranti lunak yang berhubungan erat dengan piranti keras).

Salah satu contoh ROM adalah ROM BIOS yang berisi program dasar system komputer yang mengatur / menyiapkan semua peralatan / komponen yang ada dalam komputer saat komputer dihidupkan. ROM modern didapati dalam bentuk IC, persis seperti medium

penyimpanan/memori lainnya seperti RAM. Untuk membedakannya perlu membaca teks yang tertera pada IC-nya. Biasanya dimulai dengan nomer 27xxx, angka 27 menunjukkan jenis ROM , xxx menunjukkan kapasitas dalam kilo bit (bukan kilo byte).2.1.1.3.1

Jenis-jenis ROM

Beberapa jenis ROM diantaranya:a. Mask ROM

Data pada ROM dimasukkan langsung melalui mask pada saat perakitan chip. Hal ini membuatnya sangat ekonomis terutama jika kita memproduksi dalam jumlah banyak. Namun hal ini juga menjadi sangat mahal karena tidak fleksibel. Sebuah

13

perubahan walaupun hanya satu bit membutuhkan mask baru yang tentu saja tidak murah. Karena tidak fleksibel maka jarang ada yang menggunakannya lagi.b. EEPROM (Electrically Erasable Programmable Read-Only Memory)

EEPROM ditulis pula dengan E2PROM adalah sejenis chip memori tidak-terhapus yang digunakan dalam komputer dan peralatan elektronik lain untuk menyimpan sejumlah konfigurasi data pada alat elektronik tersebut yang tetap harus terjaga meskipun sumber daya diputuskan, seperti tabel kalibrasi atau kofigurasi perangkat. Pengembangan EEPROM lebih lanjut menghasilkan bentuk yang lebih spesifik, seperti memori kilat (flash memory). Memori kilat lebih ekonomis daripada perangkat EEPROM tradisional, sehingga banyak dipakai dalam perangkat keras yang mampu menyimpan data statik yang lebih banyak (seperti USB flash drive). Kelebihan utama dari EEPROM

dibandingkan EPROM adalah ia dapat dihapus secara elektris menggunakan cahaya ultraviolet sehingga prosesnya lebih cepat. Jika RAM tidak memiliki batasan dalam hal baca-tulis memori, maka EEPROM sebaliknya. Beberapa jenis EEPROM keluaran pertama hanya dapat dihapus dan ditulis ulang (erase-rewrite) sebanyak 100 kali sedangkan model terbaru bisa sampai 100.000 kali.c. Flash Memory

Flash

Memory

adalah

sejenis EEPROM yang

mengizinkan

banyak

lokasi memori untuk dihapus atau ditulis dalam satu operasi pemrograman. Istilah awamnya, dia adalah suatu bentuk dari chip memori yang dapat ditulis, tidak seperti chip memori akses acak/RAM, memori ini dapat menyimpan datanya 14

tanpa membutuhkan penyediaan listrik. Memori ini biasanya digunakan dalam kartu memori, kandar kilat USB (USB flash drive), pemutar MP3,kamera digital, dan telepon genggam. 2.1.1.4 Eksekusi Program Keluarga AVR hanya memiliki satu alur waktu eksekusi. Instruksi mesin berikutnya diambil bersmaan dengan instruksi yang sekarang sedang dikerjakan. Hampir semua instruksi dilakukan hanya dalam satu atau dua siklus detak (clock). Hal ini yang membuat AVR relatif lebih cepat bila dibandingkan dengan mikrikontroler 8-bit yang lain. Selain itu mikrokontroler AVR juga didesain memiliki efisiensi eksekusi yang baik kode program hasil kompiler C.

Mempunyai arti yaitu kode program yang dituliskan dalam bahasa C dikompile akan menghasilkan file dengan ukuran yang tidak jauh berbeda dengan kode program yang dituliskan menggunakan assembler. 2.1.1.5 Kecepatan Secara umum mikrokontroler keluarga AVR memiliki kecepatan clock dari 0 16 MHz, tetapi ada beberapa yang bisa sampai dengan clock 20 MHz. Mikrokontroler AVR dapat diatur pada mode kerja tertentu agar penggunaan daya rendah tetapi untuk melakukan hal ini harus diikuti dengan pengurangan kecepatan clock. Semua keluarga AVR memiliki fitur on-chip oscillator, sehingga tidak memerlukan clock eksternal dan hampir semua instruksi AVR merupakan 1

15

siklus instruksi sehingga AVR dapat mencapai kecepatan hampir 1 MIPS per MHz. 2.1.2 AT89S51 AT89S51 adalah low power mikrokotroler 8 bit dengan performa tinggi dan memiliki 4K byte memori flash. Mikrokontroler ini diproduksi oleh Atmel dan memiliki kesesuaian dengan industry standar 80C51. AT89S51 ini memiliki fitur standar yang dimiliki oleh mikrokontroler. Berikut ini adalah fitur-fitur yang dimiliki oleh AT89S51:a. 4 Kbyte Flash Program

b. 128 byte RAM c. 4 Kbyte ROM d. 32 I/O e. 16 bit timer/counter

16

Gambar 2.2 Konfigurasi Pin AT89S51 Tabel Deskripsi PIN PIN VCC GND Port 0 Keterangan Suplai tegangan +5V. Ground. Port 0 merupakan port paralel 8-bit dua arah (bidirectional) yang dapat digunakan untuk berbagai keperluan. Port 0 juga memultipleks alamat dan data jika digunakan untuk mengakses memori eksternal. Port 1 merupakan port parallel 8 bit bi directional dengan internal pull up. Port 1 juga digunakan dalam proses pemrograman (In System Programming) P1.5 MOSI P1.6 MISO P1.7 SCK Port 3 merupakan port parallel 8 bit bi-directional 17

Port 1

Port 3

deengan internal pull up Port 3 juga bisa difungsikan untuk keperluan khusus yaitu: P3.0 RXD P3.1 TXD P3.2 INT0 P3.3 INT1 P3.4 T0 P3.5 T1 P3.6 WR (Write Strobe) P3.7 RD (Read Strobe) RST ALE/PROG Pulsa dari Low ke High akan mereses mikrokontroler Address Latch Enable, digunakan untuk menahan alamat memori eksternal selama pelaksanaan instruksi. Program Store Enable, merupakan sinyal kendali yang memperbolehkan program memori eksternal masuk ke dalam bus selama proses pengambilan instruksi. Jika EA=1 maka mikrokontroler akan melakukan instruksi dari ROM eksternal Jika EA=0 maka mikrokontroler akan melaksanakan instruksi dari ROM eksternal Input ke rangkaian osilator internal Output dari rangkaian osilator internal

PSEN

EA/VPP XTAL1 XTAL2

18

Gambar 2.3 Blok Diagram AT89S51

19

2.1.2.1 I/O Port Semua port AVR mempunyai fungsi Read-Modify-Write ketika digunakan sebagai port I/O digital. Hal ini berarti bahwa arah dari satu port pin dapat diubah tanpa sengaja mengubah arah dari setiap pin lain. Hal yang sama berlaku ketika mengubah nilai drive (jika dikonfigurasi sebagai output) atau mengaktifkan / menonaktifkan dari pull-up resistor (jika dikonfigurasi sebagai

input). Masing-masing memiliki karakteristik output buffer drive simetris dengan kedua high sink dan kemampuan sumber . Semua bit register dan referensi dalam bagian ini ditulis dalam bentuk umum. Sebuah huruf kecil "x" mewakili surat penomoran untuk pelabuhan, dan huruf kecil "n" mewakili jumlah sedikit. Namun, bila menggunakan bit mendaftar atau mendefinisikan dalam sebuah program, bentuk yang tepat harus digunakan (misalnya, PORTB3 untuk bit 3 di Port B, di sini didokumentasikan secara umum sebagai PORTxn). Tiga I / O lokasi alamat memori yang dialokasikan untuk masing-masing port, masing-masing untuk Register Data - PORTx, Data Arah Daftar - DDRx, dan Port Input Pins - PINx.

20

Tabel 2.2 Konfigurasi pin portDDxn 0 0 0 1 1 PORTxn 0 1 1 0 1 PUD (in SFIOR) X 0 1 X X I/O Input input input Output Output Pull-Up No Yes No No No Comment Tri-state (Hi-Z) Pxn will source current if ext. Pulled low. Tri-state (Hi-z) Output Low (Srink) Output High (Source)

2.1.2.2 Timer Timer/counter adalah fasilitas dari AT89S51 yang digunakan untuk perhitungan pewaktuan. Beberapa fasilitas chanel dari timer counter antara lain : counter channel tunggal, pengosongan data timer sesuai dengan data pembanding, bebas glitch, tahap yang tepat Pulse Width Modulation (PWM), pembangkit frekuensi, event counter external. Gambar blok diagram timer/counter ditunjukkan pada gambar 2.4 untuk penempatan pin I/O telah dijelaskan pada bagian I/O di atas. CPU dapat dapat diakses register I/O, termasuk dalam pin pin I/O dan bit I/O. Device khusus register I/O dan lokasi bit terdaftar pada deskripsi timer / counter 8 bit.

Gambar 2.4 Blok diagram timer / counter

21

SEVEN SEGMEN DISPLAY Seven segment display adalah sebuah rangkaian yang dapat menampilkan angka-angka desimal maupun heksadesimal. Seven segment display biasa tersusun atas 7 bagian yang setiap bagiannya merupakan LED (Light Emitting Diode) yang dapat menyala. Jika 7 bagian diode ini dinyalakan dengan aturan yang sedemikian rupa, maka ketujuh bagian tersebut dapat menampilkan sebuah angka heksadesimal. Seven-segment display membutuhkan 7 sinyal input untuk

mengendalikan setiap diode di dalamnya. Setiap diode dapat membutuhkan input HIGH atau LOW untuk mengaktifkannya, tergantung dari jenis seven-segmen display tersebut. Jika Seven-segment bertipe common-cathode, maka dibutuhkan sinyal HIGH untuk mengaktifkan setiap diodenya. Sebaliknya, untuk yang bertipe common-annide, dibutuhkan input LOW untuk mengaktifkan setiap diodenya.

22

Resistor Resistor adalah komponen elektronik dua saluran yang didesain untuk menahan arus listrik dengan memproduksi penurunan tegangan di antara kedua salurannya sesuai dengan arus yang mengalirinya Resistor digunakan sebagai bagian dari jejaring elektronik dan sirkuit elektronik, dan merupakan salah satu komponen yang paling sering digunakan. Resistor dapat dibuat dari bermacam-macam kompon dan film, bahkan kawat resistansi (kawat yang dibuat dari paduan resistivitas tinggi sepertinikelkromium). Karakteristik listrik yang dapat utama dari resistor Karakteristik adalah resistansinya dan daya lain termasuk koefisien

diboroskan.

suhu, desah listrik, daninduktansi. Resistor dapat diintegrasikan kedalam sirkuit hibrida dan papan sirkuit cetak, bahkan sirkuit terpadu. Ukuran dan letak kaki bergantung pada desain sirkuit, resistor harus cukup besar secara fisik agar tidak menjadi terlalu panas saat memboroskan daya. Identifikasi empat pita Identifikasi empat pita adalah skema kode warna yang paling sering digunakan. Ini terdiri dari empat pita warna yang dicetak mengelilingi badan resistor. Dua pita pertama merupakan informasi dua digit harga resistansi, pita ketiga merupakan pengali (jumlah nol yang ditambahkan setelah dua digit resistansi) dan pita keempat merupakan toleransi harga resistansi. Kadang-kadang

23

pita kelima menunjukkan koefisien suhu, tetapi ini harus dibedakan dengan sistem lima warna sejati yang menggunakan tiga digit resistansi. Sebagai contoh, hijau-biru-kuning-merah adalah 56 x 104 = 560 k 2%. Deskripsi yang lebih mudah adalah: pita pertama, hijau, mempunyai harga 5 dan pita kedua, biru, mempunyai harga 6, dan keduanya dihitung sebagai 56. Pita ketiga,kuning, mempunyai harga 104, yang menambahkan empat nol di belakang 56, sedangkan pita keempat, merah, merupakan kode untuk toleransi 2%, memberikan nilai 560.000 pada keakuratan 2%.

24