eleckit.files.wordpress.com · web view2012/12/02  · berbagai seri mikrokontroler avr telah...

13
2 MIKROKONTROLER AVR Mikrokontroler AVR merupakan salah satu jenis arsitektur mikrokontroler yang menjadi andalan Atmel. Arsitektur ini dirancang memiliki berbagai kelebihan dan merupakan penyempurnaan dari arsitektur mikrokontroler-mikrokontroler yang sudah ada. Berbagai seri mikrokontroler AVR telah diproduksi oleh Atmel dan digunakan di dunia sebagai mikrokontroler yang bersifat low cost dan high performance. Di Indonesia, mikrokontroler AVR banyak dipakai karena fiturnya yang cukup lengkap, mudah untuk didapatkan, dan harganya yang relatif terjangkau. 2.1 Varian Mikrokontroler AVR Antar seri mikrokontroler AVR memiliki beragam tipe dan fasilitas, namun kesemuanya memiliki arsitektur yang sama, dan juga set instruksi yang relatif tidak berbeda. Tabel 2.1 membandingkan beberapa seri mikrokontroler AVR buatan Atmel. Seri Flash (kbyte s) RAM (byte s) EEPROM (kbyte s) Pin I/O Time r 16- bit Time r 8- bit UART PWM ADC 10- bit SP I ISP ATmega8 8 1024 0.5 23 1 1 1 3 6/8 1 Ya ATmega853 5 8 512 0.5 32 2 2 1 4 8 1 Ya ATmega16 16 1024 0.5 32 1 2 1 4 8 1 Ya ATmega162 16 1024 0.5 35 2 2 2 6 8 1 Ya ATmega32 32 2048 1 32 1 2 1 4 8 1 Ya ATmega128 128 4096 4 53 2 2 2 8 8 1 Ya ATtiny12 1 - 0.0625 6 - 1 - - - - Ya

Upload: others

Post on 01-Feb-2021

5 views

Category:

Documents


0 download

TRANSCRIPT

2 MIKROKONTROLER AVR

Mikrokontroler AVR merupakan salah satu jenis arsitektur mikrokontroler yang menjadi andalan Atmel. Arsitektur ini dirancang memiliki berbagai kelebihan dan merupakan penyempurnaan dari arsitektur mikrokontroler-mikrokontroler yang sudah ada.

Berbagai seri mikrokontroler AVR telah diproduksi oleh Atmel dan digunakan di dunia sebagai mikrokontroler yang bersifat low cost dan high performance. Di Indonesia, mikrokontroler AVR banyak dipakai karena fiturnya yang cukup lengkap, mudah untuk didapatkan, dan harganya yang relatif terjangkau.

2.1 Varian Mikrokontroler AVR

Antar seri mikrokontroler AVR memiliki beragam tipe dan fasilitas, namun kesemuanya memiliki arsitektur yang sama, dan juga set instruksi yang relatif tidak berbeda. Tabel 2.1 membandingkan beberapa seri mikrokontroler AVR buatan Atmel.

Keterangan:

· Flashadalah suatu jenis Read Only Memory yang biasanya diisi dengan program hasil buatan manusia yang harus dijalankan oleh mikrokontroler

· RAM (Random Acces Memory) merupakan memori yang membantu CPU untuk penyimpanan data sementara dan pengolahan data ketika program sedang running

· EEPROM (Electrically Erasable Programmable Read Only Memory) adalah memori untuk penyimpanan data secara permanen oleh program yang sedang running

· Port I/O adalah kaki untuk jalur keluar atau masuk sinyal sebagai hasil keluaran ataupun masukan bagi program

· Timer adalah modul dalam hardware yang bekerja untuk menghitung waktu/pulsa

· UART (Universal Asynchronous Receive Transmit) adalah jalur komunikasi data khusus secara serial asynchronous

· PWM (Pulse Width Modulation) adalah fasilitas untuk membuat modulasi pulsa

· ADC (Analog to Digital Converter) adalah fasilitas untuk dapat menerima sinyal analog dalam range tertentu untuk kemudian dikonversi menjadi suatu nilai digital dalam range tertentu

· SPI (Serial Peripheral Interface) adalah jalur komunikasi data khusus secara serial secara serial synchronous

· ISP (In System Programming) adalah kemampuan khusus mikrokontroler untuk dapat diprogram langsung dalam sistem rangkaiannya dengan membutuhkan jumlah pin yang minimal

2.2 Arsitektur Mikrokontroler AVR

