Home >Documents >Mikrokontroler AVR

Mikrokontroler AVR

Date post:01-Dec-2015
Category:
View:241 times
Download:1 times
Share this document with a friend
Description:
Arsitektur AVR
Transcript:

Arsitektur Mikrokontroler AVR

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 adalah sebagai berikut.

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)

MEMORY MAP MIKROKONTROLER AVR

PENJELASAN FUNGSI PIN MIKROKONTROLER AVRIC mikrokontroler dikemas (packaging) dalam bentuk yang berbeda. Namun pada dasarnya fungsi kaki yang ada pada IC memiliki persamaan. Gambar salah satu bentuk IC seri mikrokontroler AVR ATmega8535 dapat dilihat berikut.

Berikut adalah penjelasan fungsi tiap kaki.

A. Port AMerupakan 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 BMerupakan 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 berikut.

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 CMerupakan 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 DMerupakan 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 berikut.

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. RESETRST 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. XTAL1XTAL1 adalah masukan ke inverting oscillator amplifier dan input ke internal clock operating circuit.

G. XTAL2XTAL2 adalah output dari inverting oscillator amplifier.

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

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

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

Ditulis oleh: Tim PrasimaxCopyright Prasimax Technology

Pemrograman AT89S51 bahasa Assembly

Bahasa Assembly adalah bahasa pemrograman tingkat rendah. Dalam pemrograman komputer dikenal dua jenis tingkatan bahasa, jenis yang pertama adalah bahasa pemrograman tingkat tinggi (high level language) dan jenis yang kedua adalah bahasa pemrograman tingkat rendah (low level language).

Bahasa pemrograman tingkat tinggi lebih berorientasi kepada manusia yaitu bagaimana agar pernyataan-pernyataan yang ada dalam program mudah ditulis dan dimengerti oleh manusia. Sedangkan bahasa tingkat rendah lebih berorientasi ke mesin, yaitu bagaimana agar komputer dapat langsung mengintepretasikan pernyataan-pernyataan program.

Kelebihan Bahasa Assembly:1. Ketika di-compile lebih kecil ukuran2. Lebih efisien/hemat memori 3. Lebih cepat dieksekusi

Kesulitan Bahasa Assembly:1. Dalam melakukan suatu pekerjaan, baris program relatif lebih panjang dibanding bahasa tingkat tinggi2. Relatif lebih sulit untuk dipahami terutama jika jumlah baris sudah terlalu banyak3. Lebih sulit dalam melakukan pekerjaan rumit, misalnya operasi matematis

BAHASA ASSEMBLY MCS-51

Dalam program bahasa assembly terdapat 2 jenis yang kita tulis dalam program yaitu:1. Assembly Directive (yaitu merupakan kode yang menjadi arahan bagi assembler/compiler untuk menata program)2. Instruksi (yaitu kode yang harus dieksekusi oleh CPU mikrokontroler)

Klik disini untuk melihat daftar Assembly Directive dan Instruksi MCS-51.

PENGGUNAAN SOFTWARE

Software untuk membantu memprogram mikrokontroler MCS-51 sudah banyak tersedia. Untuk mempermudah maka dapat dipilih software yang merupakan Integrated Development Environment (IDE) yaitu software yang merupakan editor sekaligus compiler. Bahkan juga ada yang sekaligus debugger dan simulator. Salah satunya yang digunakan pada training di PRASIMAX adalah Read51.

Berikut beberapa cara penggunaan software.

1. User dapat membuat program sistem single file maupun proyek (beberapa file). Klik menu File lalu pilih New File.

2. Ketik program di window editing. Software menyediakan syntax highlighting otomatis, sehingga tiap assembly directive akan diberi warna ungu dan tiap instuksi akan diberi warna biru.

3. User dapat langsung mengcompile program dengan sekali klik icon Build (F9). Ketika ada kesalahan maka user dapat langsung ditunjukkan letak dan jenis kesalahan.

4. User dapat melakukan simulasi software untuk melihat hasil kerja program. Klik IDE mode (F2).

5. User dapat melakukan debugging, bahkan melihat hasil eksekusi per step (per baris) terhadap kondisi-kondisi register dan memori di mikrokontroler. Klik Step Into (F8).

Selanjutnya user dapat melakukan download program ke IC mikrokontroler untuk menguji hasilnya secara real di hardware. Klik disini untuk mengetahui caranya.

Ditulis oleh: Tim PrasimaxCopyright Prasimax Technology

Apa itu Mikrokontroler?

Komputer hadir dalam kehidupan manusia baru 50 tahun terakhir, namun efeknya sangat besar dalam merubah kehidupan manusia, bahkan melebihi penemuan manusia lainnya seperti radio, telepon, automobil, dan televisi. Begitu banyak aplikasi memanfaatkan komputer, terutama dalam pemanfaatan kemampuan chip mikroprosesor di dalamnya yang dapat melakukan komputasi sangat cepat, dapat bekerja sendiri dengan diprogram, dan dilengkapi memori untuk menyimpan begitu banyak data. Seiring dengan perkembangan zaman, semakin luaslah kebutuhan akan kemampuan seperti yang dimiliki oleh komputer, sehingga menyebabkan munculnya terobosan-terobosan baru yang salah satunya adalah dibuatnya chip mikrokontroler.

Mikrokontroler adalah single chip computer yang memiliki kemampuan untuk diprogram dan digunakan untuk tugas-tugas yang b

Embed Size (px)
Recommended