BAB II LANDASAN TEORI

dokumen-dokumen yang mirip
MICROCONTROLER AVR AT MEGA 8535

Sistem Minimum Mikrokontroler. TTH2D3 Mikroprosesor

MICROCONTROLER AVR AT MEGA 8535

Mikrokontroler AVR. Hendawan Soebhakti 2009

Sistem Mikrokontroler FE UDINUS

BAB II TINJAUAN PUSTAKA. Atmel AVR adalah jenis mikrokontroler yang paling sering dipakai dalam

BAB II LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI

BAB II TINJAUAN PUSTAKA. Gambar 2.1. Simbol LED [8]

BAB II LANDASAN TEORI. diatas frekuensi gelombang suara yaitu lebih dari 20 KHz. Seperti telah

BAB II LANDASAN TEORI

Gambar 2.7. Susunan pin mikrokontroler ATMega8535 Berikut ini adalah tabel penjelasan mengenai pin yang terdapat pada mikrokontroler ATMega8535:

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

BAB II DASAR TEORI 2.1. Mikrokontroler AVR ATmega32

BAB II LANDASAN TEORI

MIKROKONTROLER Arsitektur Mikrokontroler AT89S51

BAB II KONSEP DASAR PERANCANGAN

BAB II TINJAUAN PUSTAKA

MENGENAL MIKROKONTROLER ATMEGA-16

BAB III LANDASAN TEORI. digunakan seperti MCS51 adalah pada AVR tidak perlu menggunakan oscillator

BAB II LANDASAN TEORI. menyimpang dari topik utama laporan ini, maka setiap komponen hanya dibahas

BAB III TEORI PENUNJANG. dihapus berulang kali dengan menggunakan software tertentu. IC ini biasanya

BAB II TINJAUAN PUSTAKA

II. TINJAUAN PUSTAKA. Mikrokontroler ATmega8535 merupakan salah satu jenis mikrokontroler keluarga AVR

BAB II LANDASAN TEORI. Dalam Bab ini penulis akan membahas tentang komponen- komponen