Mikrokontroler AVR sudah menggunakan konsep arsitektur Harvard yang memisahkan memori dan bus untuk data dan program, serta sudah menerapkan single level pipelining. Selain itu mikrokontroler AVR juga mengimplementasikan RISC (Reduced Instruction Set Computing) sehingga eksekusi instruksi dapat berlangsung sangat cepat dan efisien. Blok sistem mikrokontroler AVR dapat dilihat dalam Gambar 2.1.

Gambar 2.1 Blok Diagram Mikrokontroler AVR

Salah satu seri mikrokontroler AVR yang banyak menjadi andalan saat ini adalah tipe ATtiny2313 dan ATmega8535. Seri ATtiny2313 banyak digunakan untuk sistem yang relatif sederhana dan berukuran kecil. Berikut adalah feature-feature mikrokontroler seri ATtiny2313.

· Kapasitas memori Flash 2 Kbytes untuk program

· Kapasitas memori EEPROM 128 bytes untuk data

· Maksimal 18 pin I/O

· 8 interrupt

· 8-bit timer

· Analog komparator

· On-chip oscillator

· Fasilitas In System Programming (ISP)

Sedangkan ATmega8535 banyak digunakan untuk sistem yang kompleks, memiliki input sinyal analog, dan membutuhkan memori yang relatif lebih besar. Berikut adalah feature-feature mikrokontroler seri ATmega8535.

· Memori Flash 8 Kbytes untuk program

· Memori EEPROM 512 bytes untuk data

· Memori SRAM 512 bytes untuk data

· Maksimal 32 pin I/O

· 20 interrupt

· Satu 16-bit timer dan dua 8-bit timer

· 8 channel ADC 10 bit

· Komunikasi serial melalui SPI dan USART

· Analog komparator

· 4 I/O PWM

· Fasilitas In System Programming (ISP)

2.3 Peta Memori Mikrokontroler AVR

Gambar 2.2 memperlihatkan peta memori mikrokontroler AVR yang dapat dijelaskan sebagai berikut:

Gambar 2.2 Peta memori mikrokontroler AVR

2.3.1 Memori Program

Mikrokontroler AVR memiliki 8 kbyte On Chip In System Reprogrammable Flash Memory untuk menyimpan program. Karena semua instruksi AVR

The ATmega8535 contains 8K bytes On-chip In-System Reprogrammable Flash memory

for program storage. Since all AVR instructions are 16 or 32 bits wide, the Flash is

organized as 4K x 16. For software security, the Flash Program memory space is

divided into two sections, Boot Program section and Application Program section.

The Flash memory has an endurance of at least 10,000 write/erase cycles. The

ATmega8535 Program Counter (PC) is 12 bits wide, thus addressing the 4K program

memory locations. The operation of Boot Program section and associated Boot Lock

bits for software protection are described in detail in “Boot Loader Support – Read-

While-Write Self-Programming” on page 224. “Memory Programming” on page 237 contains

a detailed description on Flash Programming in SPI or Parallel Programming

mode.

Constant tables can be allocated within the entire program memory address space (see

the LPM – Load Program Memory instruction description).

2.3.2 Memori Data

2.4 Penjelasan Fungsi Pin Mikrokontroler AVR

IC mikrokontroler dikemas (packaging) dalam bentuk yang berbeda. Namun pada dasarnya fungsi kaki yang ada pada IC memiliki persamaan. Gambar 2.3 menunjukkan salah satu bentuk IC seri mikrokontroler AVR ATmega8535.

Gambar 2.3 Bentuk fisik Mikrokontroler ATMega8535

Berikut adalah penjelasan fungsi tiap kaki.

