Anda di halaman 1dari 11

D !K"!

-10 A#$ ATM%GA8535


10.1 Tujuan Mengenal dan memahami prinsip dasar Mikrokontroler AVR ATMEGA8535 untuk simulasi dan pemodelan system aplikasi. 10.2 Dasar Teori ATmega8535 Mikrokontroller AVR memiliki arsitektur RIS 8 !it" sehingga semua instruksi dikemas dalam kode #$%&it '#$%&its (ord) dan se&agian &esar instruksi dieksekusi dalam satu siklus instruksi *lo*k. +an ini sangat mem&edakan sekali dengan instruksi M S%5# '!erarsitektur IS ) yang mem&utuhkan siklus #, *lo*k. RIS adalah Reduced Instruction Set Computing sedangkan IS adalah Complex Instruction Set Computing. AVR dikelompokkan kedalam - kelas" yaitu ATtiny" keluarga AT./S00" keluarga ATMega" dan keluarga AT8$R100. +ari kesemua kelas yang mem&edakan satu sama lain adalah ukuran onboard memori" on-board peripheral dan 2ungsinya. +ari segi arsitektur dan instruksi yang digunakan mereka &isa dikatakan hampir sama. Fitur ATMega8535 Sistem pro*essor 8 &it &er&asis RISC dengan ke*epatan maksimal #$ M34. 5kuran memory flash 86!" SRAM se&esar 5#, &yte" EEPROM se&esar 5#, &yte. A+ internal dengan resolusi #/ &it se&anyak 8 *hannel

7ort komunikasi serial 5SART dengan ke*epatan maksimal ,.5 M&ps Mode Sleep untuk penghematan penggunaan daya listrik

Konfigurasi Pin ATMega8535

Gambar 10-1 6on2igurasi 7in ATMega8535


Pemodelan dan Simulasi

#/%#

merupakan 7in yang &er2ungsi se&agai pin masukan *atudaya

G8+ merupakan 7in Ground 7ort A '7A/...7A9) merupakan pin I:; dan pin masukan A+ 7ort ! '7!/...7!9) merupakan pin I:; dan pin yang mempunyai 2ungsi khusus yaitu Timer: ounter" komparator Analog dan S7I 7ort '7 /...7 9) merupakan port I:; dan pin yang mempunyai 2ungsi khusus" yaitu komparator analog dan Timer ;s*illator 7ort + '7+/...7+#) merupakan port I:; dan pin 2ungsi khusus yaitu komparator analog dan interrupt eksternal serta komunikasi serial RESET merupakan pin yang digunakan untuk mereset mikrokontroler <TA=# dan <TA=, merupakan pin masukan cloc eksternal AV merupakan pin masukan untuk tegangan A+

ARE1 merupakan pin masukan tegangan re2erensi untuk A+

Arsite&tur ATMega8535 Saluran I; se&anyak 3, &uah" yaitu 7ort A" 7ort !" 7ort A+ #/ &it se&anyak 8 hannel Tiga &uah timer : *ounter 3, register !atchdog "imer dengan os*ilator internal SRAM se&anyak 5#, &yte Memori 1lash se&esar 8 k& Sum&er Interrupt internal dan eksternal 7ort S7I 'Serial Pheriperal Interface) EE7R;M on &oard se&anyak 5#, &yte 6omparator analog 7ort 5SART '#ni$ersal Sh%nchronous Ash%nchronous Recei$er "ransmitter) AVR men>alankan se&uah instruksi tunggal dalam satu siklus dan memiliki struktur I:; yang *ukup lengkap sehingga penggunaan komponen eksternal dapat dikurangi. Mikrokontroler AVR didesain menggunakan arsitektur &ar$ard" di mana ruang dan >alur &us &agi memori program dipisahkan dengan memori data. Memori
Pemodelan dan Simulasi

dan 7ort +

#/%,

program diakses dengan single-le$el pipelining" di mana ketika se&uah instruksi di>alankan" instruksi lain &erikutnya akan di%prefetch dari memori program.

