Saturday 16 November 2013

Mengenal Microcontroller AT Mega 16


Mikrokontroler adalah sebuah sistem komputer lengkap dalam satu chip.  Mikrokontroler lebih dari sekedar sebuah mikroprosesor karena sudah terdapat atau berisikan ROM (Read-Only Memory), RAM (Read-Write Memory), beberapa port masukan maupun keluaran, dan beberapa peripheral seperti pencacah/pewaktu, ADC (Analog to Digital converter), DAC (Digital to Analog converter) dan serial komunikasi.  Salah satu mikrokontroler yang banyak digunakan saat ini yaitu mikrokontroler AVR.  AVR adalah mikrokontroler RISC (Reduce Instuction Set Compute) 8 bit berdasarkan arsitektur Harvard.  Secara umum mikrokontroler AVR dapat dapat dikelompokkan menjadi 3 kelompok, yaitu keluarga AT90Sxx, ATMega dan ATtiny.  Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral, dan fiturnya Seperti mikroprosesor pada umumnya, secara internal mikrokontroler ATMega16 terdiri atas unit-unit fungsionalnya Arithmetic and Logical Unit (ALU), himpunan register kerja, register dan dekoder instruksi, dan pewaktu serta komponen kendali lainnya.  Berbeda dengan mikroprosesor, mikrokontroler menyediakan memori dalam chip yang sama dengen prosesornya (in chip).

Arsitektur ATMega 16
Mikrokontroler ini menggunakan arsitektur Harvard yang memisahkan memori program dari memori data, baik bus alamat maupun bus data, sehingga pengaksesan program dan data dapat dilakukan secara bersamaan (concurrent), adapun blog diagram arsitektur ATMega16.  Secara garis besar mikrokontroler ATMega16 terdiri dari :
1.    Arsitektur RISC dengan throughput mencapai 16 MIPS pada frekuensi 16Mhz.
2.    Memiliki kapasitas Flash memori 16Kbyte, EEPROM 512 Byte, dan SRAM 1Kbyte
3.    Saluran I/O 32 buah, yaitu Port A, Port B, Port C, dan Port D.
4.    CPU yang terdiri dari 32 buah register.
5.    User interupsi internal dan eksternal
6.    Port antarmuka SPI dan Port USART sebagai komunikasi serial
7.  Fitur Peripheral

   Konfigurasi Pin ATMega16
    Konfigurasi pin mikrokontroler Atmega16 dengan kemasan 40.
    ATMega16 memiliki 8 Pin untuk masing-masing Port A, Port B, Port  C, dan Port D.
Gambar 1. Konfigurasi PIN pada Atmega 16


Deskripsi Mikrokontroler ATMega16
·                     VCC (Power Supply) dan GND(Ground)
·                     Port A (PA7..PA0)
Port A berfungsi sebagai input analog pada konverter A/D.  Port A juga sebagai suatu port I/O 8-bit dua arah, jika A/D konverter tidak digunakan.  Pin - pin Port dapat menyediakan resistor internal pull-up (yang dipilih untuk masing-masing bit).  Port A output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber.  Ketika pin PA0 ke PA7 digunakan sebagai input dan secara eksternal ditarik rendah, pin–pin akan memungkinkan arus sumber jika resistor internal pull-up diaktifkan.  Port A adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis.
·                     Port B (PB7..PB0)
Pin B adalah suatu pin I/O 8-bit dua arah dengan resistor internal pull-up (yang dipilih untuk beberapa bit).  Pin B output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber.  Sebagai input, Pin B yang secara eksternal ditarik rendah akan arus sumber jika resistor pull-up diaktifkan.  Pin B adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis.
·                    Port C (PC7..PC0)
Pin C adalah suatu pin I/O 8-bit dua arah dengan resistor internal pull-up (yang dipilih untuk beberapa bit).  Pin C output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber.  Sebagai input, pin C yang secara eksternal ditarik rendah akan arus sumber jika resistor pull-up diaktifkan.  pin C adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis.
·                  Port D (PD7..PD0)
Pin D adalah suatu pin I/O 8-bit dua arah dengan resistor internal pull-up (yang dipilih untuk beberapa bit).  Pin D output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber.  Sebagai input, pin D yang secara eksternal ditarik rendah akan arus sumber jika resistor pull-up diaktifkan.  Pin D adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis.
·                RESET (Reset input)
·                XTAL1 (Input Oscillator)
·                XTAL2 (Output Oscillator)
·                AVCC adalah pin penyedia tegangan untuk Port A dan Konverter A/D
·                AREF adalah pin referensi analog untuk konverter A/D