A. Port A

Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor (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. Bit-bit 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 masukan sinyal analog bagi A/D converter.

B. Port B

Merupakan 8-bit 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. Pin-pin port B juga memiliki untuk fungsi-fungsi alternatif khusus seperti yang dapat dilihat dalam Tabel 2.2.

Tabel 2.2 Fungsi Khusus Port B

Port Pin

Fungsi Khusus

PB0

T0 = timer/counter 0 external counter input

PB1

T1 = timer/counter 0 external counter input

PB2

AIN0 = analog comparator positive input

PB3

AIN1 = analog comparator negative input

PB4

SS = SPI slave select input

PB5

MOSI = SPI bus master output / slave input

PB6

MISO = SPI bus master input / slave output

PB7

SCK = SPI bus serial clock

C. Port C

Merupakan 8-bit directional port I/O. 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, dua pin port C (PC6 dan PC7) juga memiliki fungsi alternatif sebagai oscillator untuk timer/counter 2.

D. Port D

Merupakan 8-bit directional port I/O. 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 seperti yang dapat dilihat dalam Tabel 2.3.

Tabel 2.3 Fungsi Khusus Port D

Port Pin

Fungsi Khusus

PD0

RDX (UART input line)

PD1

TDX (UART output line)

PD2

INT0 ( external interrupt 0 input )

PD3

INT1 ( external interrupt 1 input )

PD4

OC1B (Timer/Counter1 output compareB match output)

PD5

OC1A (Timer/Counter1 output compareA match output)

PD6

ICP (Timer/Counter1 input capture pin)

PD7

OC2 (Timer/Counter2 output compare match output)

E. RESET

RST pada pin 9 merupakan reset dari AVR. Jika pada pin ini diberi masukan low selama minimal 2 machine cycle maka system akan di-reset.

F. XTAL1

XTAL1 adalah masukan ke inverting oscillator amplifier dan input ke internal clock operating circuit.

G. XTAL2

XTAL2 adalah output dari inverting oscillator amplifier.

H. AVcc

Avcc adalah kaki masukan tegangan bagi A/D Converter. Kaki ini harus secara eksternal terhubung ke Vcc melalui lowpass filter.

I. AREF

AREF adalah kaki masukan referensi bagi A/D Converter. Untuk operasionalisasi ADC, suatu level tegangan antara AGND dan Avcc harus dibeikan ke kaki ini.

J. AGND

AGND adalah kaki untuk analog ground. Hubungkan kaki ini ke GND, kecuali jika board memiliki anlaog ground yang terpisah.

2.5 Rangkaian Sistem Minimum AVR 8535

Sistem minimum (sismin) mikrokontroler adalah rangkaian elektronik minimum yang diperlukan untuk beroperasinya IC mikrokontroler. Sismin ini kemudian bisa dihubungkan dengan rangkaian lain untuk menjalankan fungsi tertentu. Di keluarga mikrokontroler AVR, seri 8535 adalah salah satu seri yang sangat banyak digunakan.

Untuk membuat rangkaian sismin Atmel AVR 8535 diperlukan beberapa komponen yaitu:

· IC mikrokontroler ATmega8535

· 1 XTAL 4 MHz atau 8 MHz (XTAL1)

· kapasitor kertas yaitu dua 22 pF (C2 dan C3) serta 100 nF (C4)

· 1 kapasitor elektrolit 4.7 uF (C12) 2 resistor yaitu 100 ohm (R1) dan 10 Kohm (R3)

· 1 tombol reset pushbutton (PB1)

Selain itu tentunya diperlukan power suply yang bisa memberikan tegangan 5V DC.

Rangkaian sistem minimum ini sudah siap untuk menerima sinyal analog (fasilitas ADC) di port A. Rangkaiannya dapat dilihat dalam Gambar 2.4.

Gambar 2.4 Sistem Minimum Mikrokontroler ATMega 8535

Seri�

Flash (kbytes)�

RAM (bytes)�

EEPROM (kbytes)�

Pin I/O�

Timer 16-bit�

Timer 8-bit�

UART�

PWM�

ADC 10-bit�

SPI�

ISP�

ATmega8�

8�

1024�

0.5�

23�

1�

1�

1�

3�

6/8�

1�

Ya�

ATmega8535�

8�

512�

0.5�

32�

2�

2�

1�

4�

8�

1�

Ya�

ATmega16�

16�

1024�

0.5�

32�

1�

2�

1�

4�

8�

1�

Ya�

ATmega162�

16�

1024�

0.5�

35�

2�

2�

2�

6�

8�

1�

Ya�

ATmega32�

32�

2048�

1�

32�

1�

2�

1�

4�

8�

1�

Ya�

ATmega128�

128�

4096�

4�

53�

2�

2�

2�

8�

8�

1�

Ya�

ATtiny12�

1�

-�

0.0625�

6�

-�

1�

-�

-�

-�

-�

Ya�

ATtiny2313�

2�

128�

0.125�

18�

1�

1�

1�

4�

-�

1�

Ya�

ATtiny44�

4�

256�

0.25�

12�

1�

1�

-�

4�

8�

1�

Ya�

ATtiny84�

8�

512�

0.5�

12�

1�

1�

-�

4�

8�

1�

Ya