Top Banner

of 18

MAKALAH mikrokontroler

Jul 14, 2015

Download

Documents

Mulky Fauzan
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

MAKALAH MIKROKONTROLER PERBEDAAN ANTARA ATMEGA 8 ,ATMEGA 16,ATMEGA 32 DAN ATMEGA 8535

Oleh : Mulky Fauzan 0841220006

PROGRAM STUDI D-IV TEKNIK OTOMOTIF ELEKTRONIK JURUSAN TEKNIK MESIN POLITEKNIK NEGERI MALANG November 2011

Spesifikasi Mikrokontroler ATMega16Mikrokontroler AVR adalah mikrokontroler RISC 8 bit berdasarkan aristektur Harvard, yang dibuat oleh Atmel pada tahun 1996. AVR memiliki keunggulan dibandingkan dengan mikrokontroler lain, keunggulan AVR yaitu AVR memiliki kecepatan eksekusi program yang lebih cepat, karena sebagian besar instruksi dieksekusi dalam 1 siklus clock, lebih cepat dibandingkan MCS51 yang membutuhkan 12 siklus clock untuk mengeksekusi 1 instruksi. Mikrokontroler ATMega16 memiliki fitur yang lengkap (ADC internal, EEPROM internal, Timer/Counter, Watchdog Timer, PWM, Port I/O, komunikasi serial, Komparator, I2C,dll). Berikut ini merupakan beberapa spesifikasi ATMega16: 1. Arsitektur RISC dengan throughput mencapai 16 MIPS pada frekuensi 16 Mhz. 2. Memiliki kapasitas flash memori 16Kbyte, EEPROM 512 Byte, dan SRAM 1Kbyte 3. Saluran Port I/O sebanyak 32 buah, yaitu Port A, Port B, Port C, dan Port D. 4. CPU yang terdiri atas 32 buah register 5. User interupsi internal dan eksternal 6. Port USART sebagai komunikasi serial 7. Konsumsi daya rendah (DC 5V) 8. Fitur peripheral, yang terdiri dari a. Tiga buah Timer/Counter dengan perbandingan - 2 (dua) buah Timer/Counter 8 bit dengan Prescaler terpisah dan Mode Compare - 1 (satu) buah Timer/Counter 16 bit dengan Prescaler terpisah, Mode Compare, dan Mode Capture b. Real Time Counter dengan osilator tersendiri c. 4 channel PWM d. 8 channel, 10-bit ADC - 8 Single-ended Channel - 7 Differential Channel hanya pada kemasan TQFP - 2 Differential Channel dengan Programmable Gain 1x, 10x, atau 200x e. Byte-oriented Two-wire Serial Interface f. Antamuka SPI g. Watchdog Timer dengan osilator internal h. On-chip Analog Comparator

Gambar 2.1 Blok Diagram ATMega16

Konfigurasi Pin ATMega16

Susunan pin mikrokontroler ATMega16 diperlihatkan pada Gambar 2.2 di bawah ini.

Gambar 2.2 Konfigurasi Pin ATMega16

Konfigurasi pin ATMega16 dengan kemasan 40 pin DIP (Dual In-line Package) dapat dilihat pada Gambar 2.2. Dari gambar di atas dapat dijelaskan fungsi dari masingmasing pin ATMega16 sebagai berikut: 1. Vcc merupakan pin yang berfungsi sebagai masukan catu daya. 2. GND merupakan pin Ground 3. Port A (PA07) merupakan pin input/output dua arah dan pin masukan ADC. 4. Port B (PB07) merupakan pin input/output dua arah dan pin dengan fungsi khusus seperti SPI, MISO, MOSI, SS, AIN1/OC0, AIN0/INT2, T1, T0 T1/XCK 5. Port C (PC07) merupakan pin input/output dua arah dan pin dengan fungsi khusus, seperti TOSC2, TOSC1, TDI, TD0, TMS, TCK, SDA, SCL 6. Port D (PD07) merupakan pin input/output dua arah dan pin dengan fungsi khusus, seperti RXD, TXD, INT0, INT1, OC1B, OC1A, ICP1 7. RESET merupakan pin yang digunakan untuk me-reset mikrokontroler. 8. XTAL1 dan XTAL2 merupakan pin masukan clock eksternal 9. AVCC merupakan pin masukan tegangan untuk ADC 10. AREF merupakan pin masukan tegangan referensi ADC 2.1.4 Peta Memori ATMega16 2.1.4.1 Memori Program Arsitektur ATMega16 mempunyai dua memori utama, yaitu memori data dan memori program. Selain itu, ATMega16 memiliki memori EEPROM untuk menyimpan data. ATMega16 memiliki 16K byte On-chip In-System Reprogrammable Flash Memory untuk menyimpan program. Instruksi ATMega16 semuanya memiliki format 16 atau 32 bit, maka memori flash diatur dalam 8K x 16 bit. Memori flash dibagi kedalam dua bagian, yaitu bagian program boot dan aplikasi seperti terlihat pada

