Anda di halaman 1dari 15

c

Mikrokontroller ATmega8535

A.c Deskripsi Mikrokontroller ATmega8535

Mikrokontroler adalah IC yang dapat diprogram berulang kali, baik


ditulis atau dihapus (Agus Bejo, 2007). Biasanya digunakan untuk
pengontrolan otomatis dan manual pada perangkat elektronika.
Beberapa tahun terakhir, mikrokontroler sangat banyak digunakan
terutama dalam pengontrolan robot. Seiring perkembangan elektronika,
mikrokontroler dibuat semakin kompak dengan bahasa pemrograman yang
juga ikut berubah. Salah satunya adalah mikrokontroler AVR (M  
 
     ) ATmega8535 yang menggunakan teknologi RISC
(        ) dimana program berjalan lebih cepat
karena hanya membutuhkan satu      untuk mengeksekusi satu
instruksi program. Secara umum, AVR dapat dikelompokkan menjadi 4 kelas,
yaitu kelas ATtiny, keluarga AT90Sxx, keluarga ATmega, dan AT86RFxx.
Pada dasarnya yang membedakan masing-masing kelas adalah memori,
peripheral, dan fungsinya. Dari segi arsitektur dan instruksi yang digunakan,
mereka bisa dikatakan hampir sama.
Mikrokontroler AVR ATmega8535 memiliki fitur yang cukup lengkap.
Mikrokontroler AVR ATmega8535 telah dilengkapi dengan ADC   ,
    ,           dll (M.Ary
Heryanto, 2008). Sehingga dengan fasilitas yang lengkap ini memungkinkan
kita belajar mikrokontroler keluarga AVR dengan lebih mudah dan efisien,
serta dapat mengembangkan kreativitas penggunaan mikrokontroler
ATmega8535.

<  <


    
c
c

B.c Blok Diagram

<  <


    
c
c

C.c Fitur-Fitur

Fitur-fitur yang dimiliki oleh mikrokontroler ATmega8535 adalah


sebagai berikut:
ac Saluran I/O sebanyak 32 buah, yaitu port A, port B, port C, dan port D.
ac ADC internal sebanyak 8 saluran.
ac Tiga buah Timer/Counter dengan kemampuan pembandingan.
ac CPU yang terdiri atas 32 buah register.
ac SRAM sebesar 512 byte.
ac Memori Flash sebesar 8 kb dengan kemampuan Read While Write.
ac Port antarmuka SPI.
ac --PROM sebesar 512 byte yang dapat diprogram saat operasi.
ac Antarmuka komparator analog.
ac Port USART untuk komunikasi serial.
ac Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16
MHz.

D.c Konstruksi ATmega8535

Mikrokontroler ATmega8535 memiliki 3 jenis memori, yaitu memori


program, memori data dan memori --PROM. Ketiganya memiliki ruang
sendiri dan terpisah.
a.c Memori program
ATmega8535 memiliki kapasitas memori progam sebesar 8 Kbyte
yang terpetakan dari alamat 0000h ± 0FFFh dimana masing-masing
alamat memiliki lebar data 16 bit. Memori program ini terbagi menjadi 2
bagian yaitu bagian program xdan bagian program aplikasi.
b.c Memori data
ATmega8535 memiliki kapasitas memori data sebesar 608 byte
yang terbagi menjadi 3 bagian yaitu register serba guna, register I/O dan
SRAM. ATmega8535 memiliki 32 byte register serba guna, 64 byte

<  <


   
c
c

register I/O yang dapat diakses sebagai bagian dari memori RAM
(menggunakan instuksi LD atau ST) atau dapat juga diakses sebagai I/O
(menggunakan instruksi IN atau OUT), dan 512 byte digunakan untuk
memori data SRAM.
c.c Memori --PROM

ATmega8535 memiliki memori --PROM sebesar 512 byte yang


