MAKALAH MIKROPROSESOR ATMEGA328 VS AVR
DISUSUN OLEH: NAMA MAHASISWA MAHASISWA : 1. NANI SUDARTONO SUDARTONO SIANTURI (F1C014018) 2. RENI LESTARI LESTARI (F1C014008) 3. WARNITA PURA (F1C01403 (F1C0 1403!) !) DOSEN PENGAMPU : D". RISKA EKAWATI# S.S$# M.S$
%URUSAN FISIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS ENGKULU 201& BAB I PENDAHULUAN 1. Lata Latarr Be Bela laka kang ng
P''*+,$ -$"/ (-$ (-$"// "// ""/,,' /,,'"" ) +*+,+ $'- -$"/"/'/" ,'+ 5+ '"+*6 *$ *+,+ *+,+- '76 '76+ + $ $.. M$" M$"/ // /" "/, /,'" '" 7'"7 7'"7'* '*++ *+"$ *+"$-$"/ -$"/"/ "/'/" '/" '"7 '"7++ 6+ 6+ 5+ + *$6++ *+,+- '76+ PC +"'+ *$ *+,+- '76+ -$"//"/,'" 6-6-5+ 6+ ',+ 7'"$$ /-/' '*66 $'- -$$-+, -$"/"/'/"# 5+$ -'-/"$ *+ ++"-6+ I9O# '*++ *$ *+,+- -$"/"/'/" 6-6-5+ +5+ 7'"$$ CPU ++. ATM'+328 +*+,+ -$"//"/,,'" -$"//"/,,'" ',6+"+ *+"$ +-', 5+ -'-65+$ -'-65+$ +"$'6" +"$'6" RISC (R'*6' I"6$/ S' C/-6'") 5+ *$-++ '$+ "/' ''6$ *++ ,'7$ '+ *+"$ +*+ +"$'6" CISC (C/-,''* I"6$/ S' C/-6'" ). AVR +*+,+ ',6+"+ -$"//"/,'" 5+ *$'-7++ /,' A-', ++, +6 1;;<. I$ *$-/*$=$+$ H+">+"* +"$'6" 8?7$ RISC -$"//"/,'" $ 6+,. AVR +*+,+ +,+ +6 ',6+"+ -$"//"/,'" -$"//"/,'" '"+-+ 5+ -'6++ -'6++ /?$ =,+ -'-/"5 66 66 '5$- '5$-++ ++ "/"+"/"+-## '7++$ '7++$ ,++ ,++ +6 +6 +,$ ROM *$"/"+ *$"/"+-# -# EPROM# EPROM# ++6 EEPROM *$6++ /,' -$"//"/,'" ,+$ +*+ ++ $6.
1. 2. 3. 4.
2. Rumu Rumusa san n Mas Masal alah ah A+ 5+ 5+ *$-+6* *$-+6* *'+ *'+ -$"/ -$"// /"/,' "/,'"" A-' A-'+32 +328 8@ A+ 5+ 5+ *$-+6* *$-+6* *'+ *'+ -$"/ -$"// /"/,' "/,'"" A-' A-'+8! +8!3! 3! @ A+ ++ ++ '"7'*+ '"7'*++ + A-' A-'+32 +328 8 *+ A-' A-'+8! +8!3! 3! @ ++$-+ ++$-++ + // // "/"+"/"+- A-' A-'+32 +328 8 *+ A-' A-'+8! +8!3! 3! @
1. 2. 3. 4.
3. Tujuan M'',+ M'',++ + ''" ''"$+ $+ -$"// -$"//"/ "/,'" ,'" A-' A-'+32 +328 8 M'',+ M'',++ + ''" ''"$+ $+ -$"// -$"//"/ "/,'" ,'" A-' A-'+8! +8!3! 3! M'',++ M'',++ '"7'*++ '"7'*++ -$"//"/,'" -$"//"/,'" A-'+328 A-'+328 *+ A-'+8!3! A-'+8!3! M'66 M'66+ + // // "/"+"/"+- A-' A-'+32 +328 8 *+ A-'+8 A-'+8!3! !3!
BAB II PEMBAHAAN 1. ATME! E!A3 A32 2"
A-'+328 +*+,+ $,' $ 5+ -$"//"/,'" *$76+ /,' A-', *$ M'+AVR ',6+"+. AT-'+328 9 P +*+,+ *+5+ "'*+ CMOS 8?7$ -$"//"/,'" 7'"*++"+ AVR
*$$++ +"$'6" RISC. O,' -'''6$ $"6$ 6+ *+,+- +6 $,6 ,/ 6+,# AT-'+328 9 P -'++$ "/66 *'+ *'+ 1MIPS '" MH. I$ -'-7'"*+5++ $'- *'+$'" 66 -'/$-+,+ '"++ 66 /6-$ *+5+ *$7+*$+ '/,++ ''++. ATM'+328 -'"6++ -$"//"/,'" ',6+"+ AVR 8 7$. '7'"++ $' -$"//"/,'" 5+ +-+ *'+ ATM'+8 $$ ++"+ ,+$ ATM'+8!3!# ATM'+1<# ATM'+32# AT-'+328# 5+ -'-7'*++ ++"+ -$"//"/,'" ++"+ ,+$ +*+,+# 66"+ -'-/"$# 7+5+5+ GPIO ($ input/output )# '"$'"$+, (USART# timer, counter # *,,). D+"$ '$ 66"+ =$$# ATM'+328 -'-$,$$ 66"+ =$$ ,'7$ '$, *$7+*$+ *'+ 7'7'"++ -$"//"/,'" *$++. N+-6 66 '$ -'-/"$ *+ '"$'"$+, ,+$5+ ATM'+328 $*+ +,+ *'+ 5+ ,+$5+ +"'+ 66"+ -'-/"$ *+ '"$'"$+,5+ "',+$= +-+ *'+ ATM'+8!3!# ATM'+32# +5+ ++ 6-,+ GPIO ,'7$ '*$$ *$7+*$+ -$"//"/,'" *$++. AT-'+328 9 P -'5'*$++ =$6" 7'"$6: 32K75' I?S5'- P"/"+--+7,' F,+ *'+ R'+*?S'-'+"+?W"$' '-+-6+# 1K75' EEPROM# 2K75' SRAM# 23 66+ 6-6- I 9 O 7+"$# 32 66+ 6-6- 7''"+ "'$'"# R'+, T$-' C/6'" (RTC)# $+ T$-'" =,'$7', 9 C/6'" *'+ -'-7+*$+ -/*' *+ PWM# 1 '"$ USART *$"/"+-# 1 75' 7'"/"$'+$ 2?++ S'"$+, I'"=+' (I2C)# '76+ +', 10?7$ ADC (8 +,6"+ *$ TBFP *+ +' BFN 9 MLF)# "/"+--+7,' W+*/ T$-'" *'+ O$,,+/" $'"+,# /" '"$+, SPI# *+ '+- /=+"' -/*' '-+ *+5+ *$$,$. M/*6 7'"'$ CPU '-'+"+ -'$$+ SRAM# T$-'" 9 C/6'"# ',+76+ SPI# *+ -'+6 $'- 66 '"6 7'"=6$.
T' -/*' P/'"?*/ -''-+ $$ *+=+" +$ -'-7'6 O$,,+/" $$#
-'/+$=+ '-6+ =6$ $ ,+$ +-+$ $'""6 7'"$65+ ++6 "'' +"*+"'. D+,+- -/*' P/'"?$-+#T$-'" +5"//6 '"6 7'"+,+# 5+ -'-6$+ '6+ 66 -'-'"+++ 7+$ +6 '-'+"+ $+ '"++ '*+ $*6". M/*' ADC N/$' R'*6$/ 7'"'$ CPU *+ '-6+ I 9 O -/*6, '6+,$ T$-'" +5"//6 *+ ADC 66 -'-$$-+,+ 7'"+,$ '7$$+ ',+-+ />'"$ ADC.
D+,+- -/*'
S+*75#"$+, 9 "'/+/" /$,+/" 7'"+,+ '*++ $+5+ *+"$ '"++ $*6".
I$
-'-6$+ ++ '+ +"?6 *$/-7$+$+ *'+ /6-$ *+5+ 5+ "'*+. D+,+- -/*6 *$'"++ $++# 7+$ /$,+/" 6+-+ *+ $-'" +5"//6 '"6 7'"+,+. R$++ /=$6"+$ F$6" $ H$6+ F,+ (5')
ATMEGA328 28932 32K
SRAM (5')
2K
EEPROM (5')
1K
I'""6 V'/" U6"+ ($"6$ ++ 9
19192
>'/") G''"+, P6"/' I 9 O G+"$
23
SPI
2
TWI (I 2 C)
1
USART
1
ADC
10?7$ 1!SPS
S+,6"+ ADC
8
8?7$ T$-'" 9 C/6'"
2
17$ T$-'" 9 C/6'"
1
ATM'+328 -'-$,$$ 3 76+ PORT 6+-+ 5+$6 PORT# PORTC# *+ PORTD *'+ /+, $ input/output '7+5+ 23 $. PORT '"'76 *++ *$=6$+ '7++$ input/output *$$+, ++6 *$=6$+ '7++$ '"$'"+, ,+$5+.
1. P/" Port B -'"6++ +,6" *++ 8 7$ 5+ *++ *$=6$+ '7++$ $69/66. S',+$ $6
PORT 6+ *++ -'-$,$$ =6$ +,'"+$= ''"$ *$ 7++ $$ +) ICP1 (P0)# 7'"=6$ '7++$ Timer Counter 1 input capture $. 7) OC1A (P1)# OC1 (P2) *+ OC2 (P3) *++ *$=6$+ '7++$ ',6+"+ PWM ( Pulse Width Modulation). ) MOSI (P3)# MISO (P4)# SCK (P!)# SS (P2) -'"6++ +,6" /-6$+$ SPI. *) S',+$ $6 $ $$ 6+ 7'"=6$ '7++$ +,6" '-/"+-+ '"$+, (ISP). ') TOSC1 (P<) *+ TOSC2 (P&) *++ *$=6$+ '7++$ 6-7'" clock ''"+, 66 timer . =) TAL1 (P<) *+ TAL2 (P&) -'"6++ 6-7'" clock 6+-+ -$"//"/,'".
2. P/" C Port C -'"6++ +,6" *++ & 7$ 5+ *++ *$=6$+ '7++$ input/output *$$+,. F6$
+,'"+$= PORTC ++"+ ,+$ '7++$ 7'"$6. +) ADC< channel (PC0#PC1#PC2#PC3#PC4#PC!) *'+ "'/,6$ '7'+" 10 7$. ADC *++ $+ 6++ 66 -'67+ $6 5+ 7'"6+ '++ ++,/ -'+*$ *++ *$$+, 7) I2C (SDA *+ SDL) -'"6++ +,+ +6 =$6" 5+ '"*++ +*+ PORTC. I2C *$6++ 66 /-6$+$ *'+ '/" ++6 device ,+$ 5+ -'-$,$$ /-6$+$ *++ $' I2C ''"$ '/" /-+# accelerometer nunchuck . 3. P/" D Port D -'"6++ +,6" *++ 8 7$ 5+ -+$?-+$ $?5+ 6+ *++ *$=6$+
'7++$ $69/66. S+-+ ''"$ Port B *+ Port C # Port D 6+ -'-$,$$ =6$ +,'"+$= *$7++ $$. +) USART (TD *+ RD) -'"6++ +,6" *++ /-6$+$ '"$+, *'+ ,'>', $5+, TTL. P$ TD 7'"=6$ 66 -'$"$-+ *++ '"$+,# '*++ RD '7+,$+5+ 5+$6 '7++$ $ 5+ 7'"=6$ 66 -''"$-+ *++ '"$+,. 7) Interrupt (INT0 *+ INT1) -'"6++ $ *'+ =6$ 66 '7++$ $'"6$ hardware. I'"6$ 7$++5+ *$6++ '7++$ ',++ *+"$ "/"+-# -$+,+ +*+
++ "/"+- 7'"+,+ '-6*$+ '"+*$ $'"6$ hardware/software -++ "/"+6+-+ ++ 7'"'$ *+ ++ -'+,++ "/"+- $'"6$. ) CK *++ *$=6$+ '7++$ 6-7'" clock external 66 USART# +-6 $+ 6+ *++ -'-+=+++ clock *+"$ CPU# '$+ $*+ '",6 -'-766+ external clock *) T0 *+ T1 7'"=6$ '7++$ -+6+ counter external 66 timer 1 *+ timer 0. e! AIN0 *+ AIN1 '*6+5+ -'"6++ -+6+ input 66 analo" comparator
•
F$6" ATMEGA328 ATM'+328 +*+,+ -$"//"/,'" ',6+"+ *+"$ +-', 5+ -'-65+$ +"$'6" RISC ( #educe Instruction $et Computer ) 5+ -++ '$+ "/' ''6$ *++ ,'7$ '+ *+"$ +*+ +"$'6" CISC (Completed Instruction $et Computer ). M$"//"/,'" $$ -'-$,$$ 7'7'"++ =$6" ++"+ ,+$: 1)
M'-$,$$ %%P#&M ( %lectricall' %rasa(le Pro"ramma(le #ead &nl'
Memor') '7'+" 1K '7++$ '-+ '5$-++ *++ '-$ '"-+' +"'+ %%P#&M '+ *++ -'5$-+ *++ -'$6 +6 *+5+ *$-+$+. 2) M'-$,$$ $#)M ($tatic #andom )ccess Memor' ) '7'+" 2K. 3) M'-$,$$ $ I9O *$$+, '7+5+ 14 $ < *$++"+5+ PWM ( Pulse Width Modulation) /66.
4) !) <)
32 8?7$ "'$'" '"7+ 6+. D'+ clock 1< MH ''++ -'++$ 1< MIPS. 32 K *lash memor' *+ +*+ +"*6$/ -'-$,$$ (ootloader 5+
-'6++ 2 K *+"$ =,+ -'-/"$ '7++$ (ootloader . &) 130 -++- $"6$ 5+ +-$" '-6+5+ *$''6$ *+,+- +6 $,6 clock . •
A,$+$ ATMEGA328 P+*+ 2013 AT-'+328 6-6-5+ *$6++ *+,+- 7+5+ "/5' *+ $'- ///-
*$ -++ '*'"++# "'*+ 7'"'++# -6"+ -$"/?/"/,,'" *$'",6+. M6$ $-,'-'+$ 5+ +,$ 6-6- *+"$ $ $$ +*+,+ +*+ /6,'" A"*6$/ ,+=/" ''-7++# 5+$6 A"*6$/ U/ *+ A"*6$/ N+/ -/*',.
•
P'-/"+-+ ATMEGA328 K'+*+,+ 6+,$=$+$ -'66+ 7++ $+ '++,+ "''$ *++ 5+ *$"/5'$+ +6 6"+ *+"$ 1 PPM ,'7$ *+"$ 20 +6 +*+ 85 C ++6100 +6 +*+ 25 C.
S$5+, '-"/"+-+ N+-+ $ RD 9 S PD1 OE
PD2
I9O HAI
F6$ T$$ 7'"+"$ MCU $+ '"$+ 7+"6#
S+5+
$+ $*+ $76 O66 A$=+ ("'*+ A$=)
WR
PD3
S+5+
T6,$ P6,' ("'*+ A$=)
S1
PD4
+5+
5' P$,$ 1 ( 0 L/ 75'# 1 T$$ 75')
A0 A1 P+', S2 DATA
PD! PD< PD& PC2 PC 1: 0: P !: 0
S+5+ S+5+ +5+
TAL A$/ -'$$ 0 TAL A$/ '*$$ 1 -'-/"$ "/"+- *+ EEPROM *++
+5+
L/+* H+,+-+ 5' P$,$ 2 ( 0 L/ 75'# 1 2
I9O
T$$ 75') $?*$"'$/+, 76 *++ (O66 '$+ OE "'*+)
M/*6 '-"/"+-+ *$-+6+ '$+ P+', (PD&)# A1 (PD<)# A0 (PD!)# S1 (PD4) *$+6" ' /,. RESET $ 66 0V *+ V CC ' 0V. V CC *$+6" ' 4#! ? !.!V. T66 <0 -$"/*'$# *+ RESET *$+6" 66 11#!?12#! V. -'66 ,'7$ *+"$ 310 . S' A1: A0: S1: DATA 100 1000 0000# TAL1 6,+ -$$-+, 1!0 # WR 6,+ ' /,. I$ -6,+$ C$ E"+'. T66 +-+$ RD 9 S (PD1) '"$ $$. A1: A0: S1: DATA 100 0001 0000# TAL1 6,+# WR 6,+ ' /,. I$ +*+,+ F,+ -'6,$ '"$+. S'"$+, P"/"+--$ S$-7/, P$ I9O D'"$$ MOSI P3 +5+ D++ S'"$+, *$ MISO P4 HAI D++ 5+ S'"$+, /6 SCK P! +5+ S'"$+, %+D++ '"$+, ' MCU ,/ *$ '$ '"7$ *+ *++ *+"$ MCU ,/ *$ '$ +6. K'6+++ *$'"++ 66 V CC '-'+"+ RESET *+ SCK *$+6" ' /,. T66 -$$-+, 20 - *+ '-6*$+ P'-"/"+-+ A$=+ '"$ $"6$ 0AC# 0!3# 000# 000 *$$"$- ' $ MOSI. 5' '*6+ (0!3) ++ 7'"'-+ '-7+,$ /,' MCU 2. A#R
M$"//"/,'" AVR -'"6++ +,+ +6 '$ +"$'6" -$"//"/,'" 5+ -'+*$ +*+,+ A-',. A"$'6" $$ *$"++ -'-$,$$ 7'"7++$ ','7$+ *+ -'"6++ '5'-6"++ *+"$ +"$'6" -$"//"/,'"?-$"//"/,'" 5+ 6*+ +*+. '"7++$ '"$ -$"//"/,'" AVR ',+ *$"/*6$ /,' A-', *+ *$6++ *$ *6$+ '7++$ -$"//"/,'" 5+ 7'"$=+ ,/ / *+ $ '"=/"-+'. M$"//"/,'" AVR -''-6+ 7+5+ +,$+$ '7++$ '-7'**'* 5'- J '5 +"' +,/ 6'* $ ' ,$' /= /' /6"' 7/+"* *'$. -'"'+ 6+ *$6++ *+,+- A"*6$/ +"$ *'+$ ++ /' /6"'. A"$'6" AVR *$+*6 /,' *6+ -++$+ *$ I$6 T'/,/$ N/"'$+ (NTH)#A,=?E$, /' *+ V'+"* W/,,+.3 T' /"$$+, AVR MCU + *'>',/'* + + ,/+, /6' $ # +,,'* N/"*$ VLSI + ' $-'# / # '"' /' +* W/,,+ '"' /"$ + 6*'.A,$ AVR MCU *$'-7++ *$ ,/+, ASIC "6-+ *$ T"/*'$-# N/"'$+ # *$'76 N/"*$ VLSI +*+ +6 $6# '+"+ N/"*$ S'-$/*6/" # *$ -++ /' *+ W/,,+ 7''"+ '7++$ $+. I + / + + RISC (M$"/ RISC)
+*
+ +>+$,+7,' + $,$/ IP976$,*$ 7,/ ="/- N/"*$ VLSI.I+ *$'+, '7++$ RISC (M$"/ RISC) D+ '"'*$+ '7++$ 7,/ $,$/ IP 9 7+6+ *+"$ N/"*$ VLSI. K'$+ '/,/$ $6 *$6+, ' A-', *+"$ N/"*$ VLSI# A"$'6" $'"+, *$'-7++ ,'7$ ,+6 /,' /' *+ W/,,+ *$ A-', N/"'$+# ++ '"6+++ *+"$ A-',. '/,/5 + /,* / A-', ="/- N/"*$ VLSI#
W' '
' $'"+, +"$'6"' + =6"'"
*'>',/'* 75 /' +* W/,,+ + A-', N/"+5# + 67$*$+"5 /= A-',.T' *'$'" /"'* ,/',5 $ /-$,'" "$'" + / '6"' + ' AVR $"6$/ ' "/>$*'* '==$$' /= .P+"+ *'+$'" 7''"+ +-+ *'+ '6,$ /-$,'" *$ IAR S$'- 66 -'-+$+ 7++ $"6$ AVR ' '"'*$+ '=$$' /-$,+$ *+"$ 7+++ $+ $$ . 4 A-', +5 + ' +-' AVR $ / + +"/5- +* */' / +* =/" +5$ $ +"$6,+".
A-', -'+++ 7++ +-+ AVR $*+ +"/$- *+ $*+ 7'"*$"$ 66
'6+6 5+ 66. T' "'+/" /= ' AVR $>' / *'=$$$>' +'" + / + ' '"AVR +* =/". P'$+ AVR $*+ -'-7'"$+ ++7+ +$ ''"$ ++ $$,+ AVR $++. 3 H/'>'"# $ $ /--/,5 +''* + AVR +* =/" A ,= +* V '+"* R ISC "/'/". N+-6# '+"+ 6-6- *$'"$-+ 7++ AVR $++ "/'/" R ISC A ,= *+ V '+"* $$.
!
N/' + ' 6' /= AVR $ $ +"$,' ''"+,,5 "'='" / ' 8?7$ RISC ,$'
/= A-', AVR M$"//"/,,'". P'"+$+ 7++ '6++ AVR *+,+- +"$', $$ 6-6-5+ -'+6 +*+ 8?7$ RISC +"$ A-', AVR M$"//"/,,'". A-/ ' =$" /= ' AVR ,$' + ' AT;0S8!1!# $ $ + 40?$ DIP ++' + ' +-' $/6 + + -$"//"/,,'"# $,6*$ ' ''"+, -6,$,''* +**"' +* *++ 76. D$ ++"+ 5+ '"+-+ *+"$ +"$ AVR +*+,+ AT;0S8!1!# 5+ *+,+- +' DIP 40? $ -'-$,$$ $/6 5+ +-+ '7++$ 80!1 -$"//"/,'"# '"-+6 ''"+, -6,$,'$ +,+-+ *+ *++ 76. T' /,+"$5 /= ' RESET ,$' + //$' (80!1 +>$ + +$>'? $ RESET# $,' ' AVR + + +$>'?,/ RESET )# 76 /'" + + ' $/6 + $*'$+,. P/,+"$+ +"$ RESET 7'",+++ (80!1 $$ -'-$,$$ +$=?$$ RESET# '-'+"+ AVR -'-$,$$ RESET +$=?"'*+)# +$ ',+$ $6 $/6 $6 $*'$. T' AVR 8?7$ -$"//"/,,'" +"$'6"' + $"/*6'* $ 1;;&. 5 2003# A-', +* $'* !00 -$,,$/ AVR =,+ -$"//"/,,'".
AVR
8?7$
+"$'6"
-$"//"/,'"
*$'"'+,+ +*+ +6 1;;&. P+*+ +6 2003# A-', ',+ *$$"$- !00 6+ -$"//"/,'" AVR =,+.
<
T' ,+=/"- =/" $-,' ','"/$ "/' + "','+'* $
200! +* ='+6"'* AT-'+8 AVR -$"//"/,,'".T' A"*6$/ ,+=/"- 66 "/5'? "/5' ','"/$ '*'"++ *$"$,$ +*+ +6 200! *+ -'+-$,+ AT-'+8 AVR -$"//"/,'". AVR 6-6-5+ *++ *$',/-/+ *+,+- '-+ ',+. P+*+ *++"5+ '"7'*++ -+$? -+$ ',+ +*+,+ +*+ -'-/"$# '"$='"+,# *+ =6$5+. K''-+ ',+ '"'76 +*+,+ ',6+"+ ATT$5# ',6+"+ AT;0S# ',6+"+ ATM'+# *+ AT8
•
•
$5AVR ? '"$ AT$5 o
0#!?1< -'-/"$ "/"+- K
o
P+' 32?$
o
' '"$='" '"7++
-'+AVR ? '"$ AT-'+ o
4?2!< -'-/"$ "/"+- K
o
P+' 28?100?$
o
D$'"++ ' $"6$ (+,$+ $"6$ *+ '66 66 '+++ '++ "/"+- 5+ ,'7$ 7'+")
o
•
' '"$='" 5+ ,6+
MEGA ? '"$ AT-'+ o
1384 -'-/"$ "/"+- K
o
+' 44?<4?100?$ (A4# A3# A1)
o
32?$ +': MEGA?E (MEGA8E!)
o
=$6" $'"+ *$'"++# ''"$ DMA# S$'- E>'# *+ *66+ "$/"+=$
o
•
S' '"$='" 5+ ,6+ *'+ ADC
A,$+$?'$=$ AVR o
-'+AVR *'+ =$6"?=$6" 66 5+ $*+ *$'-6+ +*+ +/+ ,+$ *+"$ ',6+"+ AVR# ''"$ ''*+,$ LCD#US /"/,,'"# PWM +$# ISA# *,,
•
•
FPSLIC (AVR *'+ FPGA) o
FPGA ! 66 40 '"7+
o
SRAM 66 /*' "/"+- AVR# $*+ ''"$ '-6+ AVRS ,+$
o
AVR $$ *++ 7'"+,+ +-+$ *'+ !0 MH
32?7$ AVRS P+*+ +6 200<# A-', *$"$,$ -$"//"/,'" 7'"*++"+ 32?7$ AVR32 +"$'6".
I$ +*+,+ +"$'6" 5+ +-+ '+,$ 7'"7'*+ $*+ 7'"676+ *'+ 8?7$ AVR# *$-+6*+ 66 7'"+$ *'+ ARM "/'/" 7'"7+$. I$ -'-$,$$ +,6" *++ 32?7$# SIMD *+ DSP '66# 7'"+-+ *'+ =$6" +6*$/ *+ >$*'/ '/,++ ,+$5+. S' $"6$ -$"$ *'+ /"' ,+$5+ RISC# '+$ $*+ /-+$7', *'+ AVR +,$ (++6 +,+ +6 *+"$ 7'"7++$ /"' ARM).
FLASH#EEPROM# *+ SRAM '-6+ '"$'"+$ *+,+- +6 $# -'$,++ '766+ 66 -'-/"$ ''"+, *+,+- '7+$+ 7'+" +,$+$.S/-' *'>$' +>' + +"+,,', ''"+, 76 /$/ / +,,/ +**$ +**$$/+, *++ -'-/"5 /" -'-/"5?-+'* *'>$'. '7'"++ '"++ -'-$,$$ $,$+ 76 ''"+, +"+,', 66 -'-6$+ -'+-7++ -'-/"$ *++ +-7++ ++6 '"++ -'-/"$?*$'++. A,-/ +,, *'>$' ('' ' -+,,' T$5AVR $) +>' '"$+, $'"=+'# $ + 7' 6'* / /' ,+"'" '"$+, EEPROM /" =,+ $. H+-$" '-6+ '"++ ('6+,$ $ T$5AVR '"'$,) -'-$,$$ $'"=+' '"$+,# 5+ *++ *$6++ 66 -'676+ ,'7$ 7'+" EEPROM '"$+, ++6 $ =,+. I"6$ "/"+- *$$-+ *+,+- /?>/,+$,' -'-/"$ =,+ . A,/6 ' +"' 8?7$# '+ $"6$/ +' /' /" / 17$ /"*. M'$6 MCU 8?7$# '$+ $"6$ -'+-7$, +6 ++6 *6+ ++ 17$. T' $' /= ' "/"+- -'-/"5 $ 66+,,5 $*$+'* $ ' +-$ /= ' *'>$' $',= ('# ' AT-'+<4 ,$' + <4 K /= =,+# $,' ' AT-'+32 ,$' + 32 K).U6"+ -'-/"$ "/"+- 7$++5+ *$66+ *+,+- '+-++ '"++ $6 '*$"$ (-$+,5+# +"$ AT-'+<4 -'-$,$$ <4 K =,+# '*++ +"$ AT-'+32 -'-$,$$ 32 K). T'"' $ / "/>$$/ =/" /==?$ "/"+- -'-/"5JT$*+ +*+ ''6+ 66 /==?$ -'-/"$ "/"+-J +,, /*' ''6'* 75 ' AVR /"' -6 "'$*' $ ' /? $ =,+. '-6+ /*' *$''6$ /,' $$ AVR +"6 7'"+*+ *$ /?$ =,+. H/'>'"# $ ,$-$+$/ */' / +,5 / ' AT;4 FPSLIC AVR9FPGA $. N+-6# ''"7+++ $$ $*+ 7'",+6 66 $ 9 FPGA AT;4 FPSLIC AVR. D++ "6+ +,+-+ '"*$"$ *+"$ "'$'" =$,'# I9O "'$'"# *+ SRAM. '7'"++ -/*', '$, 6+ -'-++ "/"+- ROM ' *+,+- "6+ +,+-+ *++# '+$ -/*', 5+ ,'7$ 7'+" $*+. A-', AT-'+128A1 $ 100?$ ++'T' AVR +>' 32
+* +"' ,+$=$'* + 8?7$
RISC *'>$'.AVRS -'-$,$$ 32 $,'?75' "'$'" *+ *$,+$=$+$+ '7++$ 8?7$ '"++ RISC. I ' $5AVR +* -'+AVR >+"$+ /= ' AVR +"$'6"'# ' /"$ "'$'" +"' -+'* $ + ' =$" 32 -'-/"5 +**"'' (0000 1< 001F 1< )# =/,,/'* 75 <4 I9O "'$'" (0020 1< 00!F 1< ).D+,+- $5AVR *+ -'+AVR >+"$+ *+"$ +"$'6" AVR# "'$'" 7''"+ *$'++ '7++$ 5+ '"+-+ 32 +,+-+ -'-/"$ (0000 1< ?001F 1< )# *$$6$ /,' <4 I 9 O "'$'" (0020 1< ?00!F 1<). I *'>$' $ -+5 '"$'"+,# '' "'$'" +"' =/,,/'* 75 1<0 ''*'* I9O "'$'"# /,5 +'$7,' + (00<0 1< 00FF
). D+,+-
1<
'"++ *'+ 7+5+ '"$'"+,# "'$'" $$ *$$6$ /,' 1<0 *$'"++ I 9 O
"'$'"# +5+ *++ *$+' '7++$ -'-/"$?*$'++ I 9 O (00<0
?00FF
1<
1<).
A6+,
SRAM +" +='" '' "'$'" '$/# + +**"' 00<0 1< /"# $ *'>$' $ ''*'* I9O# + 0100
.SRAM 5+ '7'+"5+ *$-6,+$ '',+ 7+$+ *+=+" '"'76# *$ +,+-+
1<
00<0 1< ++6# *+,+- '"++ *'+ *$'"++ I 9 O# +*+ 0100 1<. E>' /6 '"' +"' '+"+' +**"'$ '-' +* /$-$'* //*' =/" +'$ ' "'$'" =$,' +* ' =$" <4 I9O "'$'"# +,, + +,/ 7' +**"''* +* -+$6,+'* + $= '5 '"' $ SRAM.
M'$6 +*+ '-+ '+,+-++ 5+ '"$+ *+ //*'
*$/$-+,+ 66 -'+' =$,' "'$'" *+ 5+ '"+-+ <4 I 9 O "'$'"# '-6+ 6+ 7$+ *$++$ *+ *$-+$6,+$ '/,+?/,+ -'"'+ 7'"+*+ *$ SRAM. T' >'"5 -+,,' /= ' $5AVR >+"$+ 6' + "'*6'* +"$'6"' $ /,5 1< "'$'" ("0 "/6 "1! +"' /-$'*) $ +"' / +**"'+7,' + -'-/"5 ,/+$/. S++ '"'$, *+"$ >+"$+ $5AVR -'6++ +"$'6" 7'"6"+ *'+ +5+ 1< "'$'" ("0 -',+,6$ "1! *$$,++) 5+ $*+ *$+,+-++ '7++$ ,/+$ -'-/"$. I9O -'-/"5 7'$ + +**"' 0000 1< # =/,,/'* 75 SRAM. I 9 O -'-/"$ *$-6,+$ +*+ +,+-+ 0000 1<# *$$6$ /,' SRAM. I +**$$/# '' *'>$' +>' ,$ *'>$+$/ ="/- ' +*+"* AVR $"6$/ '. S',+$ $6# '"++ $$ -'-$,$$ '*$$ '5$-++ *+"$ +*+" AVR ' $"6$. M/ /+7,5# ' *$"' ,/+*9/"' $"6$/ (LDS9STS) +>' 7'' "'*6'* ="/- 2 /"* (32 7$) / 1 /"* (1< 7$)# ,$-$$ ' /+, *$"' +**"'+7,' -'-/"5 (' 6- /= 7/ I9O +* SRAM) / 128 75'. T'"6+-+# '66 ,+6 ,/+* 9 /"' (LDS 9 STS) ',+ *$6"+$ *+"$ 2 ++ (32 7$) ' 1 ++ (1< 7$)# -'-7++$ 6-,+ -'-/"$ 7'"+,+-+ ,+6 (6-,+ '*6+ I 9 O *+ SRAM) 66 128 75'. C/>'"',5# ' $*$"' ,/+* $"6$/ (LD) 17$ +**"' +' $ '+*'* / +,/ $,6*' /?>/,+$,' -'-/"5 6 + F,+ +* /=$6"+$/ 7$J S'7+,$5+# (LD) "6+ +,+-+ 17$ 7'7+ $"6$ ,+6 $$ *$'",6+ 66 6+ -'+6 -'-/"$ /?>/,+$,' ''"$ F,+ *+ /=$6"+$ 7$J '"'=/"'# ' LPM $"6$/ $ 6''+"5 +* /-$'*. O,' +"'+ $6# $"6$ LPM $*+ '",6 *+ *$$,++. I ' MEGA >+"$+# ' /"$ "'$'" =$,' $ / -+'* $/ ' *++ +**"' +'J D+,+- >+"$+ MEGA# =$,' '"+ "'$'" $*+ *$'++ ' "6+ +,+-+ *++J + 6# $ $ / /$7,' / "'+ +5 /= ' MEGA /"$ "'$'" + /6 '5 '"' SRAM. *'+ *'-$$+# $6 $*+ -6$ 66 -'/7+$ "'$'" '"+ MEGA $$ '/,+?/,+ -'"'+ SRAM. I'+*# ' I9O "'$'" +"' -+'* $/ ' *++ +**"' +' +"$ + ' >'"5 7'$$ /= ' +**"' +'. S'7+,$5+# I 9 O "'$'" *$'++ '
"6+ +,+-+ *++ 5+ *$-6,+$ +*+ ++, *+"$ "6+ +,+-+. A**$$/+,,5# ' +-/6 /= *++ +**"' +' *'*$+'* / I9O "'$'" + "/ 67+$+,,5 / 40;< 75' (0000 1< 0FFF ). S',+$ $6# 6-,+ "6+ +,+-+ *++ 5+ *$*'*$+$+ 66 I 9 O "'$'" ',+ 6-76
1<
'+"+ 67+$+, 66 40;< 75' (0000 1< ?0FFF 1<). A $ "'>$/6 ''"+$/# /'>'"# ' =+ I9O -+$6,+$/ $"6$/ + /,5 "'+ ' =$" <4 I9O "'$'" ,/+$/ (' =$" 32 ,/+$/ =/" 7$$' $"6$/). S''"$ ''"+$ '7',6-5+# +-6# '66 -+$6,+$ '+ I 9 O +5+ 7$+ -'++$ '"+-+ <4 I 9 O ,/+$ "'$'" (32 ,/+$ '"+-+ 66 '66 7$$'). F/,,/$ ' I9O "'$'"# ' MEGA '"$' ' +$*' + 40;< 75' "+' /= ' *++ +**"' +'# $ + 7' 6'* /$/+,,5 =/" -+$ ' $'"+, EEPROM / ' *++ +**"' +' (1000 1< 1FFF 1< ). S'',+ I 9 O "'$'"# '"$ MEGA -'5$$+ 7'"7++$ 40;< 75' *+"$ "6+ +,+-+ *++# 5+ *++ *$6++ '+"+ /$/+, 66 '-'++ EEPROM $'"+, 66 "6+ +,+-+ *++ (1000 1< ?1FFF 1<). T' +6+, SRAM $ ,/+'* +='" '' "+'# +"$ + 2000 1< . SRAM 5+ '7'+"5+ '",'+ '',+ "'+ $$# -6,+$ +6 2000 1<. Ea$h %&rt &n a t'n( &r mega A#R )r'*es u% t& e'ght %'ns an) 's $&ntr&lle) +( three ", +'t reg'sters- DDR / P0RT an) PIN / here 's the %&rt ')ent''er.P0RT !PI0
S'$+ GPIO /" +*+ '76+ AVR '$, ++6 -'+ *"$>' $+ *',++ $ *+ *$'*+,$+ /,' $+ "'$'" 8?7$: DDR # PORT *+ PIN # *$ -++ +*+,+ /" $*'$=$'". •
DDR x : D++ D$"'$/ R'$'"# /=$6"' ' $ + '$'" $6 /" /66. DDR x+ D++ D$"'$/ R'$'"# -'/=$6"+$ $ '7++$ 7+$ $6 ++6 /66.
•
PORT x : O66 /" "'$'". PORT x+ O66 ',+76+ -'*+=+". S' ' /66 >+,6' / $ /=$6"'* + /66. M''++ $,+$ /66 +*+ $ *$/=$6"+$ '7++$ /66. E+7,' /" *$+7,' ' / $ /=$6"'* + $6. M'+$=+ ++6 -'/+$=+ "'$/" 6,,?6 +*+ $ *$/=$6"+$ '7++$ $6.
•
PIN x : I6 "'$'"# 6'* / "'+* + $6 $+,. PIN x+ M+6+ "'$'"# *$6++ 66 -'-7++ $5+, $6. O /-' *'>$'# $ "'$'" + 7' 6'* =/" $ /,$: "$$ + ,/$ /' / + PIN x 7$ /,' ' /""'/*$ 7$ $ PORT x # $""''$>' /= ' '$ /= ' DDR x 7$. P+*+ 7'7'"++ '"++# "'$'" $$
*++ *$6++ 66 $ T/,$: -'6,$ ,/$+ +6 ' PIN x 7$ -+$+ 7$ 5+ '6+$ *$ PORT x, '",'+ *+"$ '+6"+ *+"$ DDR x 7$. 8 -'+AVR +>' +**$$/+, "'$'" =/" 696,,# /'-?/,' +* 6,,6 /=$6"+$/. -'+AVR -'-$,$$ "'$'" +-7++ 66 6 9 6,,# /'-?/,' *+ /=$6"+$ 6,,6.
EEPR0M
A,-/ +,, AVR -$"//"/,,'" +>' $'"+,
=/" '-$?'"-+' *++
/"+'.H+-$" '-6+ -$"//"/,'" AVR -'-$,$$ $'"+, 5+ EEPROM 66 '5$-++ *++ '-$?'"-+'. L$' =,+ -'-/"5# EEPROM + -+$+$ $ /' ' ','"$+, /'" $ "'-/>'*. S''"$ -'-/"$ =,+# EEPROM *++ -'-'"+++ $$5+ '$+ *+5+ ,$"$ *$$,++. I -/ >+"$+ /= ' AVR +"$'6"'# $ $'"+, EEPROM -'-/"5 $ / -+'* $/ ' MCU +**"'+7,' -'-/"5 +'.D+,+'7+5++ >+"$+ *+"$ +"$'6" AVR# -'-/"$ EEPROM $'"+, $*+ *$'++ ' "6+ -'-/"$ 7'"+,+-+ MCU $$. I + /,5 7' +''* ' +-' +5 + ''"+, '"$'"+, *'>$' $# 6$ '$+, /$'" "'$'" +* "'+*9"$' $"6$/# $ -+' EEPROM +' -6 ,/'" + /'" $'"+, RAM. I$ +5+ *++ *$+' *'+ +"+ 5+ +-+ '76+ '"++ '"$='"+, ''"+,# -'6++ "'$'" /$'" 66 *+ 7++ '66 9 "$'# 5+ -'-76+ +' EEPROM ,'7$ ,+-7+ *+"$ RAM $'"+, ,+$5+. H/'>'"# /-' *'>$' $ ' S'6"'AVR (AT;0SC) =+-$,5
;
6' + '$+, EEPROM
-+$ / ' *++ /" "/"+- -'-/"5# *''*$ / ' /=$6"+$/. N+-6# 7'7'"++ '"++ *$ S'6"'AVR (AT;0SC) ',6+"+ -'6++ '-'++ EEPROM 66 66 *++ ++6 -'-/"$ "/"+-# '"+6 +*+ /=$6"+$. T' MEGA =+-$,5 +,/ +,,/ ' EEPROM / 7' -+'* $/ ' *++ +**"' +'. K',6+"+ MEGA 6+ -'-6$+ EEPROM 5+ ++ *$'++ ' "6+ +,+-+ *++.S$' ' 6-7'" /= "$' / EEPROM $ ,$-$'* A-', '$=$' 100#000 "$' 5,' $ '$" *++'' + ',, *'$'* EEPROM "$' "/6$' /6,* /-+"' ' /' /= + EEPROM +**"' $ *'$"'* /' +* /,5 '"=/"- + +6+, "$' $= ' /' ''* / 7' +'*. K+"'+ 6-,+ -'6,$ ' EEPROM '"7++ ? A-', -''6+ 100.000 $,6 6,$ *$ ,'-7+" *++ -'"'+ ? *$"++ *'+ 7+$ EEPROM -'6,$ "6$ +"6 -'-7+*$+ $$ +,+-+ EEPROM *'+ $$ 5+ *$$$+ *+ +5+ -',+6+ "$' '7'+"5+ $+ $$ '",6 *$67+. N/' + '"+' +* "$' + 7' '"=/"-'* '+"+',5 $ -+5 +'# 75'? 75?75'# $ -+5 +,/ ', "/,/ ,$=' ' 7$ /,5 ''* / 7' ' / +,, 1 ('"+') /" ','$>',5 ,'+"'* / 0 ("$').C+++ -'+6 $6 *+ -'6,$ *++ *$,+6+ '+"+ '"$+ *+,+- 7+5+ +6# 75'?75?75'# 5+ 6+ *++ -'-7+6 -'-'"++ $*6 '$+ 7$ +5+ '",6 *$+6" 66 '-6+ 1 (-'+6) ++6 ','$= *$7'"$+ 66 0 ("$').
Pelaksanaan %r&gram
A-', AVR +>' + /?+'# $,'?,'>', *'$.
AVRS A-', -'-$,$$ *6+ ++#
$,'?,'>', $+ *'+$. T$ -'+ ' ' -+$' $"6$/ $ =''* + ' 6""' /' $ ''6$. I$ 7'"+"$ $"6$ -'$ 7'"$65+ *$+-7$, '7++$ +6 ++ -'''6$. M/ $"6$/ +' 6 /' /" / ,/ 5,'# -+$ AVR "',+$>',5 =+ +-/ -$"//"/,,'". S'7+$+ 7'+" $"6$ -'+-7$, +5+ +6 ++6 *6+ $,6 +-# -'-76+ AVRS "',+$= '+ ++"+ *',++?7$ -$"//"/,'".T' AVR "/'/" '"' *'$'* $ ' '==$$' ''6$/ /= /*' $ -$* +* +>' '>'"+, 76$,?$ /$'" =/" ' +.P"/'/" AVR *$"++ *'+ ',++++ 5+ '=$$' *+"$ *$/-$,+$ C /*' *+,+- $$"+ *+ -'-$,$$ 7'7'"++ 76$,?$ /$'" 66 6+. et 'nstruks'
Main article+ )tmel )# instruction set T '
$ -/"'
+ /' /= -/ '$?7$
-$"//"/,,'"# $ +"$6,+" ' +* $ $ AVR /-'' /*+5.I"6$ AVR ' ,'7$ /"//+, *+"$+*+ '7+5++ *',++?7$ -$"//"/,'"# 665+ 80!1 ,/ *+ -$"//"/,'" PIC *'+ 5+ AVR 7'"+$ ++ $$. H/'>'"# $ $ / /-,'',5 "'6,+": N+-6# +, $$ $*+ ''65+ 7$++: •
# # +* +>' +**"'$ ++7$,$$' + +"' *$=='"' ="/- '+ /'". P/$'" "'$'" # # *+ ',+ -'++$ '-+-6+ 5+ 7'"7'*+ +6 +-+ ,+$.
•
,/+$/ R0 / R1! +>' -/"' ,$-$'* +**"'$ ++7$,$$' + "'$'" ,/+$/ R1< / R31. M'*+=+" ,/+$ R0 ' R1! -'-$,$$ '-+-6+ '+,+-++ 5+ ,'7$ '"7++ *+"$+*+ ,/+$ *+=+" R1< ' R31.
•
I9O /" 0 / 31 + 7' 7$ +**"''*# 6,$' I9O /" 32 / <3. I 9 O /" 0 +-+$ 31 *++ '*$$ *$++$# $*+ ''"$ I 9 O /" 32?<3.
•
CLR +==' =,+# $,' SER */' /# '>' /6 '5 +"' /-,'-'+"5 $"6$/. CLR -'-'+"6$ 7'*'"+# '-'+"+ SER $*+# -'$6 -'"'+ +*+,+ '66 -','+$. CLR ' +,, 7$ / '"/# +* SER ' '- / /'. CLR -'+6" '-6+ 7$ ' /,# *+ SER -''++ -'"'+ 66 +6. (CLR $ '6*/? / =/" EOR R# RJ +* SER $ /" =/" LDI R#QFF. M+ /'"+$/ 6 + EOR -/*$=5 =,+# $,' -/>'9,/+*9/"'97"+' 6 + LDI */ /.) (CLR +*+,+ '6*/?/ 66 EOR R# R# *+ SER +*+,+ $++ LDI R# Q FF /'"+$ M+ ''"$ EOR -'-/*$=$+$ 7'*'"+# '-'+"+ 7'"'"+ 9 7'7+ 9 // 9 +7+ ''"$ LDI $*+..)
•
A'$ "'+*?/,5 *++ /"'* $ ' "/"+- -'-/"5 (=,+) "'6$"' '$+, LPM $"6$/J M'+' +5+?7++ *++ 5+ *$$-+ *+,+- -'-/"$ "/"+(=,+) -'-'",6+ $"6$ LPM 66J ' =,+ 76 $ /'"$' "''">'* =/" $"6$/ -'-/"5. 76 =,+ *$5+++ *$'*$++ 66 -'-/"$ $"6$.
A**$$/+,,5# /-' $?'$=$ *$=='"'' +==' /*' ''"+$/. S',+$ $6# 7'7'"++ '"7'*++?$ '"'6 -'-'+"6$ ''"+$ /*'. C/*' /$'" ($,6*$ "'6" +**"'' / ' +) +"' / 75' ,/ / $ $ 6 / 128 K /= =,+ -'-/"5# 76 "'' 75' ,/ / ,+"'" $J /$'" /*' ('"-+6 +,+-+ '-7+,$ *$ +) +*+,+ *6+ 75' ++ +*+ $ +-+$ *'+ 128 K -'-/"$ =,+# +$ $+ 75' +*+ $ 5+ ,'7$ 7'+"J / +,, $ +>' +"*+"' -6,$,$'"J $*+ '-6+ $ -'-$,$$ -6,$,$'" +"*+"'J $ $ />'" 8 K /= =,+ +>' 7"+ +* +,, $"6$/ $ ,/'" "+'J $ *'+ ,'7$ *+"$ 8 K =,+ -'-$,$$ +7+ *+ +$,+ '66 *'+ "'+ 5+ ,'7$ ++J +* / =/". D+ ''"65+. T' -/,5 "'6,+" $"6$/ ' -+' "/"+--$ $ 6$ C (/" '>' A*+) /-$,'" =+$",5 "+$=/"+"*.
K'7+5++ 7$++ ' $"6$ -'-76+ '-"/"+-+
-'6++ C (++6 7++ A*+) /-$,'" 66 -6*+. + $,6*'* AVR 6/" =/" 6$' /-' $-'# +* + 6/" $ $*',5 6'*. GCC 6*+ '"-+6 *66+ AVR 66 7'7'"++ +6# *+ *66+ 5+ 7+5+ *$6++. I =+# A-', /,$$'* $6 ="/-+/" *'>',/'" /= /-$,'" =/" -+,, -$"//"/,,'"# / *''"-$' ' $"6$/ ' ='+6"' + '"' -/ 6'=6, $ + /-$,'" =/" $?,'>', ,+6+'. ++# A-', *$-$+ -+6+ *+"$ ''-7+ 6+-+ /-$,'" 66 -$"//"/,'" '$,# 66 -''6+ =$6" ' $"6$ 5+ +,$ 7'"6+ *+,+- /-$,'" 66 7+++ $+ $$. 4
e$e%atan M4U
T' AVR ,$' + /"-+,,5 6/" ,/ ''* ="/- 0 / 20 MH# $ /-' *'>$' "'+$ 32 MH.G+"$ AVR 7$++5+ *++ -'*66 ''++ ,/ 0?20 MH# *'+ 7'7'"++ '"++ -'++$ 32 MH. L/'"?/'"'* /'"+$/ 66+,,5 "'6$"' + "'*6'* ,/ ''*. /'"+$ 5+ ,'7$ "'*+ 7'"'++ 7$++5+ -'-766+ ,/ ''* 7'"6"+. A,, "'' (T$5# M'+# +* -'+# 76 / ;0S) AVR ='+6"' + /?$ /$,,+/"# "'-/>$ ' ''* =/" ''"+, ,/ /" "'/+/" $"6$"5. S'-6+ 7+"6?7+"6 $$ ('$,# -'+# *+ -'+# +$ $*+ ;0S) AVRS -'-$,$$ /$,+/" /?$# -'$,++ '766+ 66 +- ''"+, ++6 "'/+/" $"6$. S/-' AVR +,/ +>' + 5'- ,/ "'+,'" + + *$>$*' */ ' 5'- ,/ 75 6 / 1024. T$ "'+,'" + 7' "'/=$6"'* 75 /=+"' *6"$ "6?$-'# +,,/$ ' ,/ ''* / 7' /$-$'*. '7'"++ AVRS 6+ -'-$,$$ "'+,'" +- $'- 5+ *++ -'-7+$ 7++ +- $'$+ 1024. "'+,'" $$ *++ 6,+ /,' '"++ ,6+ ++ "6?$-'# -'-6$+ ''++ ,/ 5+ ++ *$/$-+,+. S$' +,, /'"+$/ (',6*$ -6,$,$+$/ +* 17$ +**967"+) / "'$'" R0R31 +"' $,'?5,'# ' AVR + +$'>' 6 / 1 '" MH# $' + 8 MH "/'/" + +$'>' 6 / 8 MIPS. K+"'+ '-6+ /'"+$ ($*+ '"-+6 '"+,$+ *+ 17$ -'+-7++ 9 -'6"+$) +*+ "'$'" R0?R31 +*+,+ +6?$,6# AVR *++ -'++$ $+ 1 MIPS '" MH# 5+$6 "/'/" 8 MH *++ -'++$ $+ 8 MIPS. L/+* +* /"' /9="/- -'-/"5 +' / 5,'# 7"+$ +' / 5,'. '7+ *+ // ' 9 *+"$ -'-/"$ -'+-7$, *6+ $,6# 7'"+7+ -'-766+ *6+ $,6. "+' $ ' ,+' 3? 75' PC +" 6 + AT-'+2!<0 +"' /' 5,' ,/'" + / "'>$/6 *'>$'. C+7+ *$ '"7+"6 PC 3?75' 7+$+ ''"$ AT-'+2!<0 +*+,+ +,+ +6 $,6 ,'7$ ,+-7+ *+"$ +*+ '"++ '7',6-5+. AVR +>' + ,+"' =/,,/$ *6' / ' ="'' +* $''$>' *'>',/-' //, +>+$,+7,'# $,6*$ "'+/+7,5 "$'* *'>',/-' 7/+"* +* ="'' *'>',/-' /=+"'. AVRS -'-$,$$ 7'"$6 7'+" +"'+ +,+ ''-7++ "+$ *+ -6"+ 5+ '"'*$+# '"-+6 ++ ''-7++ '"++6 *+ ''-7++ '"++ ,6+ 7'7+. T' AVR +"' /,* 6*'" >+"$/6 +-' + +"' ' +-' 7+$ /"'# 76 $ *$=='"' '"$'"+, +* -'-/"5 /-7$+$/. T' AVRS *$6+, *$ 7++ 7'"7++$ +-+ 5+ 7'"7+$ $$ *++" 5+ +-+# '+$ *'+ 7'"7++$ /-7$+$ '"$='" *+ -'-/"$. C/-+$7$,$5 7''' $ $ '+ =+-$,5 $ =+$",5 //*# +,/6 I9O /"/,,'" ='+6"'
-+5 >+"5. K/-+$7$,$+ ++"+ $ *$ '$+ ',6+"+ 66 7+$# -'$6 =$6" I 9 O /"/,,'" *++ 7'">+"$+$. 5'tur
AVR /=='" + $*' "+' /= ='+6"': AVRS -'++"+ 7'"7++$ =$6": •
M6,$=6$/# 7$?*$"'$/+, ''"+,?6"/' I9O /" $ /=$6"+7,'# 76$,?$ M6,$=6$# 7$?*$"'$/+, 66+ 6-6- I 9 O /" *'+ *$/=$6"+$# 76$,?$ "'$/" 6,,?6
•
M6,$,' $'"+, /$,,+/"# $,6*$ RC /$,,+/" $/6 ''"+, +" '7'"++ /$,+/" $'"+, '"-+6 /$,+/" RC ++ 7+$+ ''"+,
•
I'"+,# ',=?"/"+--+7,' $"6$/ 6 / 2!< K (384 K / M'+) I'"+,# ',=?"/"+--+7,' $"6$ -'-/"$ =,+ $+ 2!< K (384 K +*+ M'+) o
6$ '"$+,9+"+,,', ,/?>/,+' "/"$'+"5 $'"=+' /" D+,+- $' "/"+--+7,' -'6++ '"$+, 9 +"+,', '++ "'*+ ++"-6+ "/"$'+"5 ++6 %TAG
o
O$/+, 7// /*' '$/ $ $*''*' ,/ 7$ =/" "/'$/ O$/+, 7+$+ /*' 7// *'+ 6$ 7$ $*''*' 66 '",$*6+
•
O?$ *'76$ (OCD) 6/" "/6 %TAG /"
/ -/ *'>$' O?$
*'76$ (OCD) *66+ -',+,6$ %TAG ++6 *'76WIRE +*+ '7+5++ '"++ o
T' %TAG $+, (TMS# TDI# TDO# +* TCK) +"' -6,$,''* / . %TAG $5+, (TMS# TDI# TDO# *+ TCK) +*+,+ -6,$,'$ +*+ GPIO . T'' $ + 7' /=$6"'* / =6$/ + %TAG /" GPIO *''*$ / ' '$ /= + =6' 7$# $ + 7' "/"+--'* >$+ ISP /" HVSP. $ $$ *++ *$/=$6"+$ 66 7'"=6$ '7++$ %TAG ++6 GPIO '"+6 +*+ '+6"+ *+"$ 7$ ''"$# 5+ *++ *$"/"+- -',+,6$ ISP ++6 HVSP. 5 *'=+6,# AVR $ %TAG /-' $ ' %TAG $'"=+' '+7,'*. S'+"+ *'=+6,# AVRS *'+ %TAG *++ *'+ ++"-6+ %TAG *$+$=+.
o
6' ' 9RESET $ + + 7$?*$"'$/+, /--6$+$/ +', / +' /? $ *'76 $"6$"5. *'76WIRE -'6++ $ 9 RESET '7++$ +,6"+ /-6$+$ 7$?*$"'$/+, 66 -'+' /?$ -'?*'76 $"6$. I $ "'' / *'>$' $ ,/'" $ /6# + $ /,5 "'6$"' /' $. H+, $$
+*$" +*+ '"++ *'+ 6-,+ $ 5+ ,'7$ "'*+# +"'+ +5+ -'-766+ +6 $. •
I'"+, *++ 6 / 4 K D++ $'"+, EEPROM $+ 4 K
•
I'"+, 6 / 1< K (32 K / M'+) I'"+, SRAM $+ 1< K (32 K +*+ M'+)
•
E'"+, <4 K ,$,' '*$+ *++ +' / '"+$ -/*',# $,6*$ ' M'+8!1! +* M'+1<2. E'"+, <4 K "6+ *++ ,$,' '*$+ +*+ -/*', '"'6# '"-+6 M'+8!1! *+ M'+1<2. o
T' ''"+, *++ +' $ />'",+$* $ ' $'"+, *++ +'# 6 + ' =6,, <4 K +**"' +' */' / +'+" / ' ''"+, 76 +* +'' / ' +**"' 0100 1< $,, +' $'"+, RAM# / ' ''"+, 76. R6+ *++ ''"+, *$,+$ *'+ "6+ *++ $'"+,# '$+ "6+ +,+-+ <4 K '6 $*+ -66, +*+ 76 ''"+, *+ +' ' -$+,5+ +,+-+ 0100 1< ++ -'+' RAM $'"+,# 76+ 76 ''"+,.
o
I '"+$ -'-7'" /= ' M'+ '"$'# ' ''"+, *++ +' + 7'' '+'* / 6/" 7/ SRAM +* SDRAM. D+,+- 7'7'"++ +/+ *+"$ '"$ M'+# "6+ *++ ''"+, ',+ *$$++ 66 -'*66 '*6+ SRAM *+ SDRAM. A ',,# ' *++ +**"'$ -/*' +>' 7'' '+*'* / +,,/ 6 / 1< M /= *++ -'-/"5 / 7' *$"',5 +**"''*. S'"+# *++ -/*' '+,+-++ ',+ *$'",6+ 66 -'-6$+ $+ 1< M -'-/"$ *++ 5+ ++ ,+6 *$++$.
o
AVR ''"+,,5 */ / 6/" ''6$ /*' ="/- ''"+, -'-/"5. AVRS 6-6-5+ $*+ -'*66 -'''6$ /*' *+"$ -'-/"$ ''"+,. S/-' 6$ ' AVR /"' */ 6/" ''"+, "/"+- -'-/"5. '7'"++ ASSP -'6++ $$ AVR ,+6+ -'*66 -'-/"$ "/"+- ''"+,.
•
8?7$ +* 17$ $-'" 8?7$ *+ 17$ $-'" o
/66 (/-' *'>$' +>' + '+'* PWM '"$'"+, $ $,6*' + *'+*?$-' ''"+/") PWM O66 (7'7'"++ '"++ -'-$,$$ *$$++ PWM '"$='" 5+ -',$6$ ''"+/" -+$?+6)
o
+ "'/"* + $-' +- "$'"'* 75 + $+, '*' M+6+ +6"' 5+ -'"'+- + +6 *$$6 /,' '$ $5+,
•
A+,/ /-+"+/" ++,/ /-+"+/"
•
10 /" 12?7$ # $ -6,$,' /= 6 / 1< +', 10 ++6 12?7$ A 9 D />'"'" # *'+ -6,$,' $+ 1< +,6"+
•
12?7$ 12?7$ D 9 A />'"'"
•
A >+"$'5 /= '"$+, $'"=+'# $,6*$ '"7++$ $'"=+' '"$+,# '"-+6 o
/-+$7,' T/?W$"' I'"=+' (TWI) IC /-+$7', D6+?W$"' I'"=+' (TWI)
o
S5"//69+5"//6 '"$+, '"$'"+, ( 9USART) (6'* $ # # +* -/"') S$"/ 9 '"$'"+, +5"//6 '"$+, ( UART 9 USART) (*$6++ *'+ RS?232 # RS?48! # *+ ,'7$)
o
(SPI) S'"$+, P'"$'"+, I'"=+' 6 (SPI)
o
U$>'"+, S'"$+, I'"=+' (USI): + -6,$?6"/' +"*+"' /--6$+$/ -/*6,' + + 7' 6'* / $-,'-' + SPI#
10
I
2
C
11 12
/" UART
13
$'"=+'. U$>'"+, S'"$+, I'"=+' (USI): + -6,$?66+ -/*6, /-6$+$ +"*+"' 5+ *++ *$6++ 66 -''"++ SPI# 10 I
2
C
11 12
++6
UART 13 ++"-6+. •
*''$/ 7"//6 *''$
•
(WDT) W+*/ $-'" (WDT)
•
M6,$,' /'"?+>$ ,'' -/*' '7'"++ -/*' ,'' '-+ *+5+
•
L$$ +* -//" /"/, ( ?'$=$) /"/,,'" -/*', P'++5++ *+ /"/, -//" ( PWM ?'$=$) -/*', /"/,'"
•
/"/,,'" 6/" ISA /"/,'" *66+
•
/"/,,'" 6/" US *66+ /"/,'" o
P"/'" =6,,?''* (12 M7$9) +"*+"' H67 /"/,,'" $ '-7'**'* AVR. P"/'" ''++ '6 (12 M7$ 9 ) +"*+"' H67 /"/,,'" *'+ '"++- AVR.
o
A,/ ="'',5 +>+$,+7,' ,/?''* (1.! M7$9) ( ) /=+"' '-6,+$/ %6+ '"'*$+ '+"+ 7'7+ ''++ "'*+ (1#! M7$ 9 ) ( HID ) 7$7+$ '-6,+$ /=+"'
•
/"/,,'" 6/" E'"' *66+ /"/,'"
•
/"/,,'" 6/" LCD *66+ /"/,'"
•
L/?>/,+' *'>$' /'"+$ */ / 1.8 V (/ 0.& V =/" +" $ 76$,?$ DCDC 6/>'"'") '"++ '++ "'*+ /'"+$ 6"6 -'+*$ 1#8 V (66 0#& V 66 7+$+ *'+ 76$,?$ DC?DC 6/>'"'")
•
•
$/P/'" *'>$' '"++ $/P/'" /"/,,'" +* '>' 5'- '"$'"+, /--6$+$/. DMA /"/,,'" *+ '"$$+ $'- /-6$+$ '"$='".
•
F+ "5/"+5 6/" =/" +* D66+ "$/"+=$ '+ 66AES *+ DES
T'"' +"' -+5 -'+ / ,/+* "/"+- /*' $/ + AVR $.
A*+ 7+5+ +"+ 66
-'-6+ /*' "/"+- ' $ AVR. T' -'/* / "/"+- AVR $ >+"$' ="/- AVR =+-$,5 / =+-$,5. M'/*' 66 -'-"/"+- $ AVR 7'">+"$+$ *+"$ ',6+"+ AVR 66 ',6+"+. M/ /= ' -'/* *'"$7'* 7',/ 6' ' RESET ,$' / ''" "/"+--$ -/*'. S'7+$+ 7'+" -'/*' 5+ *$',++ *$ 7++ -'6++ +"$ RESET 66 -+6 ' -/*6 '-"/"+-+. I /"*'" / +>/$* ' $ +$*'+,,5 ''"$ 6 -/*'# $ $ +*>$'* / /' + 6,,?6 "'$/" 7''' ' RESET $ +* ' /$$>' /'" 6,5. U6 -'$*+"$ $ '++ -'-+6$ -/*6 ''"$ $6# *$+"++ 66 -'676+ "'$/" 6,,?6 ++"+ $ RESET *+ +6 *+5+ /$$=.14 T' (ISP) "/"+--$ -'/* $ =6$/+,,5 '"=/"-'* "/6 # ,6 /-' $**,$ /= ' R'' ,$'.D+,+- $'- '-"/"+-+ (ISP) -'/*' '-"/"+-+ =6$/+, *$,+6+ -',+,6$ SPI # *$+-7+ 7'7'"++ -'-6+"?-6+" *+"$ +"$ R''. A ,/ + ' SPI $ /= ' AVR +"' / /''* / +5$ *$"6$>'# ' AVR $ + +5 /,*'"'* / + $,' "'"/"+--$. S',+-+ $ SPI *+"$ AVR $*+ '"676 *'+ ++ 6 5+ -'+6# $ AVR *++ '+ *$/,*'" +*+ PC '-'+"+ '-"/"+-+ 6,+. A,, + $ ''*'* $ + $ /'/" +* "/"+--$ +*+'". S'-6+ 5+ *$'",6+ +*+,+ /'/" *+ '-"/"+-+ +*+/" $. T$ $ ' -/ /--/ +5 / *'>',/ $ + AVR. I$ +*+,+ +"+ +,$ 6-6- 66 -''-7++ *'+ AVR. T' A-', AVRISP -II *'>$' /' / + /-6'" US /" +* '"=/"- $? 5'- "/"+--$ 6$ A-', /=+"'. P'"++ A-', AVRISP -II '"676 ' /" US /-6'" *+ -',+6+ '-"/"+-+ *+,+- $'- -'6++ /=+"' A-',. AVRDUDE (AVR D/,/+*'"9U,/+DE") "6 / # # W$*/# +* # +* 6/" + >+"$'5 /= $?5'- "/"+--$ +"*+"'# $,6*$ A-', AVRISP -II# A-', %TAG ICE# /,*'" A-', '"$+,?/" 7+'* "/"+--'"# +* >+"$/6 $"*?+"5 +* */?$?5/6"',= "/"+--'". AVRDUDE (AVR D/,/+*'" 9 U,/+*'") 7'"+,+ +*+ L$6 # F"''SD # W$*/# *+ M+ OS # *+ -'*66 7'"7++$ +"*+"' '-"/"+-+ *$?$'-#
'"-+6 A-', AVRISP -II# A-', %TAG ICE# 5+ ,'7$ 6+ A-', '"$?/" "/"+--'" 7'"7+$# *+ 7'"7++$ $+ '$+ *+ */?$?5/6"',= "/"+--'". ,/ $'- -$"//"/,'" AVR
1!
FUNGSI PIN MIKROKONTROLER AVR IC -$"//"/,'" *$'-+ (++$) *+,+- 7'6 5+ 7'"7'*+. N+-6 +*+ *++"5+ =6$ +$ 5+ +*+ +*+ IC -'-$,$$ '"+-++. G+-7+" +,+ +6 7'6 IC '"$ -$"//"/,'" AVR AT-'+8!3! *++ *$,$+ 7'"$6
+. P/" A M'"6++ 8?7$ *$"'$/+, /" I9O. S'$+ $5+ *++ -'5'*$++ $'"+, 6,,? 6 "'$/" (*++ *$+6" '" 7$). O66 76=='" P/" A *++ -'-7'"$ +"6 20 -A *+ *++ -''*+,$+ *$,+5 LED '+"+ ,+6. D++ D$"'$/ R'$'" /" A (DDRA) +"6 *$'$ '",'7$ *+6,6 '7',6- P/" A *$6++. $?7$ DDRA *$$$ 0 $+ $$ -'-=6$+ $?$ /" A 5+ 7'"'6+$+ '7++$ $6# ++6 *$$$ 1 $+ '7++$ /66. S',+$ $6# '*',++ $ /" A 6+ *$6++ 66 -+6+ $5+, ++,/ 7+$ A9D />'"'". 7. P/" M'"6++ 8?7$ *$"'$/+, /" I9O. S'$+ $5+ *++ -'5'*$++ $'"+, 6,,? 6 "'$/" (*++ *$+6" '" 7$). O66 76=='" P/" *++ -'-7'"$ +"6 20 -A *+ *++ -''*+,$+ *$,+5 LED '+"+ ,+6. D++ D$"'$/ R'$'" /" (DDR) +"6 *$'$ '",'7$ *+6,6 '7',6- P/" *$6++. $?7$ DDR *$$$ 0 $+ $$ -'-=6$+ $?$ /" 5+ 7'"'6+$+ '7++$ $6# ++6 *$$$ 1 $+ '7++$ /66.
P$?$ /" 6+ -'-$,$$ 66 =6$?=6$ +,'"+$= 66 ''"$ 5+ *++ *$,$+ *+,+- +7', 7'"$6. P/" P$ P0 P1
F6$ K66 T0 $-'"9/6'" 0 ''"+, /6'" $6 T1 $-'"9/6'" 0 ''"+, /6'" $6
P2 P3 P4
AIN0 ++,/ /-+"+/" /$$>' $6 AIN1 ++,/ /-+"+/" '+$>' $6 SS SPI ,+>' ',' $6
P! P< P&
MOSI SPI 76 -+'" /66 9 ,+>' $6 MISO SPI 76 -+'" $6 9 ,+>' /66 SCK SPI 76 '"$+, ,/
. P/" C M'"6++ 8?7$ *$"'$/+, /" I9O. S'$+ $5+ *++ -'5'*$++ $'"+, 6,,? 6 "'$/" (*++ *$+6" '" 7$). O66 76=='" P/" C *++ -'-7'"$ +"6 20 -A *+ *++ -''*+,$+ *$,+5 LED '+"+ ,+6. D++ D$"'$/ R'$'" /" C (DDRC) +"6 *$'$ '",'7$ *+6,6 '7',6- P/" C *$6++. $?7$ DDRC *$$$ 0 $+ $$ -'-=6$+ $?$ /" C 5+ 7'"'6+$+ '7++$ $6# ++6 *$$$ 1 $+ '7++$ /66. S',+$ $6# *6+ $ /" C (PC< *+ PC&) 6+ -'-$,$$ =6$ +,'"+$= '7++$ /$,,+/" 66 $-'"9/6'"2. *. P/" D M'"6++ 8?7$ *$"'$/+, /" I9O. S'$+ $5+ *++ -'5'*$++ $'"+, 6,,?6 "'$/" (*++ *$+6" '" 7$). O66 76=='" P/" D *++ -'-7'"$ +"6 20 -A *+ *++ -''*+,$+ *$,+5 LED '+"+ ,+6. D++ D$"'$/ R'$'" /" D (DDRD) +"6 *$'$ '",'7$ *+6,6 '7',6- P/" D *$6++. $?7$ DDRD *$$$ 0 $+ $$ -'-=6$+ $?$ /" D 5+ 7'"'6+$+ '7++$ $6# ++6 *$$$ 1 $+ '7++$ /66. S',+$ $6# $?$ /" D 6+ -'-$,$$ 66 =6$?=6$ +,'"+$= 66 ''"$ 5+ *++ *$,$+ *+,+- +7', 7'"$6. P/" P$
F6$ K66
PD0 PD1 PD2
RD (UART $6 ,$') TD (UART /66 ,$') INT0 ( ''"+, $'""6 0 $6 )
PD3 PD4 PD!
INT1 ( ''"+, $'""6 1 $6 ) OC1 (T$-'"9C/6'"1 /66 /-+"' -+ /66) OC1A (T$-'"9C/6'"1 /66 /-+"'A -+ /66)
PD< PD& '. RESET
ICP (T$-'"9C/6'"1 $6 +6"' $) OC2 (T$-'"9C/6'"2 /66 /-+"' -+ /66)
RST +*+ $ ; -'"6++ "'' *+"$ AVR. %$+ +*+ $ $$ *$7'"$ -+6+ ,/ ',+-+ -$$-+, 2 -+$' 5,' -++ 5'- ++ *$?"''. =. TAL1 TAL1 +*+,+ -+6+ ' $>'"$ /$,,+/" +-,$=$'" *+ $6 ' $'"+, ,/ /'"+$ $"6$. . TAL2 TAL2 +*+,+ /66 *+"$ $>'"$ /$,,+/" +-,$=$'". . AV A> +*+,+ +$ -+6+ '++ 7+$ A9D C/>'"'". K+$ $$ +"6 '+"+ ''"+, '"676 ' V -',+,6$ ,/+ =$,'". $. AREF AREF +*+,+ +$ -+6+ "'='"'$ 7+$ A9D C/>'"'". U6 /'"+$/+,$+$ ADC# 6+6 ,'>', '++ ++"+ AGND *+ A> +"6 *$7'$+ ' +$ $$. . AGND AGND +*+,+ +$ 66 ++,/ "/6*. H676+ +$ $$ ' GND# '6+,$ $+ 7/+"* -'-$,$$ +,+/ "/6* 5+ '"$+.
BAB III PENUTUP 1. es'm%ulan ATMEGA328 -'"6++
$,' $ 5+ -$"//"/,'" *$76+ /,' A-', *$
M'+AVR ',6+"+. D+ AVR -'"6++ +,+ +6 '$ +"$'6" -$"//"/,'" 5+ -'+*$ +*+,+ A-',. D+ ATM'+328 -'"6++ -$"//"/,'" ',6+"+ AVR 8 7$. P'"7'*++ *$++"+ '*6+5+ tentang penamaan port. Jika port AVR dinamakan
dengan PORTA.0, PORTA.1 dst, atau PORTB.0, PORTB.1 dst -++ ATM'+328 -'-$,$$ 3 76+ PORT 6+-+ 5+$6 PORT# PORTC# *+ PORTD *'+ /+, $ input/output '7+5+ 23 $. S'"+ -''+$ +"+# AVR ,'7$ -6"+ *$7+*$+ *'+
+"+ ATMEGA328.
DA5TAR PUTAA
A"*6$/: S'76+ P+*6+ R$+J M+$ S-$*J 2&< +,+-+J 2011J ISN ;&8?1? ;343!<1 . A-', AVR M$"//"/,'" P"$-'": P"/"+--$ *+ I'"=+$J S'>' F +""'# D+$', P+# M$',, T/"/J 1;4 +,+-+J 200&J ISN ;&8?1?!;82;?!41?2 . AVR M$"//"/,,'" *+ E-7'**'* S5'-: M'6++ A'-7,5 *+ CJ M6+--+* A,$ -+$*$# S+"-+* N+$-$# S''" N+$-$J &;2 +,+-+J
2010J
ISN ;&8?
013800331;. C P"/"+--$ 66 M$"//"/,,'" M'+-$,+ ATMEL $$ AVR K66?66 *+ W$AVR C/-$,'"J %/' P+"*6'J 300 +,+-+J 200!J ISN ;&8?0?;&<<822?0?2 . :99 P''+,+20M$"//"/,'"2020I--'"+20L+7.:99AT-'+3282020I/>+$20*+20K"'+$=$+20S'6+"20T'/,/$.:99 PRASIMA20MIKRON20?20A"$'6"20M$" //"/,'"20AVR. T'"++- C P"/"+--$ *+ A-', AVRJ R$+"* H +"'# S+"+ C/# L+""5 OC6,,J !<0 +,+-+J 200