Peta Memori ATMega16
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. Bootloader adalah program kecil yang bekerja pada saat sistem dimulai yang dapat memasukkan seluruh program aplikasi ke dalam memori prosesor.

Bahasa Pemrograman Mikrokontroller
Jenis Jenis Bahasa Pemrograman
1          .    Low Level (bahasa tingkat rendah)
·         Assembly MCS-51 Æ Franklim, ASM-51
·         Assembly AVR Æ AVR Studio
2           .    High Level (bahasa tingkat tinggi)
·         Basic Æ Bascom 8051, Bascom AVR
·         C Æ SDCC, Franklin32

Secara  umum bahasa  yang digunakan  pemrogramannya  adalah bahasa   tingkat    rendah    yaitu    bahasa    assembly,    dimana    setiap mikrokontrolememiliki  bahasa bahasa pemrograman yang berbeda– beda.  Karenanya  hambatan dalam menggunakan  bahasa  assembly  ini (yang  pasti  cukup  sulit)  maka  mulai dikembangkan   compiler  atau penerjemah untuk bahasa tingkat tinggi. Untuk MCS-51 bahasa tingkat tinggi yang banyak dikembangkan antara lain BASIC, PASCAL dan C. Bahasa Program Basic Compiler AVR (Bascom AVR).

BASCOM-AVR
BASCOM-AVR  adalah program basic compiler berbasis windows untuk mikrokontroler  keluarga  AVR  merupakan  pemrograman  dengan  bahasa  tingkat tinggi   BASIC   yang  dikembangkan  dan  dikeluarkan  oleh  MCS  elektronika sehingga dapat dengan mudah dimengerti atau diterjemahkan.
Dalam program BASCOM-AVR terdapat beberapa kemudahan, untuk membuat  program  software  ATMEGA  8535,  seperti  program  simulasi  yang sangat  berguna  untuk  melihat,  simulasi  hasil  program  yang  telah  kita  buat, sebelum program tersebut kita download ke IC atau ke mikrokontroler.
Ketika   program   BASCOM-AVR   dijalankan   dengan   mengklik   icon BASCOM-AVR, maka jendela berikut akan tampil :
 
Tampilan Jendela Program BASCOM-AVR

Intruksi  yang  dapat  digunakan  pada  editor  Bascom-AVR  relatif  cukup banyak  dan  tergantung  dari  tipe  dan  jenis  AVR  yang  digunakan.  Berikut  ini beberapa instruksi-instruksi dasar yang dapat digunakan pada mikrokontroler ATMEGA 16.

Tabel 2.1 Beberapa instruksi dasar Bascom AVR

Instuksi
Keterangan
DO ..... LOOP
Perulangan
GOSUB
Memanggil Prosedur
IF ...... THEN
Percabangan
FOR ..... NEXT
Perulangan
WAIT
Waktu Tunda Detik
WAITMS
Waktu Tunda MiliDetik
WAITUS
Waktu Tunda MicroDetik
GOTO
Loncat Kealamat Memori
SELECT ...... CASE
Percabangan

Sedangkan Program yang digunakan untuk mentransfer program yang telah dibuat dari PC melalui program Code Vision AVR ke flash memori pada mikrokontroller ATMega 8535 adalah AvrProg.

0 comments:

Post a Comment