Gambar 10-2 !lok +iagram Internal ATMega8535 +alam I:; lines terdapat empat port" yaitu 7ort A" 7ort !" 7ort " dan 7ort + yang masing%masing mempunyai 8 pin I:;. +eskripsi masing%masing port 7ort A '7A9.. 7A/) merupakan port yang digunakan se&agai input A+ 'Analog to +igital on?erter). >ika A+ tidak digunakan maka port A merupakan 8%&it port I:; dua arah. 7ada 7ortA terdapat internal 7ull%up resistor. 6etika pin di portA disetting lo( @/A maka arus akan mengalir >ika resistor pull%up internal diakti2kan. 7ort ! '7!9..7!/) merupakan 8%&it port I:; dua arah. 7ada 7ort! terdapat internal 7ull%up resistor. 6etika pin di port! disetting lo( @/A maka arus akan mengalir >ika resistor pull%up internal diakti2kan. 7ort '7 9..7 /) merupakan 8%&it port I:; dua arah. 7ada 7ort terdapat internal 7ull%up resistor. 6etika pin di port disetting lo( @/A maka arus akan mengalir >ika resistor pull%up internal diakti2kan.

Pemodelan dan Simulasi

#/%3

7ort + '7+9..7+/) merupakan 8%&it port I:; dua arah. 7ada 7ort+ terdapat internal 7ull%up resistor. 6etika pin di port+ disetting lo( @/A maka arus akan mengalir >ika resistor pull%up internal diakti2kan.

RESET merupakan pin >ika di&erikan inputan lo( @/A maka program yang telah di&uat akan kem&ali dari a(al. Spesi2ikasi Masing%Masing 7ort a. 7;RTA Se&agai 2ungsi tam&ahanB 7A./ A+ / ' input A+ *hannel / ) 7A.# A+ # ' input A+ *hannel # ) 7A., A+ , ' input A+ *hannel , ) 7A.3 A+ 3 ' input A+ *hannel 3 ) 7A.- A+ - ' input A+ *hannel - ) 7A.5 A+ 5 ' input A+ *hannel 5 ) 7A.$ A+ $ ' input A+ *hannel $ ) 7A.9 A+ 9 ' input A+ *hannel 9 ) 1ungsi khusus 7;RTA 7ada seri AVR ATMEGA8535 telah dilengkapi 8 saluran A+ 2idelitas #/ &it. +alam mode operasinya" A+ single ended input maupun differrential input. Selain itu" A+ internal dengan ATMEGA 8535 dapat dikon2igurasi &aik se*ara

memiliki kon2igurasi pe(aktuan" tegangan re2erensi" mode operasi" dan kemampuan 2ilter derau yang sangat dleksi&el" sehingga mudah disesuaikan dengan ke&utuhan A+ itu sendiri. &. 7;RT! Se&agai 2ungsi tam&ahanB 7!./ T/ 'Timer: ounter/ E0ternal ounter Input) < 6 '5SART E0ternal lo*k Input:;utput) 7!.# T# 'Timer: ounter# E0ternal ounter Input) 7!., AI8/ 'Analog omparator 7ositi?e Input) I8T, 'E0ternal Interrupt , Input) 7!.3 AI8# 'Analog omparator 8egati?e Input) ; / 'Timer: ounter/ ;utput ompare Mat*h ;utput) 7!.- SS 'S7I Sla?e Sele*t Input) 7!.5 M;SI 'S7I !us Master ;utput:Sla?e Input)
Pemodelan dan Simulasi

#/%-

7!.$ MIS; 'S7I !us Master Input:Sla?e ;utput) 7!.9 S 6 'S7I !us Serial lo*k) 1ungsi khusus 7;RT ! #. M;SI" MIS;" S 6 &erguna se&agai inputan do(nloader IS7. ,. T/:T# se&agai inputan timer atau *ounter e0ternal. 3. AI8/ dan AI8# se&agai inputan komparator" AI8/ se&agai inputan positi2 'C) sedangkan AI8# se&agai inputan '%). *. 7;RT Se&agai 2ungsi tam&ahanB 7 ./ S = 'T(o%(ire Serial !us lo*k =ine) 7 .# S+A 'T(o%(ire Serial !us +ata Input:;utput =ine) 7 ., T 6 'DTAG Test lo*k) 7 .3 TMS 'DTAG Test Mode Sele*t) 7 .- T+; 'DTAG Test +ata ;ut) 7 .5 T+I 'DTAG Test +ata In) 7 .$ T;S # 'Timer ;s*illator 7in #) 7 .9 T;S , 'Timer ;s*illator 7in ,) 1ungsi 6husus 7;RT #. S = dan S+A merupakan pin yang dapat &er2ungsi se&agai mengatur inter2a*e serial , >alur. ,. T 6 merupakan pin yang dapat &er2ungsi se&agai operasi sinkronisasi dari DTAG ke T 6. Dika pin ini digunakan seperti 2ungsi peri2eral terse&ut maka pin ini tidak dapat &er2ungsi se&agai I:;. 3. TMS merupakan pin yang dapat &er2ungsi se&agai pengontrol na?igasi mesin TA7. Dika pin ini digunakan seperti 2ungsi peri2eral terse&ut maka pin ini tidak dapat &er2ungsi se&agai I:;. -. T+/ merupakan pin yang dapat &er2ungsi se&agai output data serial dari data register. Dika pin ini digunakan seperti 2ungsi peri2eral terse&ut maka pin ini tidak dapat &er2ungsi se&agai I:;. 5. T+# merupakan pin yang dapat &er2ungsi se&agai input data serial ke register atau data register. Dika pin ini digunakan seperti 2ungsi peri2eral terse&ut maka pin ini tidak dapat &er2ungsi se&agai I:;. $. T;S # dan T;S , >ika disam&ungkan dengan kristal dan &it ASR serta &it ASSR diset @#A 'high) untuk mengakti2kan asyn*ronous *lo*king dari
Pemodelan dan Simulasi

#/%5

Timer: ounter, maka pin ini dapat digunakan se&agai inputan penguat ampli2ier osilator. +alam keadaan ini pin tidak dapat &er2ungsi se&agai I:;.

d. 7;RT+ Se&agai 2ungsi tam&ahanB 7+./ R<+ '5SART Input 7in) 7+.# T<+ '5SART ;utput 7in) 7+., I8T/ 'E0ternal Interrupt / Input) 7+.3 I8T# 'E0ternal Interrupt # Input) 7+.- ; #! 'Timer: ounter# ;utput ompare ! Mat*h ;utput) 7+.5 ; #A 'Timer: ounter# ;utput ompare A Mat*h ;utput) 7+.$ I 7# 'Timer: ounter# Input apture 7in) 7+.9 ; , 'Timer: ounter, ;utput ompare Mat*h ;utput) 1ungsi 6husus 7;RT+ #. ,. R<+ dan T<+ merupakan pin yang digunakan untuk komnikasi serial. I8T/ dan I8T# merupakan pin yang digunakan se&agai inputan interupsi eksternal / dan inputan interupsi eksternal #. 3. ; #A dan ; #! merupakan output untuk 7EM mode 2ungsi timer dan ; #A >uga &er2ungsi se&agai output eksternal dari pem&anding timer:*ounter A serta ; #! >uga &er2ungsi se&agai output eksternal dari pem&anding timer:*ounter !. -. I 7# merupakan pin yang dapat &er2ungsi se&agai penampung input timer: *ounter #. 5. ; , merupakan pin yang dapat &er2ungsi se&agai output untuk 7EM mode 2ungsi timer dan ; , >uga &er2ungsi se&agai output eksternal dari pem&anding timer:*ounter. Peta Memor' ATMega8535 ATMega8535 memiliki ruang pengalamatan memori data dan memori program yang terpisah. Memori data ter&agi men>adi 3 &agian yaitu B 3, &uah register umum" $&uah register I:;" dan 5#, &yte SRAM internal. Register untuk keperluan umum menempati spa*e data pada alamat ter&a(ah" yaitu F// sampai F#1. Register khusus untuk menangani I:; dan kontrol mikrokontroler
Pemodelan dan Simulasi

#/%$

menempati $- alamat &erikutnya" yaitu mulai dari F,/ sampai F51. Register terse&ut merupakan register yang khusus digunakan untuk mengatur 2ungsi terhadap &er&agai peripheral mikrokontroler" seperti kontrol register" timer:*ounter" 2ungsi 2ungsi I:;" dan se&againya. Alamat memori &erikutnya digunakan untuk SRAM 5#, &yte" yaitu pada lokasi F$/ sampai dengan F,51 Register khusus alamat memori se*ara lengkap dapat dilihat pada ta&el di&a(ah .

Gambar 10-3 Memori +ata ATMega8535 Memori program yang terletak pada 1lash 7erom tersusun dalam (ord atau , &yte karena setiap instruksi memiliki le&ar #$%&it atau 3,&it. AVR ATMega8535 memiliki -6!yte 0 #$ !it 1lash 7erom dengan alamat mulai dari F/// sampai F111. AVR terse&ut memiliki #, &it 7rogram ounter '7 ) sehingga mampu mengalamati isi 1lash

Pemodelan dan Simulasi

#/%9

Gambar 10-( Memori 7rogram ATMega8535 Selain itu AVR ATmega8535 >uga memilki memori data &erupa EE7R;M 8%&it se&anyak 5#, &yte. Alamat EE7R;M dimulai dari F/// sampai F#11. !tatus $egister Status register adalah register &erisi status yang dihasilkan pada setiap operasi yang dilakukan ketika suatu instruksi dieksekusi. SREG merupakan &agian dari inti 75 mikrokontroler.

Gambar 10-5 Status Register ATMega8535 !it9 %%G I 'Glo&al Interrupt Ena&le)" !it harus di Set untuk mengena&le semua >enis interupsi. !it$ %%G T '!it opy Storage)" Instruksi !=+ dan !ST menggunakan &it T se&agai

sum&er atau tu>uan dalam operasi &it. Suatu &it dalam se&uah register G7R dapat disalin ke &it T menggunakan instruksi !ST" dan se&aliknya &it T dapat disalin kem&ali kesuatu &it dalam register G7R dengan menggunakan instruksi !=+. !i5 %%G 3 '3al2 ary 1lag) !it- %%G S 'Sign !it) merupakan hasil operasi E;R antara 2lag %8 'negati2) dan 2lag V 'komplemen dua o?er2lo(). !it3 %%G V 'T(oHs operasi matematis. !it, %%G 8 '8egati?e 1lag) 1lag 8 akan men>adi Set" >ika suatu operasi matematis menghasilkan &ilangan negati2. !it# %%G I 'Iero 1lag) !it ini akan men>adi Set apa&ila hasil operasi matematis menghasilkan &ilangan /. !it/ %%G *arry. Pemrograman A#$ ' ary 1lag) !it ini akan men>adi set apa&ila suatu operasi menghasilkan omponent ;?er2lo( 1lag) !it ini &er2ungsi untuk mendukung

Pemodelan dan Simulasi

#/%8

Mikrokontroler >enis AVR dapat diprogram menggunakan &ahasa pemrograman " ?isual &asi*" Assem&ler"dll. 5ntuk setiap &ahasa pemrograman terse&ut digunakan &e&erapa so2t(are yang &er&eda. Seperti mikrokontroler >enis M S dimana &ahasa pemrograman assem&ler digunakan so2t(are Top?ie( Simulator" untuk mikrokontroler >enis AVR &ahasa pemrograman assem&ler digunakan so2t(are AVR Studio - sedangkan >ika menggunakan &ahasa pemrograman Pengara) Assemb*er 7engarah assem&ler &erguna untuk mengu&ah penun>uk kode assem&ly. !erikut adalah da2tar &e&erapa sintaks pengarah assem&ler yang terdapat pada ATMega8535. .+seg ,+o-e segment. pengarah ini &erguna se&agai penun>uk &ah(a kode atau ekspresi di&a(ahnya diletakkan pada memori program pengarah ini &iasanya diletakkan setelah pengarah .-eseg .-b ,-ata b'te. pengarah ini memungkinkan kita dapat meletakkan konstanta seperti serial num&er" dan lookup ta&le di memory program pada alamat tertentu. .-/ ,-ata /or-. pengarah ini seperti data &yte" tetapi dalam ukuran (ord. .org digunakan untuk mengeset program *ounter pada alamat tertentu .b'te digunakan untuk inisialisasi &esar &yte yang digunakan pada SRAM untuk la&el tertentu .-seg ,-ata segment. pengarah ini &erguna se&agai penun>uk &ah(a kode di&a(ahnya &er2ungsi untuk melakukan seting SRAM .-ef ,-efine. pengarah ini memungkinkan suatu register dapat dide2inisikan. .e0u &erguna untuk mem&eri nama suatu konstanta yang tidak dapat &eru&ah. .set sama seperti .e0u tetapi konstantanya dapat diu&ah. .en-m ,en- ma+ro. untuk mengakhiri ma*ro. .in+*u-e untuk mengin*ludekan se&uah 2ile kedalam program agar program le&ih *epat dimengerti atau memisahkan kedo dalam dua 2ile terpisah. .-e1i+e se&agai penun>uk >enis AVR yang digunakan. .e2it se&agai penun>uk agar &erhenti melakukan assem&ly pada 2ile saat ini. .*ist &erguna mem&angkitkan 2ile list. .*istma+ &erguna agar penam&ahan ma*ro ditampilkan pada 2ile list yang di&angkitkan. .no*ist &erguna agar suatu runtun instruksi tidak dimasukkan dalam 2ile list yang di&angkitkan.
Pemodelan dan Simulasi

digunakan VAVR

#/%.

3iring Do/n*oa-er 5ntuk melakukan penyimpanan program 3e0 atau o2 yang merupakan hasil build pro'ect VAVR" pin yang digunakan pada modul AVRJ8535 adalah D#/ atau IS7. 510
1 3 5 2 ( 7 8

G8+ V

4 8

7!$ : MIS; 7!9 : S 6 RST 6 7!5 : M;SI

10

!P

D925

2 K 5 K 6 K 7 K 9 K 10 K 12 K 25 K

Pin Atmega8535 VCC / Pin 10 / +5V PB.7 / Pin 8 / SCK PB.5 / Pin 6 / MOSI RST / Pin 9 / RESET PB.6 / Pin 7 / MISO

GND / Pin 11

Gambar 4-4 Antarmuka +!,5 dengan Mikrokontroler AVR ATmega8535

D925

2 K 5 K 6 K 7 K 9 K 10 K 12 K 25 K

7in !P : 510
8 ( 10 7 2

1:3:5:4 Pemodelan dan Simulasi #/%#/

Gambar 4-8 Dalur +!,5 dengan pin IS7:D#/

10 8

2 1

6 6

8 4

Gambar 4-8 7enggunaan 6a&el 7elangi : =ine #/

! P

51 0

10

Pemodelan dan Simulasi #/%##

Anda mungkin juga menyukai