Gambar 2.5. Bootloader adalah program kecil yang bekerja pada saat sistem dimulai yang dapat memasukkan seluruh program aplikasi ke dalam memori prosesor.

Memori Data (SRAM) Memori data AVR ATMega16 terbagi menjadi 3 bagian, yaitu 32 register umum, 64 buah register I/O dan 1 Kbyte SRAM internal. General purpose register menempati alamat data terbawah, yaitu $00 sampai $1F. Sedangkan memori I/O menempati 64 alamat berikutnya mulai dari $20 hingga $5F. Memori I/O merupakan register yang khusus digunakan untuk mengatur fungsi terhadap berbagai fitur mikrokontroler seperti kontrol register, timer/counter, fungsi-fungsi I/O, dan sebagainya. 1024 alamat berikutnya mulai dari $60 hingga $45F digunakan untuk SRAM internal

Memori Data EEPROM ATMega16 terdiri dari 512 byte memori data EEPROM 8 bit, data dapat ditulis/dibaca dari memori ini, ketika catu daya dimatikan, data terakhir yang ditulis pada memori EEPROM masih tersimpan pada memori ini, atau dengan kata lain memori EEPROM bersifat nonvolatile. Alamat EEPROM mulai dari $000 sampai $1FF.

Software Mikrokontroler ATMega16 Sebuah mikrokontroler tidak akan bekerja bila tidak diberikan program untuk diisikan ke dalam mikrokontroler tersebut. Oleh karena itu, dalam tugas akhir ini akan digunakan perangkat lunak CodeVisionAVR sebagai media penghubung antara program yang akan diisikan ke mikrokontroler ATMega16 yang menggunakan bahasa C. Pemrograman mikrokontroler AVR dapat menggunakan low level language (assembly) dan high level language (C, Basic, Pascal, JAVA, dll) tergantung compiler yang digunakan. Bahasa Assembler pada mikrokontroler AVR memiliki kesamaan instruksi, sehingga jika telah menguasai pemrograman satu jenis mikrokontroler AVR, maka akan dengan mudah untuk memprogram mikrokontroler AVR jenis lain, tetapi bahasa assembler relatif lebih sulit dipelajari daripada bahasa C, untuk pembuatan suatu proyek yang besar akan memakan waktu yang lama, serta penulisan programnya akan panjang. Sedangkan bahasa C memiliki keunggulan dibandingkan bahasa assembly yaitu penyusunan program akan lebih sederhana dan mudah pada proyek yang lebih besar. Bahasa C hampir bisa melakukan semua operasi yang dapat dikerjakan oleh bahasa mesin. CodeVisionAVR pada dasarnya merupakan perangkat lunak pemrograman mikrokontroler keluarga AVR berbasis bahasa C. Ada tiga komponen penting yang telah diintegrasikan dalam perangkat lunak ini: Compiler C, IDE dan program generator. Berdasarkan spesifikasi yang dikeluarkan oleh perusahaan pengembangnya, Compiler C yang digunakan hampir mengimplementasikan semua komponen standar yang ada pada bahasa C standar ANSI (seperti struktur program, jenis tipe data, jenis operator, dan library fungsi standar berikut penamaannya). Tetapi walaupun demikian, dibandingkan bahasa C untuk aplikasi komputer, compiler C untuk mikrokontroler ini memiliki sedikit perbedaan yang disesuaikan dengan arsitektur AVR tempat program C tersebut ditanamkan (embedded). Khusus untuk library fungsi, disamPING library standar (seperti fungsi-fungsi matematik, manipulasi string, pengaksesan memori dan sebagainya), CodeVisionAVR juga menyediakan fungsi-fungsi tambahan yang sangat bermanfaat dalam pemrograman antarmuka AVR dengan perangkat luar yang umum digunakan dalam aplikasi kontrol. Beberapa fungsi library yang penting diantaranya adalah fungsi-fungsi untuk pengaksesan LCD, komunikasi I2C, IC RTC (Real time Clock), sensor suhu, SPI (Serial Peripheral Interface) dan lain sebagainya. Untuk memudahkan pengembangan program aplikasi, CodeVisionAVR juga dilengkapi IDE yang sangat user friendly. Selain menu-menu pilihan yang umum dijumpai pada setiap perangkat lunak berbasis Windows, CodeVisionAVR ini telah mengintegrasikan perangkat lunak downloader yang bersifat In System Programmer yang dapat digunakan untuk mentransfer kode mesin hasil kompilasi ke dalam sistem memori mikrokontroler AVR yang sedang diprogram.