terpisah dari memori program maupun memori data. Memori --PROM
ini hanya dapat diakses dengan menggunakan register-register I/O yaitu
register --PROM M  , register --PROM , dan register
--PROM   . Untuk mengakses memori --PROM ini diperlakukan
seperti mengakses data eksternal, sehingga waktu eksekusinya relatif
lebih lama bila dibandingkan dengan mengakses data dari SRAM.
ATmega8535 merupakan tipe AVR yang telah dilengkapi dengan 8
saluran ADC internal dengan fidelitas 10 bit. Dalam mode operasinya,
ADC ATmega8535 dapat dikonfigurasi, baik secara    
maupun      . Selain itu, ADC ATmega8535 memiliki
konfigurasi pewaktuan, tegangan referensi, mode operasi, dan
kemampuan filter derau yang amat fleksibel, sehingga dengan mudah
disesuaikan dengan kebutuhan ADC itu sendiri.
ATmega8535 memiliki 3 modul timer yang terdiri dari 2 buah
timer/counter 8 bit dan 1 buah timer/counter 16 bit. Ketiga modul
timer/counter ini dapat diatur dalam mode yang berbeda secara individu
dan tidak saling mempengaruhi satu sama lain. Selain itu, semua
timer/counter juga dapat difungsikan sebagai sumber interupsi. Masing-
masing timer/counter ini memiliki register tertentu yang digunakan untuk
mengatur mode dan cara kerjanya.
    !     (SPI) merupakan salah satu mode
komunikasi serial " !   kecepatan tinggi yang dimiliki oleh
ATmega8535. # $   " !    M " !     
 $        (USART) juga merupakan salah satu mode

<  <


    
c
c

komunikasi serial yang dimiliki oleh ATmega8535. USART merupakan


komunikasi yang memiliki fleksibilitas tinggi, yang dapat digunakan
untuk melakukan transfer data baik antar mikrokontroler maupun dengan
modul-modul eksternal termasuk PC yang memiliki fitur UART.
USART memungkinkan transmisi data baik secara " !  
maupun  " !   sehingga dengan memiliki USART pasti
kompatibel dengan UART. Pada ATmega8535, secara umum pengaturan
mode " !   maupun  " !   adalah sama. Perbedaannya
hanyalah terletak pada sumber clock saja.
Jika pada mode  " !  masing-masing peripheral memiliki
sumber clock sendiri, maka pada mode " !   hanya ada satu
sumber clock yang digunakan secara bersama-sama. Dengan demikian,
secara hardware untuk mode  " !   hanya membutuhkan 2 pin
yaitu TXD dan RXD, sedangkan untuk mode " !   harus 3 pin
yaitu TXD, RXD dan XCK.

-.c Peta memori

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.

<  <


    
c
c

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 Data AVR ATMega8535

Memori program yang terletak pada Flash Perom tersusun dalam word
atau 2 byte karena setiap instruksi memiliki lebar 16-bit atau 32bit. AVR
ATMega8535 memiliki 4KByte x 16 Bit Flash Perom dengan alamat mulai
dari $000 sampai $FFF. AVR tersebut memiliki 12 bit Program Counter (PC)
sehingga mampu mengalamati isi Flash.

<  <


    
c
c


<  <
    
c
c

< 
 <  
Selain itu AVR ATmega8535 juga memilki memori data berupa
--PROM 8-bit sebanyak 512 byte. Alamat --PROM dimulai dari $000
sampai $1FF.
  
Status register adalah register berisi status yang dihasilkan pada setiap
operasi yang dilakukan ketika suatu instruksi dieksekusi. SR- merupakan
bagian dari inti CPU mikrokontroler. 
    M%&'&
