Memahami Mikrokontroler Atmel Seri AVR (Atmega Microcontroller)

Setelah Sukses dengan Mikrokontroler seri  89C51, Atmel meneruskan kesuksesan dengan mengeluarkan mikrokontroller seri AVR yang memiliki lebih banyak  Varian dan Tambahan Fitur yang sebelumnya tidak ditemukan di Mikrokontroler yang kompatibel dengan keluarga MCS-51.

Mikrokontroler seri avr atmega 8535 memiliki kelebihan dengan fitur seperti berikut :

* RISC Architecture

– 130 Powerful Instructions
– 32 x 8 General Purpose Working Registers lebih banyak dibanding seri sebelumnya
– Fully Static Operation
– Up to 16 MIPS Throughput at 16 MHz
– On-chip 2-cycle Multiplier sebelumnya hingga 12 cycles

• Nonvolatile Program and Data Memories
– 8K Bytes of In-System Self-Programmable Flash
Endurance: 10,000 Write/Erase Cycles
– Optional Boot Code Section with Independent Lock Bits
In-System Programming by On-chip Boot Program
True Read-While-Write Operation
– 512 Bytes EEPROM
Endurance: 100,000 Write/Erase Cycles
– 512 Bytes Internal SRAM
– Programming Lock for Software Security

• 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 for TQFP Package Only
2 Differential Channels with Programmable Gain at 1x, 10x, or 200x for TQFP
Package Only
– 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, 44-lead PLCC, and 44-pad QFN/MLF
• Operating Voltages
– 2.7 – 5.5V for ATmega8535L
– 4.5 – 5.5V for ATmega8535
• Speed Grades
– 0 – 8 MHz for ATmega8535L
– 0 – 16 MHz for ATmega8535

Reff : Datashet Atmel 8535

Dengan features diatas dan harga jual yang sangat kompetitif, pantaslah mikrokontroler sangat sukses di pasaran saat ini.

Memahami Penggunaan Mikrokontroler seri AVR

Setelah mengetahui fitur yang tersedia maka langkah berikutnya adalah memahami bagaimana menggunakan fitur fitur tersebut. Kita mulai dari memahami Pin yang tersedia di Mikrokontroler :

atmega8535

Penjelasan atas Pin diatas :

  1. Pin 10 sebagai VCC (Catu daya)
  2. Pin 11 sebagai GND
  3. Pin 40 ~ Pin 33 Port A (PA.0 – PA.7) merupakan pin dua arah dan Pin masukkan ADC
  4. Pin 1 ~ Pin 8 Port B (PB.0 – PB.7) merupakan PIN dua arah dan Pin fungsi khusus yaitu Timer/Counter , komparator analog dan SPI
  5. Pin 22 ~ Pin 29 Port C (PC.0 – PC.7) merupakan pin dua arah dan pin fungsi khusus yaitu TW1, Komparator analog dan Timer Oscilator
  6. Pin 14 ~ Pin 20 Port D (PD.0 – PD.7) merupakan pin I/O dua arah dan pin fungsi khusus yaitu komparator analog , interupsi eksternal dan komunikasi serial
  7. Pin 9, merupakan pin RESET
  8. Pin 12 dan Pin 13 , XTAL1 dan Xtal2 merupakan pin masukkan clock eksternal
  9. Pin 30, AVCC merupakan pin masukkan untuk tegangan Mikro dan dapat juga untuk referensi ADC
  10. Pin 32, AREF merupakan Pin masukkan tegangan referensi ADC

Memahami mengenai Input Output di Mikro AVR

Seperti telah dijelaskan diatas mikrokontroler seri AVR memiliki 4 port yang dapat digunakan sebagai input – output, yaitu PORTA, PORTB, PORTC,PORTD.

Dalam Pengaturan Input output baik untuk mengirim data atau mambaca data mikrokontroler menggunakan register. Untuk Mikrokontroler AVR menggunakan 3 register yaitu :  DDRx, Portx dan PINx.
Penjelasan
   DDRx (Data Direction Register)
Register DDRx digunakan untuk memilih arah pin. Jika DDRx = 1 maka Pxn sebagai pin output Jika DDRx = 0 maka Pxn sebagai input.
   Portx (Port Data Register)
Register Portx digunakan untuk 2 keperluan yaitu untuk jalur output atau untuk mengaktifkan resistor pull up.
1. Portx berfungsi sebagai output jika DDRx = 1 maka : Portxn = 1 maka pin Pxn akan berlogika high. Portxn = 0 maka pin Pxn akan berlogika low.
2. Portx berfungsi untuk mengaktifkan resistor pullup jika DDRx = 0 maka : Portxn = 1 maka pin Pxn sebagai pin input dengan resistor pull up. Portxn = 0 maka pin Pxn sebagai output tanpa resistor pull up.
Konfigurasi Port

DDRxn Portxn

I/O

Pull up Comment

0

0

Input No Tri state (Hi-Z)

0

1

Input Yes Pull up aktif

1

0

Output No Output Low

1

1

Output No Output High

Catatan :

x menunjukkan nama port  (A,B,C,D)
n menunjukkan nomor bit  (0,1,2,3,4,5,6,7)

Contoh Program Mengirim data ke Port A

include”m16def.inc”
.org 0x0000
rjmp main

utama :
ldi r17,low(RAMEND)
out SPL,r17
ldi r17,high(RAMEND)
out SPH,r17
ldi r17, 0xff
out ddra,r17
out PORTA,r17
cbi PORTA,0

stop :
rjmp stop

Bila Program diatas dijalankan dan port a terhubung ke LED dengan disain rangkaian dengan aktif High seperti tampak di gambar berikut :

rangkaianLED

Led akan menyala semua kemudian portA,0 akan mati.

Berikut contoh program untuk membaca data dari PortC

include”m16def.inc”
.org 0x0000
rjmp main

utama :
ldi r17,low(RAMEND)
out SPL,r17
ldi r17,high(RAMEND)
out SPH,r17

ldi r17, 0xff
out ddra,r17
ldi r17,0x00
out ddrc,r17

in r17,pinc
out PORTA,r17

rjmp stop

Program diatas akan membaca data dari port C, kemudian dikirim ke port a

Ingin mengikuti pelatihan  mengenai Pemrograman di Mikro AVR silahkan ke link berikut
FB : facebook.com/cafemikrochip

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s