Selain itu, CodeVisionAVR juga menyediakan sebuah fitur yang dinamakan dengan Code Generator atau CodeWizardAVR. Secara praktis, fitur ini sangat bermanfaat membentuk sebuah kerangka program (template), dan juga memberi kemudahan bagi programmer dalam peng-inisialisasian register-register yang terdapat pada mikrokontroler AVR yang sedang diprogram. Dinamakan Code Generator, karena perangkat lunak CodeVision ini akan membangkitkan kode-kode program secara otomatis setelah fase inisialisasi pada jendela CodeWizardAVR selesai dilakukan. Penggunaan fitur ini pada dasarnya hampir sama dengan application wizard pada bahasa-bahasa pemrograman visual untuk komputer.

Fitur selengkapnya dari AVR ATmega8 : 1. High-Performance, Low-Power AVR 8-bit RISC Microcontroller Advanced RISC Architecture 130 Powerful Instructions Most Single-clock Execution 32 x 8 General Purpose Working Registers Fully Static Operation Up to 16 MIPS Throughput at 16MHz On-chip 2-cycle Multiplier 2. High-Endurance Non-Volatile Memory segments 8K Bytes In-System Self-programmable Flash Program Memory 512 Bytes EEPROM 1K Bytes of Internal SRAM Write/Erase Cycles: 10,000 Flash / 100,000 EEPROM Data Retention: 20 years at 85`C / 100 years at 25`C Opitonal Boot Code Section with Independent Lock Bits In-System Programming by On-chip Boot Program True Read-While-Write Operation Programming Lock for Software Security 3. Peripheral features Two 8-bit Timers/Counters with Separate Prescaler, one Compare Mode One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture Mode Real Time Counter with Separate Oscillator Three PWM Channels 6-channel ADC with 10-bit Accuracy Byte-oriented Two-wire Serial Interface Programmable Serial USART Master/Slave SPI Serial Interface Programmable Watchdog Timer with Separate On-Chip Oscillator On-Chip Analog Comparator 4. Special Microcontroller features Power-On Reset and Programmable Brown-out Detection Internal Calibrated RC Oscillator External and Internal Interrupt Sources Five Sleep Modes: Idle, ADC Noise Reduction, Power-save, Power-down, and Standby 5. I/O and Packages 23 Programmable I/O Lines 28-lead PDIP, 32-lead TQFP, and 32-pad QFN/MLF 6. Operating Voltages 2.7 5.5V (ATmega8L) 4.5 5.5V (ATmega8) 7. Speed Grades 0 8MHz (ATmega8L) 0 16MHz (ATmega8) 8. Power Consumption at 4MHz, 3V, 25`C Active: 3.6 mA Idle Mode: 1.0 mA

Mikrokontroler ATMega8535AVR 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.

Gambar 2.1 Arsitektur ATMEGA8535

1. 32 saluran I/O (Port A, Port B, Port C dan Port D) 2. 10 bit 8 Channel ADC (Analog to Digital Converter) 3. 4 Channel PWM 4. 6 Sleep Modes : Idle, ADC Noise Reduction, Power-save, Power-Down, Standby and Extended Standby 5. 3 buah timer/counter. 6.Analog Compararator 7. Watchdog timer dengan osilator internal 8. 512 byte SRAM 9. 512 byte EEPROM 10. 8 kb Flash memory dengan kwmampuan Read While Write 11. Unit interupsi (internal dan external) 12. Port antarmuka SPI8535 memory map 13. Port USART untuk komunikasi serial dengan kecepatan maksimal 2,5 Mbps 14. 4,5 V sampai 5,5 V operation, 0 sampai 16 MHz Peta Memory ATMega8535 ATMega8535 memiliki ruang pengalamatan memori data dan memori program yang terpisah. Memori data terbagi menjadi 3 bagian yaitu : 32 buah register umum, 64 buah register I/O, dan 512 byte SRAM internal. Register untuk keperluan umum menempati space data pada alamat terbawah yaitu $00 sampai $1F. Sementara itu register khusus untuk menangani I/O dan kontrol terhadap mikrokontroler menempati 64 alamat berikutnya, yaitu mulai dari $20 sampai $5F. Register tersebut merupakan register yang khusus digunakan untuk mengatur fungsi terhadap berbagai peripheral mikrokontroler, seperti kontrol register, timer/counter, fungsi fungsi I/O, dan sebagainya. Register khusus alamat memori secara lengkap dapat dilihat pada tabel dibawah. Alamat memori berikutnya digunakan untuk SRAM 512 byte, yaitu pada lokasi $60 sampai dengan $25F.

Memori AVR ATMega8535

Selain itu AVR ATmega8535 juga memilki memori data berupa EEPROM 8-bit sebanyak 512 byte. Alamat EEPROM dimulai dari $000 sampai $1FF.

Status Register Status register adalah register berisi status yang dihasilkan pada setiap operasi yang dilakukan ketika suatu instruksi dieksekusi. SREG merupakan bagian dari inti CPU mikrokontroler.

Status Register

1. Bit7 - I (Global Interrupt Enable), bit harus diset untuk mengenable semua jenis interupsi 2. Bit6 - T (Bit Copy Storage), Instruksi BLD dan BST menggunakan bit T sebagai sumber atau tujuan dalam operasi bit. Suatu bit dalam sebuah register GPR dapat disalin ke bit T menggunakan instruksi BST, dan sebaliknya bit T dapat disalin kembali kesuatu bit dalam register GPR dengan menggunakan instruksi BLD. 3. Bit5 - H (Half Cary Flag), untuk menunjukkan ada tidaknya setengah carry pada operasi aritmatika. 4. Bit4 - S (Sign Bit) merupakan hasil operasi EOR antara flag -N (negatif) dan flag V (komplemen dua overflow). 5. Bit3 - V (Two's Component Overflow Flag) Bit ini berfungsi untuk mendukung operasi matematis. 6. Bit2 - N (Negative Flag) Flag N akan menjadi Set, jika suatu operasi matematis menghasilkan bilangan negatif. 7. Bit1 - Z (Zero Flag) Bit ini akan menjadi Set apabila hasil operasi matematis menghasilkan bilangan 0. 8. Bit0 - C (Cary Flag) Bit ini akan menjadi set apabila suatu operasi menghasilkan carry Perbedaan antara Atmega8535 dengan Atmega16 :

ATMega 32

Fitur-fitur ATMega 32 : High-performance, Low-power AtmelAVR 8-bit Microcontroller Advanced RISC Architecture 131 Powerful Instructions Most Single-clock Cycle Execution 32 8 General Purpose Working Registers Fully Static Operation Up to 16 MIPS Throughput at 16MHz On-chip 2-cycle Multiplier High Endurance Non-volatile Memory segments 32Kbytes of In-System Self-programmable Flash program memory 1024Bytes EEPROM 2Kbytes Internal SRAM Write/Erase Cycles: 10,000 Flash/100,000 EEPROM Data retention: 20 years at 85C/100 years at 25C(1) Optional Boot Code Section with Independent Lock Bits In-System Programming by On-chip Boot Program True Read-While-Write Operation Programming Lock for Software Security JTAG (IEEE std. 1149.1 Compliant) Interface Boundary-scan Capabilities According to the JTAG Standard Extensive On-chip Debug Support Programming of Flash, EEPROM, Fuses, and Lock Bits through the JTAG Interface Peripheral Features Two 8-bit Timer/Counters with Separate Prescalers and Compare Modes One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture Mode Real Time Counter with Separate Oscillator Four PWM Channels 8-channel, 10-bit ADC 8 Single-ended Channels 7 Differential Channels in TQFP Package Only 2 Differential Channels with Programmable Gain at 1x, 10x, or 200x Byte-oriented Two-wire Serial Interface Programmable Serial USART Master/Slave SPI Serial Interface Programmable Watchdog Timer with Separate On-chip Oscillator On-chip Analog Comparator Special Microcontroller Features Power-on Reset and Programmable Brown-out Detection Internal Calibrated RC Oscillator External and Internal Interrupt Sources Six Sleep Modes: Idle, ADC Noise Reduction, Power-save, Power-down, Standby and Extended Standby I/O and Packages 32 Programmable I/O Lines 40-pin PDIP, 44-lead TQFP, and 44-pad QFN/MLF Operating Voltages 2.7V - 5.5V for ATmega32L

4.5V - 5.5V for ATmega32 Speed Grades 0 - 8MHz for ATmega32L 0 - 16MHz for ATmega32 Power Consumption at 1MHz, 3V, 25C Active: 1.1mA Idle Mode: 0.35mA Power-down Mode: < 1A

Kesimpulan :Keempatnya adalah dari keluarga ATMEGA, arsitektur AVR, buatan ATMEL, jadi sebenarnya lebih banyak persamaan. Perbedaan pada fiturnya, terutama flash memory dan RAM, Harga Juga berbeda-beda, tapi hanya selisih harga sedikit. Selain itu tegangan yang di hasilkan pun berbeda-beda.ATMega 8535 paling stabil untuk mempertahankan tegangan yang tiba-tiba turun (Drop)