ac Bit7 --> I ( lobal Interrupt -nable), Bit harus di Set untuk mengenable
semua jenis interupsi.
ac Bit6 --> T (Bit Copy Storage), Instruksi BLD dan BST menggunakan bit T
sebagai sumber atau tujuan dalam operasi bit. Suatu bit dalam sebuah
register PR dapat disalin ke bit T menggunakan instruksi BST, dan
sebaliknya bit T dapat disalin kembali kesuatu bit dalam register PR
dengan menggunakan instruksi BLD.
ac Bi5 --> H (Half Cary Flag)
ac Bit4 --> S (Sign Bit) merupakan hasil operasi -OR antara flag -N (negatif)
dan flag V (komplemen dua overflow).
ac Bit3 --> V (Two's Component Overflow Flag) Bit ini berfungsi untuk
mendukung operasi matematis.
ac Bit2 --> N (Negative Flag) Flag N akan menjadi Set, jika suatu operasi
matematis menghasilkan bilangan negatif.
ac Bit1 --> Z (Zero Flag) Bit ini akan menjadi Set apabila hasil operasi
matematis menghasilkan bilangan 0.
ac Bit0 --> C (Cary Flag) Bit ini akan menjadi set apabila suatu operasi
menghasilkan carry.

<  <


    
c
c

Pengarah Assembler
Pengarah assembler berguna untuk mengubah penunjuk kode assembly.
Berikut adalah daftar beberapa sintaks pengarah assembler yang terdapat pada
ATMega8535.
ac cseg (code segment) pengarah ini berguna sebagai penunjuk bahwa kode
atau ekspresi dibawahnya diletakkan pada memori program pengarah ini
biasanya diletakkan setelah pengarah.deseg
ac db (data byte) pengarah ini memungkinkan kita dapat meletakkan
konstanta seperti serial number, dan lookup table di memory program pada
alamat tertentu.
ac dw (data word) pengarah ini seperti data byte, tetapi dalam ukuran word.
ac org digunakan untuk mengeset program counter pada alamat tertentu
ac byte digunakan untuk inisialisasi besar byte yang digunakan pada SRAM
untuk label tertentu
ac dseg (data segment) pengarah ini berguna sebagai penunjuk bahwa kode
dibawahnya berfungsi untuk melakukan seting SRAM
ac def (define) pengarah ini memungkinkan suatu register dapat
didefinisikan.
ac equ berguna untuk memberi nama suatu konstanta yang tidak dapat
berubah.
ac set sama seperti.equ tetapi konstantanya dapat diubah.
ac endm (end macro) untuk mengakhiri macro.
ac .include untuk mengincludekan sebuah file kedalam program agar
program lebih cepat dimengerti atau memisahkan kedo dalam dua file
terpisah.
ac device sebagai penunjuk jenis AVR yang digunakan.
ac exit sebagai penunjuk agar berhenti melakukan assembly pada file saat ini.
ac list berguna membangkitkan file list.
ac listmac berguna agar penambahan macro ditampilkan pada file list yang
dibangkitkan.

<  <


    
c
c

ac nolist berguna agar suatu runtun instruksi tidak dimasukkan dalam file list
yang dibangkitkan

F.c Pin-Pin pada Mikrokontroler ATmega8535

mx (    M%&'&) !M * 

Konfigurasi  ATmega8535 dengan kemasan 40 pin DIP (   


) dapat dilihat pada gambar 2.1. Dari gambar di atas dapat dijelaskan
fungsi dari masing-masing  Atmega8535 sebagai berikut:
ac VCC merupakan  yang berfungsi sebagai masukan catu daya.
ac ND merukan  m .
ac   A (PortA0«PortA7) merupakan    dua arah dan  
masukan ADC.

<  <


    
c
c

ac   B (PortB0«PortB7) merupakan    dua arah dan dan


 fungsi khusus, seperti dapat dilihat pada tabel di bawah ini.

Tabel Fungsi Khusus Port B

 
PB7 SCK (SPI ½    )
PB6 MISO (SPI ½    $)
PB5 MOSI (SPI ½    $)
PB4 SS (SPI  $ )
PB3 AIN1 (M   + $)
OC0 (   , !)
PB2 AIN0 (M     $)
INT2 (-   .)
PB1 T1 (   /-   )
PB0 T0 T1 (   -   )
XCK (USART -   )

ac   C (PortC0«PortC7) merupakan    dua arah dan  


fungsi khusus, seperti dapat dilihat pada tabel dibawah ini.
Tabel Fungsi Khusus Port C
 
PC7 TOSC2 (       .)
PC6 TOSC1 (       /)
PC5 
PC4 
PC3 
PC2 
PC1 SDA ( 010   ½  2 )
PC0 SCL ( 010   ½  2 )

<  <


    
c
c

ac   D (PortD0«PortD7) merupakan    dua arah dan  


fungsi khusus, seperti yang terlihat pada tabel dibawah ini.

Tabel Fungsi Khusus Port D


 
PD7 OC2 (    !)
PD6 ICP (Timer/Counter1 Input Capture Pin)
PD5 OC1A (Timer/Counter1 Output Compare A Match Output)
PD4 OC1B (Timer/Counter1 Output Compare B Match Output)
PD3 INT1 (-xternal Interrupt 1 Input)
PD2 INT0 (-xternal Interrupt 0 Input)
PD1 TXD (USART Output Pin)
PD0 RXD (USART Input Pin)

ac R-S-T merupakan  yang digunakan untuk me-  mikrokontroler.


ac XTAL1 dan XTAL2 merupakan  masukan  eksternal.
ac AVCC merupakan  masukan tegangan untuk ADC.
ac AR-FF merupakan  masukan tegangan referensi ADC.

.c Bahasa Pemrograman ATmega8535

Pemrograman mikrokontroler ATmega8535 dapat menggunakan 0


$   ) x "* dan high $   (C, Basic, Pascal,
JAVA,dll) tergantung    yang digunakan (Widodo Budiharto, 2006).
Bahasa M x   mikrokontroler AVR memiliki kesamaan instruksi,
sehingga jika pemrograman satu jenis mikrokontroler AVR sudah dikuasai,
maka akan dengan mudah menguasai pemrograman keseluruhan
mikrokontroler jenis mikrokontroler AVR. Namun bahasa  x   relatif
lebih sulit dipelajari dari pada bahasa C.
Untuk pembuatan suatu proyek yang besar akan memakan waktu yang
lama serta penulisan programnya akan panjang. Sedangkan bahasa C memiliki

