Deskripsi
dan Fitur ATmega8535
Mikrokontroler AVR (Alf and
Vegard’s Risc processor) ATmega8535 adalah mikrokontroler yang menggunakan
teknologi RISC (Reduce Instruction Set Computing) dimana program
berjalan lebih cepat karena hanya membutuhkan satu siklus clock untuk
mengeksekusi satu instruksi program.
Mikrokontroler AVR ATmega8535
memiliki fitur yang cukup lengkap. Mikrokontroler AVR ATmega8535 telah dilengkapi
dengan ADC internal, EEPROM internal, Timer/Counter, PWM,
analog comparator, dll (M.Ary Heryanto, 2008). Sehingga dengan fasilitas yang
lengkap ini memungkinkan untuk belajar mikrokontroler keluarga AVR dengan lebih
mudah dan efisien, serta dapat mengembangkan kreativitas penggunaan
mikrokontroler ATmega8535.
Fitur-fitur yang dimiliki oleh
mikrokontroler ATmega8535 adalah sebagai berikut:
1. Saluran I/O sebanyak 32 buah, yaitu port A, port B,
port C, dan port D.
2. ADC internal sebanyak 8 saluran.
3. Tiga buah Timer/Counter dengan kemampuan
pembandingan.
4. CPU yang terdiri atas 32 buah register.
5. SRAM sebesar 512 byte.
6. Memori Flash sebesar 8 kb dengan kemampuan Read
While Write.
7. Port antarmuka SPI
8. EEPROM sebesar 512 byte yang dapat diprogram saat
operasi.
9. Antarmuka komparator analog.
10. Port USART untuk komunikasi serial.
11. Sistem mikroprosesor 8 bit berbasis RISC dengan
kecepatan maksimal 16 MHz.
12. Dan lain-lainnya.
Bahasa Pemrograman ATmega8535
Pemrograman mikrokontroler
ATmega8535 dapat menggunakan low level language (assembly) dan high level
language (C, Basic, Pascal, JAVA,dll) tergantung compiler yang
digunakan (Widodo Budiharto, 2006). Bahasa Assembler 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 assembler 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 keunggulan dibanding bahasa assembler yaitu independent
terhadap hardware serta lebih mudah untuk menangani project yang
besar. Bahasa C memiliki keuntungan-keuntungan yang dimiliki bahasa assembler
(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 assembly (Agus Bejo,2007).
Arsitektur
Atmega 8535
Gambar Blok diagram fungsional
ATmega8535
Konstruksi ATmega8535
Mikrokontroler ATmega8535 memiliki 3 jenis memori,
yaitu memori program, memori data dan memori EEPROM. Ketiganya memiliki ruang
sendiri dan terpisah.
a. 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 boot dan bagian program aplikasi.
b. 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 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. Memori EEPROM
ATmega8535 memiliki memori EEPROM sebesar 512 byte
yang terpisah dari memori program maupun memori data. Memori EEPROM ini hanya
dapat diakses dengan menggunakan register-register I/O yaitu register EEPROM Address,
register EEPROM Data, dan register EEPROM Control. Untuk
mengakses memori EEPROM 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 single
ended input maupun differential input. 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.Serial Peripheral Interface (SPI) merupakan salah satu mode
komunikasi serial syncrhronous kecepatan tinggi yang dimiliki oleh
ATmega8535. Universal Syncrhronous and Asyncrhronous Serial Receiver and
Transmitter (USART) juga merupakan salah satu mode 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 syncrhronous
maupun asyncrhronous, sehingga dengan memiliki USART pasti
kompatibel dengan UART. Pada ATmega8535, secara umum pengaturan mode syncrhronous
maupun asyncrhronous adalah sama. Perbedaannya hanyalah terletak
pada sumber clock saja. Jika pada mode asyncrhronous masing-masing
peripheral memiliki sumber clock sendiri, maka pada mode syncrhronous hanya
ada satu sumber clock yang digunakan secara bersama-sama. Dengan demikian,
secara hardware untuk mode asyncrhronous hanya membutuhkan 2 pin yaitu
TXD dan RXD, sedangkan untuk mode syncrhronous harus 3 pin yaitu TXD,
RXD dan XCK.
Port I/O
ATMega8535
Port I/O
pada mikrokontroler ATMega8535 dapat difungsikan sebagai input ataupun dengan
keluaran high atau low. Untuk mengatur fungsi port I/O sebagai
input ataupun output perlu dilakukan setting pada DDR dan Port. Berikut tabel
pengaturan port I/O.
Dari tabel
di atas, menyeting input/output adalah :
1. Input ;
DDr bit 0 dan Port bit 1
2. Output
High ; DDR bit 1 dan Port bit 1
3. Output
Low ; DDR bit 1 dan Port bit 0
Logika port
I/O dapat berubah-ubah dalam program secara byte atau hanya bit
tertentu. Mengubah sebuah keluaran bit I/O dapat dilakukan menggunakan perintah cbi (clear bit I/O) untuk menghasilkan output low atau
perintah sbi (set bit I/O) untuk menghasilkan output high.
Perubahan secara byte dilakukan dengan perintah in atau out yang
menggunakan register bantu. Port I/O sebagai output hanya memberikan
arus sourcing sebesar 20mA sehingga untuk menggerakkan motor atau
kendali alat elektronis yang lain, perlu diberikan penguat tambahan atau
dapat juga dengan konfigurasi port sebagai sinking current,
seperti pada port yang digunakan untuk menyalakan LED, yang akan menyala saat
port diberikan logika low dan mati saat port logika high.
Status
Register (SREG) ATMega8535
Status register adalah register berisi status yang
dihasilkan pada setiap operasi yang dilakukan ketika suatu instruksi
dieksekusi. SREG merupakan bagian dari inti CPU mikrokontroler.
1. Bit
7-I : Global Interrupt Enable
Bit harus diset untuk
meng-enable interupsi. Setelah itu anda dapat mengaktifkan interupsi mana yang
akan digunakan dengan cara meng-enable bit kontrol register yang bersangkutan
secara individu. Bit akan di-clear apabila terjadi suatu interupsi yang dipicu
oleh hardware, dan bit tidak akan mengizinkan terjadinya interupsi, serta akan
diset kembali oleh instruksi RETI.
2. Bit
6-T : Bit Copy Storage
Instruksi BLD dan BST
menggunakan bit-T sebagai sumber atau tujuan dalam operasi bit. Suatu bit dalam
sebuah register GPR dapat disalin ke bit T menggunakan instruksi BTS, dan
sebaliknya bit-T dapat disalin kembali ke suatu bit dalam register GPR
menggunakan instruksi BDL.
3.
Bit 5-H : half Carry Flag
4.
Bit 4-S : Sigh Bit
Bit-S merupakan hasil
operasi EOR antara Flag-N (negatif) dan flag V
(komplemen dua overflow).
5.
Bit 3-V : Two’s Complement Overflow Flag
Bit berguna untuk
mendukung operasi aritmatika.
6.
Bit 2-N : Negative Flag
Apabila suatu operasi
menghasilkan bilangan negatif, maka flag-N akan di-set.
7. Bit 1-Z : Zero Flag
Bit akan di-set bila hasil
operasi yang diperoleh adalah nol.
8. Bit 0-C : Carry Flag
Apabila suatu operasi
menghasilkan carry, maka bit akan di-set.
Peta Memori
Atmega 8535
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.
Pin-pin
pada ATmega8535
Konfigurasi pin ATmega8535
dengan kemasan 40 pin DIP (Dual Inline Package) dapat dilihat pada
gambar diatas. Dari gambar di atas dapat dijelaskan fungsi dari masing-masing pin
Atmega8535 sebagai berikut:
1. VCC merupakan pin yang berfungsi sebagai
masukan catu daya.
2. GND merukan pin Ground.
3. Port A (PortA0…PortA7) merupakan pin
input/output dua arah dan pin masukan ADC.
4. Port B (PortB0…PortB7) merupakan pin
input/output dua arah dan dan pin fungsi khusus, seperti dapat
dilihat pada tabel di bawah ini.
5. Port
C (PortC0…PortC7) merupakan pin input/output dua arah dan pin fungsi
khusus, seperti dapat dilihat pada tabel dibawah ini.
6. Port
D (PortD0…PortD7) merupakan pin input/output dua arah dan pin fungsi
khusus, seperti yang terlihat pada tabel dibawah ini.
7. RESET merupakan pin yang digunakan untuk me-reset
mikrokontroler.
8. XTAL1 dan XTAL2 merupakan pin masukan clock
eksternal.
9. AVCC merupakan pin masukan tegangan untuk
ADC.
10. AREFF merupakan pin masukan tegangan
referensi ADC.
Tidak ada komentar:
Posting Komentar