BAB II DASAR TEORI. mikrokontroler yang berbasis chip ATmega328P. Arduino Uno. memiliki 14 digital pin input / output (atau biasa ditulis I/O, dimana

BAB 2 DASAR TEORI. Gambar 2.1 Sensor SHT-11

INSTRUKSI. TTH2D3 Mikroprosesor

BAB 2 LANDASAN TEORI. Mikrokontroler AVR (Alf and Vegard s RISC Processor) dari Atmel ini

BAB II LANDASAN TEORI

III. METODE PENELITIAN. Penelitian dan perancangan tugas akhir dilakukan di Laboratorium Terpadu

Gambar 2.1 Mikrokontroler ATMega 8535 (sumber :Mikrokontroler Belajar AVR Mulai dari Nol)

BAB II METODE PERANCANGAN APLIKASI

BAB III PERANCANGAN SISTEM

APLIKASI CHATTING DENGAN JARINGAN MIKROKONTROLER Eka Purwa Laksana, Sujono

BAB III RANCANG BANGUN SISTEM KARAKTERISASI LED. Rancangan sistem karakterisasi LED diperlihatkan pada blok diagram Gambar

BAB II LANDASAN TEORI

MIKROKONTROLER AT89S52

BAB II TINJAUAN PUSTAKA. yang telah membuat Data Logger Autoclave, prinsip kerja alat ini adalah pada

BAB III TEORI PENUNJANG. Microcontroller adalah sebuah sistem fungsional dalam sebuah chip. Di

Blok sistem mikrokontroler MCS-51 adalah sebagai berikut.

BAB II TINJAUAN PUSTAKA

BAB II LANDASAN TEORI. 2.1 Pengaruh Tekanan Udara (Atmosfer) Terhadap Cuaca dan Penerbangan

BAB II LANDASAN TEORI

PEMROGRAMAN ROBOT PENJEJAK GARIS BERBASIS MIKROKONTROLER

BAB 2 LANDASAN TEORI

BAB II. PENJELASAN MENGENAI System-on-a-Chip (SoC) C8051F Pengenalan Mikrokontroler

BAB II DASAR TEORI Bentuk Fisik Sensor Gas LPG TGS 2610 Bentuk fisik sensor TGS 2610 terlihat pada gambar berikut :

MIKROKONTROLER Yoyo Somantri dan Egi Jul Kurnia

BAB II LANDASAN TEORI

Sistem Tertanam. Pengantar Atmega328 dan Arduino Uno. Dennis Christie - Universitas Gunadarma

BAB 2 LANDASAN TEORI. Temperatur merupakan salah satu informasi yang sangat penting dalam menentukan

BAB II TEORI. Gambar 2.1. GP2Y1010AU0F Optical Dust Sensor

BAB II LANDASAN TEORI

PENGATURAN LAMPU LALU LINTAS BERBASIS MIKROKONTROLER ATMEGA8535

PERANCANGAN TRAFIC LIGHT BERBASIS DIGITAL

BAB 3 PERANCANGAN SISTEM. Bab ini akan membahas tentang perancangan sistem yang digunakan dari alat

BAB II TINJAUAN PUSTAKA

BAB II DASAR TEORI. AVR(Alf and Vegard s Risc processor) ATMega32 merupakan 8 bit mikrokontroler berteknologi RISC (Reduce Instruction Set Computer).

BAB I PENDAHULUAN 1.1 Latar Belakang 1.2 Rumusan Masalah

BAB II WATERPAS DIGITAL

BAB II TINJAUAN PUSTAKA

BAB III PERANCANGAN DAN REALISASI PERANGKAT KERAS DAN PERANGKAT LUNAK SISTEM. Dari diagram sistem dapat diuraikan metode kerja sistem secara global.

BAB III PERANCANGAN SISTEM

BAB II TINJAUAN PUSTAKA

BAB II LANDASAN TEORI

BAB II Dasar Teori 2.1 RFID

BAB II DASAR TEORI. 2.1 Ethanol

BAB II TINJAUAN PUSTAKA

BAB II DASAR TEORI. open-source, diturunkan dari Wiring platform, dirancang untuk. memudahkan penggunaan elektronik dalam berbagai

BAB II LANDASAN TEORI

BAB II DASAR TEORI. ATmega8535 merupakan IC CMOS 8-bit berdaya rendah yang berdasar pada

BAB III PERANCANGAN SISTEM. sebuah alat pemroses data yang sama, ruang kerja yang sama sehingga

ARSITEKTUR MIKROKONTROLER AT89C51/52/55

BAB II LANDASAN TEORI. Selain dari pada itu dapat juga dijadikan sebagai bahan acuan didalam

BAB II TINJAUAN PUSTAKA. magnetis, dan kimia menjadi tegangan serta arus listrik. Sensor sendiri adalah komponen

BAB II TINJAUAN PUSTAKA

BAB III PERANCANGAN DAN PEMBUATAN PERANGKAT KERAS

BAB II TINJAUAN PUSTAKA. [10]. Dengan pengujian hanya terbatas pada remaja dan didapatkan hasil rata-rata

II. TINJAUAN PUSTAKA. kondisi cuaca pada suatu daerah. Banyak hal yang sangat bergantung pada kondisi

TAKARIR. Akumulator Register yang digunakan untuk menyimpan semua proses aritmatika

BAB 2 LANDASAN TEORI. terdiri dari modul SHT-11, power supply, sistem minimum ATmega8535, LCD

BAB II TEORI DASAR 2.1 Pendahuluan 2.2 Sensor Clamp Putaran Mesin

BAB II DASAR TEORI Water Bath. Water Bath merupakan peralatan yang berisi air yang bisa

DAFTAR ISI LEMBAR PENGESAHAN... LEMBAR PERSETUJUAN... PERNYATAAN KEASLIAN... ABSTRAK... ABSTRACT... KATA PENGANTAR... vii DAFTAR ISI...

LANDASAN TEORI BAB II

BAB II LANDASAN TEORI. dikembangkan pada tahun 1996 oleh dua orang mahasiswa Norwegian Institute of

BAB III PERENCANAAN PERANGKAT KERAS DAN LUNAK

Pencipta bahasa C adalah Brian W. Kernighan dan Dennis M. Ritchie pada. sekitar tahun C adalah bahasa pemrograman terstruktur, yang membagi

BAB II LANDASAN TEORI. pada itu dapat juga dijadikan sebagai bahan acuan didalam merencanakan suatu system.

BAB III LANDASAN TEORI. Kinerja tinggi, rendah daya Atmel AVR 8-bit Microcontroller Instruksi Powerfull - Kebanyakan Single-jam Siklus Eksekusi

BAB II TINJAUAN PUSTAKA

Transkripsi:

BAB II LANDASAN TEORI Dalam Bab ini penulis akan membahas tentang komponen- komponen yang digunakan dalam seluruh unit alat ini. Agar pembahasan tidak melebar dan menyimpang dari topik utama laporan ini, maka setiap komponen hanya dibahas sesuai fungsinya pada masing- masing unit. 2.1 Mikrokontroler ATMega8535 Mikrokontroler dapat dianalogikan sebagai sebuah sistem komputer yang dikemas dalam sebuah chip, artinya di dalam sebuah IC mikrokontroler sebetulnya sudah terdapat kebutuhan minimal agar mikroprosesor dapat bekerja, yaitu meliputi mikroprosesor, ROM, RAM, I/O dan clock seperti halnya yang dimiliki oleh sebuah PC. Mengingat kemasannya yang berupa sebuah chip dengan ukuran yang relatif lebih kecil, tentu saja spesifikasi dan kemampuan yang dimiliki oleh mikrokontroller akan menjadi lebih rendah bila dibandingkan dengan sistem komputer seperti PC baik dilihat dari segi kecepatannya. Tidak seperti system komputer, yang mampu menangani berbagai macam program aplikasi (misalnya pengolah kata, pengolah angka dan lain sebagainya), mikrokontroler hanya bisa digunakan untuk satu aplikasi tertentu saja. Meskipun dari sebuah kemampuan lebih rendah tetapi mikrokontroller memiliki kelebihan yang tidak bisa diperoleh pada sistem komputer yaitu,dengan kemasannya yang kecil dan kompak membuat mikrokontroller menjadi lebih

fleksibel dan praktis digunakan terutama pada sistem-sistem yang relatif tidak terlalu kompleks atau tidak memerlukan bahan komputasi yang tinggi. 2.1.1 Arsitektur Mikrokontroler AVR ATmega8535 Mikrokontroller AVR merupakan keluarga mikrokontroller RISC (Reduced Instruction Set Computing) keluaran Atmel. Konsep arsitektur AVR pada mulanya dibuat oleh dua orang mahasiswa di Norwgian institute of Technology ( NTH ) yaitu Alf-Egil Bogen dan Vegard Wollan.Mikrokontroler ATMega8535 merupakan salah satu anggota mikrokontroller AVR 8-bit. AVR merupakan mikrokontroller dengan arsitektur Harvard dimana antara kode program dan data disimpan dalam memori secara terpisah. Umumnya arsitektur Havard ini menyimpan kode program dalam memori permanen atau semipermanen(non Volatille) Sedangkan data disimpan dalam memori tidak permanen(volatile). ATMega8535 memiliki fitur yang cukup lengkap, mulai dari kapasitas memori program dan memori data yang cukup besar, interupsi, timer/counter, PWM, USART, TWI, analog comparator, EEPROM internal dan juga ADC internal semuanaya ada dalam ATMega8535. Selain itu kemampuan kecepatan ekseskusi yang lebih tinggi menjadi alasan bagi banyak orang untuk beralih dan lebih memilih untuk menggunakan mikrokontroller jenis AVR dari pada pendahulu nya keluarga MCS-51. Secara garis besar, mikrokontroler ATMEGA8535 memiliki arsitektur harvard, yaitu memisahkan memori untuk kode program dan memori untuk data sehingga dapat memaksimalkan unjuk kerja dan pararelisme. Instruksi-instruksi dalam memori program dieksekusi dalam salah satu alur tunggal, dimana pada

saat satu instruksi di kerjakan instruksi berikutnya sudah diambil dari memeori program. 32x 8bit register serba guna digunakan untuk mendukung opersi arithcmetic Logic Unit (ALU) yang dapat dilakukan dalam 1 siklus. 6 dari register serba guna dapat digunakan sebagai 3 buah register pointer 16- bit pada mode pengalamatan tak langsung untuk mengambil data pada ruang memory data.hampir semua instruksi AVR ini memiliki format 16-bit(word). Selain register serba guna terdapat register lain yang tepetakan dengan teknik memory mapped I/O selebar 64 byte. Beberapa register ini digunakan untuk beberapa fungsi khusus antara lain sebagai register kontrol timer/counter, interupsi, ADC, USART, SPI, EEPROM dan Fungsi I/O lainnya. Register-register ini menempati memori pada alamat 0x20h-0x5fh. Gambar 2.1 Arsitektur ATMega8535

2.1.2 Fitur ATMega8535 Berikut ini adalah fitur-fitur yang dimiliki oleh ATMega8535: 1. 130 macam instruksi,yang hampir semuanya dieksekusi dalam satu siklus clock. 2. Kecepatan mencapai 16 MIPS dengan clock 16 MHZ. 3. 512 Byte internal EEPROM. 4. 32x8-bit register serba guna. 5. 8 Kbyte Flash memory,yang memiliki fasilitas In-System Programing. 6. 512 Byte SRAM 7. Programming Lock, fasilitas untuk mengamankan kode program. 8. 4 channel output PWM. 9. 8 channel ADC 10-Bit. 10. 2 Buah timer/counter 8-bit dan 1 buah timer/counter 16-bit. 11. Serial USART. 12. Master/Slave SPI serial interface. 13. Serial TWI atau 12 C. 14. On-Chip Analog comparator. 2.1.3 Konfigurasi Pin ATMega8535 Mikrokontroler ATMega8535 memiliki 40 pin untuk model PDIP ditunjukkan pada Gambar 2.2, dan 44 pin untuk model TQFP dan PLCC. Namanama pin pada mikrokontroler ini adalah : 1. VCC merupakan pin yang berfungsi sebagai pin masukan catu daya digital.

2. GND merupakan pin ground untuk catu daya digital. 3. Port A (PA0...PA7) merupakan pin I/O 8bit dua arah(bi-directional) dan pin masukan 8 chanel ADC. 4. Port B (PB0 PB7) merupakan akan pin I/O 8 bit dua arah (bidirectional)dengan resistor pull-up internal dan pin fungsi khusus, yaitu sebagai Timer/Counter, komperator analog dan SPI. 5. Port C (PC0 PC7) merupakan pin I/O 8bit dua arah (bidirectional)dan pin fungsi khusus, yaitu TWI, komperator analog, input ADC dan Timer Osilator. 6. Port D (PD0 PD7) merupakan pin I/O 8 bit dua arah(bi-directional) dan pin fungsi khusus, yaitu komperator analog, interupsi eksternal dan komunikasi serial. 7. RESET merupakan pin yang digunakan untuk mereset mikrokontroler. 8. XTAL1 merupakan input ke penguat osilator pembalik dan input ke internal clock. 9. XTAL2 merupakan out put dari penguat oslator pembalik. 10. AVCC merupakan pin masukan tegangan untuk ADC yang terhubung ke porta. 11. AREF merupakan pin tegangan referensi analog ADC.

Gambar 2.2 Konfigurasi Pin ATMega8535 2.1.4 Deskripsi pin-pin pada mikrokontroler ATMega8535 : 1. Port A Merupakan 8-bit dua arah bi-directional port I/O,dengan menggunakan resistor pull-up internal dimana setiap pinnya dapat diatur per bit. Output buffer Port A dapat memberi arus 20 ma dan dapat mengendalikan display LED secara langsung. Data Direction Register port A (DDRA) harus disetting terlebih dahulu sebelum Port A digunakan. Bitbit DDRA diisi 0 jika ingin memfungsikan pin-pin port A yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, kedelapan pin port A juga digunakan untuk masukan8 channel ADC. 2. Port B Merupakan 8-bit dua arah(bi-directional) port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer Port B dapat memberi arus 20 ma dan dapat mengendalikan display

LED secara langsung. Data Direction Register port B (DDRB) harus disetting terlebih dahulu sebelum Port B digunakan. Bit-bit DDRB diisi 0 jika ingin memfungsikan pin-pin port B yang bersesuaian sebagai input, atau diisi 1 jika sebagai output.selain sebagai port I/O 8 bit port B juga dapat difungsikan secara individu sebagai berikut: 1. PB7: SCK ( SPI Bus Serial Clock) 2. PB6: MISO( SPI Bus Master Input/ Slave Out put) 3. PB5: MOSI( SPI Bus Master Output/Slave Input). 4. PB4: SS (SPI Slave Select Input) 5. PB3: AIN1(Analog Comparator Negatif Input) OC0 (Out put Compare Timer/counter 0) 6..PB2: AIN0 (Analog Comparator Positif Input) INT2 (External Interrupt 2 Inpt) 7. PB1:T1 (Timer/Counter 1 External Counter Input) 8. PB0:T0 (Timer/Counter 0 External Counter Input) XCK (USART External Clock Input/Output) 3. Port C Merupakan port I/O 8-bit dua arah (bi-directional). Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer Port C dapat memberi arus 20 ma dan dapat mengendalikan display LED secara langsung. Data Direction Register port C (DDRC) harus disetting terlebih dahulu sebelum Port C digunakan. Bit-bit DDRC diisi 0 jika ingin memfungsikan pin-pin port C yang bersesuaian sebagai input,

atau diisi 1 jika sebagai output. Selain itu, Port C juga difungsikan secara individu sebagai berikut: 1. PC7: TOSC2 (Timer Oscillator 2) 2. PC6: TOSC1 (Timer Oscillator 1) 3. PC1: SDA (Serial Data Input/Output) 4. PC0: SCI (Serial Clock) 4. Port D Merupakan Port I/O 8-bit dua arah (bi-directional). Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer Port D dapat memberi arus 20 ma dan dapat mengendalikan display LED secara langsung. Data Direction Register port D (DDRD) harus disetting terlebih dahulu sebelum Port D digunakan. Bit-bit DDRD diisi 0 jika ingin memfungsikan pin-pin port D yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, pin-pin port D juga memiliki untuk fungsi-fungsi alternatif khusus sebagai berikut: 1. PD7: OC2 ( Ouput Compare Timer/Counter 1) 2. PD6: ICP1 ( Timer Counter 1 input capture) 3. PD5: OC1A ( Output Compare A Timer /Counter1) 4. PD4: OC1B ( Output Compare B Timer/Counter 1) 5. PD3: INT1 ( External Interrupt 1 Input) 6. PD2: INT0 ( External interrupt 0 Input) 7. PD1: TXD ( USART Transmit) 8. PD0: RXD ( USART Receive)

5. RESET RST pada pin 9 merupakan pin reset yang akan bekerja bira diberi pulsa rendah (aktif Low) selama minimal 1,5us. 6. XTAL2 Merupakan out put dari penguat dari osilator pembalik 7. XTAL1 Merupakan input ke penguat osilator pembalik dan input ke internal clock. 8. AVCC Avcc adalah pin masukan catu daya yang digunakan untuk masukan analog ADC yang terhubung ke Port A. Kaki ini harus secara eksternal terhubung ke Vcc melalui lowpass filter. 9. AREF AREF adalah pin masukan referensi analog untuk ADC. Untuk operasionalisasi ADC, suatu level tegangan antara AGND dan Avcc harus dibeikan ke kaki ini. 10. AGND AGND adalah kaki untuk analog ground. Hubungkan kaki ini ke GND, kecuali jika board memiliki anlaog ground yang terpisah. 2.1.5 Peta Memory ATMega8535 Mikrokontroller ATMega8535 memiliki 3 jenis memori yaitu memori program, memori data dan memori EEPROM.Ketigannya memiliki ruang-ruang tersendiri dan terpisah seperti terlihat pada gambar 2.5

Gambar 2.3 Organisasi memori ATMega8535 1. Memori Program ATMega8535 memiliki kapasitas memori program sebesar 8 Kbyte yang terpetakan dari alamat 0000h 0FFFh dimana masing-masing alamat memiliki lebar data sebesar 16 bit.sehingga organisasi memori program seperti ini sering dituliskan dengan 4K x 16 bit.memori program ini juga terbagi menjadi dua yaitu program boot dan juga bagian program aplikasi. 2. Memori Data ATMega8535 memiliki kapasitas memori data sebesar 608 byte yang terbagi menjadi 3 bagian yaitu register serba guna,register I/O dan SRAM. 32 byte alamat terendah digunakan untuk register serbaguna yaitu R0 R31. 64 byte berikut nya digunakan untuk register I/O yang digunakan untuk mengatur fasilitas timer /counter, interrupsi, ADC,

USART, SPI, EEPROM dan port I/O seperti Port A, Port B, Port C, dan Port D. Selanjutnya 512 byte diatasnya digunakan untuk memory data SRAM. Jika register-register I/O diatas diakses seperti mengakses data pada memori ( Jika kita menggunakan instruksi LD atau ST ) maka register I/O diatas menempati alamat 0020-005F. Tetapi jika registerregister I/O diakses seperti mengakses I/O pada umumnya ( menggunakan instruksi IN/ IOUT) maka register I/O diatas menempati alamat memori 0000h 003Fh. 32 Register $0000 - $001F 64 I/O Register $0020 - $005F 64 I/O Register $0060 (b) $0000 $003F Internal SRAM (512 x 8) (a) $025F Gambar 2.4 (a) Register I/O Sebagai Memori Data, (b) Register I/O sebagai I/O 3. Memori EEPROM ATMega8535 memiliki memori EEPROM sebesar 512 byte yang terpisah dari memori program maupun dari memori data. Memori EEPROM ini hanaya dapat diakses dengan menggunakan register-register I/O yaitu register EEPROM Addres ( EEARH-EEARL), register

EEPROM Data (EEDR) dan register EEPROM control ( EECR). Untuk megakses memory EEPROM ini diperlakukan sperti mengakses data eksternal sehingga waktu dari eksekusi relatif lebih lama dibadingkan jika kita mengakses data dari SRAM. 2.1.6 Register Serba guna ( General Purpose Register) ATMega8535 memiliki 32 byte register serbaguna yang terletak pada awal alamat RAM. Dari 32 byte register serba guna 6 byte terakhir juga digunakan sebagai register pointer yaitu register pointer X,register pointer Y dan Register pointer Z. Gambar 2.5 Register Serba guna 2.1.7 USART ( Universal Synchronous and Asynchoronous Serial Receiver And Transmitter) Universal Synchronous Serial Receiver and Transmitter (USART) juga merupakan salah satu metode komunikasi serial yang dimiliki oleh ATMega8535.

USART merupakan komunikasi yang memiliki fleksibilitas yang tinggi, yang dapat kita gunakan untuk melakukan transfer data baik antara mikrokontroler maupun dengan modul-modul eksternal termasuk PC yang memiliki fitur UART. USART memungkinkan transmisi data baik secara synchronous maupun asynchronous sehingga dengan demikian USART pasti kompatibel dengan UART. Pada ATMega8535, pengaturan secara umum pengaturan mode komunikasi baik Synchronous maupun Asynchronous adalah sama, perbedaannya hanya terletak pada sumber clocknya saja. Pada mode Asynchronous masing - masing Peripheral memiliki sumber clock sendiri sedang kan pada mode Synchronous hanya ada satu sumber clock yang digunakan secra bersama- sama. Dengan demikian secara hardware untuk mode Asynchronous hanya membutuhkan 2 pin yaitu TXD dan RXD sedangkan untuk mode Synchronous harus 3 pin yaitu TXD,RXD dan XCK. 2.1.8 Status Register ( SREG) Register SREG digunakan untuk menyimpan informasi dari hasil operasi aritmatika yang terakhir. Informasi-informasi dari register SREG dapat digunakan untuk mengubah alur program, yang sedang dijalankan dengan mengunakan instruksi percabangan. Data SREG akan selalu berubah jika setiap instruksi atau operasi pada ALU dan datanya tidak otomatis tersimpan apabila terjadi instruksi percabangan baik karena instruksi maupun lompatan.

Gambar 2.6 Status Register Status Register ATMega8535 : Bit 7 I : Global Interrupt Enable Bit I digunakan untuk mengaktifkan interrupsi secara umum ( interrupsi global). Jika bit I benilai 1 maka interrupsi secara umum akan aktif, tetapi jika bernilai 0 maka tidak ada satupun interrupsi yang aktif. Pengaturan jenisjenis interrupsi apa sja yang akan aktif dilakukan dengan mengatur register kontrol yang sesuai dengan jenis interrupsi tersebut, dengan terlebih dahulu mengaktifkan interupsi global, yaitu bit I diset 1. Bit 6 T : Bit Copy Storage Bit T digunakan untuk mementukan bit sumber atau bit tujuan pada instruksi bit copy. Pada instruksi BST, data akan dicopy dari register ke bit T ( Bit T sebagai tujuan) sedangkan pada instruksi BLD, bit T akan di copy ke register ( Bit T Sebagai Sumber). Bit 5 H : Half carry Flag Bit H digunakan untuk menunjukkan ada tidaknya setengah carry pada operasi aritmatika BCD, yaitu membagi satu byte data menjadi dua bagian (masing-masing 4 bit) dan masing-masing bagian dianggap sebagai 1 digit desimal.

Bit 4 S: Sign bit Bit S merupakan kombinasi antara bit V dan bit N, yaitu dengan meng- XOR-kan bit V dan bit N. Bit 3 V : Two s Complement over flow flag Bit V digunakan untuk mendukun operasi aritmatika komplemen 2.Jika terjadi luapan pada operasi aritmatika bilangan komplemen 2 maka akan menyebabkan bit V bernilai 1. Bit 2 - N : Negative Flag Bit N digunakan untuk menunjukkan apakah hasil sebuah operasi aritmatika ataupun operasi logika bernilai negatif atau tidak.jika hasilnya negatif maka bit N bernilai 1 dan jika hasilnya bernilai positif maka bit N bernila 0. Bit 1 - Z : Zero Flag Bit Z digunakan untuk menunjukkan hasil operasi aritmatika ataupun operasi logika apakah bernilai nol atau tidak.jika hasilnya nol maka bit Z bernilai 1 dan jika hasilnya tidak nol maka bit Z bernilai 0. Bit 0 C : Carry flag Bit C digunakan untuk menunjukkan hasil operasi aritmatika ataupun logika apakah ada carry atau tidak.jika ada carry maka bit C bernilai 1 dan jikatidak ada carry maka bit C akan bernilai 0. 2.2 IC comparator ( LM324) LM324 adalah 14 pin IC yang terdiri dari empat amplifier operasional independen (op-amp) kompensasi dalam satu paket. Op-amp gain tinggi penguat tegangan elektronik dengan masukan diferensial dan, biasanya, output tunggal

berakhir. Tegangan output berkali-kali lebih tinggi dari perbedaan tegangan antara terminal input dari sebuah op-amp. Op-amp ini dioperasikan oleh catu daya tunggal LM324 dan perlu untuk dual pasokan dihilangkan. Mereka dapat digunakan sebagai amplifier, pembanding, osilator, rectifier dll op-amp konvensional aplikasi dapat lebih mudah diimplementasikan dengan LM324. Gambar 2.7 Fisik IC LM324 2.2.1 PIN IC LM324 IC LM324 merupakan IC Operational Amplifier, IC ini mempunyai 4 buah op-amp yang berfungsi sebagai comparator. IC ini mempunyai tegangan kerja antara +5 V sampai +15V untuk +Vcc dan -5V sampai -15V untuk -Vcc. Adapun definisi dari masing-masing pin IC LM324 adalah sebagai berikut :

Gambar 2.8 PIN IC LM324 a. Pin 1,7,8,14 (Output) Merupakan sinyal output. b. Pin 2,6,9,13 (Inverting Input) yaitu Semua sinyal input yang berada di pin ini akan mempunyai output yang berkebalikan dari input. c. Pin 3,5,10,12 (Non-inverting input) yaitu Semua sinyal input yang berada di pin ini akan mempunyai output yang sama dengan input (tidak berkebalikan). d. Pin 4 (+Vcc) yaitu Pin ini dapat beroperasi pada tegangan antara +5 Volt sampai +15 Volt. e. Pin 11 (-Vcc) yaitu Pin ini dapat beroperasi pada tegangan antara -5 Volt sampai -15 Volt.

Tabel 2.1 Description PIN 2.3. LDR (Light Dependent Resistor) Sensor Cahaya LDR (Light Dependent Resistor) adalah salah satu jenis resistor yang dapat mengalami perubahan resistansinya apabila mengalami perubahan penerimaan cahaya. Besarnya nilai hambatan pada Sensor Cahaya LDR (Light Dependent Resistor) tergantung pada besar kecilnya cahaya yang diterima oleh LDR itu sendiri. LDR sering disebut dengan alat atau sensor yang berupa resistor yang peka terhadap cahaya. Biasanya LDR terbuat dari cadmium sulfida yaitu merupakan bahan semikonduktor yang resistansnya berupah-ubah menurut banyaknya cahaya (sinar) yang mengenainya.

Sebuah light dependent resistor (LDR) terdiri dari sebuah piringan bahan semikonduktor dengan dua buah elektroda pada permukaannya. Dalam gelap atau di bawah cahaya yang redup, bahan piringan hanya mengandung elektron bebas dalam jumlah yang relatif sangat kecil. Hanya tersedia sedikit elektron bebas untuk mengalirkan muatan listrik. Dengan kata lain, nilai hambatan bahan sangat tinggi. Gambar 2.9 Light Dependent Resistor Di bawah cahaya yang cukup terang, lebih banyak elektron dapat melepaskan diri dari atom-atom semikonduktor ini. Terdapat lebih banyak elektron bebas yang dapat mengalirkan muatan listrik. Hambatan listrik bahan adalah rendah. Semakin terang cahaya yang mengenai bahan, semakin banyak elektron bebas yang tersedia, dan semakin rendah pula hambatan listrik tersebut. 2.4 Bahasa Pemograman C Bahasa C dikembangkan pada Lab Bell pada tahun 1978, oleh Dennis Ritchi dan Brian W. Kernighan. Pada tahun 1983 dibuat standar C yaitu stnadar ANSI ( American National Standards Institute ), yang digunakan sebagai referensi dari berbagai versi C yang beredar dewasa ini termasuk Turbo C. Dalam beberapa literature, bahasa C digolongkan bahasa level menenganh karena bahasa C mengkombinasikan elemen bahasa tinggi dan elemen bahasa

rendah. Kemudahan dalam level rendah merupakan tujuan diwujudkanya bahasa C. pada tahun 1985 lahirlah pengembangan ANSI C yang dikenal dengan C++ (diciptakan oleh Bjarne Struostrup dari AT % TLab). Bahasa C++ adalah pengembangan dari bahasa C. bahasa C++ mendukung konsep pemrograman berorientasu objek dan pemrograman berbasis windows. Sampai sekarang bahasa C++ terus brkembang dan hasil perkembangannya muncul bahasa baru pada tahun 1995 (merupakan keluarga C dan C++ yang dinamakan java). Istilah prosedur dan fungsi dianggap sama dan disebut dengan fungsi saja. Hal ini karena di C++ sebuah prosedur pada dasanya adalah sebuah fungsi yang tidak memiliki tipe data kembalian (void). Hingga kini bahasa ni masih popular dan penggunaannya tersebar di berbagai platform dari windows samapi linux dan dari PC hingga main frame. Ada pun kekurangan dan Kelebihan Bahasa C sebagai berikut : Kelebihan Bahasa C: Bahasa C tersedia hampir di semua jenis computer. Kode bahasa C sifatnya adalah portable dan fleksibel untuk semua jenis computer. Bahasa C hanya menyediakan sedikit kata-kata kunci. hanya terdapat 32 kata kunci. Proses executable program bahasa C lebih cepat Dukungan pustaka yang banyak. C adalah bahasa yang terstruktur Bahasa C termasuk bahasa tingkat menengah

penempatan ini hanya menegaskan bahwa c bukan bahasa pemrograman yang berorientasi pada mesin. yang merupakan ciri bahasa tingkat rendah. Melainkan berorientasi pada obyek tetapi dapat dinterprestasikan oleh mesin dengan cepat. secepat bahasa mesin. inilah salah satu kelebihan c yaitu memiliki kemudahan dalam menyusun programnya semudah bahasa tingkat tinggi namun dalam mengesekusi program secepat bahasa tingkat rendah. Kekurangan Bahasa C: Banyaknya operator serta fleksibilitas penulisan program kadangkadang membingungkan pemakai. Bagi pemula pada umumnya akan kesulitan menggunakan pointer. 2.4.1 Struktur Bahasa C a. Program bahasa C tersusun atas sejumlah blok fungsi. b. Setiap fungsi terdiri dari satu atau beberapa pernyataan untuk melakukan suatu proses tertentu. c. Tidak ada perbedaan antara prosedur dan fungsi. d. Sstiap program bahasa C mempunyai suatu fungsi dengan nama main (Program Utama). e. Fungsi bisa diletakkan diatas atau dibawah fungsin main. f. Setiap statemen diakhiri dengan semicolon (titik koma). 2.4.2 Pengenal Pengenal (identifier) merupakan sebuah nama yang didefenisikan oleh pemrograman untuk menunjukkan indetitas dari sebuah konstanta, variable,

fungsi, label atau tipe data khusus. Pemberian nama sebuah pengenal dapat ditentukan bebas sesuai keinginan pemrogram tetapi harus memenuhi atura berikut : Karakter pertama tidak boleh menggunakan angka Karakter kedua dapat berupa huruf, angka, atau garis bawah. Tidak boleh menggunakan spasi. Bersifat Case Sensitive, yaitu huru capital dan huruf kecil dianggap berbeda. Tidak boleh mengunakan kata kata yang merupakan sitaks maupun operator dalam pemrograman C, misalnya : Void, short, const, if, static, bit, long, case, do, switch dll. 2.4.3 Tipe Data Tipe data merupakan suatu hal yang penting untuk kita ketahui pada saat belajar bahasa pemrograman. Kita harus dapat menentukan tipe data yang tepat untuk menampung sebuah data, baik itu data berupa bilangan numerik ataupun karakter. Hal ini bertujuan agar program yang kita buat tidak membutuhkan pemesanan kapling memori yang berlebihan. Seorang programmer yang handal harus dapat memilih dan menentukan tipe data apa yang seharusnya digunakan dalampembuatan sebuah program. Secara garis besar tipe data pada bahasa C dibagi menjadi beberapa bagian antara lain sebagai Berikut Macam-Macam Tipe Data Pada Bahasa C :

1. Tipe Data Karakter Sebuah karakter, baik itu berupa huruf atau angka dapat disimpan pada sebuah variabel yang memiliki tipe data char dan unsigned char. Besarnya data yang dapat disimpan pada variabel yang bertipe data char adalah -127-127. Sedangkan untuk tipe data unsigned char adalah dari 0-255. Pada dasarnya setiap karakter memiliki nilai ASCII, nilai inilah yang sebetulnya disimpan pada variabel yang bertipe data karakter ini. 2. Tipe Data Bilangan Bulat Tipe data bilangan bulat atau dapat disebut juga bilangan desimal merupakan sebuah bilangan yang tidak berkoma. Pada bahasa C terdapat bermacam-macam tipe data yang dapat kita gunakan untuk menampung bilangan bulat. Kita dapat menyesuaikan penggunaan tipe data dengan terlebih dahulu memperhitungkan seberapa besar nilai yang akan kita simpan. Contohnya seperti berikut, kiata akan melakukan operasi penjumlahan nilai 300 dan 100 dan hasilnya akan disimpan pada variabel c. Jika dilihat, hasil dari penjumlahan tersebut nilainya akan lebih besar dari 255 dan nilainya pasti positif, oleh karena itu sebaiknya kita menggunakan tipe data unsigned int. Namun berbeda halnya jika saya ingin melakukan operasi pengurangan -5-300, jika dilihat hasilnya akan negatif maka selayaknya digunakan variabel dengan tipe data int. 3. Tipe Data Bilangan Berkoma Pada bahasa C terdapat dua buah tipe data yang berfungsi untuk menampung data yang berkoma. Tipe data tersebut adalah float dan double. Double lebih memiliki panjang data yang lebih banyak dibandingkan float. Tipe

data double dapat digunakan jika kita membutuhkan variabel yang dapat menampung tipe data berkoma yang bernilai besar. Tabel 2.2 Tipe Data Tipe Data Ukuran Jangkauan Nilai Bit 1 byte 0 atau 1 Char 1 byte -128 s/d 127 Unsigned Char 1 byte 0 s/d 255 Signed Char 1 byte -128 s/d 127 Int 2 byte -32.768 s/d 32.767 Short Int 2 byte -32.768 s/d 32.767 Unsigned Int 2 byte 0 s/d 65.535 Signed Int 2 byte -32.768 s/d 32.767 Long Int 4 byte -2.147.483.648 s/d 2.147.483.647 Unsigned Long Int 4 byte 0 s/d 4.294.967.295 Signed Long Int 4 byte -2.147.483.648 s/d 2.147.483.647 Float 4 byte 1.2*10-38 s/d 3.4*10 +38 Double 4 byte 1.2*10-38 s/d 3.4*10 +38 2.4.4 Konstanta Dan Variabel Konstanta dan variable merupakan sebuah tempat untuk menyimpan data yang berada di dalam memori. Konstanta berisi data yang nilainya tetap dan tidak dapat diubah selama program dijalankan, sedangkan variable berisi data yang bisa berubah nilainya pada saat program dijalankan.

2.4.5 IDENTIFIER Identifier atau nama pengenal adalah nama yang ditentukan sendiri oleh pemrogram yang digunakan untuk menyimpan nilai, misalnya nama variable, nama konstanta, nama suatu elemen (misalnya: nama fungsi, nama tipe data, dll). Identifier punya ketentuan sebagai berikut : 1. Maksimum 32 karakter (bila lebih dari 32 karakter maka yang diperhatikan hanya 32 karakter pertama saja). 2. Case sensitive: membedakan huruf besar dan huruf kecilnya. 3. Karakter pertama harus karakter atau underscore ( _ ). selebihnya boleh angka. 4. Tidak boleh mengandung spasi atau blank. 5. Tidak boleh menggunakan kata yang sama dengan kata kunci dan fungsi.