<  <


    
c
c

keunggulan dibanding bahasa  x  yaitu terhadap ! 0 


serta lebih mudah untuk menangani  3 yang besar. Bahasa C memiliki
keuntungan-keuntungan yang dimiliki bahasa  x   (bahasa mesin),
hampir semua operasi yang dapat dilakukan oleh bahasa mesin, dapat
dilakukan dengan bahasa C dengan penyusunan program yang lebih sederhana
dan mudah. Bahasa C terletak diantara bahasa pemrograman tingkat tinggi dan
 x "(Agus Bejo,2007)4

H.c Software ATmega8535 -ditor dan Simulator

a.c Software ATmega8535 -ditor


Instruksiinstruksi yang merupakan bahasa C tersebut dituliskan pada
sebuah editor, yaitu Code Vision AVR. Tampilannya seperti berikut ini:

  M 

b.c Software Downloader


Melakukan download program ke mikrokontroler dapat
menggunakan ponyprog2000. Tampilannya seperti di bawah ini:

<  <


    
c
c

m    
 

<  <


    
c
c

DAFTAR PUSTAKA

http://iddhien.com/
http://id.wikipedia.org/wiki/ATMega8535
http://www.ittelkom.ac.id/library/index.php?view=article&catid=16%3Amikropro
cessorkontroller&id=46%3Amikrokontroler-avr-atmega-
8535&option=com_content&Itemid=15

<  <


    
c

Anda mungkin juga menyukai