SlideShare a Scribd company logo
1 of 68
Download to read offline
٢
٣
‫ﻣﻴﻜﺮوﻛﻨﺘﺮوﻟﺮﻫﺎي‬ ‫ﺑﺎ‬ ‫آﺷﻨﺎﻳﻲ‬
CodevisionAVR ‫اﻓﺰار‬ ‫ﻧﺮم‬ ‫و‬ AVR
‫اﻓﺮوز‬ ‫ره‬ ‫اﻣﻴﺮ‬
‫ﻣﯿﮑﺮوﮐﻨﺘﺮوﻟﺮﻫﺎی‬ ‫ﻣﻮرد‬ ‫در‬ ‫را‬ ‫ﺟﺎﻣﻌﺘﺮی‬ ‫اﻃﻼﻋﺎت‬ ‫ﺗﺎ‬ ‫ﻣﻨﺪﯾﺪ‬ ‫ﻋﻼﻗﻪ‬ ‫ﮐﻪ‬ ‫ﺻﻮرﺗﯽ‬ ‫در‬AVR‫ﺗﻮاﻧﯿﺪ‬ ‫ﻣﯽ‬ ‫آورﯾﺪ‬ ‫ﺑﺪﺳﺖ‬‫زﯾﺮ‬ ‫ﮐﺘﺎب‬
‫ﮐﻨﯿﺪ‬ ‫ﺗﻬﯿﻪ‬ ‫را‬:
‫ﮐﻨﯿﺪ‬ ‫ﻣﺮاﺟﻌﻪ‬ ‫زﯾﺮ‬ ‫ﺳﺎﯾﺘﻬﺎی‬ ‫ﺑﻪ‬ ‫ﺗﻮاﻧﯿﺪ‬ ‫ﻣﯽ‬ ‫ﺑﯿﺸﺘﺮ‬ ‫اﻃﻼﻋﺎت‬ ‫ﺑﺮای‬:
http://profiles.yahoo.com/am_rahafrooz
http://bme.aut.ac.ir/arahafrooz
‫ﮐﻨﯿﺪ‬ ‫اﺳﺘﻔﺎده‬ ‫زﯾﺮ‬ ‫اﻟﮑﺘﺮوﻧﯿﮑﯽ‬ ‫ﭘﺴﺖ‬ ‫آدرﺳﻬﺎی‬ ‫از‬ ‫ﺗﻮاﻧﯿﺪ‬ ‫ﻣﯽ‬ ‫اﯾﻨﺠﺎﻧﺐ‬ ‫ﺑﺎ‬ ‫ﺗﻤﺎس‬ ‫ﺑﺮای‬ ‫اﯾﻦ‬ ‫ﺑﺮ‬ ‫ﻋﻼوه‬:
arahafrooz@cic.aut.ac.ir
am_rahafrooz@yahoo.com
‫ﺑﺎﺷﯿﺪ‬ ‫ﻣﻮﻓﻖ‬.
٤
‫اول‬ ‫ﻓﺼﻞ‬
AVR ‫ﺑﺎ‬ ‫آﺷﻨﺎﻳﻲ‬
‫ﭘﻴﺸـﺮﻓﺘﻪ‬ ‫ﺳـﺎﺧﺘﺎر‬ ‫اﺳـﺎس‬ ‫ـﺮ‬‫ـ‬‫ﺑ‬ ‫ﻛﻪ‬ ‫ﻫﺴﺘﻨﺪ‬ ‫ﭘﺎﻳﻴﻦ‬ ‫ﻣﺼﺮﻓﻲ‬ ‫ﺗﻮان‬ ‫ﺑﺎ‬ CMOS ‫ﻧﻮع‬ ‫از‬ ‫ﺑﻴﺘﻲ‬ ٨ ‫ﻣﻴﻜﺮوﻛﻨﺘﺮوﻟﺮﻫﺎي‬ ‫ﻫﺎ‬AVR
‫ﻧﻈـﺮ‬ ‫ﺗﻮاﻧﺴـﺖ‬ ‫ﻣﻴﻜﺮوﻛﻨﺘﺮوﻟﺮﻫـﺎ‬ ‫از‬ ‫ﺳـﺮي‬ ‫اﻳـﻦ‬ ،١٩٩٦ ‫ﺳـﺎل‬ ‫در‬ AVR ‫ﻧﺴﺨﻪﻫﺎي‬ ‫اوﻟﻴﻦ‬ ‫ﺳﺎﺧﺖ‬ ‫از‬ ‫ﭘﺲ‬ .‫ﺷﺪهاﻧﺪ‬ ‫ﺳﺎﺧﺘﻪ‬ RISC
.‫ﻣﻲآﻳـﺪ‬ ‫ﺣﺴــﺎب‬ ‫ﺑﻪ‬ ‫ﻣﻴﻜﺮوﻛﻨﺘﺮوﻟﺮﻫﺎ‬ ‫اﻧﻮاع‬ ‫ﭘﺮﻣﺼﺮﻓﺘﺮﻳﻦ‬ ‫از‬ ‫ﻳﻜﻲ‬ ‫اﻣﺮوزه‬ ‫ﻛﻪ‬ ‫ﻃﻮري‬ ‫ﺑﻪ‬ ‫ﻛﻨﺪ‬ ‫ﺟﺬب‬ ‫ﺧﻮد‬ ‫ﺑﻪ‬ ‫را‬ ‫اﻟﻜﺘﺮوﻧﻴﻚ‬ ‫ﻋﻼﻗﻤﻪﻣﻨﺪان‬
‫ﻛﺎرﺑﺮﻫـﺎي‬ ،‫ﻣﻴﻜﺮوﻛﻨــﺘﺮوﻟﺮ‬ ‫ﻫﺮ‬ ‫ﻛﻪ‬ ‫ﭼﺮا‬ ‫ﻛﺮد‬ ‫ﻣﻌﺮﻓﻲ‬ ‫ﺑﻬﺘﺮﻳﻦ‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ ‫را‬ ‫ﻣﻴﻜﺮوﻛﻨﺘﺮوﻟﺮي‬ ‫ﻧﻮع‬ ‫ﻫﻴﭻ‬ ‫ﻧﻤﻲﺗﻮان‬ ‫داﻧﻴﺪ‬ ‫ﻣﻲ‬ ‫ﻛﻪ‬ ‫ﻃﻮر‬ ‫ﻫﻤﺎن‬
٥
‫اﻳـﻦ‬ ‫ﺑـﺎ‬ ‫وﻟـﻲ‬ ،‫ﮔﺮدد‬ ‫اﻧﺘﺨــﺎب‬ ‫ﺑﻬﺘﺮﻳﻦ‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ ‫وﻳﮋهاي‬ ‫ﻣﻮارد‬ ‫ﺑﺮاي‬ ‫ﺗﻨﻬﺎ‬ ‫ﻣﻲﺗﻮاﻧﺪ‬ ،‫داﺧﻠﻲ‬ ‫ﺧﺼﻮﺻﻴﺎت‬ ‫اﺳﺎس‬ ‫ﺑﺮ‬ ‫و‬ ‫دارد‬ ‫را‬ ‫ﺧﻮد‬ ‫ﺧﺎص‬
‫از‬ ‫اﺳـﺘﻔﺎده‬ ‫ﻛـﻞ‬ ‫در‬ ‫ﻛـﻪ‬ ‫ﺷـﺪ‬ ‫ﺧﻮاﻫﻴـﺪ‬ ‫ﻣﺘﻮﺟــﻪ‬ AVR ‫ﺟﺎﻧﺒﻲ‬ ‫اﻓﺰارﻫﺎي‬ ‫ﻧﺮم‬ ‫و‬ ‫اﻣﻜﺎﻧﺎت‬ ‫ﺑﺎ‬ ‫آﺷﻨﺎﻳﻲ‬ ‫و‬ ‫ﺑﻌﺪي‬ ‫ﺻﻔﺤﺎت‬ ‫ﻣﻄﺎﻟﻌﺔ‬ ‫ﺑﺎ‬ ‫ﺣﺎل‬
.‫دارد‬ ‫ﺗﺮﺟﻴﺢ‬ ‫ﺑﻘﻴﻪ‬ ‫ﺑﺮ‬ AVR
‫ازاي‬ ‫ﺑـﻪ‬ ‫ﺗﺎ‬ ‫ﻣﻲﺗﻮاﻧﻴﻢ‬ ‫ﺗﺮﺗﻴﺐ‬ ‫اﻳﻦ‬ ‫ﺑﻪ‬ ‫و‬ ‫ﻣﻲﻧﻤﺎﻳﻨﺪ‬ ‫اﺟﺮا‬ ‫ﺳﺎﻋﺖ‬ ‫ﭘﺎﻟﺲ‬ ‫ﻳﻚ‬ ‫در‬ ‫ﺗﻨﻬﺎ‬ ‫را‬ ‫دﺳﺘﻮرات‬ ،RISC ‫ﺳﺎﺧﺘﺎر‬ ‫ﺑﺎ‬ ‫ﻫﺎ‬AVR
.‫ﻛﻨﻴﻢ‬ ‫ﺑﻬﻴﻨﻪ‬ ‫ﺗﻮان‬ ‫ﻣﺼﺮف‬ ‫ﻧﻴﺰ‬ ‫و‬ ‫ﭘﺮدازش‬ ‫ﺳﺮﻋﺖ‬ ‫ﻟﺤﺎظ‬ ‫از‬ ‫را‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫و‬ ‫ﻛﺮده‬ ‫اﺟﺮا‬ (MIPS)‫ﺛﺎﻧﻴﻪ‬ ‫در‬ ‫را‬ ‫ﻣﮕﺎدﺳﺘﻮر‬ ‫ﻳﻚ‬ ،‫ﻣﮕﺎﻫﺮﺗﺰ‬ ‫ﻳﻚ‬ ‫ﻫﺮ‬
٣٢ ‫اﻳـﻦ‬ ‫ﺗﻤــﺎم‬ .‫ﻣﻲﮔﺮدﻧﺪ‬ ‫ﺷﺎﻣﻞ‬ ‫را‬ ‫ﻗﺪرﺗﻤﻨﺪي‬ ‫دﺳﺘﻮرات‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ‫و‬ (R0..R31) ‫ﻣﻨﻈﻮره‬ ‫ﻫﻤﻪ‬ ‫رﺟﻴﺴﺘﺮ‬ ٣٢ ،‫ﻫﺎ‬AVR
‫اﻳـﻦ‬ .‫اﺳـﺖ‬ ‫اﻣﻜـﺎنﭘﺬﻳـﺮ‬ ‫ﻫــﻢ‬ ‫ﺳﺎﻋﺖ‬ ‫ﺳﻴﻜﻞ‬ ‫ﻳﻚ‬ ‫در‬ ‫رﺟﻴﺴﺘﺮ‬ ‫دو‬ ‫ﺑﻪ‬ ‫دﺳﺘﺮﺳﻲ‬ ‫ﺑﻨﺎﺑﺮاﻳﻦ‬ ،‫ﺷﺪهاﻧﺪ‬ ‫ﻣﺘﺼﻞ‬ ALU ‫ﺑﻪ‬ ‫ﹰ‬‫ﺎ‬‫ﻣﺴﺘﻘﻴﻤ‬ ‫رﺟﻴﺴﺘﺮ‬
.‫ﻳﺎﺑﺪ‬ ‫اﻓﺰاﻳﺶ‬ ‫ﻫﻢ‬ ‫٠١ﺑﺮاﺑﺮ‬ ‫ﺗﺎ‬ ‫ﺑﺘﻮاﻧﺪ‬ CISC ‫ﻣﻴﻜﺮوﻛﻨﺘﺮوﻟﺮﻫﺎي‬ ‫ﺑﻪ‬ ‫ﻧﺴﺒﺖ‬ ‫آﻧﻬﺎ‬ ‫ﺳﺮﻋﺖ‬ ‫ﺗﺎ‬ ‫ﻣﻲﮔﺮدد‬ ‫ﻣﻮﺟﺐ‬ ‫ﺳﺎﺧﺘﺎر‬
‫ﻳــﺎدﮔﻴـﺮي‬ ‫ﺑﻪ‬ ‫ﺷﺮوع‬ ‫ﻛﻪ‬ ‫زﻣﺎﻧﻲ‬ .‫ﻫﺴﺘﻨﺪ‬ ‫ﻛﺎﻣﻞ‬ ‫ﺟﺎﻧﺒﻲ‬ ‫اﻣﻜﺎﻧﺎت‬ ‫ﺑﺎ‬ ‫ﭘﻴﺸﺮﻓﺘﻪ‬ ‫ﺗﺮاﺷﻪﻫﺎﻳﻲ‬ ، AVR ‫ﻣﻴﻜﺮوﻛﻨﺘﺮوﻟﺮﻫﺎي‬ ‫ﺧﺎﻧﻮاده‬
.‫ﻣﻲﺷﻮد‬ ‫آﻏﺎز‬ ‫ﺟﺰﺋﻴﺎﺗﺸﺎن‬ ‫ﺗﻤﺎم‬ ‫ﻓﺮاﮔﻴﺮي‬ ‫ﻟﺬت‬ ،‫ﻧﻤﺎﻳﻴﺪ‬ ‫آﻧﻬﺎ‬ ‫اﺻﻠﻲ‬ ‫ﻣﻔﺎﻫﻴﻢ‬
:‫ﻣﻲﺷﻮﻧﺪ‬ ‫ﺗﻘﺴﻴﻢ‬ ‫دﺳﺘﻪ‬ ‫ﺳﻪ‬ ‫ﺑﻪ‬ AVR ‫ﻣﻴﻜﺮوﻛﻨﺘﺮوﻟﺮﻫﺎي‬
.AVR ‫ﻣﻴﻜﺮوﻛﻨﺘﺮوﻟﺮﻫﺎي‬ ‫اﻧﻮاع‬ ١ -١ ‫ﺷﻜﻞ‬
٦
‫ﭘﺎﻳﻪ‬ ١٦ ‫ﺗﺎ‬ ‫ﭘﺎﻳﻪ‬ ٨ ‫از‬ AVR ‫ﻣﻴﻜﺮوﻛﻨﺘﺮوﻟﺮﻫﺎي‬ ‫ﻣﺨﺘﻠﻒ‬ ‫اﻧﻮاع‬ ٢ -١ ‫ﺷﻜﻞ‬
Tiny AVR-
AVR(classic AVR)-
Mega AVR-
‫ﻣﺠﻤﻮﻋﻪ‬ ‫و‬ ‫ﭘﻴﻦ‬ ‫ﺗﻌﺪاد‬ ‫ﺑﺎ‬ ‫ﺗﺮاﺷﻪﻫﺎﻳﻲ‬ ‫ﹰ‬‫ﺎ‬‫ﻏﺎﻟﺒ‬ ‫ﻫﺎ‬ Tiny AVR.‫ﻣﻲﺷﻮد‬ ‫ﻣﺮﺑﻮط‬ ‫آﻧﻬﺎ‬ ‫در‬ ‫ﻣﻮﺟﻮد‬ ‫اﻣﻜﺎﻧﺎت‬ ‫ﺑﻪ‬ ‫ﻧﻮع‬ ‫ﺳﻪ‬ ‫اﻳﻦ‬ ‫ﺑﻴﻦ‬ ‫ﺗﻔﺎوت‬
Maga .‫دارﻧـﺪ‬ ‫را‬ ‫اﻣﻜﺎﻧـﺎت‬ ‫ﺣﺪاﻗـﻞ‬ ‫ﭘﻴﭽﻴـﺪﮔﻲ‬ ‫ﻟﺤـﺎظ‬ ‫از‬ ‫ﻋﺒـﺎرﺗﻲ‬ ‫ﺑـﻪ‬ ‫و‬ ‫ـﻨﺪ‬‫ـ‬‫ﻣﻲﺑﺎﺷ‬ ‫ﻫﺎ‬Mega AVR ‫ﺑﻪ‬ ‫ﻧﺴﺒﺖ‬ ‫ﻛﻤﺘﺮي‬ ‫دﺳﺘﻮرات‬
.‫ﻣﻲﮔﻴﺮﻧﺪ‬ ‫ﻗﺮار‬ ‫ﻧﻮع‬ ‫دو‬ ‫اﻳﻦ‬ ‫ﺑﻴﻦ‬ ‫در‬ ‫ﻫﺎ‬AVR(classic AVR) ‫و‬ ‫داﺷﺘﻪ‬ ‫را‬ ‫اﻣﻜﺎﻧﺎت‬ ‫ﺣﺪاﻛﺜﺮ‬ ‫ﻫﺎ‬AVR
‫دﻳـﮕﺮ‬ ‫ﺗﺮاﺷــﺔ‬ ‫ﺑﻪ‬ ‫ﺗﺮاﺷﻪ‬ ‫ﻳﻚ‬ ‫از‬ ‫ﺗﻐﻴﻴﺮ‬ ‫رو‬ ‫اﻳﻦ‬ ‫از‬ ‫و‬ ‫دارﻧﺪ‬ ‫ﻣﺸﺎﺑﻬﻲ‬ ‫ﺣﺎﻓﻈﺔ‬ ‫ﺳﺎﺧﺘﺎر‬ ‫و‬ ‫دﺳﺘﻮرات‬ ‫ﻣﺠﻤﻮﻋﻪ‬ AVR ‫ﺗﺮاﺷﻪﻫﺎي‬ ‫ﺗﻤﺎم‬
.‫اﺳﺖ‬ ‫ﺳﺎده‬ ‫ﺑﺴﻴﺎر‬ ‫ﻛﺎري‬
AVR ‫ﻳﻚ‬ ‫ﻛﻠﻲ‬ ‫اﻣﻜﺎﻧﺎت‬
.‫ﻣﻲﺷﻮﻧﺪ‬ ‫اﺟﺮا‬ ‫ﺳﺎﻋﺖ‬ ‫ﺳﻴﻜﻞ‬ ‫ﻳﻚ‬ ‫در‬ ‫آﻧﻬﺎ‬ ‫اﻛﺜﺮ‬ ‫ﻛﻪ‬ ‫دﺳﺘﻮر‬ ١٣٠ ‫ﺣﺪود‬ ‫در‬ -
.‫ﻣﻨﻈﻮره‬ ‫ﻫﻤﻪ‬ ‫ﺑﻴﺘﻲ‬ ٨ ‫رﺟﻴﺴﺘﺮ‬ ٣٢ -
.‫ﺳﺎﻋﺖ‬ ‫ﺳﻴﻜﻞ‬ ٢ ‫اﺟﺮاي‬ ‫زﻣﺎن‬ ‫ﺑﺎ‬ ‫اﻓﺰاري‬ ‫ﺳﺨﺖ‬ ‫ﻛﻨﻨﺪة‬ ‫ﺿﺮب‬ -
.SRAM, EEPROM ،(‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻛﺪﻫﺎي‬ ‫)ﺑﺮاي‬ FLASH ‫ﺣﺎﻓﻈﺔ‬ ‫ﻧﻮع‬ ‫ﺳﻪ‬ ‫داراي‬ -
٧
.١
(ISP)‫ﭘﺮوﮔﺮاﻣﺮ‬ ‫ﺑﻪ‬ ‫اﺣﺘﻴﺎج‬ ‫ﺑﺪون‬ ‫ﻣﻮردﻧﻈﺮ‬ ‫ﻣﺪار‬ ‫داﺧﻞ‬ ‫در‬ ‫ﺗﺮاﺷﻪ‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ -
.‫ﺧﻮاﻧﺪن‬ ‫ﻣﻘﺎﺑﻞ‬ ‫در‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻛﺪﻫﺎي‬ ‫از‬ ‫ﺣﻔﺎﻇﺖ‬ -
RC ‫ﻧﻮﺳﺎﻧﮕﺮ‬ ،‫ﺧﺎرﺟﻲ‬ ‫ﭘﺎﻳﻴﻦ‬ ‫ﻓﺮﻛﺎﻧﺲ‬ ‫ﻛﺮﻳﺴﺘﺎل‬ ،‫ﺧﺎرﺟﻲ‬ ‫ﻛﺮﻳﺴﺘﺎل‬ ‫ﺗﻮﺳﻂ‬ ‫ﻛﺎر‬ ‫ﺑﺮاي‬ ‫ﻧﻮﺳﺎﻧﮕﺮ‬ ‫ﺗﻨﻈﻴﻢ‬ ‫ﻗﺎﺑﻠﻴﺖ‬ -
.‫ﺧﺎرﺟﻲ‬ ‫ﻓﺮﻛﺎﻧﺲ‬ ‫و‬ ‫داﺧﻠﻲ‬ RC ‫ﻧﻮﺳﺎﻧﮕﺮ‬ ،‫ﺧﺎرﺟﻲ‬
‫ﻧـﻴﺰ‬ ‫و‬ ‫ﺗﺮاﺷـﻪ‬ ‫ﺟـﺎﻧﺒﻲ‬ ‫وﺳـﺎﻳﻞ‬ ‫ﻛـﺮدن‬ ‫واﺳـﻜﻦ‬ ‫ﺗﺴــﺖ‬ ،‫دﻳﺒﺎگ‬ ‫ﻋﻤﻞ‬ ‫اﻧﺠﺎم‬ ‫ﺑﺮاي‬ JTAG ‫ﭘﺮوﺗﻜﻞ‬ ‫ﺑﻪ‬ ‫ﻣﺠﻬﺰ‬ -
.‫ﻓﻴﻮزﻫﺎ‬ ‫و‬ FLASH ,EEPROM ‫ﺣﺎﻓﻈﻪﻫﺎي‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬
.‫ﺑﻴﺘﻲ‬ ٨ ‫ﺗﺎﻳﻤﺮ‬ ‫و‬ ‫ﺷﻤﺎرﻧﺪه‬ -
.‫ﺑﻴﺘﻲ‬ ١٦ ‫ﺗﺎﻳﻤﺮ‬ ‫و‬ ‫ﺷﻤﺎرﻧﺪه‬ -
.‫ﺟﺪاﮔﺎﻧﻪ‬ ‫ﻧﻮﺳﺎﻧﮕﺮ‬ ‫ﺑﺎ‬ ٢
RTC -
( PWM ‫ﺗﻮﻟﻴﺪ‬ ‫ﺑﺮاي‬ ‫٦١ﺑﻴﺘﻲ‬ ‫و‬ ‫ﺑﻴﺘﻲ‬ ٨ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﺗﺎﻳﻤﺮﻫﺎ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫)ﺑﺎ‬ PWM ‫ﻛﺎﻧﺎﻟﻬﺎي‬ -
.٣
CTC ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﺗﺎﻳﻤﺮ‬ ‫ﺗﻨﻈﻴﻢ‬ ‫اﻣﻜﺎن‬ -
.٢٠٠ ،١٠ ،١ ‫ﺗﻨﻈﻴﻢ‬ ‫ﻗﺎﺑﻞ‬ ‫ﺑﻬﺮة‬ ‫ﺑﺎ‬ ‫ﺗﻔﺎﺿﻠﻲ‬ ‫ورودي‬ ‫ﻳﺎ‬ ‫و‬ ‫ورودي‬ ‫ﻳﻚ‬ ‫ﺑﺎ‬ ‫ﺑﻴﺘﻲ‬ ١٠ ‫ﻫﺎي‬٤
ADC -
.Philips ‫ﺷﺮﻛﺖ‬ ‫از‬ ‫ﺳﻴﻤﻪ‬ ‫دو‬ ‫ارﺗﺒﺎط‬ ،٦
TWI ‫ﻳﺎ‬ ٥
I2C ‫ﭘﺮوﺗﻜﻞ‬ ‫ﺑﻪ‬ ‫ﻣﺠﻬﺰ‬ -
.‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫ﻗﺎﺑﻠﻴﺖ‬ ‫ﺑﺎ‬ ٧
USART ‫ﺳﺮﻳﺎل‬ ‫ارﺗﺒﺎط‬ -
.Master/Slave ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ٨
SPI ‫ﺳﺮﻳﺎل‬ ‫ارﺗﺒﺎط‬ -
.‫ﻣﺠﺰا‬ ‫ﻧﻮﺳﺎﻧﮕﺮ‬ ‫ﺑﺎ‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫ﻗﺎﺑﻞ‬ ،٩
‫ﻧﮕﻬﺒﺎن‬ ‫ﺗﺎﻳﻤﺮ‬ -
.‫آن‬ ‫ﺑﺮاي‬ ‫وﻗﻔﻪ‬ ‫ﺗﻌﺮﻳﻒ‬ ‫اﻣﻜﺎن‬ ‫ﺑﺎ‬ ‫آﻧﺎﻟﻮگ‬ ‫ﻛﻨﻨﺪة‬ ‫ﻣﻘﺎﻳﺴﻪ‬ -
.١٠
‫ﺑﺮق‬ ‫ﺑﻪ‬ ‫اﺗﺼﺎل‬ ‫زﻣﺎن‬ ‫در‬ ‫ﺷﺪن‬ RESET -
.‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫ﻗﺎﺑﻠﻴﺖ‬ ‫ﺑﺎ‬ Brown-out Detector -
In System Programming
١
Real Time Clock
٢
Clear Timer On Compare Match
٣
Analog to Digital Converter
٤
Inter-IC bus
٥
Two wire Interface
٦
Universal Synchronous and Asynchronous serial Receiver and Transmitter
٧
Serial peripheral Interface
٨
Watch Dog Timer
٩
Power On Reset
١٠
٨
.‫ﺧﺎرﺟﻲ‬ ‫و‬ ‫داﺧﻠﻲ‬ ‫وﻗﻔﻪ‬ ‫ﻣﻨﺎﺑﻊ‬ -
.‫ﻣﺼﺮﻓﻲ‬ ‫ﺗﻮان‬ ‫ﻛﺎﻫﺶ‬ ‫ﺑﺮاي‬ ‫ﻣﺨﺘﻠﻒ‬ ‫ﺣﺎﻟﺖ‬ ‫ﺷﺶ‬ ‫ﺑﺎ‬ -
‫ﺑـﺎ‬ ‫ﻣﺪﻟـﻬﺎي‬ ‫در‬ ٥,٥-٢,٧‫و‬ ، ATMega32 ‫ﻣﺜـﻞ‬ L ‫ﭘﺴــﻮﻧﺪ‬ ‫ﺑﺪون‬ ‫ﻣﺪﻟﻬﺎي‬ ‫در‬ ٥,٥-٤,٥‫وﻟﺘﺎژﻫﺎي‬ ‫ﺑﺎ‬ ‫ﻛﺎر‬ -
. ATMega 32(L) ‫ﻣﺜﻞ‬ L ‫ﭘﺴﻮﻧﺪ‬
Sram,Eeprom, ‫ﻓﻀﺎﻫــﺎي‬ ‫ﺣﺠﻢ‬ ‫و‬ ‫ﺑﺎﺷﺪ‬ ‫ﻧﺪاﺷﺘﻪ‬ ‫وﺟﻮد‬ AVR ‫ﺳﺎده‬ ‫اﻧﻮاع‬ ‫از‬ ‫ﺑﻌﻀﻲ‬ ‫در‬ ‫ﺷﺪه‬ ‫ذﻛﺮ‬ ‫اﻣﻜﺎﻧﺎت‬ ‫از‬ ‫ﺑﻌﻀﻲ‬ ‫اﺳﺖ‬ ‫ﻣﻤﻜﻦ‬
‫را‬ AVR ‫از‬ ‫ﻧﻮﻋﻲ‬ ‫ﺑﺎﻳﺪ‬ ‫دارﻳﺪ‬ ‫ﻣﺤﺪودﻳﺖ‬ ‫ﻣﺎﻟﻲ‬ ‫ﻟﺤﺎظ‬ ‫از‬ ‫ﺷﻤﺎ‬ ‫اﮔﺮ‬ AVR ‫ﺻﺤﻴﺢ‬ ‫اﻧﺘﺨﺎب‬ ‫ﺑﺮاي‬ ‫ﻟﺬا‬ .‫ﺑﺎﺷﺪ‬ ‫ﻣﺘﻔﺎوت‬ ‫آﻧﻬﺎ‬ ‫در‬ ‫ﻫﻢ‬ Flash
AVR ‫ﻗﻮﻳـﺘﺮﻳﻦ‬ ‫ﺑــﺎﻳﺪ‬ ‫ﹰ‬‫ﺎ‬‫ﻣﺴﻠﻤ‬ ،‫ﻧﺪارﻳﺪ‬ ‫ﻣﺤﺪوﻳﺘﻲ‬ ‫ﻛﻪ‬ ‫ﺻﻮرﺗﻲ‬ ‫در‬ ‫وﻟﻲ‬ .‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬ ‫را‬ ‫ﺷﻤﺎ‬ ‫ﻧﻴﺎز‬ ‫ﻣﻮرد‬ ‫اﻣﻜﺎﻧﺎت‬ ‫ﺗﻨﻬﺎ‬ ‫ﻛﻪ‬ ‫ﻛﻨﻴﺪ‬ ‫اﻧﺘﺨﺎب‬
…!‫ﭼﺮا‬ .‫ﻛﻨﻴﺪ‬ ‫اﻧﺘﺨﺎب‬ ‫را‬ ‫ﻣﻤﻜﻦ‬
!‫ﺑﻨﻮﻳﺴﻴﻢ‬ ‫را‬ AVR ‫ﻛﺪﻫﺎي‬ ‫ﺗﺎ‬ ‫ﺑﮕﻴﺮﻳﻢ‬ ‫ﻳﺎد‬ ‫ﺑﺎﻳﺪ‬ ‫ﭼﮕﻮﻧﻪ‬ ،‫ﺑﭙﺮﺳﻴﺪ‬ ‫ﺧﻮد‬ ‫از‬ ‫اﺳﺖ‬ ‫ﻣﻤﻜﻦ‬
‫از‬ ‫ﺗﻨـﻬﺎ‬ AVR ‫ـﺮاﮔﻴـﺮي‬‫ـ‬‫ﻓ‬ ‫اﻣﻜﺎن‬ ‫وﺟﻮد‬ ‫اﻳﻦ‬ ‫ﺑﺎ‬ .‫ﺑﺎﺷﺪ‬ ‫ﻛﻨﻨﺪه‬ ‫ﻣﺄﻳﻮس‬ ‫ﻫﻢ‬ ‫ﻛﻤﻲ‬ ‫ﻣﻲﺗﻮاﻧﺪ‬ ‫وﻟﻲ‬ ‫اﺳﺖ‬ ‫ﺟﺎﻟﺐ‬ ‫ﺟﺪﻳﺪ‬ ‫ﻣﻮﺿﻮع‬ ‫ﻳﻚ‬ ‫ﻳﺎدﮔﻴﺮي‬
.‫اﺳﺖ‬ ‫ﭘﻴﭽﻴﺪه‬ ‫و‬ ‫وﻗﺘﮕﻴﺮ‬ ‫روﺷﻲ‬ ‫ﻛﻪ‬ ‫ﻣﻲﺑﺎﺷﺪ‬ ‫اﻣﻜﺎنﭘﺬﻳﺮ‬ ‫آن‬ ‫اﻃﻼﻋﺎﺗﻲ‬ ‫ﻫﺎي‬ ‫ﺑﺮﮔﻪ‬ ‫ﻣﻄﺎﻟﻌﻪ‬ ‫ﻃﺮﻳﻖ‬
:‫ﻣﻲﻛﻨﻴﻢ‬ ‫اراﺋﻪ‬ ‫را‬ ‫دﻳﮕﺮي‬ ‫راه‬ ‫ﻣﺎ‬
.‫ﻛﻨﻴﺪ‬ ‫ﭘﻴﺪا‬ ‫ﺷﺪه‬ ‫ﻧﻮﺷﺘﻪ‬ ‫ﭘﻴﺶ‬ ‫از‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻣﻘﺪاري‬ ‫١ـ‬
.‫ﺑﻔﻬﻤﻴﺪ‬ ‫را‬ ‫ﻛﺪﻫﺎ‬ ‫ﻋﻤﻠﻜﺮد‬ ‫ﭼﮕﻮﻧﮕﻲ‬ ‫٢ـ‬
.‫ﻛﻨﺪ‬ ‫ﺑﺮآورده‬ ‫را‬ ‫ﺷﻤﺎ‬ ‫ﻧﻴﺎز‬ ‫ﻛﻪ‬ ‫دﻫﻴﺪ‬ ‫ﺗﻐﻴﻴﺮ‬ ‫ﮔﻮﻧﻪاي‬ ‫ﺑﻪ‬ ‫را‬ ‫آن‬ ‫٣ـ‬
‫ﻛﻨﻴﻢ؟‬ ‫اﺳﺘﻔﺎده‬ AVR ‫اﻃﻼﻋﺎﺗﻲ‬ ‫ﻫﺎي‬ ‫ﺑﺮﮔﻪ‬ ‫از‬ ‫ﭼﮕﻮﻧﻪ‬
(L)‫ﺑـﻪ‬ ‫ﻣﺮﺑـﻮط‬ ‫اﻃﻼﻋـﺎﺗﻲ‬ ‫ﺑـﺮﮔﻪ‬ ‫ﻣﺜـﺎل‬ ‫ﺑـﺮاي‬ ،‫ﺗﺮﺳـﻴﺪ‬ ‫ﺧﻮاﻫﻴـﺪ‬ ‫ﹰ‬‫ﻻ‬‫اﺣﺘﻤـﺎ‬ ‫ﻛﻨﻴـﺪ‬ ‫ﻧـﮕﺎه‬ AVR ‫اﻃﻼﻋــﺎﺗﻲ‬ ‫ﻫﺎي‬ ‫ﺑﺮﮔﻪ‬ ‫ﺑﻪ‬ ‫ﻛﻪ‬ ‫زﻣﺎﻧﻲ‬
‫ﻻزم‬ ‫ﺧﻮﺷـﺒﺨﺘﺎﻧﻪ‬ .‫اﺳـﺖ‬ ‫ﻣﺸـﻜﻠﻲ‬ ‫ﻛـﺎر‬ ‫آن‬ ‫ﻣﺤﺘــﻮاي‬ ‫ﺳﭙﺮدن‬ ‫ﻳﺎد‬ ‫ﺑﻪ‬ ‫و‬ ‫آن‬ ‫ﻛﻞ‬ ‫ﻣﻄﺎﻟﻌﺔ‬ ‫و‬ ‫اﺳﺖ‬ ‫ﺻﻔﺤﻪ‬ ٣٥٠ ‫ﹰ‬‫ﺎ‬‫ﺗﻘﺮﻳﺒ‬ ATMega128
‫ـﺎﻧﻲ‬‫ـ‬‫زﻣ‬ ‫در‬ ‫ﻣﻲﺗﻮاﻧﻴﺪ‬ ‫ﺷﻤﺎ‬ ‫و‬ ‫ﻣﻲﺑﺎﺷﻨﺪ‬ ‫ﺣﺮﻓﻪاي‬ ‫و‬ ‫ﻛﺎﻣﻞ‬ ‫اﻃﻼﻋﺎت‬ ‫از‬ ‫ﻣﺠﻤﻮﻋﻪاي‬ ،‫اﻃﻼﻋﺎﺗﻲ‬ ‫ﻫﺎي‬ ‫ﺑﺮﮔﻪ‬ .‫دﻫﻴﺪ‬ ‫اﻧﺠﺎم‬ ‫را‬ ‫ﻛﺎر‬ ‫اﻳﻦ‬ ‫ﺗﺎ‬ ‫ﻧﻴﺴﺖ‬
.‫ﻛﻨﻴﺪ‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﺮﺟﻊ‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ ‫آﻧﻬﺎ‬ ‫از‬ ‫ﻧﻴﺴﺘﻴﺪ‬ ‫ﻣﻄﻤﺌﻦ‬ ‫ﺟﺎﻧﺒﻲ‬ ‫وﺳﺎﻳﻞ‬ ‫ﻳﺎ‬ ‫و‬ AVR ‫اﻣﻜﺎﻧﺎت‬ ‫ﻋﻤﻠﻜﺮد‬ ‫ﺑﻪ‬ ‫ﻧﺴﺒﺖ‬ ‫ﻛﻪ‬
‫زﻳــﺮ‬ ‫ﻗﺴﻤﺘﻬﺎي‬ ‫ﺑﻪ‬ ‫را‬ ‫آن‬ ‫ﻣﻲﺗﻮاﻧﻴﺪ‬ ،‫ﻧﻤﺎﻳﻴﺪ‬ ‫ﻣﺸﺎﻫﺪه‬ ‫را‬ AVR ‫اﻧﻮاع‬ ‫از‬ ‫ﻳﻜﻲ‬ ‫ﺑﻪ‬ ‫ﻣﺮﺑﻮط‬ ‫اﻃﻼﻋﺎﺗﻲ‬ ‫ﻫﺎي‬ ‫ﺑﺮﮔﻪ‬ ‫ﻳﻚ‬ ‫ﺷﻤﺎ‬ ‫ﻛﻪ‬ ‫زﻣﺎﻧﻲ‬
.‫ﻛﻨﻴﺪ‬ ‫ﺗﻘﺴﻴﻢ‬
.‫ﻣﻴﻜﺮوﻛﻨﺘﺮوﻟﺮ‬ ‫اﻣﻜﺎﻧﺎت‬ ‫ﻟﻴﺴﺖ‬ ‫و‬ ‫ﻛﻠﻴﺪي‬ ‫اﻃﻼﻋﺎت‬ ‫ﺷﺎﻣﻞ‬ ‫ﺻﺤﻔﻪ‬ ‫اوﻟﻴﻦ‬ ‫١ـ‬
.AVR‫ﺳﺎﺧﺘﺎر‬ ‫از‬ ‫ﺧﻼﺻﻪاي‬ ‫٢ـ‬
.‫ﺟﺎﻧﺒﻲ‬ ‫وﺳﺎﻳﻞ‬ ‫ﺗﻮﺿﻴﺢ‬ ‫٣ـ‬
٩
.‫ﺣﺎﻓﻈﻪ‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫٤ـ‬
.‫اﻟﻜﺘﺮﻳﻜﻲ‬ ‫ﻣﺸﺨﺼﺎت‬ ‫٥ـ‬
.‫رﺟﻴﺴﺘﺮﻫﺎ‬ ‫ﺧﻼﺻﻪ‬ ‫٦ـ‬
.‫دﺳﺘﻮرات‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺧﻼﺻﻪ‬ ‫٧ـ‬
.‫ﻣﻴﻜﺮوﻛﻨﺘﺮوﻟﺮ‬ ‫ﻇﺎﻫﺮي‬ ‫ﺷﻜﻞ‬ ‫و‬ ‫اﺑﻌﺎد‬ ‫ﺑﻪ‬ ‫ﻣﺮﺑﻮط‬ ‫اﻃﻼﻋﺎت‬ ‫٨ـ‬
C‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ‬ ‫زﺑﺎن‬
C ‫زﺑﺎن‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﺰاﻳﺎي‬ .‫اﺳﺖ‬ ‫ﻳﺎﻓﺘﻪ‬ ‫ﻋﻤﻮﻣﻴﺖ‬ ‫ﻣﻴﻜﺮوﻛﻨﺘﺮوﻟﺮﻫﺎ‬ ‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ‬ ‫ﺑﺮاي‬ ‫ﺑﻴﺸﺘﺮ‬ ‫ﭼﻪ‬ ‫ﻫﺮ‬ C ‫ﺑﺎﻻي‬ ‫ﺳﻄﺢ‬ ‫زﺑﺎن‬ ‫اﻣﺮوزه‬
‫ﺳــﺎدهﺗﺮ‬ ‫و‬ ‫ازﻛﺪﻫﺎ‬ ‫ﻣﺠﺪد‬ ‫اﺳﺘﻔﺎده‬ ،‫ﺑﻴﺸﺘﺮ‬ ‫ﺣﻤﻞ‬ ‫ﻗﺎﺑﻠﻴﺖ‬ ‫و‬ ‫ﺳﺎدهﺗﺮ‬ ‫ﻧﮕﻬﺪاري‬ ،‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ‬ ‫زﻣﺎن‬ ‫ﻛﺎﻫﺶ‬ :‫زﻳﺎدﻧﺪ‬ ‫اﺳﻤﺒﻠﻲ‬ ‫زﺑﺎن‬ ‫ﺟﺎي‬ ‫ﺑﻪ‬
‫ﻣﻌـﺎﻳﺐ‬ ‫اﻳـﻦ‬ ‫رﻓـﻊ‬ ‫ﻳـﺎ‬ ‫ﻛــﺎﻫﺶ‬ ‫ﺑﺮاي‬ .‫ﻣﻲﺑﺎﺷﺪ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﺳﺮﻋﺖ‬ ‫ﻛﺎﻫﺶ‬ ‫ﻧﺘﻴﺠﻪ‬ ‫در‬ ‫و‬ ‫ﻛﺪﻫﺎ‬ ‫ﺣﺠﻢ‬ ‫اﻓﺰاﻳﺶ‬ ‫ﻫﻢ‬ ‫آن‬ ‫ﻋﻴﺐ‬ .‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻓﻬﻢ‬ ‫ﺷﺪن‬
.‫ﻧﻤﺎﻳﺪ‬ ‫اﺟﺮ‬ ‫و‬ ‫دﻳﻜﺪ‬ ‫ﻣﺆﺛﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫را‬ C ‫ﻛﺎﻣﭙﺎﻳﻠﺮ‬ ‫ﺗﻮﺳﻂ‬ ‫ﺷﺪه‬ ‫ﺗﻮﻟﻴﺪ‬ ‫دﺳﺘﻮرات‬ ‫ﺗﺎ‬ ‫ﺷﺪه‬ ‫ﻃﺮاﺣﻲ‬ ‫ﮔﻮﻧﻪاي‬ ‫ﺑﻪ‬ AVR ‫ﺳﺎﺧﺘﺎر‬
‫ﺑﻴﻦ‬ ‫ﻫﻤﺰﻣﺎن‬ ‫ﻋﻤﻠﻜﺮد‬ ‫اﻳﻦ‬ ‫ﻧﺘﻴﺠﻪ‬ .‫اﺳﺖ‬ ‫ﮔﺮﻓﺘﻪ‬ ‫ﺻﻮرت‬ AVR ‫دﺳﺘﻮرات‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ‫و‬ ‫ﺳﺎﺧﺘﺎر‬ ‫ﺗﻜﻤﻴﻞ‬ ‫از‬ ‫ﻗﺒﻞ‬ C ‫ﻛﺎﻣﭙﺎﻳﻠﺮ‬ ‫ﻃﺮاﺣﻲ‬
.‫ﻣﻲﺑﺎﺷﺪ‬ ‫ﺑﺎﻻ‬ ‫ﻛﺎراﻳﻲ‬ ‫و‬ ‫ﺑﻬﻴﻨﻪ‬ ‫اﺳﺘﻔﺎده‬ ‫ﺟﻬﺖ‬ ‫ﺷﺪه‬ ‫ﺗﻮﻟﻴﺪ‬ ‫ﻛﺪﻫﺎي‬ ‫ﺑﺎ‬ ‫ﻣﻴﻜﺮوﻛﻨﺘﺮوﻟﺮي‬ ،AVR ‫و‬ ‫ﻛﺎﻣﭙﺎﻳﻠﺮ‬ ‫ﺗﻴﻤﻬﺎي‬
‫ﺑﺮﻧﺎﻣـﻪ‬ ‫ﭼﻨـﺪ‬ ‫،و‬ ‫آﺷﻨﺎﺷـﺪه‬ C‫ﻫـﺎي‬ ‫ﺑﺮﻧﺎﻣـﻪ‬ ‫ﻛـﺮدن‬ ‫ﻛﺎﻣﭙــﺎﻳﻞ‬ ‫ﺑﺮاي‬ CodevisionAVR ‫اﻓﺰار‬ ‫ﻧﺮم‬ ‫ﺑﺎ‬ ‫اﺑﺘﺪا‬ ‫ﺗﺎ‬ ‫آﻧﻴﻢ‬ ‫ﺑﺮ‬ ‫ﻛﺘﺎب‬ ‫اﻳﻦ‬ ‫در‬
‫ﻋﻤﻠﻜـﺮد‬ ‫و‬ ‫ﺗﺮاﺷـﻪ‬ ‫ـﻲ‬‫ـ‬‫ﻛﻠ‬ (٣-١)‫ﺷﻜﻞ‬ ‫در‬ .‫ﻛﻨﻴﻢ‬ ‫ﻣﻲ‬ ‫اﺳﺘﻔﺎده‬ ATMega32 ‫ﺗﺮاﺷﻪ‬ ‫از‬ ‫اﻳﻨﺠﺎ‬ ‫ﻛﻨﻴﻢ.در‬ ‫اﺟﺮا‬ ‫و‬ ‫داده‬ ‫ﺗﻮﺿﻴﺢ‬ ‫را‬ ‫ﻛﺎرﺑﺮدي‬
‫ﺧﻮاﻫﻴـﻢ‬ ‫ﺗﻮﺿﻴـﺢ‬ ‫دوم‬ ‫ـﻞ‬‫ـ‬‫ﻓﺼ‬ ‫در‬ ‫ﺗﺮاﺷﻪ‬ ‫اﻧﺪازي‬ ‫راه‬ ‫ﺑﺮاي‬ ‫ﻻزم‬ ‫اﻓﺰار‬ ‫ﺳﺨﺖ‬ ‫ﻣﻮرد‬ ‫در‬ .‫ﺑﻴﻨﻴﺪ‬ ‫ﻣﻲ‬ ‫را‬ ‫ﻣﻴﻜﺮوﻛﻨﺘﺮوﻟﺮ‬ ‫اﻳﻦ‬ ‫ﻣﺨﺘﻠﻒ‬ ‫ﻫﺎي‬ ‫ﭘﺎﻳﻪ‬
.‫داد‬
١٠
٣ -١ ‫ﺷﮑﻞ‬
١١
‫دوم‬ ‫ﻓﺼﻞ‬
‫ﻣﻘﺪﻣﻪ‬
‫ﻧـﺎﻣﻴﺪه‬ (ISP ‫ﺳﺮﻳﺎل)ﺣــﺎﻟﺖ‬ ‫و‬ ‫ﻣﻮازي‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫ﻛﻪ‬ ‫دارد‬ ‫وﺟﻮد‬ AVR ‫ﺗﺮاﺷﻪﻫﺎي‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫ﺟﻬﺖ‬ ‫ﻣﺨﺘﻠﻒ‬ ‫روش‬ ‫دو‬
‫ﭘﺎﻳـﻪ‬ ‫ﺑﻪ‬ ‫وﻟﺖ‬ +١٢ ‫وﻟﺘﺎژ‬ ‫ﺗﺎ‬ ‫اﺳﺖ‬ ‫ﻻزم‬ ‫روش‬ ‫اﻳﻦ‬ ‫در‬ .‫ﻣﻲﺷﻮد‬ ‫داده‬ ‫ﻗﺮار‬ ‫ﭘﺮوﮔﺮاﻣﺮ‬ ‫ﺳﻮﻛﺖ‬ ‫در‬ ‫ﻣﻮردﻧﻈﺮ‬ ‫ﺗﺮاﺷﺔ‬ ‫ﻣﻮازي‬ ‫ﺣﺎﻟﺖ‬ ‫در‬ .‫ﻣﻲﺷﻮﻧﺪ‬
‫دﺳـﺘﻮرات‬ ‫ﻛﻤـﻚ‬ ‫ﺑـﻪ‬ ‫ﭘﻴﺪاﺳـﺖ‬ ‫اﺳـﻤﺶ‬ ‫از‬ ‫ﻛـﻪ‬ ‫ﻃـﻮر‬ ‫ﻫﻤـﺎن‬ ‫ﻧـﻴﺰ‬ ‫ﻣﻮردﻧﻈــﺮ‬ ‫ﺗﺮاﺷﻪ‬ ‫و‬ ‫ﭘﺮوﮔﺮاﻣﺮ‬ ‫ﺑﻴﻦ‬ ‫ارﺗﺒﺎط‬ .‫ﮔﺮدد‬ ‫اﻋﻤﺎل‬ RESET
.‫اﺳـﺖ‬ ISP ‫ﺣـﺎﻟﺖ‬ ‫از‬ ‫ﺳـﺮﻳﻌﺘﺮ‬ ‫ﺑﺮاﺑـﺮ‬ ‫دو‬ ‫روش‬ ‫اﻳـﻦ‬ ‫در‬ ‫ﺑﺮﻧﺎﻣـﻪرﻳﺰي‬ ‫ﺳــﺮﻋﺖ‬ ‫دﻟﻴﻞ‬ ‫ﻫﻤﻴﻦ‬ ‫ﺑﻪ‬ ‫و‬ ‫ﻣﻲﺷﻮد‬ ‫ﺑﺮﻗﺮار‬ ‫ﻣﻮازي‬ ‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ‬
‫ﺑـﻪ‬ AVR ‫اﻧــﻮاع‬ ‫ﺑﺮاي‬ ‫ﻣﻲﺗﻮاﻧﺪ‬ ‫ﻣﻮازي‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫روش‬ ،‫ﻧﻤﻲﻛﻨﻨﺪ‬ ‫ﭘﺸﺘﻴﺒﺎﻧﻲ‬ ‫آن‬ ‫از‬ AVR ‫اﻧﻮاع‬ ‫از‬ ‫ﺑﻌﻀﻲ‬ ‫ﻛﻪ‬ ISP ‫روش‬ ‫ﺑﺮﺧﻼف‬
‫ﺑﺨﺶ‬ ‫اﻳﻦ‬ ‫در‬ ‫آﻧﭽﻪ‬ ‫اﻣﺎ‬ ،‫ﻣﻲﮔﺮدد‬ ‫اﺳﺘﻔﺎده‬ ‫اﺳﺖ‬ ‫ﻣﻮردﻧﻈﺮ‬ ‫اﻧﺒﻮه‬ ‫ﺗﻮﻟﻴﺪ‬ ‫ﻛﻪ‬ ‫ﻣﻮاردي‬ ‫در‬ ‫روش‬ ‫اﻳﻦ‬ ‫از‬ ‫ﻛﻠﻲ‬ ‫ﻃﻮر‬ ‫ﺑﻪ‬ ‫ﺑﻨﺎﺑﺮاﻳﻦ‬ .‫ﺷﻮد‬ ‫ﺑﺮده‬ ‫ﻛﺎر‬
.‫اﺳﺖ‬ ‫ﺳﺮﻳﺎل‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ،‫ﻣﺎﺳﺖ‬ ‫ﻣﻮردﻧﻈﺮ‬
١٢
AVR ‫ﻣﻴﻜﺮوﻛﻨﺘﺮوﻟﺮﻫﺎي‬ ‫رﻳﺰي‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻣﺨﺘﻠﻒ‬ ‫روﺷﻬﺎي‬ ١ -٢ ‫ﺷﻜﻞ‬
:(ISP)‫ﺳﺮﻳﺎل‬ ‫رﻳﺰي‬ ‫ﺑﺮﻧﺎﻣﻪ‬
‫اﻳـﻦ‬ ‫ﺑـﻪ‬ ‫اﺳـﺖ‬ ‫ﮔﺮﻓﺘـﻪ‬ ‫ﻗــﺮار‬ ‫ﻣﻮردﻧﻈﺮ‬ ‫ﺑﻮرد‬ ‫روي‬ ‫ﺑﺮ‬ ‫ﹰ‬‫ﻼ‬‫ﻗﺒ‬ ‫ﺗﺮاﺷﻪ‬ ‫ﻛﻪ‬ ‫ﻣﻲﺷﻮد‬ ‫اﻧﺠﺎم‬ ‫زﻣﺎﻧﻲ‬ ‫ﺳﺮﻳﺎل‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫ﻛﻪ‬ ‫آﻧﺠﺎﻳﻲ‬ ‫از‬
‫ﺑـﻪ‬ ،AVR ‫ﺣﺎﻓﻈــﻪ‬ ‫از‬ ‫ﻗﺴﻤﺘﻲ‬ ‫اﺳﺖ‬ ‫ﻻزم‬ ‫ﺑﭙﺮدازﻳﻢ‬ ‫روش‬ ‫اﻳﻦ‬ ‫در‬ ‫ﻣﺨﺘﻠﻒ‬ ‫ﻗﺴﻤﺘﻬﺎي‬ ‫ﺗﻮﺿﻴﺢ‬ ‫ﺑﻪ‬ ‫اﻳﻨﻜﻪ‬ ‫از‬ ‫ﻗﺒﻞ‬ .‫ﻣﻲﮔﻮﻳﻨﺪ‬ ١
ISP ‫روش‬
In system programming
١
١٣
‫ﻗﺴـﻤﺖ‬ ‫دو‬ ‫ﺑــﻪ‬ ،FLASH ‫ﺣﺎﻓﻈﻪ‬ .‫ﻣﻲﻛﻨﻨﺪ‬ ‫ﺣﻤﺎﻳﺖ‬ ISP ‫روش‬ ‫از‬ ‫ﻛﻪ‬ AVR ‫از‬ ‫اﻧﻮاﻋﻲ‬ ‫در‬ .‫ﻧﻤﺎﻳﻴﻢ‬ ‫ﻣﻌﺮﻓﻲ‬ ‫را‬ Boot Loader ‫ﻧﺎم‬
‫اﻳﺠـﺎد‬ ‫ﻣـﺎ‬ ‫ﺑـﺮاي‬ ‫را‬ ISP ‫اﻣﻜـﺎن‬ ‫ﻗﺴـﻤﺖ‬ ‫اﻳـﻦ‬ ‫در‬ ‫ﻣﻮﺟــﻮد‬ ‫ﻛﺪﻫﺎي‬ .‫اﺳﺖ‬ Boot Loader ‫ﻫﻤﺎن‬ ‫ﻗﺴﻤﺖ‬ ‫اوﻟﻴﻦ‬ ‫ﻛﻪ‬ ‫ﻣﻲﺷﻮد‬ ‫ﺗﻘﺴﻴﻢ‬
‫را‬ ‫ﺧـﻮدش‬ ‫و‬ ‫ﮔﺮﻓﺘـﻪ‬ PC ‫از‬ ‫را‬ ‫ﺑﺮﻧﺎﻣـﻪ‬ ‫ﻛﺪﻫـﺎي‬ AVR، ‫ﻗﺴـﻤﺖ‬ ‫اﻳـﻦ‬ ‫در‬ ‫ﻣﻮﺟـﻮد‬ ‫ﺑﺮﻧﺎﻣـﻪ‬ ‫ﻛﻤـﻚ‬ ‫ﺑــﻪ‬ ‫ﺳﺎدهﺗﺮ‬ ‫ﻋﺒﺎرﺗﻲ‬ ‫ﺑﻪ‬ .‫ﻣﻲﻧﻤﺎﻳﻨﺪ‬
.‫ﻧﻤﺎﻳﺪ‬ ‫ﻣﺠﺪد‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫ﻫﻢ‬ ‫را‬ ‫ﺧﻮدش‬ ‫ﻣﻲﺗﻮاﻧﺪ‬ (Boot Loader)‫ﻗﺴﻤﺖ‬ ‫اﻳﻦ‬ ‫ﻛﻪ‬ ‫ﺑﺪاﻧﻴﺪ‬ ‫اﺳﺖ‬ ‫ﺟﺎﻟﺐ‬ .‫ﻣﻲﻛﻨﺪ‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬
Boot‫ﺑﺮﻧــﺎﻣﻪ‬ ‫و‬ PC ‫ﺑﻴﻦ‬ ‫ارﺗﺒﺎط‬ ‫ﺑﺮﻗﺮاي‬ ‫اﻣﻜﺎن‬ ‫ﻛﻪ‬ ‫اﺳﺖ‬ ‫واﺳﻄﻲ‬ ‫اﻓﺰار‬ ‫ﺳﺨﺖ‬ ‫ﺳﺎﺧﺖ‬ ‫و‬ ‫ﺗﻮﺿﻴﺢ‬ ‫ﻗﺴﻤﺖ‬ ‫اﻳﻦ‬ ‫در‬ ‫ﻣﺎ‬ ‫ﻫﺪف‬
.‫ﻣﻲﺷﻮد‬ ‫ﻧﺎﻣﻴﺪه‬ Programming adapter ‫وﺳﻴﻠﻪ‬ ‫اﻳﻦ‬ .‫ﻣﻲﻛﻨﺪ‬ ‫اﻳﺠﺎد‬ ‫را‬ AVR ‫روي‬ ‫ﺑﺮ‬ Loader
‫و‬ ١
SPI ‫ﭘﺮوﺗﻜﻞ‬ ‫اوﻟﻴﻦ‬ .‫ﻣﻲروﻧﺪ‬ ‫ﻛﺎر‬ ‫ﺑﻪ‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫ﺟﻬﺖ‬ ‫ﻛﻪ‬ ،‫دارﻧﺪ‬ ‫وﺟﻮد‬ ‫ﻣﺨﺘﻠﻒ‬ ‫ﭘﺮوﺗﻮﻛﻞ‬ ‫دو‬ ‫ﺑﺨﺶ‬ ‫اﻳﻦ‬ ‫در‬ ‫ﻛﻠﻲ‬ ‫ﻃﻮر‬ ‫ﺑﻪ‬
‫ﺗــﺎ‬ ‫ﻗﺎدرﻳﻢ‬ ‫ﺗﻨﻬﺎ‬ ‫ﻧﻪ‬ JTAG ‫ﭘﺮوﺗﻮﻛﻞ‬ ‫ﻛﻤﻚ‬ ‫ﺑﻪ‬ ‫اﻟﺒﺘﻪ‬ .‫اﺳﺖ‬ SPI ‫ﻫﻤﺎن‬ ‫ﻣﻲرود‬ ‫ﻛﺎر‬ ‫ﺑﻪ‬ ‫ﺑﻴﺸﺘﺮ‬ ‫آﻧﭽﻪ‬ ‫ﻋﻤﻞ‬ ‫در‬ .‫دارﻧﺪ‬ ‫ﻧﺎم‬ JTAG ‫دوﻣﻲ‬
‫و‬ ‫دﻫﻴــﻢ‬ ‫اﻧﺠﺎم‬ ‫ﻫﻢ‬ ‫را‬ Debugging ‫ﻋﻤﻞ‬ ‫ﻣﻲﺗﻮاﻧﻴﻢ‬ ‫ﻛﺎﻓﻲ‬ ‫ﻧﺮماﻓﺰار‬ ‫و‬ ‫ﺳﺨﺖاﻓﺰار‬ ‫ﺗﺄﻣﻴﻦ‬ ‫ﺑﺎ‬ ‫ﺑﻠﻜﻪ‬ ،‫ﻛﻨﻴﻢ‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫را‬ ‫ﻣﻮردﻧﻈﺮ‬ ‫ﺗﺮاﺷﻪ‬
‫دﻟﻴـﻞ‬ ‫ﺑـﻪ‬ ‫ـﺐ‬‫ـ‬‫ﺗﺮﺗﻴ‬ ‫اﻳﻦ‬ ‫ﺑﻪ‬ ،‫ﺑﻮد‬ ‫ﺧﻮاﻫﺪ‬ ‫ﻧﻴﺎز‬ SPI ‫ﺳﺎده‬ ‫ارﺗﺒﺎط‬ ‫ﻳﻚ‬ ‫از‬ ‫ﺑﻴﺸﺘﺮ‬ ‫ﺑﺴﻴﺎر‬ ‫ﻗﻴﻤﺘﻲ‬ ‫ﺑﺎ‬ ‫ﭘﻴﭽﻴﺪهﺗﺮ‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫وﺳﺎﻳﻞ‬ ‫ﺑﻪ‬ ‫ﺑﻨﺎﺑﺮاﻳﻦ‬
.‫ﻣﻲﺷﻮد‬ ‫اﺳﺘﻔﺎده‬ Debugging ‫ﺑﺮاي‬ JTAG ‫از‬ ‫ﹰ‬‫ﻻ‬‫اﺻﻮ‬ ،SPI ‫روش‬ ‫ﺑﺎ‬ ‫ﻣﻘﺎﻳﺴﻪ‬ ‫در‬ ‫آن‬ ‫ﺑﺎﻻي‬ ‫ﻗﻴﻤﺖ‬
‫ـﺮﻳﺎل‬‫ـ‬‫ﺳ‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫روش‬ ‫ﻛﻪ‬ ‫دارد‬ ‫وﺟﻮد‬ ‫ﻫﻢ‬ ‫٢١وﻟﺖ‬ ‫وﻟﺘﺎژ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ ‫ﺳﺮﻳﺎﻟﻲ‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫روش‬ ،‫ﻗﺒﻞ‬ ‫روش‬ ‫دو‬ ‫ﺑﺮ‬ ‫ﻋﻼوه‬
.‫ﻧﻤﻲﻛﻨﻴﻢ‬ ‫اﺷﺎره‬ ‫آن‬ ‫ﺑﻪ‬ ‫اﻳﻨﺠﺎ‬ ‫در‬ ،‫ﻣﻲرود‬ ‫ﻛﺎر‬ ‫ﺑﻪ‬ ‫ﭘﺎﻳﻪ‬ ٨ ‫ﺗﺮاﺷﻪﻫﺎي‬ ‫ﺑﺮاي‬ ‫ﺗﻨﻬﺎ‬ ‫روش‬ ‫اﻳﻦ‬ ‫ﻛﻪ‬ ‫آﻧﺠﺎﻳﻲ‬ ‫از‬ .‫ﻣﻲﺷﻮد‬ ‫ﻧﺎﻣﻴﺪه‬ ‫ﺑﺎﻻ‬ ‫وﻟﺘﺎژ‬
‫ﻫـﻢ‬ ‫را‬ ‫ﺷـﺪه‬ ‫ﻧﻮﺷـﺘﻪ‬ ‫ﺑﺮﻧـﺎﻣﻪ‬ ‫ﺻﺤـﺖ‬ ،‫ﺗﺮاﺷـﻪ‬ ‫ﺑﺮﻧﺎﻣـﻪرﻳﺰي‬ ‫ـﺮ‬‫ـ‬‫ﺑ‬ ‫ﻋﻼوه‬ ‫ﻣﻲﺗﻮاﻧﻴﻢ‬ SPI ‫ﭘﺮوﺗﻜﻞ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ ،ISP ‫روش‬ ‫در‬
‫ﺧـﻂ‬ ‫ﻳـﻚ‬ ‫و‬ ‫ﺧﺮوﺟـﻲ‬ ‫ﺧـﻂ‬ ‫ﻳـﻚ‬ ،‫ورودي‬ ‫ﺧـﻂ‬ ‫ﻳـﻚ‬ ،‫دارﻳــﻢ‬ ‫اﺣﺘﻴﺎج‬ ‫ﺳﻴﮕﻨﺎل‬ ‫ﺳﻪ‬ ‫ﺑﻪ‬ ‫ﺗﻨﻬﺎ‬ ‫روش‬ ‫اﻳﻦ‬ ‫در‬ .(verify)‫دﻫﻴﻢ‬ ‫ﺗﺸﺨﻴﺺ‬
‫وﻟﺘـﺎژ‬ ‫ﺑــﻪ‬ ‫ﺷﻮدﺿﻤﻨﺎ‬ ‫داﺷﺘﻪ‬ ‫ﻧﮕﻪ‬ (‫ﻣﻨﻄﻘﻲ‬ ‫ﭘﺎﻳﻴﻦ)ﺻﻔﺮ‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫ﺣﻴﻦ‬ ‫در‬ ‫ﺑﺎﻳﺪ‬ ‫ﻫﻢ‬ ‫ﺗﺮاﺷﻪ‬ ‫در‬ RESET ‫ﭘﻴﻦ‬ ،‫اﻳﻦ‬ ‫ﺑﺮ‬ ‫ﻋﻼوه‬ .Clock
‫ﻗـﺎﺑﻠﻴﺖ‬ ‫از‬ ‫ﹰ‬‫ﻼ‬‫اﺻـ‬ ‫آﻧـﻬﺎ‬ ‫از‬ ‫ﺑﻌﻀـﻲ‬ ‫ﺣﺘــﻲ‬ ‫و‬ ‫ﻧﺪارﻳﻢ‬ ‫را‬ ‫ﻓﻴﻮزﻫﺎ‬ ‫ﺗﻨﻈﻴﻢ‬ ‫اﻣﻜﺎن‬ ‫ﺗﺮاﺷﻪﻫﺎ‬ ‫از‬ ‫ﺑﻌﻀﻲ‬ ‫در‬ ‫ﺣﺎل‬ ‫اﻳﻦ‬ ‫ﺑﺎ‬ .‫ﻧﺪارﻳﻢ‬ ‫ﻧﻴﺎزي‬ ‫ﻫﻢ‬ ‫٢١وﻟﺖ‬
.‫ﺷﻮﻧﺪ‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫ﻣﻮازي‬ ‫روش‬ ‫ﺑﻪ‬ ‫ﺑﺎﻳﺪ‬ ‫ﺗﺮاﺷﻪﻫﺎﻳﻲ‬ ‫ﭼﻨﻴﻦ‬ .‫ﻧﻤﻲﻛﻨﻨﺪ‬ ‫ﻫﻢ‬ ‫ﺣﻤﺎﻳﺖ‬ SPI
ISP ‫واﺳﻄﻪﻫﺎي‬
Serial Peripheral Interface
١
١٤
ISP ‫روش‬ ‫ﺑﻪ‬ ‫رﻳﺰى‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ٢ -٢ ‫ﺷﮑﻞ‬
‫ﻣـﺎ‬ ‫ﺑـﺮاي‬ ‫ﻧﺎدرﺳـﺘﻲ‬ ‫ﻣﻌﻨــﻲ‬ ‫اﺳﺖ‬ ‫ﻣﻤﻜﻦ‬ ‫ﻣﻲروﻧﺪ‬ ‫ﻛﺎر‬ ‫ﺑﻪ‬ ‫اﻏﻠﺐ‬ ‫ﻛﻪ‬ ”‫ﻣﻮازي‬ ‫و‬ ‫ﺳﺮﻳﺎل‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫“واﺳﻄﻪﻫﺎي‬ ‫ﻣﺜﻞ‬ ‫ﻋﺒﺎراﺗﻲ‬
‫ﭘﻮرﺗـﻬﺎي‬ ‫ﺑـﻪ‬ ‫ﺑﻘﻴـﻪ‬ ‫ـﻪ‬‫ـ‬‫ﻛ‬ ‫ﺻﻮرﺗﻲ‬ ‫در‬ ‫ﻣﻲﻛﻨﻨﺪ‬ ‫اﺳﺘﻔﺎده‬ ‫ﻛﺎﻣﭙﻴﻮﺗﺮ‬ ‫ﻣﻮازي‬ ‫ﭘﻮرت‬ ‫از‬ ،ISP ‫واﺳﻂ‬ ‫ﻣﻮﻟﺪﻫﺎي‬ ‫از‬ ‫ﺑﻌﻀﻲ‬ ‫ﻛﻪ‬ ‫ﭼﺮا‬ ،‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬
(٢-٢ ‫ﻣﻲﻛﻨﻨﺪ.)ﺷﻜﻞ‬ ‫اﺳﺘﻔﺎده‬ ‫ﺳﺮﻳﺎل‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫روش‬ ‫از‬ ‫آﻧﻬﺎ‬ ‫دوي‬ ‫ﻫﺮ‬ ‫وﻟﻲ‬ ،‫ﻣﻲﺷﻮﻧﺪ‬ ‫ﻣﺘﺼﻞ‬ (COM)‫ﻛﺎﻣﭙﻴﻮﺗﺮ‬ ‫ﺳﺮﻳﺎل‬
‫ﻫـﻢ‬ ‫ﻓﻌـﺎل‬ ‫ﻋﻨــﺎﺻﺮ‬ ‫ﺑﻪ‬ ‫اﺣﺘﻴﺎﺟﻲ‬ ‫ﻫﻴﭻ‬ ‫ﺣﺘﻲ‬ ‫آﻧﻬﺎ‬ ‫اﻧﻮاع‬ ‫از‬ ‫ﺑﻌﻀﻲ‬ .‫ﻫﺴﺘﻨﺪ‬ ‫ﺳﺎدهﺗﺮ‬ ‫ﺑﺴﻴﺎر‬ ‫ﻣﻮازي‬ ‫ﭘﻮرت‬ ‫ﺑﺮاي‬ ISP ‫واﺳﻄﻪﻫﺎي‬
‫اﻛــﺜﺮ‬ ‫ﺑﻨﺎﺑﺮاﻳﻦ‬ .‫ﺷﻮد‬ ‫ﻣﺸﻜﻞ‬ ‫اﻳﺠﺎد‬ ‫ﺑﺎﻋﺚ‬ ‫اﺳﺖ‬ ‫ﻣﻤﻜﻦ‬ ‫ﻣﻮازي‬ ‫ﭘﻮرت‬ ‫ﺑﻪ‬ ‫ﻣﺪار‬ ‫ﻣﺴﺘﻘﻴﻢ‬ ‫اﺗﺼﺎل‬ ‫ﻛﻪ‬ ‫ﻛﻨﻴﺪ‬ ‫ﺗﺼﻮر‬ ‫ﻣﻲﺗﻮاﻧﻴﺪ‬ ‫ﺷﻤﺎ‬ ‫وﻟﻲ‬ ‫ﻧﺪارﻧﺪ‬
‫و‬ ‫ﻛﻮﺗــﺎه‬ ‫اﺗﺼﺎل‬ ‫ﻣﻘﺎﺑﻞ‬ ‫در‬ ‫ﻣﻮازي‬ ‫ﭘﻮرت‬ .‫ﻧﻴﺴﺖ‬ ‫اﻳﻤﻦ‬ ‫ﭼﻨﺪان‬ ‫ﻫﻢ‬ ‫ﻫﻨﻮز‬ ‫ﺣﺎل‬ ‫اﻳﻦ‬ ‫ﺑﺎ‬ ‫وﻟﻲ‬ .‫ﻣﻲﻛﻨﻨﺪ‬ ‫اﺳﺘﻔﺎده‬ ‫ﺧﻂ‬ ‫دراﻳﻮ‬ ‫ﻳﻚ‬ ‫از‬ ‫واﺳﻄﻪﻫﺎ‬
.‫ﺑﺒﻴﻨﺪ‬ ‫آﺳﻴﺐ‬ ‫ﭘﻮرت‬ ،‫ﺑﻮرد‬ ‫ﺗﻐﺬﻳﻪ‬ ‫وﺻﻞ‬ ‫و‬ ‫ﻗﻄﻊ‬ ‫ﺑﺎ‬ ‫اﺳﺖ‬ ‫ﻣﻤﻜﻦ‬ ‫و‬ ‫ﻧﻴﺴﺖ‬ ‫ﻣﻘﺎوم‬ ‫ﭼﻨﺪان‬ ‫ﺑﺎر‬ ‫اﺿﺎﻓﻪ‬ ‫ﻳﺎ‬
‫وﺟـﻮد‬ COM ‫ﭘﻮرت‬ ‫ﺑﺮاي‬ ‫واﺳﻂ‬ ‫ﻣﺪار‬ ‫ﻧﻮع‬ ‫دو‬ .‫ﻣﻲﮔﺮدد‬ ‫ﺣﻔﺎﻇﺖ‬ ‫ﺧﻮﺑﻲ‬ ‫ﺑﻪ‬ ‫ﻛﺎﻣﭙﻴﻮﺗﺮ‬ ‫ﺳﺮﻳﺎل‬ ‫ﭘﻮرت‬ ،‫ﻣﻮازي‬ ‫ﭘﻮرت‬ ‫ﻣﻘﺎﺑﻞ‬ ‫در‬
‫و‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫دﺳﺘﻮرات‬ ،‫دوم‬ ‫ﻧﻮع‬ .‫ﻣﻲﻛﻨﺪ‬ ‫اﻳﺠﺎد‬ ‫را‬ ‫ﻻزم‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫ﭘﺎﻟﺴﻬﺎي‬ ،‫ﭘﻮرت‬ ‫ﺧﻄﻮط‬ ‫از‬ ‫ﻣﺴﺘﻘﻴﻢ‬ ‫اﺳﺘﻔﺎدة‬ ‫ﺑﺎ‬ ‫ﺳﺎدهﺗﺮ‬ ‫ﻧﻮع‬ .‫دارد‬
‫ﻣــﺪار‬ ‫از‬ ‫ﻧﻮع‬ ‫اﻳﻦ‬ .‫ﻣﻲﻛﻨﺪ‬ ‫ﺗﻮﻟﻴﺪ‬ ‫را‬ ‫ﻻزم‬ ‫ﭘﺎﻟﺴﻬﺎي‬ ‫و‬ ‫داده‬ ‫ﺗﻐﻴﻴﺮ‬ ‫را‬ ‫آﻧﻬﺎ‬ ‫واﺳﻂ‬ ‫ﻣﺪار‬ ‫ﻛﻪ‬ ،‫ﻣﻲﻓﺮﺳﺘﺪ‬ ‫واﺳﻄﻪاي‬ ‫ﻣﺪار‬ ‫ﺑﻪ‬ ‫را‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫اﻃﻼﻋﺎت‬
.‫ﻣﻲﮔﺮدد‬ ‫ﺗﺄﻣﻴﻦ‬ ‫ﻣﻴﻜﺮوﻛﻨﺘﺮوﻟﺮ‬ ‫ﻳﻚ‬ ‫ﻛﻤﻚ‬ ‫ﺑﻪ‬ ‫ﹰ‬‫ﻻ‬‫اﺻﻮ‬ ‫ﻛﻪ‬ ‫دارد‬ ‫ﻧﻴﺎز‬ ‫ﻫﻢ‬ ‫ﭘﺮدازش‬ ‫ﺗﻮاﻧﺎﻳﻲ‬ ‫ﻧﻮﻋﻲ‬ ‫ﺑﻪ‬ ‫واﺳﻂ‬
‫ﭘﻮرﺗـﻬﺎي‬ ‫ﺑـﻪ‬ ‫ﺣﺘـﻲ‬ ‫ﻛـﻪ‬ ‫ﻛﻴﻔـﻲ‬ ‫ﻛﺎﻣﭙﻴﻮﺗﺮﻫــﺎي‬ ‫ﺑﺎ‬ ‫ﻣﻲﻛﻨﺪ‬ ‫ﺣﺮﻛﺖ‬ ١
USB ‫ﺳﻤﺖ‬ ‫ﺑﻪ‬ ‫ﻛﺎﻣﭙﻴﻮﺗﺮ‬ ‫ﺻﻨﻌﺖ‬ ‫ﻛﻪ‬ ‫آﻧﺠﺎﻳﻲ‬ ‫از‬
‫وﺟـﻮد‬ ‫ﻧـﻴﺰ‬ USB ‫ﻛﻤــﻚ‬ ‫ﺑﻪ‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫ﺑﺮاي‬ ‫آﻣﺎده‬ ‫ﺳﺨﺖاﻓﺰار‬ .‫ﺑﻮد‬ ‫ﺧﻮاﻫﺪ‬ ‫ﻣﻬﻢ‬ ‫ﺑﺴﻴﺎر‬ ‫ارﺗﺒﺎط‬ ‫اﻳﻦ‬ ،‫ﻧﺸﺪهاﻧﺪ‬ ‫ﻣﺠﻬﺰ‬ ‫ﻣﻮازي‬ ‫و‬ ‫ﺳﺮﻳﺎل‬
.‫ﻛﺮد‬ ‫ﻧﺨﻮاﻫﻴﻢ‬ ‫ﺻﺤﺒﺘﻲ‬ ‫آن‬ ‫ﺑﻪ‬ ‫راﺟﻊ‬ ‫ﻛﻪ‬ ‫دارد‬
‫ﻓـﺮا‬ ‫را‬ AVR ‫ﺑـﺎ‬ ‫ﻛـﺎر‬ ‫دارﻧـﺪ‬ ‫ـﺪ‬‫ـ‬‫ﻗﺼ‬ ‫ﻛﻪ‬ ‫ﻛﺎري‬ ‫ﺗﺎزه‬ ‫اﻓﺮاد‬ ‫ﺑﺮاي‬ ‫را‬ ‫آﻣﺎدهاي‬ ‫ﻛﻴﺘﻬﺎي‬ ،AVR ‫ﺗﻮﻟﻴﺪ‬ ‫از‬ ‫ﭘﺲ‬ ،Atmel ‫ﺷﺮﻛﺖ‬
‫را‬ AVR ‫اﻣﻜﺎﻧـﺎت‬ ‫ـﺎم‬‫ـ‬‫ﺗﻤ‬ ‫ﻛﺎرﮔﻴﺮي‬ ‫ﺑﻪ‬ ‫اﻣﻜﺎن‬ ،‫ﻛﻴﺘﻬﺎ‬ ‫اﻳﻦ‬ ‫ﻛﻤﻚ‬ ‫ﺑﻪ‬ ‫ﻓﺮد‬ ‫ﺗﺎ‬ ‫ﺷﺪهاﻧﺪ‬ ‫ﻃﺮاﺣﻲ‬ ‫ﮔﻮﻧﻪاي‬ ‫ﺑﻪ‬ ‫ﻛﻴﺘﻬﺎ‬ ‫اﻳﻦ‬ .‫ﻧﻤﻮد‬ ‫ﻃﺮاﺣﻲ‬ ‫ﮔﻴﺮﻧﺪ‬
‫دﺳـﺘﻪ‬ ‫ﭼﻨـﺪ‬ ‫ﺑـﻪ‬ ‫ـﻬﺎ‬‫ـ‬‫ﻛﻴﺘ‬ ‫اﻳﻦ‬ .‫اﺳﺖ‬ ‫ﻛﺎﻣﭙﻴﻮﺗﺮ‬ ‫ﺑﻪ‬ ‫آﻧﻬﺎ‬ ‫اﺗﺼﺎل‬ ‫ﺷﻴﻮه‬ ‫ﺗﻨﻬﺎ‬ ،‫اﺳﺖ‬ ‫ﻣﻬﻢ‬ ‫ﻣﺎ‬ ‫ﺑﺮاي‬ ‫ﻛﻴﺘﻬﺎ‬ ‫اﻳﻦ‬ ‫ﻣﻮرد‬ ‫در‬ ‫آﻧﭽﻪ‬ ‫وﻟﻲ‬ .‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬
:‫ﻣﻲﻛﻨﻴﻢ‬ ‫ذﻛﺮ‬ ‫را‬ ‫آﻧﻬﺎ‬ ‫از‬ ‫ﻣﻮرد‬ ‫ﭼﻨﺪ‬ ‫اداﻣﻪ‬ ‫در‬ .‫ﺷﺪهاﻧﺪ‬ ‫ﻃﺮاﺣﻲ‬ ‫ﺗﺮاﺷﻪﻫﺎ‬ ‫اﻧﻮاع‬ ‫از‬ ‫ﺗﻌﺪادي‬ ‫ﺑﺎ‬ ‫ﻛﺎر‬ ‫ﺑﺮاي‬ ‫ﺗﻨﻬﺎ‬ ‫ﻳﻚ‬ ‫ﻫﺮ‬ ‫ﻛﻪ‬ ‫ﻣﻲﺷﻮﻧﺪ‬ ‫ﺗﻘﺴﻴﻢ‬
Kanda systems STK200+/300
Universal Serial Bus
١
١٥
Atmel STK500/AVRISP
Dentronics DT006
Vogel Elektronik VTEC-ISP
Futurlec JRAVR
Microtronics ATCPU/Mega2000
STK200 .‫اﺳـﺖ‬ STK200/STK300 ‫ـﻮع‬‫ـ‬‫ﻧ‬ ‫در‬ ،ISP ‫ارﺗﺒﺎط‬ ‫ﺑﺮﻗﺮاري‬ ‫ﺑﺮاي‬ ‫واﺳﻂ‬ ‫ﻣﺪار‬ ‫ﻣﺎﺳﺖ‬ ‫ﻣﺪﻧﻈﺮ‬ ‫اﻳﻨﺠﺎ‬ ‫در‬ ‫آﻧﭽﻪ‬
‫ﺑﺴـﻴﺎر‬ ‫ﺳــﺎﺧﺘﺎر‬ ‫ﺑﻮرد‬ ‫دو‬ ‫اﻳﻦ‬ .‫ﺷﺪهاﻧﺪ‬ ‫ﻃﺮاﺣﻲ‬ ATMega ‫ﭘﺮدازﻧﺪهﻫﺎي‬ ‫ﺑﺎ‬ ‫ﻛﺎر‬ ‫ﺑﺮاي‬ STK300 ‫و‬ AVR ‫ﭘﺮدازﻧﺪهﻫﺎي‬ ‫ﺑﺎ‬ ‫ﻛﺎر‬ ‫ﺑﺮاي‬
‫ﺷﻜﻞ‬ ‫در‬ ‫ﻣﺪﻟﻬﺎ‬ ‫اﻳﻦ‬ ‫ﺑﻪ‬ ‫ﻣﺮﺑﻮط‬ ‫ﻣﺪار‬ .‫ﻣﻲﺑﺎﺷﺪ‬ ‫ﺑﻮرد‬ ‫ﺷﻨﺎﺳﺎﻳﻲ‬ ‫ﺑﻪ‬ ‫ﻣﺮﺑﻮط‬ ‫ﺳﻴﻢ‬ ‫ﻗﺮارﮔﻴﺮي‬ ‫ﻣﺤﻞ‬ ‫در‬ ‫آﻧﻬﺎ‬ ‫ﺑﻴﻦ‬ ‫ﺗﻔﺎوت‬ ‫ﺗﻨﻬﺎ‬ ‫و‬ ‫دارﻧﺪ‬ ‫ﻣﺸﺎﺑﻬﻲ‬
‫از‬ ‫ﺑﻴـﺶ‬ ‫ـﻜﻞ‬‫ـ‬‫ﺷ‬ ‫ﻛﻪ‬ ‫ﭼﺮا‬ ،‫ﺑﺎﺷﺪ‬ ‫ﻓﺮﻳﺒﻨﺪه‬ ‫ﻧﮕﺎه‬ ‫اوﻟﻴﻦ‬ ‫در‬ ‫اﺳﺖ‬ ‫ﻣﻤﻜﻦ‬ .‫ﻧﻴﺴﺖ‬ ‫ﭘﻴﭽﻴﺪه‬ ‫ﻫﻢ‬ ‫ﭼﻨﺪان‬ ‫اﻟﺒﺘﻪ‬ ‫ﻛﻪ‬ ‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫داده‬ ‫ﻧﺸﺎن‬ (٣-٢)
.‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﭘﻴﭽﻴﺪه‬ ‫ﻧﻴﺎز‬ ‫ﺣﺪ‬
0 0 0
0
0
10
CONNECTOR DB25
13
25
12
24
11
23
10
22
9
21
8
20
7
19
6
18
5
17
4
16
3
15
2
14
1
74HC244
3
5
7
9
12
14
16
18
17
15
13
11
8
6
4
2
20
19
1
2Y4
2Y3
2Y2
2Y1
1Y4
1Y3
1Y2
1Y1
2A4
2A3
2A2
2A1
1A4
1A3
1A2
1A1
VCC
2OE
1OE
ATMega32L
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
20
19
PA0(ADC0)
PA1(ADC1)
PA2(ADC2)
PA3(ADC3)
PA4(ADC4)
PA5(ADC5)
PA6(ADC6)
PA7(ADC7)
AREF
GND
AVCC
PC7(TOSC2)
PC6(TOSC1)
PC5(TDI)
PC4(TDO)
PC3(TMS)
PC2(TCK)
PC1(SDA)
PC0(SCL)
PD7(OC2)
PB0(XCK-T0)
PB1(T1)
PB2(INT2-AIN0)
PB3(OC0-AIN1)
PB4(SS)
PB5(MOSI)
PB6(MISO)
PB7(SCK)
RESET
VCC
GND
XTAL2
XTAL1
PD0(RXD)
PD1(TXD)
PD2(INT0)
PD3(INT1)
PD4(OC1B)
PD6(ICP)
PD5(OC1A)
4MHZ
100k
SW1
0.1u
27pf
27pf
100k
0.1u
GND
VCC=+5v
VCC=+5v
Reset Circuit
Minimum Hardware for working with AVRs
ISP Adapter
AVR ‫ﺑﺎ‬ ‫ﮐﺎر‬ ‫ﺑﺮاى‬ ‫ﻻزم‬ ‫اﻓﺰار‬ ‫ﺳﺨﺖ‬ ‫ﺣﺪاﻗﻞ‬ ٣ -٢ ‫ﺷﮑﻞ‬
‫ﺑـﺎﻳﺪ‬ ‫ﺑﺎﺷــﺪ‬ ‫ﻧﺪاﺷﺘﻪ‬ ‫وﺟﻮد‬ ‫ﺑﺎﻓﺮ‬ ‫ﺳﻲ‬ ‫آي‬ ‫اﮔﺮ‬ ‫وﻟﻲ‬ ،‫ﺷﻮد‬ ‫ﺳﺎﺧﺘﻪ‬ ‫ﻫﻢ‬ ‫اﻟﻜﺘﺮوﻧﻴﻜﻲ‬ ‫ﻗﻄﻌﻪ‬ ‫ﻫﻴﭻ‬ ‫ﺑﺪون‬ ‫ﻣﻲﺗﻮاﻧﺪ‬ ‫ﺣﺘﻲ‬ ‫واﺳﻄﻪ‬ ‫اﻳﻦ‬
‫ﺑــﺎﻳﺪ‬ ‫ﻫﻢ‬ ‫ﻫﻨﻮز‬ ،‫ﻣﺪار‬ ‫اﻳﻦ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺻﻮرت‬ ‫در‬ ‫اﻟﺒﺘﻪ‬ .‫ﻧﻜﻨﻴﻢ‬ ‫ﻣﺘﺼﻞ‬ ‫دﻳﮕﺮي‬ ‫ﻣﺪار‬ ‫ﺑﻪ‬ ‫را‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫ﺑﻪ‬ ‫ﻣﺮﺑﻮط‬ ‫ﭘﻴﻨﻬﺎي‬ ‫ﺗﺎ‬ ‫ﺑﺎﺷﻴﻢ‬ ‫ﻣﺮاﻗﺐ‬
١٦
‫ﻛـﻪ‬ ‫ﺷـﻮﻳﻢ‬ ‫ﻣﻄﻤﺌــﻦ‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫زﻣﺎن‬ ‫در‬ ‫ﺑﺎﻳﺪ‬ ‫ﻣﺎ‬ ‫ﻛﻪ‬ ‫اﺳﺖ‬ ‫واﺿﺢ‬ .‫ﻧﻤﺎﻳﻴﻢ‬ ‫اﺣﺘﻴﺎط‬ ٣
SCK ‫و‬٢
MISO، ١
MOSI ‫ﭘﻴﻨﻬﺎي‬ ‫ﻣﻮرد‬ ‫در‬
.‫ﺑﺎﺷﻨﺪ‬ ‫ﻧﺸﺪه‬ ‫ﻣﺘﺼﻞ‬ Vcc ‫ﻳﺎ‬ GND ‫ﺑﻪ‬ ‫دﻳﮕﺮ‬ ‫ﺧﺎرﺟﻲ‬ ‫وﺳﻴﻠﻪﻫﺎي‬ ‫ﺗﻮﺳﻂ‬ ‫ﭘﻴﻨﻬﺎ‬ ‫اﻳﻦ‬
‫اﻳـﻦ‬ ‫در‬ .‫ﻣﻲﻛﻨــﺪ‬ ‫ﻋﻤﻞ‬ ‫ﻛﻨﻨﺪه‬ ‫اﻳﺰوﻟﻪ‬ ‫ﻣﺪار‬ ‫ﻳﻚ‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ 74HC244 ،‫ﻧﻴﺴﺖ‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫ﺣﺎﻟﺖ‬ ‫در‬ AVR ‫ﻛﻪ‬ ‫زﻣﺎﻧﻲ‬ ‫در‬
.‫ﮔﺬاﺷﺖ‬ ‫ﻧﺨﻮاﻫﻨﺪ‬ ‫ﺗﺄﺛﻴﺮ‬ ‫ﺗﺮاﺷﻪ‬ ‫ﻋﻤﻠﻜﺮد‬ ‫ﺑﺮ‬ ‫ﻛﻪ‬ ‫ﻃﻮري‬ ‫ﺑﻪ‬ ،‫ﻣﻲﺷﻮﻧﺪ‬ ‫ﺑﺎﻻ‬ ‫اﻣﭙﺪاﻧﺲ‬ ‫ﺧﺮوﺟﻲﻫﺎ‬ ‫ﺗﻤﺎم‬ ‫ﺣﺎﻟﺖ‬
‫را‬ ‫ﻣﻮردﻧﻈـﺮ‬ ‫ﺳﻴﺴـﺘﻢ‬ ‫از‬ RESET‫ﺧـﻂ‬ ‫و‬ ‫ﻣﻲﺷــﻮد‬ ‫ﻓﻌﺎل‬ 74HC244 ‫ﭘﺎﻳﻴﻦ‬ ‫ﻧﻴﻤﺔ‬ ،‫ﮔﺮدد‬ ‫اﻧﺘﺨﺎب‬ ISP ‫ﺣﺎﻟﺖ‬ ‫ﻛﻪ‬ ‫زﻣﺎﻧﻲ‬
‫دﺷـﺎرژ‬ ‫ﺗﺮاﺷـﻪ‬ ‫در‬ RESET ‫ﻣـﺪار‬ ‫ﺑــﻪ‬ ‫ﻣﺮﺑﻮط‬ ‫ﺧﺎزن‬ ‫ﺑﺎﻳﺪ‬ ‫ﻛﻪ‬ ‫آﻧﺠﺎﻳﻲ‬ ‫از‬ ‫و‬ ‫ﻣﻲﮔﻴﺮد‬ ‫ﺻﻮرت‬ ‫ﺑﺎﻓﺮ‬ ‫ﺳﻪ‬ ‫ﺗﻮﺳﻂ‬ ‫ﻋﻤﻞ‬ ‫اﻳﻦ‬ .‫ﻣﻲﻛﻨﺪ‬ ‫زﻣﻴﻦ‬
MOSI, ،SCK ‫ﺧﻄﻮط‬ ‫ﻛﻪ‬ ‫اﻳﻦ‬ ‫ﻓﺮض‬ ‫ﺑﺎ‬ ،‫ﮔﺮﻓﺖ‬ ‫ﻗﺮار‬ RESET ‫ﺣﺎﻟﺖ‬ ‫در‬ ‫ﺗﺮاﺷﻪ‬ ‫ﻛﻪ‬ ‫زﻣﺎﻧﻲ‬ .‫ﻣﻲﺷﻮد‬ ‫اﻧﺠﺎم‬ ‫ﺧﻮﺑﻲ‬ ‫ﺑﻪ‬ ‫ﻛﺎر‬ ‫اﻳﻦ‬ ،‫ﮔﺮدد‬
‫و‬ ‫ﮔﺮدد‬ ‫ﻓﻌـﺎل‬ 74HC244 ‫ﺑـﺎﻻﻳﻲ‬ ‫ﻧﻴـﻤﻪ‬ ‫ﺗـﺎ‬ ‫اﺳـﺖ‬ ‫آن‬ ‫ـﺎن‬‫ـ‬‫زﻣ‬ ،‫ﺑﺎﺷﻨﺪ‬ ‫ﻧﺪاﺷﺘﻪ‬ ‫ﻗﺮار‬ ‫ﺟﺎﻧﺒﻲ‬ ‫ﻣﺪار‬ ‫ﻫﻴﭻ‬ ‫ﺗﺄﺛﻴﺮ‬ ‫ﺗﺤﺖ‬ ،‫ﺗﺮاﺷﻪ‬ ‫در‬ MISO
.‫ﻧﻤﺎﻳﺪ‬ ‫دراﻳﻮ‬ ‫را‬ MOSI, MOSI ‫ﺧﻄﻮط‬
‫ﻛﻮﺗﺎه‬ ‫اﺗﺼﺎل‬ .‫ﻣﻲﺷﻮﻧﺪ‬ ‫اﺳﺘﻔﺎده‬ ‫ﭘﺮوﮔﺮاﻣﺮ‬ ‫ﺷﻨﺎﺳﺎﻳﻲ‬ ‫ﻛﺎﻣﭙﻴﻮﺗﺮ،ﺟﻬﺖ‬ ‫ﺗﻮﺳﻂ‬ ‫ﭘﺮﻳﻨﺘﺮ‬ ‫ﭘﻮرت‬ ‫درﻛﺎﻧﻜﺘﻮر‬ ‫ﻣﻮﺟﻮد‬ ‫ﻛﻮﺗﺎه‬ ‫اﺗﺼﺎل‬ ‫دو‬
STK300 ‫ﺑﺮاي‬ ‫ﺗﺸﺨﻴﺺ‬ ‫ﺧﻂ‬ ‫ﻋﻨﻮان‬ ‫٣١ﺑﻪ‬ ‫و‬ ٣ ‫ﭘﻴﻨﻬﺎي‬ ‫ﻛﻮﺗﺎه‬ ‫اﺗﺼﺎل‬ ‫و‬ STK200 ‫ﺑﺮاي‬ ‫ﺗﺸﺨﻴﺺ‬ ‫ﺧﻂ‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ ١٢ ‫و‬ ٢ ‫ﭘﻴﻨﻬﺎي‬
.‫ﺑﺎﺷﻨﺪ‬ ‫داﺷﺘﻪ‬ ‫وﺟﻮد‬ ‫ﻫﻢ‬ ‫ﻳﻜﺪﻳﮕﺮ‬ ‫ﺑﺎ‬ ‫ﻫﻤﺰﻣﺎن‬ ‫ﻃﻮر‬ ‫ﺑﻪ‬ ‫ﻣﻲﺗﻮاﻧﻨﺪ‬ ‫آﻧﻬﺎ‬ ‫دوي‬ ‫ﻫﺮ‬ ‫و‬ ‫ﻣﻲروﻧﺪ‬ ‫ﻛﺎر‬ ‫ﺑﻪ‬
‫ﺑﺮﻧﺎﻣـﻪ‬ ‫ﻛﻨﻴـﺪ،ﺑـﺮاي‬ ‫اﺳـﺘﻔﺎده‬ ‫ـﮕﺮي‬‫ـ‬‫دﻳ‬ ‫ﺗﺮاﺷﻪ‬ ‫از‬ Atmega32L ‫ﺟﺎي‬ ‫ﺑﻪ‬ ‫ﺗﺎ‬ ‫دارﻳﺪ‬ ‫ﻗﺼﺪ‬ ‫ﻛﻪ‬ ‫ﺻﻮرﺗﻲ‬ ‫در‬ ،‫اﺳﺖ‬ ‫ذﻛﺮ‬ ‫ﺑﻪ‬ ‫ﻻزم‬
.‫ﻧﻤﺎﻳﻴﺪ‬ ‫ﻣﺘﺼﻞ‬ ISP ‫ﻛﺎﺑﻞ‬ ‫ﺑﻪ‬ ‫ﻗﺒﻞ‬ ‫ﻣﺪار‬ ‫ﻫﻤﺎﻧﻨﺪ‬ ‫را‬ MOSI, MISO, SCK, RESET ‫ﻫﺎي‬ ‫ﭘﺎﻳﻪ‬ ‫ﺗﺎ‬ ‫اﺳﺖ‬ ‫ﻛﺎﻓﻲ‬ ‫ﺗﻨﻬﺎ‬ ‫آن‬ ‫رﻳﺰي‬
‫ﺑـﻪ‬ ‫ﺑـﺎﻳﺪ‬ ‫ﻧﻈـﺮ‬ ‫ﻣـﻮرد‬ ‫ﺑـﻮرد‬ ،‫ﺷــﻮد‬ ‫اﺳﺘﻔﺎده‬ ISP ‫ﻣﺪ‬ ‫در‬ AVR ‫از‬ ‫اﺳﺖ‬ ‫ﻗﺮار‬ ‫ﻛﻪ‬ ‫زﻣﺎﻧﻲ‬ ،‫ﺷﺪ‬ ‫ﮔﻔﺘﻪ‬ ‫ﻫﻢ‬ ‫ﹰ‬‫ﻼ‬‫ﻗﺒ‬ ‫ﻛﻪ‬ ‫ﻃﻮر‬ ‫ﻫﻤﺎن‬
‫ﻣﻤﻜـﻦ‬ ‫ﺣــﺎل‬ ‫اﻳﻦ‬ ‫ﺑﺎ‬ ،‫ﮔﺮدﻧﺪ‬ ‫ذﺧﻴﺮه‬ ‫ﻋﻤﻞ‬ ‫اﻳﻦ‬ ‫ﺑﺮاي‬ (MOSI, MISO, SCK, RESET) ISP ‫ﭘﻴﻨﻬﺎي‬ ‫ﺗﺎ‬ ‫ﺷﻮد‬ ‫ﻃﺮاﺣﻲ‬ ‫ﮔﻮﻧﻪاي‬
.‫ﻧﺒﺎﺷﺪ‬ ‫ﻛﺎﻓﻲ‬ ‫ﭘﻮرﺗﻬﺎ‬ ‫ﺗﻌﺪاد‬ ‫ﻋﻤﻞ‬ ‫در‬ ‫اﺳﺖ‬
‫ﺑﻪ‬ I/O ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ ‫ﻧﻴﺰ‬ ‫و‬ ISP‫ﻋﻤﻞ‬ ‫ﺑﺮاي‬ ‫ﻣﺸﺘﺮك‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﻣﻲﺗﻮاﻧﻨﺪ‬ ISP ‫ﭘﻴﻨﻬﺎي‬ ‫ﮔﺮدد‬ ‫رﻋﺎﻳﺖ‬ ‫ﻻزم‬ ‫ﻣﻮارد‬ ‫ﻛﻪ‬ ‫ﺻﻮرﺗﻲ‬ ‫در‬
(٤-٢ ‫اﺳﺖ.)ﺷﻜﻞ‬ ‫ﺿﺮوري‬ ‫زﻳﺮ‬ ‫ﻣﻮارد‬ ‫ﮔﺮﻓﺘﻦ‬ ‫درﻧﻈﺮ‬ ‫ﻣﻨﻈﻮر‬ ‫اﻳﻦ‬ ‫ﺑﺮاي‬ .‫روﻧﺪ‬ ‫ﻛﺎر‬
‫ـﻲ‬‫ـ‬‫اﺧﺘﻼﻟ‬ RESET ‫ﻣﺪار‬ ‫ﺻﻮرت‬ ‫اﻳﻦ‬ ‫در‬ ،RESET ‫ﻣﺪار‬ ‫و‬ RESET ‫ﭘﻴﻦ‬ ‫ﺑﻴﻦ‬ ‫ﻣﻘﺎوﻣﺖ‬ ‫ﻳﻚ‬ ‫دادن‬ ‫ﻗﺮار‬ -١
.‫ﻛﺮد‬ ‫ﻧﺨﻮاﻫﺪ‬ ‫اﻳﺠﺎد‬
Master Out Slave In
١
Master In Slave Out
٢
Serial Clock
٣
١٧
ISP ‫ﻣﺪار‬ ‫ﺑﺮاي‬ ‫ﻻزم‬ ‫ﻣﻼﺣﻈﺎت‬ ٤ -٢ ‫ﺷﻜﻞ‬
.‫ﻧﻤﻲدﻫﺪ‬ ‫ﻗﺮار‬ ‫ﺗﺄﺛﻴﺮ‬ ‫ﺗﺤﺖ‬ ‫را‬ ‫دﻳﮕﺮي‬ ‫ﻋﻤﻞ‬ ‫ﻫﻴﭻ‬ ،ISP ‫ﻋﻤﻞ‬ ‫ﻛﻪ‬ ‫ﺷﻮﻳﺪ‬ ‫ﻣﻄﻤﺌﻦ‬ -٢
‫اﺳـﺘﻔﺎده‬ ‫ﻣﻘــﺎوﻣﺖ‬ ‫ازﻳﻚ‬ ‫ﺑﺎﻳﺪ‬ ‫ﻳﺎ‬ ‫و‬ ‫ﻛﻨﻴﺪ‬ ‫ﺧﻮدداري‬ ‫ﺧﺮوﺟﻲ‬ ‫ﻣﺪارﻫﺎي‬ ‫ﻛﺮدن‬ ‫دراﻳﻮ‬ ‫از‬ ،ISP ‫ﻋﻤﻞ‬ ‫ﺣﻴﻦ‬ ‫در‬ -٣
.‫ﻧﻤﺎﻳﻴﺪ‬
.‫ﻛﻨﻴﺪ‬ ‫ﺧﻮدداري‬ ‫ﻣﻲﮔﺬارﻧﺪ‬ ‫ﺗﺄﺛﻴﺮ‬ ISP ‫ﻋﻤﻞ‬ ‫روي‬ ‫ﺑﺮ‬ ‫ﻛﻪ‬ ‫ﺳﻨﮕﻴﻦ‬ ‫ﺑﺎرﻫﺎي‬ ‫اﺗﺼﺎل‬ ‫از‬ -٤
‫ﻛـﻪ‬ ‫آﻧﺠـﺎﻳﻲ‬ ‫از‬ ‫ﻧﻤـﺎﻳﻴﺪ‬ ‫ﺑﺮﻧﺎﻣـﻪرﻳﺰي‬ ISP ‫روش‬ ‫ﺑــﻪ‬ ‫را‬ ATMega128 ‫ﺗﺎ‬ ‫دارﻳﺪ‬ ‫ﻗﺼﺪ‬ ‫ﻛﻪ‬ ‫ﺻﻮرﺗﻲ‬ ‫در‬ ،‫اﺳﺖ‬ ‫ذﻛﺮ‬ ‫ﺑﻪ‬ ‫ﻻزم‬
‫ﺑـﺮوز‬ ‫از‬ ‫ﺟﻠـﻮﮔﻴـﺮي‬ ‫ﺑـﺮاي‬ .‫ﻫﺴــﺘﻨﺪ‬ ‫ﻣﺸﺘﺮك‬ ‫ﺗﺮاﺷﻪ‬ ‫در‬ UART ‫اوﻟﻴﻦ‬ ‫درﻳﺎﻓﺖ‬ ‫و‬ ‫ارﺳﺎل‬ ‫ﺧﻄﻮط‬ ‫ﺑﺎ‬ SPI ‫ﺧﺮوﺟﻲ‬ ‫و‬ ‫ورودي‬ ‫ﺧﻄﻮط‬
.‫ﻣﻲﺷﻮد‬ ‫واﮔﺬار‬ ‫ﺧﻮاﻧﻨﺪه‬ ‫ﺑﻪ‬ ‫ﻣﻄﻠﺐ‬ ‫اﻳﻦ‬ ‫ﻛﻪ‬ ‫ﻣﻲﻛﻨﺪ‬ ‫ﺗﻔﺎوت‬ ‫ﻫﻢ‬ ‫آن‬ ‫ﭘﻴﻨﻬﺎي‬ ‫و‬ ‫ﻣﻲﺷﻮد‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﻴﺸﺘﺮي‬ ‫ﺳﺨﺖاﻓﺰار‬ ‫از‬ ‫ﻣﺸﻜﻞ‬
‫ﺑﺮﻧﺎﻣـﻪرﻳﺰي‬ ‫ﻏــﻴﺮﺻﺤﻴﺢ‬ ‫ﻃﻮر‬ ‫ﺑﻪ‬ ‫را‬ AVR ‫ﻓﻴﻮزﻫﺎي‬ ‫ﺷﻤﺎ‬ ‫ﻛﻪ‬ ‫ﺻﻮرﺗﻲ‬ ‫در‬ ‫ﻛﻨﻴﺪ؛‬ ‫ﺗﻮﺟﻪ‬ ‫ﻫﻢ‬ ‫ﻧﻜﺘﻪ‬ ‫اﻳﻦ‬ ‫ﺑﻪ‬ ‫اﺳﺖ‬ ‫ﻻزم‬ ‫ﭘﺎﻳﺎن‬ ‫در‬
‫ﺑﺮﻧﺎﻣـﻪرﻳﺰي‬ ‫دﻫﻴـﺪ‬ ‫اﻧﺠــﺎم‬ ‫ﻣﻲﺗﻮاﻧﻴﺪ‬ ‫ﺷﻤﺎ‬ ‫ﻛﻪ‬ ‫ﻛﺎرﻫﺎﻳﻲ‬ ‫ﺑﺪﺗﺮﻳﻦ‬ ‫از‬ ‫ﻳﻜﻲ‬ .‫ﺑﻴﻔﺘﺪ‬ ‫ﻛﺎر‬ ‫از‬ ‫داﺧﻠﻲ‬ ‫ﻧﻮﺳﺎﻧﮕﺮ‬ ‫و‬ ‫ﻛﺮﻳﺴﺘﺎل‬ ‫اﺳﺖ‬ ‫ﻣﻤﻜﻦ‬ ‫ﻧﻤﺎﻳﻴﺪ‬
،‫ﻧـﺪارد‬ ‫وﺟــﻮد‬ AVR ‫ﺗﺮاﺷﻪ‬ ‫ﺗﻌﻮﻳﺾ‬ ‫ﺟﺰ‬ ‫راﻫﻲ‬ ‫ﻫﻴﭻ‬ ‫ﺣﺎﻟﺖ‬ ‫اﻳﻦ‬ ‫در‬ .‫اﺳﺖ‬ JTAG, ISP ‫اﻣﻜﺎن‬ ‫ﻛﺮدن‬ ‫ﻏﻴﺮﻓﻌﺎل‬ ‫و‬ ‫ﻓﻴﻮزﻫﺎ‬ ‫ﻏﻴﺮﺻﺤﻴﺢ‬
‫ﻛـﻪ‬ ‫ﺑـﻮد‬ ‫ﺧﻮاﻫـﺪ‬ ‫ﻣﻴﺴــﺮ‬ ‫ﻣﻮازي‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫ﻃﺮﻳﻖ‬ ‫از‬ ‫ﺗﻨﻬﺎ‬ ‫ﻛﺎر‬ ‫اﻳﻦ‬ ‫وﻟﻲ‬ ‫ﺑﺎزﮔﺮداﻧﻴﺪ‬ ‫اول‬ ‫ﺣﺎﻟﺖ‬ ‫ﺑﻪ‬ ‫را‬ ‫آن‬ ‫ﻣﻲﺗﻮاﻧﻴﺪ‬ ‫ﻫﻢ‬ ‫ﻫﻨﻮز‬ ‫ﺷﻤﺎ‬ ‫اﻟﺒﺘﻪ‬
.‫ﻣﻲﻃﻠﺒﺪ‬ ‫را‬ ‫ﺧﻮد‬ ‫ﺧﺎص‬ ‫اﻣﻜﺎﻧﺎت‬ ‫و‬ ‫اﺳﺖ‬ ‫ﻣﺸﻜﻠﻲ‬ ‫ﻛﺎر‬ ‫ﹰ‬‫ﻻ‬‫اﺻﻮ‬
١٨
‫ﺳﻮم‬ ‫ﻓﺼﻞ‬
Codevision AVR ‫ﺑﺎ‬ ‫آﺷﻨﺎﻳﻲ‬
‫ﻛﺪﻫـﺎي‬ ‫ﺧﻮدﻛـﺎر‬ ‫ﺗﻮﻟﻴﺪﻛﻨﻨـﺪة‬ ‫و‬ (١
IDE)‫ﻳﻜﭙﺎرﭼــﻪ‬ ‫ﻳﺎﻓﺘﻪ‬ ‫ﺗﻮﺳﻌﻪ‬ ‫ﻣﺤﻴﻂ‬ ،C ‫ﻛﺎﻣﭙﺎﻳﻠﺮ‬ ‫ﻳﻚ‬ Codevision AVR
.‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﻃﺮاﺣﻲ‬ ATMEL ‫ﺷﺮﻛﺖ‬ ‫ﺳﺎﺧﺖ‬ AVR ‫ﻣﻴﻜﺮوﻛﻨﺘﺮوﻟﺮﻫﺎي‬ ‫ﺑﺎ‬ ‫ﻛﺎر‬ ‫ﺑﺮاي‬ ‫ﻛﻪ‬ ‫اﺳﺖ‬ ‫ﺑﺮﻧﺎﻣﻪ‬
.‫ﺑﺎﺷﺪ‬ ‫اﺟﺮا‬ ‫ﻗﺎﺑﻞ‬ Xp,2000,NT, Me, 98, 95 ‫وﻳﻨﺪوزﻫﺎي‬ ‫در‬ ‫ﻛﻪ‬ ‫ﺷﺪه‬ ‫ﻃﺮاﺣﻲ‬ ‫ﻃﻮري‬ ‫ﺑﺮﻧﺎﻣﻪ‬
‫اﻧﺠـﺎم‬ ‫از‬ ‫ﺑﻌـﺪ‬ ‫را‬ ‫ﻣﻴﻜﺮوﻛﻨﺘﺮوﻟﺮﻫــﺎ‬ ‫ﺑﻪ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻛﺪﻫﺎي‬ ‫اﻧﺘﻘﺎل‬ ‫اﻣﻜﺎن‬ ‫ﻛﻪ‬ ‫ﻣﻲﺷﻮد‬ ‫ﺷﺎﻣﻞ‬ ‫ﻫﻢ‬ ‫را‬ ISP ‫ﭘﺮوﮔﺮاﻣﺮ‬ ‫ﻳﻚ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫اﻳﻦ‬
.‫ﻣﻲﻛﻨﺪ‬ ‫ﻓﺮاﻫﻢ‬ ‫ﻛﺎﻣﭙﺎﻳﻞ‬ ‫ﻋﻤﻞ‬ ‫ﻣﻮﻓﻖ‬
‫ﺗﻮﻟﻴـﺪ‬ ،‫ﻛـﺎرﻛﺘﺮي‬ ‫ـﺎي‬‫ـ‬‫ﻫ‬LCD ‫ﺑﺎ‬ ‫ﻛﺎر‬ ‫ﺑﺮاي‬ ‫دﻗﻴﻘﻲ‬ ‫ﻛﺘﺎﺑﺨﺎﻧﻪﻫﺎي‬ ‫داراي‬ ،‫اﺳﺘﺎﻧﺪارد‬ C ‫ﻛﺘﺎﺑﺨﺎﻧﻪﻫﺎي‬ ‫ﺑﺮ‬ ‫ﻋﻼوه‬ ‫اﻓﺰار‬ ‫ﻧﺮم‬ ‫اﻳﻦ‬
DS1820 ،LM75 ‫ـﺎي‬‫ـ‬‫دﻣ‬ ‫ﺳﻨﺴﻮرﻫﺎي‬ ‫ﺑﺎ‬ ‫ﻛﺎر‬ ، ‫ﺳﻴﻤﻪ‬ ‫ﻳﻚ‬ ‫ارﺗﺒﺎط‬ ،I2
C ‫ﻗﺎﺑﻠﻴﺖ‬ ، SPI ‫ﻗﺎﺑﻠﻴﺖ‬ ،‫ﺗﺮاﺷﻪ‬ ‫ﻣﺼﺮﻓﻲ‬ ‫اﻧﺮژي‬ ‫ﺗﻨﻈﻴﻢ‬ ،‫وﻗﻔﻪ‬
.‫اﺳﺖ‬ ‫ﺳﺮﻳﺎل‬ ‫ﻫﺎي‬EEPROM ‫و‬
Integrated Development Environment
١
١٩
CodevisionAVR ‫اﻓﺰار‬ ‫ﻧﺮم‬ ١ -٣ ‫ﺷﻜﻞ‬
‫اﻳـﻦ‬ .‫ﻣﻲﺷـﻮد‬ ‫ﺷـﺎﻣﻞ‬ ‫ﻫـﻢ‬ ‫را‬ ‫ـﻪ‬‫ـ‬‫ﺑﺮﻧﺎﻣ‬ ‫ﺧﻮدﻛﺎر‬ ‫ﺗﻮﻟﻴﺪﻛﻨﻨﺪه‬ ،CodewizardAVR, CodevisionAVR ‫اﻳﻦ‬ ‫ﺑﺮ‬ ‫ﻋﻼوه‬
‫ﺑـﻪ‬ ‫ـﺎز‬‫ـ‬‫ﻧﻴ‬ ‫ﺑﺪون‬ ... ‫و‬ TWI, SPI, ADC ،‫ﺗﺎﻳﻤﺮﻫﺎ‬ ‫ﻗﺒﻴﻞ‬ ‫از‬ ‫ﺗﺮاﺷﻪ‬ ‫ﻣﺨﺘﻠﻒ‬ ‫اﻣﻜﺎﻧﺎت‬ ‫ﺗﻨﻈﻴﻢ‬ ‫ﺑﺮاي‬ ‫ﺗﺎ‬ ‫ﻣﻲدﻫﺪ‬ ‫ﻣﺎ‬ ‫ﺑﻪ‬ ‫را‬ ‫اﻣﻜﺎن‬ ‫اﻳﻦ‬ ‫ﺑﺮﻧﺎﻣﻪ‬
‫را‬ ‫ﻻزم‬ ‫ﻛﺪﻫـﺎي‬ Codewizard ‫ﺻــﻮرت‬ ‫اﻳﻦ‬ ‫در‬ ‫دﻫﻴﻢ‬ ‫اﻧﺠﺎم‬ ‫را‬ ‫ﻧﻴﺎز‬ ‫ﻣﻮرد‬ ‫اوﻟﻴﻪ‬ ‫ﺗﻨﻈﻴﻤﺎت‬ ‫ﮔﺮاﻓﻴﻜﻲ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫آﻧﻬﺎ‬ ‫ﺑﺮاي‬ ‫ﻛﺪ‬ ‫ﻧﻮﺷﺘﻦ‬
.‫ﺑﻨﻮﻳﺴﻴﻢ‬ ‫را‬ ‫ﺧﻮد‬ ‫ﺑﺮﻧﺎﻣﻪﻫﺎي‬ ‫ﻣﻤﻜﻦ‬ ‫زﻣﺎن‬ ‫ﻛﻤﺘﺮﻳﻦ‬ ‫در‬ ‫ﻣﻲﺗﻮاﻧﻴﻢ‬ ‫ﺻﻮرت‬ ‫اﻳﻦ‬ ‫ﺑﻪ‬ ‫و‬ ‫ﻣﻲﻛﻨﺪ‬ ‫ﺗﻮﻟﻴﺪ‬ ‫ﻣﺎ‬ ‫ﺑﺮاي‬
‫ﺑﺨــﺶ‬ ‫در‬ ‫ﺷﺪه‬ ‫ذﻛﺮ‬ ‫ﻛﺎﺑﻞ‬ ‫ﺑﺎﻳﺪ‬ ‫ﺷﻤﺎ‬ ‫اﻳﻨﺠﺎ‬ ‫ﺗﺎ‬ ،‫ﻛﻨﻴﻢ‬ ‫اﺟﺮا‬ ‫را‬ ‫آن‬ ‫و‬ ‫ﺑﻨﻮﻳﺴﻴﻢ‬ ‫را‬ ‫ﺧﻮد‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫اوﻟﻴﻦ‬ ‫ﺗﺎ‬ ‫دارﻳﻢ‬ ‫ﻗﺼﺪ‬ ‫ﺑﺨﺶ‬ ‫اﻳﻦ‬ ‫در‬
‫و‬ CodevisionAVR ‫اﻓـﺰار‬ ‫ﻧـﺮم‬ ‫ﺑـﺎﻳﺪ‬ ‫اﻳـﻦ‬ ‫ﺑـﺮ‬ ‫ﻋـﻼوه‬ (٣-٢ ‫ـﻜﻞ‬‫ـ‬‫ﺑﺎﺷﻴﺪ.)ﺷ‬ ‫ﻛﺮده‬ ‫آﻣﺎده‬ ‫ﻧﻴﺰ‬ ‫را‬ ‫ﻻزم‬ ‫ﻣﺪار‬ ‫ﺣﺪاﻗﻞ‬ ‫و‬ ‫ﺳﺎﺧﺘﻪ‬ ‫را‬ ‫ﻗﺒﻞ‬
‫زﻳـﺮ‬ ‫ـﺘﺮﻧﺘﻲ‬‫ـ‬‫اﻳﻨ‬ ‫آدرس‬ ‫از‬ ‫را‬ CodevisionAVR ‫اﻓﺰار‬ ‫ﻧﺮم‬ ‫راﻳﮕﺎن‬ ‫ﻧﺴﺨﻪ‬ ‫ﺗﻮاﻧﻴﺪ‬ ‫ﻣﻲ‬ ‫ﺑﺎﺷﻴﺪ.ﺿﻤﻨﺎ‬ ‫ﻛﺮده‬ ‫ﻧﺼﺐ‬ ‫ﻫﻢ‬ ‫را‬ AVRstudio
:‫ﻛﻨﻴﺪ‬ ‫درﻳﺎﻓﺖ‬
http://www.hpinfotech.ro
:‫ﻧﻤﺎﻳﻴﺪ‬ ‫ﻣﺮاﺟﻌﻪ‬ Atmel ‫ﺷﺮﻛﺖ‬ ‫ﺳﺎﻳﺖ‬ ‫ﺑﻪ‬ ‫ﻫﻢ‬ AVRStudio ‫اﻓﺰار‬ ‫ﻧﺮم‬ ‫درﻳﺎﻓﺖ‬ ‫ﺑﺮاي‬
http://www.atmel.com
2Hz ‫ﻓﺮﻛﺎﻧﺲ‬ ‫ﺑﺎ‬ ‫را‬ LED ‫ﻳﻚ‬ ‫و‬ ‫ﻛﻨﻴﻢ‬ ‫آﻏﺎز‬ ‫ﺳﺎده‬ ‫ﺑﺮﻧﺎﻣﺔ‬ ‫ﻳﻚ‬ ‫ﻧﻮﺷﺘﻦ‬ ‫ﺑﺎ‬ ‫را‬ ‫ﻛﺎر‬ ‫ﺗﺎ‬ ‫ﻣﻲﺧﻮاﻫﻴﻢ‬ ‫ﻗﺴﻤﺖ‬ ‫اﻳﻦ‬ ‫در‬
.‫ﻛﻨﻴﻢ‬ ‫روﺷﻦ‬ ‫و‬ ‫ﺧﺎﻣﻮش‬
٢٠
‫ﺟﺪﻳﺪ‬ ‫ﭘﺮوژه‬ ‫ﻳﻚ‬ ‫اﻳﺠﺎد‬
‫ﻳـﺎ‬ ‫و‬ File|New ‫ﻣﻨـﻮي‬ ‫از‬ ‫اﺳـﺘﻔﺎده‬ ‫ﺑـﺎ‬ ‫را‬ ‫ﻛـﺎر‬ ‫اﻳﻦ‬ ‫ﻣﻲﺗﻮاﻧﻴﺪ‬ .‫اﺳﺖ‬ ‫ﻣﻮردﻧﻈﺮ‬ ‫ﺑﺮﻧﺎﻣﺔ‬ ‫ﺑﺮاي‬ ‫ﺟﺪﻳﺪي‬ ‫ﭘﺮوژه‬ ‫اﻳﺠﺎد‬ ‫ﻛﺎر‬ ‫اوﻟﻴﻦ‬
.‫دﻫﻴﺪ‬ ‫اﻧﺠﺎم‬ ‫اﺑﺰار‬ ‫ﻧﻮار‬ ‫در‬ Create New File ‫دﻛﻤﺔ‬ ‫دادن‬ ‫ﻓﺸﺎر‬
‫را‬ OK ‫دﻛﻤﻪ‬ ‫و‬ ‫ﻧﻤﻮده‬ ‫اﻧﺘﺨﺎب‬ ‫را‬ File type|Project ‫ﺑﺎﻳﺪ‬ ‫ﺷﻤﺎ‬ ،(٢-٣ ‫ﻣﻲﺷﻮد)ﺷﻜﻞ‬ ‫ﺑﺎز‬ ‫ﭘﻨﺠﺮهاي‬ ‫ﻛﺎر‬ ‫اﻳﻦ‬ ‫اﻧﺠﺎم‬ ‫ﺑﺎ‬
.‫دﻫﻴﺪ‬ ‫ﻓﺸﺎر‬
Create New File ‫ﭘﻨﺠﺮه‬ ٢ -٣ ‫ﺷﻜﻞ‬
‫ﻛﻤـﻚ‬ ‫ﺑـﻪ‬ ‫را‬ ‫ﺟﺪﻳـﺪ‬ ‫ﭘـﺮوژه‬ ‫ﻣﻲﺧﻮاﻫﻴـﺪ‬ ‫آﻳـﺎ‬ ‫ﻛـﻪ‬ ‫ﻣـﻲﮔﺮدد‬ ‫ﺳــﺆال‬ ‫ﺷﻤﺎ‬ ‫از‬ ‫و‬ (٣-٣ ‫ﻣﻲﺷﻮد)ﺷﻜﻞ‬ ‫ﺑﺎز‬ ‫دﻳﮕﺮي‬ ‫ﭘﻨﺠﺮه‬ ‫ﺣﺎﻻ‬
.‫دﻫﻴﺪ‬ ‫اﻧﺠﺎم‬ CodewizardAVR
Confirm ‫ﭘﻨﺠﺮه‬ ٣ -٣ ‫ﺷﻜﻞ‬
‫ﻛـﻪ‬ (٤-٣ ‫ـﻜﻞ‬‫ـ‬‫ﺷﺪ)ﺷ‬ ‫ﺧﻮاﻫﺪ‬ ‫ﺑﺎز‬ Create New Project ‫ﭘﻨﺠﺮه‬ ‫ﻛﺎر‬ ‫اﻳﻦ‬ ‫ﺑﺎ‬ .‫ﻛﻨﻴﺪ‬ ‫اﻧﺘﺨﺎب‬ ‫را‬ No ‫دﻛﻤﻪ‬ ‫ﻗﺴﻤﺖ‬ ‫اﻳﻦ‬ ‫در‬
.‫ﺷﺪ‬ ‫ﺧﻮاﻫﺪ‬ ‫ذﺧﻴﺮه‬ ،prj ‫ﭘﺴﻮﻧﺪ‬ ‫ﺑﺎ‬ ‫ﭘﺮوژه‬ ‫ﻓﺎﻳﻞ‬ .‫ﻧﻤﺎﻳﻴﺪ‬ ‫ﻣﺸﺨﺺ‬ ‫را‬ ‫آن‬ ‫ﻣﺤﻞ‬ ‫و‬ ‫ﭘﺮوژه‬ ‫ﻓﺎﻳﻞ‬ ‫ﻧﺎم‬ ‫آن‬ ‫در‬ ‫ﺑﺎﻳﺪ‬
٢١
Create New Project ‫ﭘﻨﺠﺮه‬ ٤ -٣ ‫ﺷﻜﻞ‬
C ‫ﻗﺴـﻤﺖ‬ ‫در‬ ‫اﺑﺘـﺪا‬ ،(٥-٣ ‫اﺳـﺖ)ﺷـﻜﻞ‬ ‫ﻛﺎﻣﭙـﺎﻳﻠﺮ‬ ‫ﺗﻨﻈﻴﻤـﺎت‬ ‫ﺑـﻪ‬ ‫ﻣﺮﺑـﻮط‬ ‫ﻛـﻪ‬ ‫ﺷـﻮد‬ ‫ﻣــﻲ‬ ‫ﺑﺎز‬ ‫ﺟﺪﻳﺪي‬ ‫ﭘﻨﺠﺮه‬ ‫ﺣﺎﻻ‬
‫ﮔﺰﻳـﻨﻪ‬ ‫در‬ ‫ﺳـﭙﺲ‬ ،‫داده‬ ‫ﻗـﺮار‬ Atmega32L ‫ﺑﺮاﺑـﺮ‬ ‫را‬ AVR ‫ﺗﺮاﺷـﺔ‬ ‫ﻧـﻮع‬ ،Chip ‫ﮔﺰﻳﻨــﺔ‬ ،Compiler|Code Generation
(٦-٣ ‫دﻫﻴﺪ.)ﺷﻜﻞ‬ ‫ﻓﺸﺎر‬ ‫را‬ OK ‫دﻛﻤﻪ‬ ‫و‬ ‫ﻧﻤﺎﻳﻴﺪ‬ ‫اﻧﺘﺨﺎب‬ 4MHz ‫ﺑﺮاﺑﺮ‬ ‫را‬ ‫ﺗﺮاﺷﻪ‬ ‫ﺑﻪ‬ ‫ﻣﺘﺼﻞ‬ ‫ﻛﺮﻳﺴﺘﺎل‬ ‫ﻣﻘﺪار‬ Clock
٢٢
Files ‫ﻗﺴﻤﺖ‬ Configure Project ‫ﭘﻨﺠﺮه‬ ٥ -٣ ‫ﺷﻜﻞ‬
٢٣
C Compiler ‫ﻗﺴﻤﺖ‬ Configure Project ‫ﭘﻨﺠﺮه‬ ٦ -٣ ‫ﺷﮑﻞ‬
‫ﻣﻨـﻮي‬ ‫دوﺑـﺎره‬ ‫ﻛـﺎر‬ ‫اﻳـﻦ‬ ‫ـﺮاي‬‫ـ‬‫ﺑ‬ (٧-٣ ‫ﻛﻨﻴﺪ.)ﺷﻜﻞ‬ ‫اﻳﺠﺎد‬ ‫را‬ ‫دارد‬ ‫ﻗﺮار‬ ‫آن‬ ‫در‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻛﺪﻫﺎي‬ ‫ﻛﻪ‬ ‫ﭘﺮوژه‬ ‫اﺻﻠﻲ‬ ‫ﻓﺎﻳﻞ‬ ‫ﺑﺎﻳﺪ‬ ‫ﺣﺎﻻ‬
‫دﻛـﻤﻪ‬ ‫و‬ ‫اﻧﺘﺨـﺎب‬ ‫را‬ File Type|Source ‫ﮔﺰﻳﻨﻪ‬ ‫و‬ ‫ﻧﻤﻮده‬ ‫اﻧﺘﺨﺎب‬ ‫را‬ ‫اﺑﺰار‬ ‫ﻧﻮار‬ ‫در‬ Create New File ‫دﻛﻤﻪ‬ ‫ﻳﺎ‬ ‫و‬ File|New
.‫دﻫﻴﺪ‬ ‫ﻓﺸﺎر‬ ‫را‬ OK
Create New File ‫ﭘﻨﺠﺮه‬ ٧ -٣ ‫ﺷﻜﻞ‬
٢٤
‫ﻣﻨﻮي‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ .‫اﺳﺖ‬ untitled.c ‫ﺟﺪﻳﺪ‬ ‫ﻓﺎﻳﻞ‬ ‫ﻧﺎم‬ .‫ﻣﻲﮔﺮدد‬ ‫ﻇﺎﻫﺮ‬ ‫ﺟﺪﻳﺪي‬ ‫ﭘﻨﺠﺮه‬ ‫ﺷﺪه‬ ‫اﻳﺠﺎد‬ ‫ﺟﺪﻳﺪ‬ ‫ﻓﺎﻳﻞ‬ ‫ﺑﺮاي‬
.‫دﻫﻴﺪ‬ ‫ﺗﻐﻴﻴﺮ‬ main.c ‫ﺑﻪ‬ ‫را‬ ‫ﻓﺎﻳﻞ‬ ‫ﻧﺎم‬ Save As ‫ﮔﺰﻳﻨﻪ‬ ،File
.‫ﻛﻨﻴﺪ‬ ‫ذﺧﻴﺮه‬ ‫را‬ ‫آن‬ ‫ﻣﺤﺘﻮﻳﺎت‬ ‫ﻛﺎر‬ ‫اﻳﻦ‬ ‫اﻧﺠﺎم‬ ‫از‬ ‫ﺑﻌﺪ‬ .‫ﻧﻤﺎﻳﻴﺪ‬ ‫وارد‬ ‫آن‬ ‫در‬ ‫را‬ ‫زﻳﺮ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻛﺪﻫﺎي‬ ‫ﺑﺎﻳﺪ‬ ‫ﺣﺎﻻ‬
#include <mega32.h>
#include <delay.h>
/*This is a test program written to flashes
the LED on PORTA.0 with a period of 0.5 second*/
main()
{
while(1){/*loop forever*/
PORTA.0=1;
delay_ms(250);
PORTA.0=0;
delay_ms(250);
}
}
ATMega32L ‫رﺟﻴﺴـﺘﺮﻫﺎي‬ ‫ﺗﻌﺮﻳـﻒ‬ ‫ﺷـﺎﻣﻞ‬ ‫ـﻪ‬‫ـ‬‫ﻛ‬ ‫را‬ mega32.h ‫ﺳﺮآﻣﺪ‬ ‫ﻓﺎﻳﻞ‬ #include <mega32.h> ‫دﺳﺘﻮر‬
‫دﺳـﺘﻮر‬ ‫ﻛﻤـﻚ‬ ‫ﺑـﻪ‬ ‫را‬ delay.h ‫ﻓـﺎﻳﻞ‬ ‫ﺑـﺎﻳﺪ‬ ‫ـﺪا‬‫ـ‬‫اﺑﺘ‬ .‫ﻛﻨﻴﻢ‬ ‫اﻳﺠﺎد‬ ‫ﺗﺎﺧﻴﺮي‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫در‬ ‫ﺑﺨﻮاﻫﻴﻢ‬ ‫ﻛﻪ‬ ‫ﻛﻨﺪ.زﻣﺎﻧﻲ‬ ‫ﻣﻲ‬ ‫اﺿﺎﻓﻪ‬ ‫ﭘﺮوژه‬ ‫ﺑﻪ‬ ،‫اﺳﺖ‬
‫را‬ ‫اي‬ ‫ﺣﻠﻘﻪ‬ while(1) ‫ﺷﻮد.دﺳﺘﻮر‬ ‫ﻣﻲ‬ ‫آﻏﺎز‬ main() ‫ﺑﺎ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻫﺮ‬ ‫اﺻﻠﻲ‬ ‫ﻧﻤﺎﻳﻴﻢ.ﻗﺴﻤﺖ‬ ‫اﺿﺎﻓﻪ‬ ‫ﭘﺮوژه‬ ‫ﺑﻪ‬ #include <delay.h>
‫ﻧـﻴﺰ‬ delay_ms(250) ‫ﺷـﻮد.دﺳـﺘﻮر‬ ‫ﻣـﻲ‬ ‫ﺗﻜـﺮار‬ ‫ﻣـﺪام‬ ‫آن‬ ‫داﺧــﻞ‬ ‫ودﺳﺘﻮرات‬ ‫اﺳﺖ‬ ‫درﺳﺖ‬ ‫ﻫﻤﻮاره‬ ‫آن‬ ‫ﺷﺮط‬ ‫ﻛﻪ‬ ‫ﻛﻨﺪ‬ ‫ﻣﻲ‬ ‫ﺗﻌﺮﻳﻒ‬
.‫ﻛﻨﺪ‬ ‫ﻣﻲ‬ ‫ﺗﻮﻟﻴﺪ‬ ‫ﺛﺎﻧﻴﻪ‬ ‫ﻣﻴﻠﻲ‬ ٢٥٠ ‫ﺑﺮاﺑﺮ‬ ‫ﺗﺎﺧﻴﺮي‬
‫اﺿﺎﻓـﻪ‬ ‫آن‬ ‫ﺑـﻪ‬ ‫را‬ ‫زﻳـﺮ‬ ‫اﻟﻤﺎﻧـﻬﺎي‬ ‫اﺳـﺖ‬ ‫ﻛـﺎﻓﻲ‬ ‫ﺗﻨـﻬﺎ‬ ‫اﻳـﺪ‬ ‫ﻛـﺮده‬ ‫آﻣــﺎده‬ ‫را‬ ‫ﻗﺒﻞ‬ ‫ﻓﺼﻞ‬ ‫در‬ ‫ﻣﻮﺟﻮد‬ ‫اﻓﺰار‬ ‫ﺳﺨﺖ‬ ‫ﻛﻪ‬ ‫ﺻﻮرﺗﻲ‬ ‫در‬
(٨-٣ ‫ﻛﻨﻴﺪ.)ﺷﻜﻞ‬
ATMega32L
40
39
38
PA0(ADC0)
PA1(ADC1)
PA2(ADC2)
LED
330
PA0 ‫در‬ LED ‫ﻛﺮدن‬ ‫ﺧﺎﻣﻮش‬ ‫و‬ ‫روﺷﻦ‬ ‫ﺑﺮاي‬ ‫ﻣﺮﺑﻮط‬ ‫ﻣﺪار‬ ٨ -٣ ‫ﺷﻜﻞ‬
٢٥
‫در‬ .‫ﻛﻨﻴﺪ‬ ‫اﻧﺘﺨﺎب‬ ‫را‬ Configure ‫ﮔﺰﻳﻨﺔ‬ ،Project ‫ﻣﻨﻮي‬ ‫از‬ ‫ﻛﺎر‬ ‫اﻳﻦ‬ ‫ﺑﺮاي‬ .‫ﻛﻨﻴﺪ‬ ‫اﺿﺎﻓﻪ‬ ‫ﭘﺮوژه‬ ‫ﺑﻪ‬ ‫را‬ ‫ﻓﺎﻳﻞ‬ ‫اﻳﻦ‬ ‫ﺑﺎﻳﺪ‬ ‫ﺣﺎﻻ‬
،‫ﻛﺮدهاﻳﺪ‬ ‫وارد‬ ‫آن‬ ‫در‬ ‫ﹰ‬‫ﻼ‬‫ﻗﺒ‬ ‫را‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻛﺪﻫﺎي‬ ‫ﻛﻪ‬ main.c ‫ﻓﺎﻳﻞ‬ ‫ﺷﺪه‬ ‫ﺑﺎز‬ ‫ﭘﻨﺠﺮه‬ ‫از‬ ‫و‬ ‫دﻫﻴﺪ‬ ‫ﻓﺸﺎر‬ ‫را‬ Add ‫دﻛﻤﻪ‬ ،Files ‫ﻗﺴﻤﺖ‬
(٩-٣ ‫اﺳﺖ.)ﺷﻜﻞ‬ ‫ﺷﺪه‬ ‫اﺿﺎﻓﻪ‬ ‫ﭘﺮوژه‬ ‫ﺑﻪ‬ main.c ‫ﻓﺎﻳﻞ‬ ‫ﺣﺎﻻ‬ .‫دﻫﻴﺪ‬ ‫ﻓﺸﺎر‬ ‫را‬ Open ‫دﻛﻤﻪ‬ ‫و‬ ‫ﻧﻤﻮده‬ ‫اﻧﺘﺨﺎب‬
main.c ‫ﻓﺎﻳﻞ‬ ‫ﻛﺮدن‬ ‫اﺿﺎﻓﻪ‬ ‫از‬ ‫ﺑﻌﺪ‬ Configure Project ‫ﭘﻨﺠﺮه‬ ٩ -٣ ‫ﺷﻜﻞ‬
٢٦
‫ﭘﺮوژه‬ ‫ﺑﻪ‬ ‫ﻓﺎﻳﻞ‬ ‫ﻛﺮدن‬ ‫اﺿﺎﻓﻪ‬ ‫از‬ ‫ﻗﺒﻞ‬ ١١ -٣ ‫ﺷﮑﻞ‬
‫ﭘﺮوژه‬ ‫ﺑﻪ‬ ‫ﻓﺎﻳﻞ‬ ‫ﻛﺮدن‬ ‫اﺿﺎﻓﻪ‬ ‫از‬ ‫ﻗﺒﻞ‬ ١٠ -٣ ‫ﺷﮑﻞ‬
‫ﻛﺎﻣﭙﺎﻳﻠﺮ‬ ‫ﺗﻨﻈﻴﻢ‬
C ‫ﻗﺴـﻤﺖ‬ ،Configare ‫ﮔﺰﻳـﻨﻪ‬ ،Project ‫ﻣﻨـﻮي‬ ‫ﺗﻮﺳـﻂ‬ ‫ﺟـﺎري‬ ‫ﺑﺮﻧـﺎﻣﻪ‬ ‫ـﺮاي‬‫ـ‬‫ﺑ‬ C ‫ﻛﺎﻣﭙﺎﻳﻠﺮ‬ ‫ﭘﺎراﻣﺘﺮﻫﺎي‬ ‫ﺗﻨﻈﻴﻢ‬
‫ﺑﺮاﺑــﺮ‬ ‫را‬ AVR ‫ﺗــﺮاﺷﻪ‬ ‫ﻧــﻮع‬ ،Chip ‫ﮔﺰﻳــﻨﻪ‬ ،Code Generation ‫ﻗﺴــﻤﺖ‬ ‫در‬ ‫اﺑﺘـﺪا‬ .‫ﻣﻲﺷـﻮد‬ ‫اﻧﺠـﺎم‬ Compiler
‫ﺑﻪ‬ ‫ﻻزم‬ .‫ﻛﻨﻴﺪ‬ ‫اﻧﺘﺨﺎب‬ 4MHz ‫ﺑﺮاﺑﺮ‬ ‫را‬ ‫ﺗﺮاﺷﻪ‬ ‫ﺑﻪ‬ ‫ﻣﺘﺼﻞ‬ ‫ﻛﺮﻳﺴﺘﺎل‬ ‫ﻣﻘﺪار‬ Clock ‫ﮔﺰﻳﻨﺔ‬ ‫در‬ ‫ﺳﭙﺲ‬ ،‫داده‬ ‫ﻗﺮار‬ Atmega32L
‫ـﻴﺮ‬‫ـ‬‫ﺗﻐﻴ‬ ‫ﺑﻪ‬ ‫اﺣﺘﻴﺎﺟﻲ‬ .‫داد‬ ‫ﻧﺨﻮاﻫﺪ‬ ‫اﻧﺠﺎم‬ ‫درﺳﺖ‬ ‫را‬ ‫ﺧﻮد‬ ‫ﻛﺎر‬ ‫ﺗﺄﺧﻴﺮ‬ ‫ﺗﻮاﺑﻊ‬ ‫ﻧﺸﻮد‬ ‫ﺗﻨﻈﻴﻢ‬ ‫درﺳﺖ‬ ‫آن‬ ‫ﻣﻘﺪار‬ ‫ﻛﻪ‬ ‫ﺻﻮرﺗﻲ‬ ‫در‬ ‫اﺳﺖ‬ ‫ذﻛﺮ‬
‫را‬ ١
‫ﺳﺮاﺳﺮي‬ ‫ﺗﻌﺎرﻳﻒ‬ ‫ﻣﻲﺗﻮاﻧﻴﺪ‬ ،‫ﺷﺪه‬ ‫ﺗﺸﻜﻴﻞ‬ ‫ﻓﺎﻳﻞ‬ ‫ﻳﻚ‬ ‫از‬ ‫ﺑﻴﺶ‬ ‫از‬ ‫ﺷﻤﺎ‬ ‫ﭘﺮوژه‬ ‫ﻛﻪ‬ ‫ﺻﻮرﺗﻲ‬ ‫در‬ ‫ﺑﺪاﻧﻴﺪ‬ ‫ﻧﻴﺴﺖ‬ ‫ﺑﺪ‬ .‫ﻧﻴﺴﺖ‬ ‫ﻣﺪار‬ ‫ﺑﻘﻴﻪ‬
(١٢-٣ ‫ﻧﻤﺎﻳﻴﺪ.)ﺷﻜﻞ‬ ‫وارد‬ Globally#define ‫ﻗﺴﻤﺖ‬ ‫در‬
Global
١
٢٧
Globally#define ‫ﻗﺴﻤﺖ‬ Configure Project ‫ﭘﻨﺠﺮه‬ ١٢ -٣ ‫ﺷﻜﻞ‬
(١٣-٣ ‫ﻛﻨﻴﺪ.)ﺷﻜﻞ‬ ‫ﺗﻌﺮﻳﻒ‬ ‫ﻛﺘﺎﺑﺨﺎﻧﻪاي‬ ‫و‬ ‫ﺳﺮآﻣﺪ‬ ‫ﻓﺎﻳﻠﻬﺎي‬ ‫ﺑﺮاي‬ ‫را‬ ‫ﺟﺪﻳﺪي‬ ‫ﻣﺴﻴﺮﻫﺎي‬ ‫ﻣﻲﺗﻮاﻧﻴﺪ‬ ‫ﻫﻢ‬ paths ‫ﻗﺴﻤﺖ‬ ‫در‬
٢٨
Paths ‫ﻗﺴﻤﺖ‬ Configure Project ‫ﭘﻨﺠﺮه‬ ١٣ -٣ ‫ﺷﻜﻞ‬
‫را‬ After Make ‫ﻗﺴـﻤﺖ‬ ‫ﺑﺒﻨﺪﻳـﺪ‬ ‫را‬ ‫ﭘﻨﺠـﺮه‬ ‫ـﻪ‬‫ـ‬‫ﻛ‬ ‫اﻳﻦ‬ ‫از‬ ‫ﻗﺒﻞ‬ ‫وﻟﻲ‬ ،‫اﺳﺖ‬ ‫رﺳﻴﺪه‬ ‫ﭘﺎﻳﺎن‬ ‫ﺑﻪ‬ ‫ﻫﻢ‬ ‫ﻛﺎﻣﭙﺎﻳﻠﺮ‬ ‫ﺗﻨﻈﻴﻢ‬ ‫اﻳﻨﺠﺎ‬ ‫در‬
(١٤-٣ ‫)ﺷﻜﻞ‬ ‫ﻛﻨﻴﺪ‬ ‫اﻧﺘﺨﺎب‬
٢٩
‫ﺗﺮاﺷﻪ‬ ‫رﻳﺰي‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻛﺮدن‬ ‫ﻓﻌﺎل‬ ‫از‬ ‫ﻗﺒﻞ‬ After Make ‫ﻗﺴﻤﺖ‬ Configure Project ‫ﭘﻨﺠﺮه‬ ١٤ -٣ ‫ﺷﻜﻞ‬
،‫ﺑﺘﻮاﻧﻴـﺪ‬ ‫ﺑﺮﻧﺎﻣــﻪ‬ ‫ﻛﺮدن‬ ‫اﺳﻤﺒﻞ‬ ‫و‬ ‫ﻛﺎﻣﭙﺎﻳﻞ‬ ‫از‬ ‫ﭘﺲ‬ ‫ﺗﺎ‬ ‫ﻣﻲﺷﻮد‬ ‫ﺑﺎﻋﺚ‬ ‫ﻛﺎر‬ ‫اﻳﻦ‬ .‫ﺑﺰﻧﻴﺪ‬ ‫ﻋﻼﻣﺖ‬ ‫را‬ Program the Chip ‫ﮔﺰﻳﻨﻪ‬ ‫آن‬ ‫در‬ ‫و‬
‫را‬ ‫ﺣﺎﻓﻈـﻪﻫﺎ‬ ‫ﻣﻲﺗﻮاﻧﻴــﺪ‬ ‫ﻫﻢ‬ ‫دﻳﮕﺮ‬ ‫ﮔﺰﻳﻨﻪﻫﺎي‬ ‫ﻛﻤﻚ‬ ‫ﺑﻪ‬ (١٥-٣ ‫ﻛﻨﻴﺪ.)ﺷﻜﻞ‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫را‬ ‫آن‬ ‫و‬ ‫ﺑﻔﺮﺳﺘﻴﺪ‬ ‫ﺗﺮاﺷﻪ‬ ‫ﺑﻪ‬ ‫را‬ ‫ﻛﺪﻫﺎ‬ ‫ﹰ‬‫ﺎ‬‫ﻣﺴﺘﻘﻴﻤ‬
.‫ﺑﺒﻨﺪﻳﺪ‬ ‫را‬ ‫ﭘﻨﺠﺮه‬ OK ‫دﻛﻤﺔ‬ ‫ﻓﺸﺎر‬ ‫ﺑﺎ‬ ‫ﭘﺎﻳﺎن‬ ‫در‬ ،‫ﻛﻨﻴﺪ‬ ‫ﺗﻨﻈﻴﻢ‬ ‫ﻫﻢ‬ ‫را‬ ‫ﺗﺮاﺷﻪ‬ ‫روي‬ ‫در‬ ‫ﻣﻮردﻧﻈﺮﺗﺎن‬ ‫ﻓﻴﻮزﻫﺎي‬ ‫و‬ ‫ﻧﻤﻮده‬ ‫ﻗﻔﻞ‬
٣٠
‫ﺗﺮاﺷﻪ‬ ‫رﻳﺰي‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻛﺮدن‬ ‫ﻓﻌﺎل‬ ‫از‬ ‫ﺑﻌﺪ‬ After Make ‫ﻗﺴﻤﺖ‬ Configure Project ‫ﭘﻨﺠﺮه‬ ١٥ -٣ ‫ﺷﻜﻞ‬
‫اﻓﺰار‬ ‫ﻧﺮم‬ ‫ﺗﻨﻈﻴﻤﺎت‬
.‫ﻛﻨﻴﺪ‬ ‫ﺗﻨﻈﻴﻢ‬ ‫درﺳﺘﻲ‬ ‫ﺑﻪ‬ ‫ﻧﻴﺰ‬ ‫را‬ ‫آن‬ ‫ﻣﺨﺘﻠﻒ‬ ‫ﻗﺴﻤﺘﻬﺎي‬ ‫ﺑﺎﻳﺪ‬ ‫ﻣﻲﺑﺎﺷﺪ‬ Codevision ‫ﺑﺎ‬ ‫ﺷﻤﺎ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫اوﻟﻴﻦ‬ ‫اﻳﻦ‬ ‫ﻛﻪ‬ ‫آﻧﺠﺎﻳﻲ‬ ‫از‬
‫ﺑـﻪ‬ ‫ﻣﺮﺑــﻮط‬ ‫ﭘﻮرت‬ ‫آدرس‬ ‫و‬ ‫ﭘﺮوﮔﺮاﻣﺮ‬ ‫ﻧﻮع‬ ‫ﺗﻨﻈﻴﻢ‬ ‫و‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﺳﺎزي‬ ‫ﺷﺒﻴﻪ‬ ‫ﺑﺮاي‬ ،‫آن‬ ‫آدرس‬ ‫و‬ Debugger ‫ﺗﻌﻴﻴﻦ‬ ‫ﺷﺎﻣﻞ‬ ‫ﻻزم‬ ‫ﺗﻨﻈﻴﻤﺎت‬
.‫ﻣﻲﺑﺎﺷﺪ‬ ‫آن‬
‫در‬ (١٦-٣ ‫ﺷﺪه)ﺷﻜﻞ‬ ‫ﺑﺎز‬ ‫ﭘﻨﺠﺮة‬ ‫در‬ .‫ﻛﻨﻴﺪ‬ ‫اﻧﺘﺨﺎب‬ ‫را‬ Debugger ‫ﮔﺰﻳﻨﻪ‬ ،Settings ‫ﻣﻨﻮي‬ ‫از‬ ‫دﻳﺒﺎﮔﺮ‬ ‫ﺗﻨﻈﻴﻢ‬ ‫ﺑﺮاي‬
‫ـﺰار‬‫ـ‬‫ﻧﺮماﻓ‬ ‫آدرس‬ Directory and Filename ‫ﻗﺴﻤﺖ‬ ‫در‬ ‫و‬ ‫ﻛﻨﻴﺪ‬ ‫اﻧﺘﺨﺎب‬ ‫را‬ Atmel AVR Studio4 , Debugger ‫ﻗﺴﻤﺖ‬
.‫دﻫﻴﺪ‬ ‫ﻓﺸﺎر‬ ‫را‬ OK ‫دﻛﻤﻪ‬ ‫و‬ ‫ﻛﺮده‬ ‫وارد‬ ‫را‬ ‫ﻧﻤﻮدهاﻳﺪ‬ ‫ﻧﺼﺐ‬ ‫ﹰ‬‫ﻼ‬‫ﻗﺒ‬ ‫ﻛﻪ‬ AVR Studio
٣١
Debugger Settings ‫ﭘﻨﺠﺮه‬ ١٦ -٣ ‫ﺷﻜﻞ‬
(١٧-٣ ‫ﭘﻨﺠـﺮه)ﺷـﻜﻞ‬ ‫اﻳـﻦ‬ ‫در‬ .‫ﻛﻨﻴـﺪ‬ ‫اﻧﺘﺨـﺎب‬ ‫را‬ Programmer ‫ﮔﺰﻳـﻨﻪ‬ ،Settings ‫ـﻮي‬‫ـ‬‫ﻣﻨ‬ ‫از‬ ،‫ﭘﺮوﮔﺮاﻣﺮ‬ ‫ﺗﻨﻈﻴﻢ‬ ‫ﺑﺮاي‬
‫در‬ .‫ﻧﻤـﺎﻳﻴﺪ‬ ‫ﻣﺸـﺨﺺ‬ ‫را‬ ‫اﺳـﺖ‬ ‫ﺷـﺪه‬ ‫ﻣﺘﺼــﻞ‬ ‫ﻛﺎﻣﭙﻴﻮﺗﺮ‬ ‫ﺑﻪ‬ ‫آن‬ ‫ﻃﺮﻳﻖ‬ ‫از‬ ‫ﭘﺮوﮔﺮاﻣﺮ‬ ‫ﻛﻪ‬ ‫را‬ ‫ﭘﻮرﺗﻲ‬ ‫آدرس‬ ‫و‬ ISP ‫ﭘﺮوﮔﺮاﻣﺮ‬ ‫ﻧﻮع‬ ‫ﻣﻲﺗﻮاﻧﻴﺪ‬
، Printer Port ‫ﻗﺴـﻤﺖ‬ ‫در‬ ‫و‬ Kanda Systems STK200+/300, AVR Chip Programmer Type ‫ﻗﺴﻤﺖ‬
.‫دﻫﻴﺪ‬ ‫ﻓﺸﺎر‬ ‫را‬ OK ‫دﻛﻤﻪ‬ ‫و‬ ‫ﻛﻨﻴﺪ‬ ‫ﻣﺸﺨﺺ‬ ‫را‬ LPT1:378h,
Programmer Settings ‫ﭘﻨﺠﺮه‬ ١٧ -٣ ‫ﺷﻜﻞ‬
‫اﺟﺮا‬ ‫ﻗﺎﺑﻞ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫اﻳﺠﺎد‬
:‫ﮔﺮدد‬ ‫اﻧﺠﺎم‬ ‫ﺑﺎﻳﺪ‬ ‫زﻳﺮ‬ ‫ﻣﻮارد‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻧﻤﻮدن‬ ‫اﺟﺮا‬ ‫ﻗﺎﺑﻞ‬ ‫ﺑﺮاي‬
.‫اﺳﻤﺒﻠﻲ‬ ‫زﺑﺎن‬ ‫ﺑﻪ‬ ‫اﺻﻠﻲ‬ ‫ﻓﺎﻳﻞ‬ ‫ﺗﻮﻟﻴﺪ‬ ‫و‬ .c ‫ﭘﺴﻮﻧﺪ‬ ‫ﺑﺎ‬ ‫ﭘﺮوژه‬ ‫اﺻﻠﻲ‬ ‫ﻓﺎﻳﻞ‬ ‫ﻛﺮدن‬ ‫ﻛﺎﻣﭙﺎﻳﻞ‬ ‫١ـ‬
. AVRASM32 ‫اﺳﻤﺒﻠﺮ‬ ‫ﻛﻤﻚ‬ ‫ﺑﻪ‬ ‫ﺷﺪه‬ ‫اﻳﺠﺎد‬ ‫اﺳﻤﺒﻠﻲ‬ ‫ﻓﺎﻳﻞ‬ ‫ﻛﺮدن‬ ‫اﺳﻤﺒﻞ‬ ‫٢ـ‬
٣٢
‫ﻳـﺎ‬ ‫و‬ ‫داده‬ ‫ـﺎر‬‫ـ‬‫ﻓﺸ‬ ‫را‬ F9 ‫ﻛﻠﻴﺪ‬ ،‫ﻧﻤﻮده‬ ‫اﻧﺘﺨﺎب‬ ‫را‬ Compile File ‫ﮔﺰﻳﻨﻪ‬ Project ‫ﻣﻨﻮي‬ ‫از‬ ‫ﻣﻲﺗﻮاﻧﻴﺪ‬ ١ ‫ﻣﻮرد‬ ‫اﻧﺠﺎم‬ ‫ﺑﺮاي‬
‫ﻛـﻪ‬ Information ‫ﭘﻨﺠـﺮه‬ ‫و‬ ‫ﺷــﻮد‬ ‫ﻣﻲ‬ ‫ﺗﻮﻟﻴﺪ‬ .asm ‫ﭘﺴﻮﻧﺪ‬ ‫ﺑﺎ‬ ‫ازﻛﺎﻣﭙﺎﻳﻞ،ﻓﺎﻳﻠﻲ‬ ‫ﺑﻌﺪ‬ .‫دﻫﻴﺪ‬ ‫ﻓﺸﺎر‬ ‫را‬ ‫اﺑﺰار‬ ‫ﻧﻮار‬ ‫در‬ Compile ‫دﻛﻤﺔ‬
(١٨-٣ ‫)ﺷﻜﻞ‬ .‫ﺷﻮد‬ ‫ﻣﻲ‬ ‫ﻇﺎﻫﺮ‬ ‫دﻫﺪ‬ ‫ﻣﻲ‬ ‫ﻧﺸﺎن‬ ‫را‬ ‫ﻛﺎﻣﭙﺎﻳﻞ‬ ‫ﻧﺘﺎﻳﺞ‬
‫ﻛﺎﻣﭙﺎﻳﻞ‬ ‫از‬ ‫ﺣﺎﺻﻞ‬ ‫ﻧﺘﺎﻳﺞ‬ ‫ﺣﺎوي‬ Information ‫ﭘﻨﺠﺮه‬ ١٨ -٣ ‫ﺷﻜﻞ‬
،‫ﻧﻤﻮده‬ ‫اﻧﺘﺨﺎب‬ ‫را‬ Make File ‫ﮔﺰﻳﻨﻪ‬ ، Project ‫ﻣﻨﻮي‬ ‫از‬ ‫ﺑﺎﻳﺪ‬ ‫دﻫﻴﻢ‬ ‫اﻧﺠﺎم‬ ‫را‬ ٢ ‫و‬ ١ ‫ﻣﻮارد‬ ‫ﺑﺨﻮاﻫﻴﻢ‬ ‫ﻛﻪ‬ ‫ﺻﻮرﺗﻲ‬ ‫در‬
‫ﻣﻲﺷﻮد‬ ‫ﺑﺎز‬ Information ‫ﭘﻨﺠﺮه‬ ‫ﻣﺮﺣﻠﻪ‬ ‫اﻳﻦ‬ ‫اﺗﻤﺎم‬ ‫از‬ ‫ﭘﺲ‬ .‫دﻫﻴﺪ‬ ‫ﻓﺸﺎر‬ ‫را‬ ‫اﺑﺰار‬ ‫ﻧﻮار‬ ‫در‬ Make ‫دﻛﻤﺔ‬ ‫ﻳﺎ‬ ‫و‬ ‫داده‬ ‫ﻓﺸﺎر‬ ‫را‬ F9 ‫ﻛﻠﻴﺪ‬
‫اﺳﺘﻔﺎده‬ ‫ﻣﻴﺰان‬ ‫و‬ ‫ﻛﺎﻣﭙﺎﻳﻠﺮ‬ ‫ﺑﻪ‬ ‫ﻣﺮﺑﻮط‬ ‫ﺗﻨﻈﻴﻤﺎت‬ ،(١٩-٣ ‫)ﺷﻜﻞ‬ Compile ‫ﻗﺴﻤﺖ‬ ‫در‬ .‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﺗﺸﻜﻴﻞ‬ ‫ﻗﺴﻤﺖ‬ ‫ﺳﻪ‬ ‫از‬ ‫ﺑﺎر‬ ‫اﻳﻦ‬ ‫ﻛﻪ‬
‫ﻛﺪﻫﺎ‬ ‫ﺣﺎﻓﻈﻪ‬ ‫ﻣﻴﺰان‬ ‫و‬ ‫ﺷﺪه‬ ‫اﻳﺠﺎد‬ ‫ﻓﺎﻳﻠﻬﺎي‬ (٢٠-٣ ‫)ﺷﻜﻞ‬ Assembler ‫ﻗﺴﻤﺖ‬ ‫در‬ .‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﻣﺸﺨﺺ‬ ‫ﺗﺮاﺷﻪ‬ ‫ﺣﺎﻓﻈﻪﻫﺎي‬ ‫از‬ ‫ﺑﺮﻧﺎﻣﻪ‬
‫ﺗﺮاﺷﻪ‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫دﻓﻌﺎت‬ ‫ﺗﻌﺪاد‬ ‫ﻛﻪ‬ ‫ﺷﺪه‬ ‫ﺗﺸﻜﻴﻞ‬ ‫ﺷﻤﺎرﻧﺪه‬ ‫ﻳﻚ‬ ‫از‬ ‫ﺗﻨﻬﺎ‬ (٢١-٣ ‫)ﺷﻜﻞ‬ Programmer ‫ﻗﺴﻤﺖ‬ ‫و‬ ‫ﺷﺪه‬ ‫داده‬ ‫ﻧﺸﺎن‬
.‫ﻧﻤﺎﻳﻴﺪ‬ ‫ﺻﻔﺮ‬ ‫را‬ ‫آن‬ ‫ﻣﻲﺗﻮاﻧﻴﺪ‬ ‫ﻛﻪ‬ ‫ﻣﻲدﻫﺪ‬ ‫ﻧﺸﺎن‬ ‫را‬ ‫ﻣﻮردﻧﻈﺮ‬
٣٣
Compile ‫ﻗﺴﻤﺖ‬ Information ‫ﭘﻨﺠﺮه‬ ١٩ -٣ ‫ﺷﮑﻞ‬
٣٤
Assembler ‫ﻗﺴﻤﺖ‬ Information ‫ﭘﻨﺠﺮه‬ ٢٠ -٣ ‫ﺷﻜﻞ‬
٣٥
Programmer ‫ﻗﺴﻤﺖ‬ Information ‫ﭘﻨﺠﺮه‬ ٢١ -٣ ‫ﺷﻜﻞ‬
،‫ﺑﺎﺷـﻨﺪ‬ ‫وﺻـﻞ‬ ‫ﻫـﻢ‬ ‫آن‬ ‫ﺗﻐـﺬﻳﻪ‬ ‫ﻣﻨﺒــﻊ‬ ‫و‬ ISP ‫ﻛﺎﺑﻞ‬ ،‫ﺑﺎﺷﺪ‬ ‫ﺷﺪه‬ ‫اﺳﻤﺒﻞ‬ ‫و‬ ‫ﻛﺎﻣﭙﺎﻳﻞ‬ ‫ﺧﻄﺎ‬ ‫اﻳﺠﺎد‬ ‫ﺑﺪون‬ ‫ﭘﺮوژه‬ ‫ﻛﻪ‬ ‫ﺻﻮرﺗﻲ‬ ‫در‬
‫ﺗﺮاﺷـﻪ‬ ‫ﻫـﺎي‬ ‫ﺣﺎﻓﻈـﻪ‬ ‫اﺑﺘــﺪا‬ .‫آﻏﺎزﻣﻲﮔﺮدد‬ ‫ﺳﺮﻋﺖ‬ ‫ﺑﻪ‬ ‫ﺗﺮاﺷﻪ‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫ﻛﺎر‬ ‫اﻳﻦ‬ ‫اﻧﺠﺎم‬ ‫ﺑﺎ‬ .‫دﻫﻴﺪ‬ ‫ﻓﺸﺎر‬ ‫را‬ Program ‫دﻛﻤﻪ‬ ‫ﻣﻲﺗﻮاﻧﻴﺪ‬
(٢٢-٣ ‫ﺷﻮد.)ﺷﻜﻞ‬ ‫ﻣﻲ‬ ‫رﻳﺰي‬ ‫ﺑﺮﻧﺎﻣﻪ‬
‫ﺗﺮاﺷﻪ‬ ‫رﻳﺰي‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫زﻣﺎن‬ ‫در‬ Flash Programming ‫ﭘﻨﺠﺮه‬ ٢٢ -٣ ‫ﺷﻜﻞ‬
(٢٣-٣ ‫ﮔﺮدد.)ﺷﻜﻞ‬ ‫ﻣﻲ‬ ‫ﺑﺮرﺳﻲ‬ ‫ﺷﺪه‬ ‫ﻧﻮﺷﺘﻪ‬ ‫اﻃﻼﻋﺎت‬ ‫ﺻﺤﺖ‬ ‫وﺳﭙﺲ‬
٣٦
‫ﺷﺪه‬ ‫ﻧﻮﺷﺘﻪ‬ ‫ﻛﺪﻫﺎي‬ ‫ﺻﺤﺖ‬ ‫از‬ ‫اﻃﻤﻴﻨﺎن‬ ‫ﺑﺮاي‬ Verify ‫ﭘﻨﺠﺮه‬ ٢٣ -٣ ‫ﺷﻜﻞ‬
.‫ﺷﻮد‬ ‫ﻣﻲ‬ ‫ﺷﺮوع‬ ‫آن‬ ‫از‬ ‫ﺑﻌﺪ‬ ‫ﺑﻼﻓﺎﺻﻠﻪ‬ ‫ﻧﻴﺰ‬ ‫ﺗﺮاﺷﻪ‬ ‫در‬ ‫ﻛﺪﻫﺎ‬ ‫اﺟﺮاي‬ ‫و‬
‫از‬ ‫ﺷــﻮﻳﻢ‬ ‫ﻣﻄﻤﺌﻦ‬ ‫آن‬ ‫ﻋﻤﻠﻜﺮد‬ ‫ازﺻﺤﺖ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﺳﺎزي‬ ‫ﺷﺒﻴﻪ‬ ‫ﻛﻤﻚ‬ ‫ﺑﻪ‬ ‫ﺗﺮاﺷﻪ‬ ‫رﻳﺰي‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫از‬ ‫ﻗﺒﻞ‬ ‫ﺗﺎ‬ ‫ﺑﺨﻮاﻫﻴﻢ‬ ‫ﻛﻪ‬ ‫ﺻﻮرﺗﻲ‬ ‫در‬
‫ﻳـﻚ‬ Codevision ‫ﺑﺮﻧﺎﻣـﻪ‬ ‫ﻛـﺮدن‬ ‫ـﻤﺒﻞ‬‫ـ‬‫واﺳ‬ ‫ﻛﺎﻣﭙﺎﻳﻞ‬ ‫اﻋﻤﺎل‬ ‫اﻧﺠﺎم‬ ‫از‬ ‫ﭘﺲ‬ ‫ﺣﻘﻴﻘﺖ‬ ‫ﻛﻨﻴﻢ.در‬ ‫ﻣﻲ‬ ‫اﺳﺘﻔﺎده‬ AVRStudio ‫اﻓﺰار‬ ‫ﻧﺮم‬
‫ﻓـﺎﻳﻞ‬ ‫اﻳـﻦ‬ ‫از‬ ‫اﺳـﺘﻔﺎده‬ ‫ﺑـﺎ‬ ‫آن‬ ‫از‬ ‫ﺑﻌـﺪ‬ ‫ـﺎي‬‫ـ‬‫ﻫ‬ ‫ﻧﺴﺨﻪ‬ ‫ﻳﺎ‬ AVRStudio 4.06 ‫ﻛﻨﺪ.ﻧﺴﺨﻪ‬ ‫ﻣﻲ‬ ‫ﺗﻮﻟﻴﺪ‬ COFF ‫ﭘﺴﻮﻧﺪ‬ ‫ﺑﺎ‬ object ‫ﻓﺎﻳﻞ‬
.‫آورﻧﺪ‬ ‫ﻣﻲ‬ ‫ﻓﺮاﻫﻢ‬ ‫ﻣﺎ‬ ‫ﺑﺮاي‬ ‫را‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﺳﺎزي‬ ‫ﺷﺒﻴﻪ‬ ‫اﻣﻜﺎن‬
Run the ‫دﻛﻤـﻪ‬ ‫اﺑـﺰار‬ ‫ﻧـﻮار‬ ‫در‬ ‫ﻳـﺎ‬ ‫و‬ ‫ﻛﻨﻴـﺪ‬ ‫اﻧﺘﺨــﺎب‬ ‫را‬ Debbugger , Tools ‫ﻣﻨﻮي‬ ‫در‬ ‫اﻓﺰار‬ ‫ﻧﺮم‬ ‫اﻳﻦ‬ ‫اﺟﺮاي‬ ‫ﺑﺮاي‬
.‫دﻫﻴﺪ‬ ‫ﻓﺸﺎر‬ ‫را‬ debbugger
AVRStudio ‫اﻓﺰار‬ ‫ﻧﺮم‬ ٢٤ -٣ ‫ﺷﮑﻞ‬
.‫ﺷﻮد‬ ‫ﻣﻲ‬ ‫ﺑﺎز‬ ‫زﻳﺮ‬ (٢٥-٣)‫ﺷﻜﻞ‬ ‫ﻣﻄﺎﺑﻖ‬ Welcome to AVR Studio 4 ‫ﭘﻨﺠﺮه‬ , AVRStudio ‫اﻓﺰار‬ ‫ﻧﺮم‬ ‫اﺟﺮاي‬ ‫ﺑﺎ‬
٣٧
object ‫ﻓﺎﻳﻞ‬ ‫ﻛﺮدن‬ ‫ﺑﺎز‬ ‫ﺑﺮاي‬ Welcom toAVR Studio 4 ‫ﭘﻨﺠﺮه‬ ٢٥ -٣ ‫ﺷﻜﻞ‬
(٢٦-٣ ‫ﺷﻮد.)ﺷﻜﻞ‬ ‫ﻣﻲ‬ ‫ﺑﺎز‬ ‫دﻳﮕﺮي‬ ‫ﭘﻨﺠﺮه‬ ‫ﻛﺎر‬ ‫اﻳﻦ‬ ‫اﻧﺠﺎم‬ ‫ﻧﻤﺎﻳﻴﺪ.ﺑﺎ‬ ‫ﻛﻠﻴﻚ‬ Open ‫دﻛﻤﻪ‬ ‫روي‬ ‫ﺑﺮ‬ ‫ﭘﻨﺠﺮه‬ ‫اﻳﻦ‬ ‫در‬
Open ObjectFile ‫ﭘﻨﺠﺮه‬ ٢٦ -٣ ‫ﺷﻜﻞ‬
‫ﻓـﺎﻳﻞ‬ ‫اوﻟﻴﻦ‬ ‫روي‬ ‫ﺗﺎ‬ ‫اﺳﺖ‬ ‫ﻛﺎﻓﻲ‬ ‫ﻧﻤﺎﻳﻴﺪ.ﺑﻨﺎﺑﺮاﻳﻦ‬ ‫ﺑﺎز‬ ‫را‬ ‫ﺷﺪ‬ ‫اﺷﺎره‬ ‫آن‬ ‫ﺑﻪ‬ ‫ﻛﻪ‬ COFF ‫ﭘﺴﻮﻧﺪ‬ ‫ﺑﺎ‬ ‫ﻓﺎﻳﻞ‬ ‫ﻗﺴﻤﺖ‬ ‫اﻳﻦ‬ ‫در‬ ‫ﺑﺎﻳﺪ‬ ‫ﺷﻤﺎ‬
.‫ﻛﻨﻴﺪ‬ ‫ﻛﻠﻴﻚ‬
.‫ﻛﻨﻴﻢ‬ ‫اﻧﺘﺨﺎب‬ ‫را‬ ‫ﺗﺮاﺷﻪ‬ ‫ﻧﻮع‬ ‫و‬ ‫ﺳﺎزي‬ ‫ﺷﺒﻴﻪ‬ ‫روش‬ ‫ﻛﻪ‬ ‫اﺳﺖ‬ ‫آن‬ ‫وﻗﺖ‬ ‫ﺣﺎﻻ‬ COFF ‫ﻓﺎﻳﻞ‬ ‫اﻧﺘﺨﺎب‬ ‫از‬ ‫ﭘﺲ‬
٣٨
‫ﺗﺮاﺷﻪ‬ ‫ﻧﻮع‬ ‫و‬ ‫ﺳﺎزي‬ ‫ﺷﺒﻴﻪ‬ ‫روش‬ ‫اﻧﺘﺨﺎب‬ ‫ﺑﺮاي‬ Welcom to AVR Studio 4 ‫ﭘﻨﺠﺮه‬ ٢٧ -٣ ‫ﺷﻜﻞ‬
‫را‬ Atmega32 , Device ‫ـﻤﺖ‬‫ـ‬‫ﻗﺴ‬ ‫در‬ ‫و‬ AVR Simulator , Debug Platform ‫ﻗﺴـﻤﺖ‬ (٢٧-٣ ‫در)ﺷـﻜﻞ‬
.‫دﻫﻴﺪ‬ ‫ﻓﺸﺎر‬ ‫را‬ Finish ‫دﻛﻤﻪ‬ ‫و‬ (٢٨-٣ ‫ﻧﻤﻮده)ﺷﻜﻞ‬ ‫اﻧﺘﺨﺎب‬
‫ﺗﺮاﺷﻪ‬ ‫ﻧﻮع‬ ‫و‬ ‫ﺳﺎزي‬ ‫ﺷﺒﻴﻪ‬ ‫روش‬ ‫اﻧﺘﺨﺎب‬ ‫از‬ ‫ﺑﻌﺪ‬ Welcom to AVR Studio 4 ‫ﭘﻨﺠﺮه‬ ٢٨ -٣ ‫ﺷﮑﻞ‬
٣٩
‫ﺷﻮد.)ﺷﻜﻞ‬ ‫ﻣﻲ‬ ‫آﻣﺎده‬ ‫ﺳﺎزي‬ ‫ﺷﺒﻴﻪ‬ ‫ﻋﻤﻞ‬ ‫اﻧﺠﺎم‬ ‫ﺑﺮاي‬ ‫و‬ ‫ﻛﻨﺪ‬ ‫ﻣﻲ‬ ‫ﺑﺎز‬ ‫را‬ COFF ‫ﻓﺎﻳﻞ‬ , AVRStudio ‫ﻣﺮﺣﻠﻪ‬ ‫اﻳﻦ‬ ‫ددر‬
(٢٩-٣
object ‫ﻓﺎﻳﻞ‬ ‫ﻛﺮدن‬ ‫ﺑﺎز‬ ‫از‬ ‫ﺑﻌﺪ‬ AVRStudio ‫اﻓﺰار‬ ‫ﻧﺮم‬ ‫ﻣﺤﻴﻂ‬ ٢٩ -٣ ‫ﺷﻜﻞ‬
‫رﺟﻴﺴـﺘﺮﻫﺎي‬ ‫ﻣﺸـﺎﻫﺪه‬ ‫و‬ ‫ﺑﺮﻧﺎﻣــﻪ‬ ‫ﻧﻈﺮ‬ ‫ﻣﻮرد‬ ‫ﻗﺴﻤﺘﻬﺎي‬ ‫در‬ (Break Points) ‫ﺷﻜﺴﺖ‬ ‫ﻧﻘﺎط‬ ‫دادن‬ ‫ﻗﺮار‬ ‫ﺑﺎ‬ ‫ﺗﻮاﻧﻴﺪ‬ ‫ﻣﻲ‬ ‫ﺣﺎﻻ‬
‫واﮔﺰار‬ ‫ﺷـﻤﺎ‬ ‫ﺑـﻪ‬ ‫را‬ ‫ـﺎر‬‫ـ‬‫ﻛ‬ ‫اﻳﻦ‬ ‫ﺳﺎدﮔﻲ‬ ‫دﻟﻴﻞ‬ ‫ﺑﻪ‬ ‫ﻛﻪ‬ ‫ﺷﻮﻳﺪ‬ ‫ﻣﻄﻤﺌﻦ‬ ‫ﺧﻮد‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﺻﺤﺖ‬ ‫از‬ ‫آﻧﻬﺎ‬ ‫ﺗﻐﻴﻴﺮ‬ ‫و‬ Workspace ‫ﭘﻨﺠﺮه‬ ‫در‬ ‫ﻣﺨﺘﻠﻒ‬
.‫ﻛﻨﻴﻢ‬ ‫ﻣﻲ‬
٤٠
‫ﭼﻬﺎرم‬ ‫ﻓﺼﻞ‬
CodewizardAVR ‫ﺑﺎ‬ ‫آﺷﻨﺎﻳﻲ‬
.‫ﺑﺮﺳـﺪ‬ ‫ﻧﻈـﺮ‬ ‫ﺑــﻪ‬ ‫ﻣﺸﻜﻠﻲ‬ ‫ﺑﺴﻴﺎر‬ ‫ﻛﺎر‬ ‫اﺳﺖ‬ ‫ﻣﻤﻜﻦ‬ ‫آﻧﻬﺎ‬ ‫ﺑﻪ‬ ‫ﻣﺮﺑﻮط‬ ‫ﺗﻨﻈﻴﻤﺎت‬ ،AVR ‫ﺟﺎﻧﺒﻲ‬ ‫وﺳﺎﻳﻞ‬ ‫و‬ ‫اﻣﻜﺎﻧﺎت‬ ‫ﺗﻨﻮع‬ ‫دﻟﻴﻞ‬ ‫ﺑﻪ‬
‫ـﻲ‬‫ـ‬‫ﮔﺮاﻓﻴﻜ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫را‬ ‫ﻣﺨﺘﻠﻒ‬ ‫ﻗﺴﻤﺘﻬﺎي‬ ‫اوﻟﻴﻪ‬ ‫ﺗﻨﻈﻴﻤﺎت‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫اﺑﺘﺪاي‬ ‫در‬ ‫ﺗﺎ‬ ‫دﻫﺪ‬ ‫ﻣﻲ‬ ‫ﻣﺎ‬ ‫ﺑﻪ‬ ‫را‬ ‫اﻣﻜﺎن‬ ‫اﻳﻦ‬ Codewizard ‫اﻓﺰار‬ ‫ﻧﺮم‬
‫ﺻﺮﻓـﻪ‬ ‫ـﺮ‬‫ـ‬‫ﺑ‬ ‫ﻋﻼوه‬ ‫ﺗﺮﺗﻴﺐ‬ ‫اﻳﻦ‬ ‫ﺑﻪ‬ . ‫ﻛﻨﺪ‬ ‫ﻣﻲ‬ ‫اﻳﺠﺎد‬ ‫ﻣﺎ‬ ‫ﺑﺮاي‬ ‫را‬ ‫ﻣﺮﺑﻮط‬ ‫ﻛﺪﻫﺎي‬ ‫ﻛﺎر‬ ‫ﺧﻮد‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫اﻓﺰار‬ ‫ﻧﺮم‬ ‫اﻳﻦ‬ ،‫آن‬ ‫از‬ ‫ﭘﺲ‬ . ‫دﻫﻴﻢ‬ ‫اﻧﺠﺎم‬
. ‫ﺷﻮد‬ ‫ﻣﻲ‬ ‫ﺗﺮ‬ ‫ﺳﺎده‬ ‫ﻧﻴﺰ‬ ‫ﻫﺎ‬ AVR ‫ﺑﺎ‬ ‫ﻛﺎر‬ ،‫وﻗﺖ‬ ‫در‬ ‫ﺟﻮﻳﻲ‬
‫اي‬ ‫ﺑﺮﻧﺎﻣـﻪ‬ ‫ﺧﻮاﻫﻴـﻢ‬ ‫ﻣـﻲ‬ . ‫دﻫﻴـﻢ‬ ‫ـﻲ‬‫ـ‬‫ﻣ‬ ‫اداﻣﻪ‬ ‫ﻣﺜﺎل‬ ‫ﻳﻚ‬ ‫ﺑﺎ‬ ‫را‬ ‫ﻛﺎر‬ . ‫ﺷﻮﻳﺪ‬ ‫آﺷﻨﺎ‬ ‫ﺑﻴﺸﺘﺮ‬ ‫اﻓﺰار‬ ‫ﻧﺮم‬ ‫اﻳﻦ‬ ‫ﺑﺎ‬ ‫ﻋﻤﻞ‬ ‫در‬ ‫ﻛﻪ‬ ‫اﻳﻦ‬ ‫ﺑﺮاي‬
(١-٤ ‫ﻧﻤﺎﻳﺪ.)ﺷﻜﻞ‬ ‫ﺗﻨﻈﻴﻢ‬ ‫را‬ B ‫ﭘﻮرت‬ ‫در‬ ‫ﻣﺘﻨﺎﻇﺮ‬ ‫ﻫﺎي‬ LED ‫و‬ ‫ﺧﻮاﻧﺪه‬ ‫را‬ A ‫ﭘﻮرت‬ ‫در‬ ،‫ﻛﻠﻴﺪﻫﺎ‬ ‫ﻣﻮﻗﻌﻴﺖ‬ ‫ﻛﻪ‬ ‫ﺑﻨﻮﻳﺴﻴﻢ‬
ATMega32L
40
39
38
37
36
35
34
33
1
2
3
4
5
6
7
8
PA0(ADC0)
PA1(ADC1)
PA2(ADC2)
PA3(ADC3)
PA4(ADC4)
PA5(ADC5)
PA6(ADC6)
PA7(ADC7)
PB0(XCK-T0)
PB1(T1)
PB2(INT2-AIN0)
PB3(OC0-AIN1)
PB4(SS)
PB5(MOSI)
PB6(MISO)
PB7(SCK)
SW DIP-8
1
2
3
4
5
6
7
8
16
15
14
13
12
11
10
9
220
10K
+5v
B ‫ﭘﻮرت‬ ‫ﺑﻪ‬ LED ‫ﻫﺸﺖ‬ ‫و‬ A ‫ﭘﻮرت‬ ‫ﺑﻪ‬ ‫ﻛﻠﻴﺪ‬ ‫ﻫﺸﺖ‬ ‫اﺗﺼﺎل‬ ‫ﭼﮕﻮﻧﮕﻲ‬ ١ -٤ ‫ﺷﻜﻞ‬
٤١
Create،Project ‫ﭘﻨﺠﺮه‬ ‫در‬ ‫و‬ ‫ﻛﺮده‬ ‫ﻛﻠﻴﻚ‬ ‫را‬ New ‫ﻗﺴﻤﺖ‬ File ‫ﻣﻨﻮي‬ ‫از‬ ‫ﻗﺒﻞ‬ ‫ﻫﻤﺎﻧﻨﺪ‬ ‫ﺟﺪﻳﺪ‬ ‫ﭘﺮوژه‬ ‫ﻳﻚ‬ ‫اﻳﺠﺎد‬ ‫ﺑﺮاي‬
.‫دﻫﻴﺪ‬ ‫ﻓﺸﺎر‬ ‫را‬ OK ‫دﻛﻤﻪ‬ ‫و‬ ‫ﻛﺮده‬ ‫اﻧﺘﺨﺎب‬ ‫را‬ New File
Create New File ‫ﭘﻨﺠﺮه‬ ٢ -٤ ‫ﺷﻜﻞ‬
‫را‬ Yes ‫دﻛﻤـﻪ‬ Cofirm ‫ﭘﻨﺠــﺮه‬ ‫در‬ ،‫دﻫﻴﻢ‬ ‫اﻧﺠﺎم‬ CodewizardAVR ‫ﻛﻤﻚ‬ ‫ﺑﻪ‬ ‫را‬ ‫ﭘﺮوژه‬ ‫ﺗﺎ‬ ‫دارﻳﻢ‬ ‫ﻗﺼﺪ‬ ‫ﻛﻪ‬ ‫آﻧﺠﺎﻳﻲ‬ ‫از‬
.‫ﮔﺮدد‬ ‫اﺟﺮا‬ CodewizardAVR ‫اﻓﺰار‬ ‫ﻧﺮم‬ ‫ﺗﺎ‬ (٤-٣ ‫دﻫﻴﺪ،)ﺷﻜﻞ‬ ‫ﻓﺸﺎر‬
٣ -٤ ‫ﺷﮑﻞ‬
‫را‬ (4 MHz) ‫اﺳـﺘﻔﺎده‬ ‫ﻣـﻮرد‬ ‫ﻛﺮﻳﺴــﺘﺎل‬ ‫ﻓﺮﻛﺎﻧﺲ‬ ‫و‬ (Atmega32L) ‫ﺗﺮاﺷﻪ‬ ‫ﻧﻮع‬ ، Chip ‫ﻗﺴﻤﺖ‬ ‫در‬ ‫ﭼﻴﺰ‬ ‫ﻫﺮ‬ ‫از‬ ‫ﻗﺒﻞ‬
(٤-٤ ‫ﻧﻤﺎﻳﻴﺪ.)ﺷﻜﻞ‬ ‫ﺗﻨﻈﻴﻢ‬
٤٢
Chip ‫ﻗﺴﻤﺖ‬ CodewizardAVR ‫ﭘﻨﺠﺮه‬ ٤ -٤ ‫ﺷﻜﻞ‬
‫را‬ ‫آﻧـﻬﺎ‬ ‫ـﻪ‬‫ـ‬‫اوﻟﻴ‬ ‫ﻣﻘﺪار‬ ‫و‬ ‫ﺧﺮوﺟﻲ‬ _ ‫ورودي‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﭘﻮرﺗﻬﺎ‬ ‫ﺗﻤﺎﻣﻲ‬ ‫اوﻟﻴﻪ‬ ‫وﺿﻌﻴﺖ‬ ،Ports ‫ﻗﺴﻤﺖ‬ ‫ﻛﻤﻚ‬ ‫ﺑﻪ‬ ‫ﺗﻮاﻧﻴﻢ‬ ‫ﻣﻲ‬ ‫ﺣﺎﻻ‬
.‫ﻧﻤﺎﻳﻴﻢ‬ ‫ﺗﻨﻈﻴﻢ‬
. ‫اﻧــﺪ‬ ‫ورودي‬ ‫ﺑﻴﺘﻬﺎ‬ ‫ﺗﻤﺎم‬ ‫ﺑﻴﻨﻴﺪ‬ ‫ﻣﻲ‬ Port A ‫ﻗﺴﻤﺖ‬ ‫در‬ ‫ﻛﻪ‬ ‫ﻃﻮر‬ ‫ﻫﻤﺎن‬ . ‫آورﻳﻢ‬ ‫در‬ ‫ورودي‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫را‬ A ‫ﭘﻮرت‬ ‫ﺑﺎﻳﺪ‬ ‫اﺑﺘﺪا‬
‫(ﺗﺒﺪﻳﻞ‬Pull up) P ‫ﺣﺮف‬ ‫ﺑﻪ‬ ‫ﺗﺎ‬ ،‫ﻛﻨﻴﺪ‬ ‫ﻛﻠﻴﻚ‬ ‫آﻧﻬﺎ‬ ‫روي‬ ‫ﺑﺮ‬ ‫ﺑﺎﻳﺪ‬ (٥-٤ ‫اﺳﺖ.)ﺷﻜﻞ‬ ‫ﺷﺪه‬ ‫ﻧﻮﺷﺘﻪ‬ T ‫ﺣﺮف‬ ‫ﺑﻴﺘﻬﺎ‬ ‫از‬ ‫ﻳﻚ‬ ‫ﻫﺮ‬ ‫ﺟﻠﻮي‬ ‫در‬
(٦-٤ ‫ﺷﻮﻧﺪ.)ﺷﻜﻞ‬
٤٣
‫ﻓﺮض‬ ‫ﭘﻴﺶ‬ ‫ﺣﺎﻟﺖ‬ ‫در‬ A ‫ﭘﻮرت‬ ،Codewizard ‫ﭘﻨﺠﺮه‬ ٥-٤ ‫ﺷﻜﻞ‬
٤٤
‫ﺗﻨﻈﻴﻢ‬ ‫از‬ ‫ﺑﻌﺪ‬ A ‫ﭘﻮرت‬ ،Codewizard ‫ﭘﻨﺠﺮه‬ ٦ -٤ ‫ﺷﻜﻞ‬
‫ﻫـﺮ‬ ‫ﻣﻘــﺎﺑﻞ‬ ‫در‬ ،In ‫ﺣﺮف‬ ‫روي‬ ‫ﺑﺮ‬ ‫ﻛﻠﻴﻚ‬ ‫و‬ Port B ‫ﻗﺴﻤﺖ‬ ‫اﻧﺘﺨﺎب‬ ‫ﺑﺎ‬ . ‫درآورﻳﻢ‬ ‫ﺧﺮوﺟﻲ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫را‬ B ‫ﭘﻮرت‬ ‫ﺑﺎﻳﺪ‬ ‫ﺣﺎﻻ‬
(٧-٤ ‫ﻛﻨﻴﺪ.)ﺷﻜﻞ‬ ‫ﺗﻨﻈﻴﻢ‬ 1 ‫و‬ 0 ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫را‬ ‫ﭘﻮرت‬ ‫اوﻟﻴﻪ‬ ‫ﻣﻘﺪار‬ ‫ﺗﻮاﻧﻴﺪ‬ ‫ﻣﻲ‬ ‫ﺿﻤﻨﺎ‬ . ‫ﺷﻮد‬ ‫ﻣﻲ‬ ‫ﺗﺒﺪﻳﻞ‬ Out ‫ﺑﻪ‬ ‫ﻋﺒﺎرت‬ ‫اﻳﻦ‬ ‫ﺑﻴﺘﻬﺎ‬ ‫از‬ ‫ﻳﻚ‬
٤٥
B ‫ﭘﻮرت‬ ‫ﺗﻨﻈﻴﻤﺎت‬ ،Codewizard ‫ﭘﻨﺠﺮه‬ ٧ -٤ ‫ﺷﮑﻞ‬
‫ﻗﺴـﻤﺖ‬ File ‫ـﻮي‬‫ـ‬‫ﻣﻨ‬ ‫از‬ ‫ﻛﺎر‬ ‫اﻳﻦ‬ ‫ﺑﺮاي‬ . ‫ﺷﻮﻧﺪ‬ ‫ﺗﻮﻟﻴﺪ‬ ‫ﻣﺮﺑﻮﻃﻪ‬ ‫ﻛﺪﻫﺎي‬ ‫ﺑﺎﻳﺪ‬ ‫و‬ ‫اﺳﺖ‬ ‫رﺳﻴﺪه‬ ‫ﭘﺎﻳﺎن‬ ‫ﺑﻪ‬ ‫اوﻟﻴﻪ‬ ‫ﺗﻨﻈﻴﻤﺎت‬ ‫اﻳﻨﺠﺎ‬ ‫در‬
(٨-٤ ‫ﻛﻨﻴﺪ.)ﺷﻜﻞ‬ ‫ﻣﻲ‬ ‫اﻧﺘﺨﺎب‬ ‫را‬ Generate , Save and Exit
CodewizardAVR ‫ﺑﺮﻧﺎﻣﻪ‬ ‫در‬ File ‫ﻣﻨﻮي‬ ٨ -٤ ‫ﺷﻜﻞ‬
‫ذﺧﻴﺮه‬ ‫را‬ ‫آن‬ ‫و‬ ‫ﻛﺮده‬ ‫ﮔﺬاري‬ ‫ﻧﺎم‬ ‫را‬ ‫ﺧﻮد‬ ‫ﭘﺮوژه‬ ‫اﺻﻠﻲ‬ ‫ﻓﺎﻳﻞ‬ ‫ﺗﺎ‬ ‫ﺧﻮاﻫﺪ‬ ‫ﻣﻲ‬ ‫ﺷﻤﺎ‬ ‫از‬ ‫و‬ ‫ﺷﻮد‬ ‫ﻣﻲ‬ ‫ﺑﺎز‬ ‫اي‬ ‫ﭘﻨﺠﺮه‬ ‫ﻋﻤﻞ‬ ‫اﻳﻦ‬ ‫اﻧﺠﺎم‬ ‫ﺑﺎ‬
(٩-٤ ‫دﻫﻴﺪ.)ﺷﻜﻞ‬ ‫ﻓﺸﺎر‬ ‫را‬ Save ‫دﻛﻤﻪ‬ ‫ﻛﻨﻴﺪ‬ ‫اﻧﺘﺨﺎب‬ io ‫را‬ ‫آن‬ ‫ﻧﺎم‬ . ‫ﻛﻨﻴﺪ‬
٤٦
C ‫زﺑﺎن‬ ‫ﺑﻪ‬ ‫ﭘﺮوژه‬ ‫اﺻﻠﻲ‬ ‫ﻓﺎﻳﻞ‬ ‫ﻛﺮدن‬ ‫ذﺧﻴﺮه‬ ٩ -٤ ‫ﺷﻜﻞ‬
‫را‬ Save ‫دﻛﻤـﻪ‬ ‫و‬ ‫ﻛﻨﻴـﺪ‬ ‫ـﺨﺎب‬‫ـ‬‫اﻧﺘ‬ io ‫ﻫﻢ‬ ‫را‬ ‫آن‬ ‫ﻧﺎم‬ ‫ﻛﺮد‬ ‫ﺧﻮاﻫﺪ‬ ‫ذﺧﻴﺮه‬ ‫را‬ ‫ﭘﺮوژه‬ ‫ﻓﺎﻳﻞ‬ ‫ﻛﻪ‬ ‫ﺷﻮد‬ ‫ﻣﻲ‬ ‫ﺑﺎز‬ ‫دﻳﮕﺮي‬ ‫ﭘﻨﺠﺮه‬ ‫ﺣﺎﻻ‬
(١٠-٤ ‫دﻫﻴﺪ)ﺷﻜﻞ‬ ‫ﻓﺸﺎر‬
‫ﭘﺮوژه‬ ‫ﻓﺎﻳﻞ‬ ‫ﻛﺮدن‬ ‫ذﺧﻴﺮه‬ ١٠ -٤ ‫ﺷﻜﻞ‬
‫ذﺧﻴﺮه‬ ‫را‬ ‫آن‬ ‫و‬ ‫دﻫﻴﺪ‬ ‫ﻗﺮار‬ io ‫ﻧﻴﺰ‬ ‫را‬ ‫آن‬ ‫ﻧﺎم‬ .‫ﻛﻨﺪ‬ ‫ﻣﻲ‬ ‫ذﺧﻴﺮه‬ ‫را‬ CodewizardAVR ‫ﺑﻪ‬ ‫ﻣﺮﺑﻮط‬ ‫ﭘﺮوژه‬ ‫ﻓﺎﻳﻞ‬ ‫ﺑﻌﺪي‬ ‫ﭘﻨﺠﺮه‬
(١١-٤ ‫ﻛﻨﻴﺪ.)ﺷﻜﻞ‬
٤٧
CodewizardAVR ‫ﺑﻪ‬ ‫ﻣﺮﺑﻮط‬ ‫ﭘﺮوژه‬ ‫ﻓﺎﻳﻞ‬ ‫ﻛﺮدن‬ ‫١١ذﺧﻴﺮه‬ -٤ ‫ﺷﻜﻞ‬
‫آن‬ ‫و‬ ‫دﻫــﺪ‬ ‫ﻣﻲ‬ ‫ﻗﺮار‬ ‫ﭘﺮوژه‬ ‫اﺻﻠﻲ‬ ‫ﻓﺎﻳﻞ‬ ‫در‬ ‫را‬ ‫آﻧﻬﺎ‬ ‫و‬ ‫ﻛﺮده‬ ‫ﺗﻮﻟﻴﺪ‬ ‫را‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻛﺪﻫﺎي‬ CodewizardAVR ‫ﻛﺎر‬ ‫اﻳﻦ‬ ‫اﻧﺠﺎم‬ ‫ﺑﺎ‬
.‫ﻧﻤﺎﻳﺪ‬ ‫ﻣﻲ‬ ‫ﺑﺎز‬ ‫را‬
‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻓﻬﻢ‬ ‫ﺷﺪن‬ ‫ﺗﺮ‬ ‫ﺳﺎده‬ ‫ﺑﺎﻋﺚ‬ ‫ﻛﻪ‬ ‫اﻧﺪ‬ ‫ﺷﺪه‬ ‫اﺿﺎﻓﻪ‬ ‫ﻫﻢ‬ ‫ﺗﻮﺿﻴﺤﺎﺗﻲ‬ ‫ﻗﺴﻤﺖ‬ ‫ﻫﺮ‬ ‫در‬ ،‫ﻛﺪﻫﺎ‬ ‫ﺑﺮ‬ ‫ﻋﻼوه‬ ‫ﺑﻴﻨﻴﺪ‬ ‫ﻣﻲ‬ ‫ﻛﻪ‬ ‫ﻃﻮر‬ ‫ﻫﻤﺎن‬
‫ﺑﺮﻧﺎﻣــﻪ‬ ‫اﻳﻦ‬ ‫ﻛﻪ‬ ‫آﻧﺠﺎﻳﻲ‬ ‫از‬ . ‫ﻛﻨﻴﺪ‬ ‫اﺿﺎﻓﻪ‬ //Place your code here ‫ﻗﺴﻤﺖ‬ ‫از‬ ‫ﺑﻌﺪ‬ ‫را‬ ‫ﺧﻮد‬ ‫ﻛﺪﻫﺎي‬ ‫ﺗﺎ‬ ‫اﺳﺖ‬ ‫ﻛﺎﻓﻲ‬ ‫ﺣﺎﻻ‬ . ‫ﺷﻮﻧﺪ‬ ‫ﻣﻲ‬
. ‫ﻧﻤﺎﻳﻴﺪ‬ ‫اﺿﺎﻓﻪ‬ ‫را‬ ‫زﻳﺮ‬ ‫دﺳﺘﻮر‬ ‫ﻗﺴﻤﺖ‬ ‫اﻳﻦ‬ ‫در‬ ‫ﺗﺎ‬ ‫اﺳﺖ‬ ‫ﻛﺎﻓﻲ‬ ‫اﺳﺖ‬ ‫ﺳﺎده‬
PORTB = PINA;
.‫ﺑﺒﻴﻨﻴﺪ‬ ‫را‬ ‫ﻧﺘﻴﺠﻪ‬ ‫و‬ ‫ﻛﻨﻴﺪ‬ ‫ﭘﺮوﮔﺮام‬ ‫را‬ ‫ﺗﺮاﺷﻪ‬ ‫و‬ ‫ﻧﻤﻮده‬ ‫ﻛﺎﻣﭙﺎﻳﻞ‬ ‫و‬ ‫ذﺧﻴﺮه‬ ‫را‬ ‫ﻓﺎﻳﻞ‬ ‫ﺣﺎﻻ‬
٤٨
PWM
‫ﻣـﻮج‬ ‫اﻳـﻦ‬ ‫ﭘـﻬﻨﺎي‬ . ‫ﻛﻨﻴـﻢ‬ ‫ﺗﻮﻟﻴــﺪ‬ PWM ‫ﻣﻮج‬ ‫ﻳﻚ‬ Fast mode PWM ‫ﻣﺪ‬ ‫در‬ ‫ﺻﻔﺮ‬ ‫ﺗﺎﻳﻤﺮ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ ‫ﺧﻮاﻫﻴﻢ‬ ‫ﻣﻲ‬
‫دو‬ ‫ﻫﺮ‬ ‫ﺑﻴﻦ‬ ‫ﺛﺎﻧﻴﻪ‬ ‫ﻣﻴﻠﻲ‬ ٢٠ ‫ﺗﺎﺧﻴﺮ‬ ‫ﺑﺎ‬ ٠ ‫ﺗﺎ‬ ١٠٠ ‫از‬ ‫و‬ ١٠٠ ‫ﺗﺎ‬ ٠ ‫از‬ ‫ﻣﺘﻨﺎوب‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﻣﻮﺛﺮ‬ ‫ﻗﺴﻤﺖ‬ ‫ﻃﻮل‬ ‫ﺗﺎ‬ ‫ﺧﻮاﻫﻴﻢ‬ ‫ﻣﻲ‬ ‫ﻣﺎ‬ ‫و‬ ‫اﺳﺖ‬ ٢٥٥
‫و‬ ‫ﺷـﻮد‬ ‫ـﻲ‬‫ـ‬‫ﻣ‬ ‫زﻳﺎد‬ ‫و‬ ‫ﻛﻢ‬ ‫ﺗﺪرﻳﺠﻲ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫آن‬ ‫ﻧﻮر‬ ‫ﺑﺪﻫﻴﻢ‬ LED ‫ﻳﻚ‬ ‫ﺑﻪ‬ ‫را‬ PWM ‫ﻣﻮج‬ ‫اﮔﺮ‬ ‫ﺻﻮرت‬ ‫اﻳﻦ‬ ‫در‬ .‫ﻛﻨﺪ‬ ‫ﺗﻐﻴﻴﺮ‬ ‫ﻣﺘﻮاﻟﻲ‬ ‫ﻋﺪد‬
‫ﺗﻨﻈﻴـﻢ‬ ‫از‬ ‫ﭘــﺲ‬ ‫ﻛﻨﻴﺪ‬ ‫اﺟﺮا‬ ‫را‬ CodewizardAVR ‫اﻓﺰار‬ ‫ﻧﺮم‬ ‫و‬ ‫ﻛﺮده‬ ‫اﻳﺠﺎد‬ ‫ﭘﺮوژه‬ ‫ﻳﻚ‬ ‫ﻗﺒﻞ‬ ‫ﻣﺜﺎل‬ ‫ﻫﻤﺎﻧﻨﺪ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫اﻳﻦ‬ ‫ﻧﻮﺷﺘﻦ‬ ‫ﺑﺮاي‬
‫در‬ ‫ﺧﺮوﺟــﻲ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫را‬ B ‫ﭘﻮرت‬ ‫از‬ ‫ﭼﻬﺎرم‬ ‫ﺑﻴﺖ‬ , Ports ‫ﻗﺴﻤﺖ‬ ‫در‬ ،(‫ﻗﺒﻞ‬ ‫)ﻫﻤﺎﻧﻨﺪ‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﻮرد‬ ‫ﻛﺮﻳﺴﺘﺎل‬ ‫ﻓﺮﻛﺎﻧﺲ‬ ‫و‬ ‫ﺗﺮاﺷﻪ‬ ‫ﻧﻮع‬
(١٢-٤ ‫آورﻳﺪ.)ﺷﻜﻞ‬
‫ﺧﺮوﺟﻰ‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ B ‫ﭘﻮرت‬ ‫از‬ ‫ﭼﻬﺎرم‬ ‫ﺑﻴﺖ‬ ‫ﺗﻨﻈﻴﻢ‬ ١٢ -٤ ‫ﺷﮑﻞ‬
٤٩
،Timers ‫ﻗﺴﻤﺖ‬ ‫در‬ ‫ﺳﭙﺲ‬ . ‫ﺷﻮد‬ ‫ﻣﻲ‬ ‫اﺳﺘﻔﺎده‬ ‫ﺻﻔﺮ‬ ‫ﺗﺎﻳﻤﺮ‬ ‫ﺗﻮﺳﻂ‬ PWM ‫ﺗﻮﻟﻴﺪ‬ ‫ﺑﺮاي‬ ‫ﻛﻪ‬ ‫اﺳﺖ‬ ١
OC0 ‫ﻫﻤﺎن‬ ‫ﺑﻴﺖ‬ ‫اﻳﻦ‬
(١٣-٤)‫ﺷـﻜﻞ‬ ‫ﻣﻄـﺎﺑﻖ‬ ‫ﻫـﻢ‬ ‫را‬ ‫ﻗﺴـﻤﺘﻬﺎ‬ ‫ﺑﻘﻴـﻪ‬ ‫و‬ ‫ﻛﻨﻴــﺪ‬ ‫اﻧﺘﺨﺎب‬ ‫را‬ System clock , clock source ‫ﻗﺴﻤﺖ‬ ،Timer 0 ‫ﺑﺨﺶ‬
. ‫ﻧﻤﺎﻳﻴﺪ‬ ‫ﺗﻨﻈﻴﻢ‬
PWM ‫ﺗﻮﻟﻴﺪ‬ ‫ﺑﺮاي‬ ‫ﺻﻔﺮ‬ ‫ﺗﺎﻳﻤﺮ‬ ‫ﺗﻨﻈﻴﻢ‬ ١٣ -٤ ‫ﺷﻜﻞ‬
‫ﻛـﺪ‬ ‫ﺑـﻪ‬ ‫ﺷــﺪ‬ ‫ﮔﻔﺘﻪ‬ ‫ﻗﺒﻞ‬ ‫ﻣﺜﺎل‬ ‫در‬ ‫ﻛﻪ‬ ‫ﺻﻮرﺗﻲ‬ ‫ﺑﻪ‬ ‫را‬ ‫آن‬ ‫ﺑﺎﻳﺪ‬ ‫و‬ ‫رﺳﺪ‬ ‫ﻣﻲ‬ ‫ﭘﺎﻳﺎن‬ ‫ﺑﻪ‬ CodewizardAVR ‫ﺗﻨﻈﻴﻤﺎت‬ ‫اﻳﻦ‬ ‫در‬
. ‫ﻧﻤﺎﻳﻴﺪ‬ ‫ﺗﺒﺪﻳﻞ‬
‫ﻛﻨﻴﺪ‬ ‫اﺿﺎﻓﻪ‬ ‫را‬ #include <delay.h> ‫دﺳﺘﻮر‬ ، # include <mega32.h> ‫دﺳﺘﻮر‬ ‫از‬ ‫ﺑﻌﺪ‬ ‫اﺑﺘﺪا‬ ‫ﺑﺎﻳﺪ‬ ‫ﻗﺴﻤﺖ‬ ‫اﻳﻦ‬ ‫در‬
.‫ﻧﻤﺎﻳﻴﺪ‬ ‫وارد‬ ‫را‬ ‫زﻳﺮ‬ ‫دﺳﺘﻮرات‬ //place your code hear ‫ﺗﻮﺿﻴﺢ‬ ‫ﺧﻂ‬ ‫از‬ ‫ﺑﻌﺪ‬ ‫ﺳﭙﺲ‬
unsigned char i;
for(i=0;i<100;i++)
{
OCR0=i;
Output Compare 0
١
٥٠
delay_ms(20);
}
for(i=100;i>1;i--)
{
OCR0=i;
delay_ms(20);
}
‫ﻳـﻚ‬ ‫ﻛﻤـﻚ‬ ‫ﺑـﻪ‬ ‫ﺗﻮاﻧﻴـﺪ‬ ‫ـﻲ‬‫ـ‬‫ﻣ‬ ‫را‬ OC0 ‫ﺧﺮوﺟﻲ‬ ‫در‬ PWM ‫ﻣﻮج‬ . ‫ﻛﻨﻴﺪ‬ ‫ﭘﺮوﮔﺮام‬ ‫را‬ ‫ﺗﺮاﺷﻪ‬ ‫و‬ ‫ﻧﻤﻮده‬ ‫ﻛﺎﻣﭙﺎﻳﻞ‬ ‫را‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﺣﺎﻻ‬
. ‫ﻧﻤﺎﻳﻴﺪ‬ ‫ﻣﺸﺎﻫﺪه‬ ‫ﻫﻢ‬ ‫دار‬ ‫ﺣﺎﻓﻈﻪ‬ ‫اﺳﻴﻠﻮﺳﻜﻮپ‬
ADC
‫ﺑـﻪ‬ ‫را‬ ‫آن‬ ‫و‬ ‫ﺧﻮاﻧـﺪه‬ ‫را‬ PORTA (ADC0) ‫ـﻪ‬‫ـ‬‫ﭘﺎﻳ‬ ‫در‬ ‫آﻧﺎﻟﻮگ‬ ‫ورودي‬ ‫ﺗﺎ‬ ‫ﺑﻨﻮﻳﺴﻴﻢ‬ ‫اي‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ،‫دارﻳﻢ‬ ‫ﻗﺼﺪ‬ ‫ﻗﺴﻤﺖ‬ ‫اﻳﻦ‬ ‫در‬
. ‫دﻫﺪ‬ ‫ﻧﺸﺎن‬ LED ‫ﻛﻤﻚ‬ ‫ﺑﻪ‬ D ‫ﭘﻮرت‬ ‫ارزش‬ ‫ﻛﻢ‬ ‫ﺑﻴﺖ‬ ‫دو‬ ‫و‬ B ‫ﭘﻮرت‬ ‫در‬ ‫ﺑﻴﺘﻲ‬ ١٦ ‫ﺻﻮرت‬
ATMega32L
40
32
31
1
2
3
4
5
6
7
8
14
15
PA0(ADC0)
AREF
GND
PB0(XCK-T0)
PB1(T1)
PB2(INT2-AIN0)
PB3(OC0-AIN1)
PB4(SS)
PB5(MOSI)
PB6(MISO)
PB7(SCK)
PD0(RXD)
PD1(TXD)
0.1u
Vcc
20k
220
١٤ -٤ ‫ﺷﮑﻞ‬
٠,١ ‫ﺳﺮاﻣﻴﻜﻲ‬ ‫ﺧﺎزن‬ ‫ﻳﻚ‬ :‫اﺳﺖ‬ ‫زﻳﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﮔﺮدد‬ ‫اﺿﺎﻓﻪ‬ ‫اﺻﻠﻲ‬ ‫اﻓﺰار‬ ‫ﺳﺨﺖ‬ ‫ﺑﻪ‬ ‫ﺑﺎﻳﺪ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫اﺟﺮاي‬ ‫ﺑﺮاي‬ ‫ﻛﻪ‬ ‫اﻓﺰاري‬ ‫ﺳﺨﺖ‬
‫در‬ ‫ﻛـﻪ‬ ‫اﻫـﻢ‬ ٢٢٠ ‫ﻣﻘـﺎوﻣﺖ‬ ‫و‬ LED ‫ﻋــﺪد‬ ١٠ ‫و‬ ADC0 ‫در‬ ‫اﻫﻢ‬ ‫ﻛﻴﻠﻮ‬ ٢٠ ‫ﭘﺘﺎﻧﺴﻮﻣﺘﺮ‬ ‫ﻳﻚ‬ ،‫زﻣﻴﻦ‬ ‫و‬ AREF ‫ﭘﺎﻳﻪ‬ ‫ﺑﻴﻦ‬ ‫ﻣﻴﻜﺮوﻓﺎراد‬
‫اﻧﺪ‬ ‫ﺷﺪه‬ ‫داده‬ ‫ﻧﺸﺎن‬ ‫زﻳﺮ‬ (١٤-٤)‫ﺷﻜﻞ‬
٥١
‫ﺑﻌـﺪ‬ . ‫ـﺎﻳﻴﺪ‬‫ـ‬‫ﻧﻤ‬ ‫اﺟﺮا‬ ‫را‬ CodewizardAVR ‫اﻓﺰار‬ ‫ﻧﺮم‬ ‫ﻗﺒﻞ‬ ‫ﻣﺜﺎﻟﻬﺎي‬ ‫ﻫﻤﺎﻧﻨﺪ‬ ‫و‬ ‫ﻛﻨﻴﺪ‬ ‫اﻳﺠﺎد‬ ‫ﺟﺪﻳﺪ‬ ‫ﭘﺮوژه‬ ‫ﻳﻚ‬ ‫ﺑﺎﻳﺪ‬ ‫اﺑﺘﺪا‬ ‫در‬
‫در‬ ‫ﺧﺮوﺟـﻲ‬ ‫ﺻـﻮرت‬ ‫ﺑـﻪ‬ ‫را‬ D ‫ﭘـﻮرت‬ ‫ارزش‬ ‫ـﻢ‬‫ـ‬‫ﻛ‬ ‫ﺑﻴﺖ‬ ‫دو‬ ‫و‬ B ‫ﭘﻮرت‬ ، Ports ‫ﻗﺴﻤﺖ‬ ‫در‬ ،‫ﻛﺮﻳﺴﺘﺎل‬ ‫ﻓﺮﻛﺎﻧﺲ‬ ‫و‬ ‫ﺗﺮاﺷﻪ‬ ‫ﻧﻮع‬ ‫ﺗﻨﻈﻴﻢ‬ ‫از‬
(١٦-٤ ‫و‬ ١٥-٤ ‫.)ﺷﻜﻠﻬﺎي‬ .‫آورﻳﺪ‬
‫ﺧﺮوﺟﻲ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ B ‫ﭘﻮرت‬ ‫ﺗﻨﻈﻴﻢ‬ ١٥ -٤ ‫ﺷﻜﻞ‬
٥٢
‫ﺧﺮوﺟﻲ‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ D ‫ﭘﻮرت‬ ‫از‬ ‫ﻳﻚ‬ ‫و‬ ‫ﺻﻔﺮ‬ ‫ﭘﻴﻨﻬﺎي‬ ‫ﺗﻨﻈﻴﻢ‬ ١٦ -٤ ‫ﺷﻜﻞ‬
‫ﺑــﻪ‬ ‫ﻣﺮﺑﻮط‬ ‫ﺗﻨﻈﻴﻤﺎت‬ ‫ﻛﺎر‬ ‫اﻳﻦ‬ ‫اﻧﺠﺎم‬ ‫ﺑﺎ‬ .‫ﺑﺰﻧﻴﺪ‬ ‫ﻋﻼﻣﺖ‬ ‫را‬ ADC Enabled ‫اﺑﺘﺪا‬ (١٧-٤ ‫)ﺷﻜﻞ‬ ،ADC ‫ﻗﺴﻤﺖ‬ ‫در‬ ‫ﺳﭙﺲ‬
Int, Cap.on ‫ﺑﺮاﺑـﺮ‬ ‫را‬ Volt. Ref ، ‫زده‬ ‫ﻋﻼﻣـﺖ‬ ‫ﻧﻴﺰ‬ ‫را‬ Interrupt ADC ‫ﺳﭙﺲ‬ (١٨-٤ ‫.)ﺷﻜﻞ‬ ‫ﺷﻮﻧﺪ‬ ‫ﻣﻲ‬ ‫ﻧﻤﺎﻳﺎن‬ ADC
.‫ﻛﻨﻴﺪ‬ ‫اﻧﺘﺨﺎب‬ 125. 000KHz ‫ﺑﺮاﺑﺮ‬ ‫را‬ ADC Clock ‫و‬ AREF
٥٣
‫آن‬ ‫ﻛﺮدن‬ ‫ﻓﻌﺎل‬ ‫از‬ ‫ﻗﺒﻞ‬ ADC ‫ﻗﺴﻤﺖ‬ ١٧ -٤ ‫ﺷﻜﻞ‬
Codvision AVR
Codvision AVR
Codvision AVR
Codvision AVR
Codvision AVR
Codvision AVR
Codvision AVR
Codvision AVR
Codvision AVR
Codvision AVR
Codvision AVR
Codvision AVR
Codvision AVR

More Related Content

Featured

Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationErica Santiago
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellSaba Software
 

Featured (20)

Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
 

Codvision AVR

  • 1.
  • 2. ٢
  • 3. ٣ ‫ﻣﻴﻜﺮوﻛﻨﺘﺮوﻟﺮﻫﺎي‬ ‫ﺑﺎ‬ ‫آﺷﻨﺎﻳﻲ‬ CodevisionAVR ‫اﻓﺰار‬ ‫ﻧﺮم‬ ‫و‬ AVR ‫اﻓﺮوز‬ ‫ره‬ ‫اﻣﻴﺮ‬
  • 4. ‫ﻣﯿﮑﺮوﮐﻨﺘﺮوﻟﺮﻫﺎی‬ ‫ﻣﻮرد‬ ‫در‬ ‫را‬ ‫ﺟﺎﻣﻌﺘﺮی‬ ‫اﻃﻼﻋﺎت‬ ‫ﺗﺎ‬ ‫ﻣﻨﺪﯾﺪ‬ ‫ﻋﻼﻗﻪ‬ ‫ﮐﻪ‬ ‫ﺻﻮرﺗﯽ‬ ‫در‬AVR‫ﺗﻮاﻧﯿﺪ‬ ‫ﻣﯽ‬ ‫آورﯾﺪ‬ ‫ﺑﺪﺳﺖ‬‫زﯾﺮ‬ ‫ﮐﺘﺎب‬ ‫ﮐﻨﯿﺪ‬ ‫ﺗﻬﯿﻪ‬ ‫را‬: ‫ﮐﻨﯿﺪ‬ ‫ﻣﺮاﺟﻌﻪ‬ ‫زﯾﺮ‬ ‫ﺳﺎﯾﺘﻬﺎی‬ ‫ﺑﻪ‬ ‫ﺗﻮاﻧﯿﺪ‬ ‫ﻣﯽ‬ ‫ﺑﯿﺸﺘﺮ‬ ‫اﻃﻼﻋﺎت‬ ‫ﺑﺮای‬: http://profiles.yahoo.com/am_rahafrooz http://bme.aut.ac.ir/arahafrooz
  • 5. ‫ﮐﻨﯿﺪ‬ ‫اﺳﺘﻔﺎده‬ ‫زﯾﺮ‬ ‫اﻟﮑﺘﺮوﻧﯿﮑﯽ‬ ‫ﭘﺴﺖ‬ ‫آدرﺳﻬﺎی‬ ‫از‬ ‫ﺗﻮاﻧﯿﺪ‬ ‫ﻣﯽ‬ ‫اﯾﻨﺠﺎﻧﺐ‬ ‫ﺑﺎ‬ ‫ﺗﻤﺎس‬ ‫ﺑﺮای‬ ‫اﯾﻦ‬ ‫ﺑﺮ‬ ‫ﻋﻼوه‬: arahafrooz@cic.aut.ac.ir am_rahafrooz@yahoo.com ‫ﺑﺎﺷﯿﺪ‬ ‫ﻣﻮﻓﻖ‬.
  • 6. ٤ ‫اول‬ ‫ﻓﺼﻞ‬ AVR ‫ﺑﺎ‬ ‫آﺷﻨﺎﻳﻲ‬ ‫ﭘﻴﺸـﺮﻓﺘﻪ‬ ‫ﺳـﺎﺧﺘﺎر‬ ‫اﺳـﺎس‬ ‫ـﺮ‬‫ـ‬‫ﺑ‬ ‫ﻛﻪ‬ ‫ﻫﺴﺘﻨﺪ‬ ‫ﭘﺎﻳﻴﻦ‬ ‫ﻣﺼﺮﻓﻲ‬ ‫ﺗﻮان‬ ‫ﺑﺎ‬ CMOS ‫ﻧﻮع‬ ‫از‬ ‫ﺑﻴﺘﻲ‬ ٨ ‫ﻣﻴﻜﺮوﻛﻨﺘﺮوﻟﺮﻫﺎي‬ ‫ﻫﺎ‬AVR ‫ﻧﻈـﺮ‬ ‫ﺗﻮاﻧﺴـﺖ‬ ‫ﻣﻴﻜﺮوﻛﻨﺘﺮوﻟﺮﻫـﺎ‬ ‫از‬ ‫ﺳـﺮي‬ ‫اﻳـﻦ‬ ،١٩٩٦ ‫ﺳـﺎل‬ ‫در‬ AVR ‫ﻧﺴﺨﻪﻫﺎي‬ ‫اوﻟﻴﻦ‬ ‫ﺳﺎﺧﺖ‬ ‫از‬ ‫ﭘﺲ‬ .‫ﺷﺪهاﻧﺪ‬ ‫ﺳﺎﺧﺘﻪ‬ RISC .‫ﻣﻲآﻳـﺪ‬ ‫ﺣﺴــﺎب‬ ‫ﺑﻪ‬ ‫ﻣﻴﻜﺮوﻛﻨﺘﺮوﻟﺮﻫﺎ‬ ‫اﻧﻮاع‬ ‫ﭘﺮﻣﺼﺮﻓﺘﺮﻳﻦ‬ ‫از‬ ‫ﻳﻜﻲ‬ ‫اﻣﺮوزه‬ ‫ﻛﻪ‬ ‫ﻃﻮري‬ ‫ﺑﻪ‬ ‫ﻛﻨﺪ‬ ‫ﺟﺬب‬ ‫ﺧﻮد‬ ‫ﺑﻪ‬ ‫را‬ ‫اﻟﻜﺘﺮوﻧﻴﻚ‬ ‫ﻋﻼﻗﻤﻪﻣﻨﺪان‬ ‫ﻛﺎرﺑﺮﻫـﺎي‬ ،‫ﻣﻴﻜﺮوﻛﻨــﺘﺮوﻟﺮ‬ ‫ﻫﺮ‬ ‫ﻛﻪ‬ ‫ﭼﺮا‬ ‫ﻛﺮد‬ ‫ﻣﻌﺮﻓﻲ‬ ‫ﺑﻬﺘﺮﻳﻦ‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ ‫را‬ ‫ﻣﻴﻜﺮوﻛﻨﺘﺮوﻟﺮي‬ ‫ﻧﻮع‬ ‫ﻫﻴﭻ‬ ‫ﻧﻤﻲﺗﻮان‬ ‫داﻧﻴﺪ‬ ‫ﻣﻲ‬ ‫ﻛﻪ‬ ‫ﻃﻮر‬ ‫ﻫﻤﺎن‬
  • 7. ٥ ‫اﻳـﻦ‬ ‫ﺑـﺎ‬ ‫وﻟـﻲ‬ ،‫ﮔﺮدد‬ ‫اﻧﺘﺨــﺎب‬ ‫ﺑﻬﺘﺮﻳﻦ‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ ‫وﻳﮋهاي‬ ‫ﻣﻮارد‬ ‫ﺑﺮاي‬ ‫ﺗﻨﻬﺎ‬ ‫ﻣﻲﺗﻮاﻧﺪ‬ ،‫داﺧﻠﻲ‬ ‫ﺧﺼﻮﺻﻴﺎت‬ ‫اﺳﺎس‬ ‫ﺑﺮ‬ ‫و‬ ‫دارد‬ ‫را‬ ‫ﺧﻮد‬ ‫ﺧﺎص‬ ‫از‬ ‫اﺳـﺘﻔﺎده‬ ‫ﻛـﻞ‬ ‫در‬ ‫ﻛـﻪ‬ ‫ﺷـﺪ‬ ‫ﺧﻮاﻫﻴـﺪ‬ ‫ﻣﺘﻮﺟــﻪ‬ AVR ‫ﺟﺎﻧﺒﻲ‬ ‫اﻓﺰارﻫﺎي‬ ‫ﻧﺮم‬ ‫و‬ ‫اﻣﻜﺎﻧﺎت‬ ‫ﺑﺎ‬ ‫آﺷﻨﺎﻳﻲ‬ ‫و‬ ‫ﺑﻌﺪي‬ ‫ﺻﻔﺤﺎت‬ ‫ﻣﻄﺎﻟﻌﺔ‬ ‫ﺑﺎ‬ ‫ﺣﺎل‬ .‫دارد‬ ‫ﺗﺮﺟﻴﺢ‬ ‫ﺑﻘﻴﻪ‬ ‫ﺑﺮ‬ AVR ‫ازاي‬ ‫ﺑـﻪ‬ ‫ﺗﺎ‬ ‫ﻣﻲﺗﻮاﻧﻴﻢ‬ ‫ﺗﺮﺗﻴﺐ‬ ‫اﻳﻦ‬ ‫ﺑﻪ‬ ‫و‬ ‫ﻣﻲﻧﻤﺎﻳﻨﺪ‬ ‫اﺟﺮا‬ ‫ﺳﺎﻋﺖ‬ ‫ﭘﺎﻟﺲ‬ ‫ﻳﻚ‬ ‫در‬ ‫ﺗﻨﻬﺎ‬ ‫را‬ ‫دﺳﺘﻮرات‬ ،RISC ‫ﺳﺎﺧﺘﺎر‬ ‫ﺑﺎ‬ ‫ﻫﺎ‬AVR .‫ﻛﻨﻴﻢ‬ ‫ﺑﻬﻴﻨﻪ‬ ‫ﺗﻮان‬ ‫ﻣﺼﺮف‬ ‫ﻧﻴﺰ‬ ‫و‬ ‫ﭘﺮدازش‬ ‫ﺳﺮﻋﺖ‬ ‫ﻟﺤﺎظ‬ ‫از‬ ‫را‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫و‬ ‫ﻛﺮده‬ ‫اﺟﺮا‬ (MIPS)‫ﺛﺎﻧﻴﻪ‬ ‫در‬ ‫را‬ ‫ﻣﮕﺎدﺳﺘﻮر‬ ‫ﻳﻚ‬ ،‫ﻣﮕﺎﻫﺮﺗﺰ‬ ‫ﻳﻚ‬ ‫ﻫﺮ‬ ٣٢ ‫اﻳـﻦ‬ ‫ﺗﻤــﺎم‬ .‫ﻣﻲﮔﺮدﻧﺪ‬ ‫ﺷﺎﻣﻞ‬ ‫را‬ ‫ﻗﺪرﺗﻤﻨﺪي‬ ‫دﺳﺘﻮرات‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ‫و‬ (R0..R31) ‫ﻣﻨﻈﻮره‬ ‫ﻫﻤﻪ‬ ‫رﺟﻴﺴﺘﺮ‬ ٣٢ ،‫ﻫﺎ‬AVR ‫اﻳـﻦ‬ .‫اﺳـﺖ‬ ‫اﻣﻜـﺎنﭘﺬﻳـﺮ‬ ‫ﻫــﻢ‬ ‫ﺳﺎﻋﺖ‬ ‫ﺳﻴﻜﻞ‬ ‫ﻳﻚ‬ ‫در‬ ‫رﺟﻴﺴﺘﺮ‬ ‫دو‬ ‫ﺑﻪ‬ ‫دﺳﺘﺮﺳﻲ‬ ‫ﺑﻨﺎﺑﺮاﻳﻦ‬ ،‫ﺷﺪهاﻧﺪ‬ ‫ﻣﺘﺼﻞ‬ ALU ‫ﺑﻪ‬ ‫ﹰ‬‫ﺎ‬‫ﻣﺴﺘﻘﻴﻤ‬ ‫رﺟﻴﺴﺘﺮ‬ .‫ﻳﺎﺑﺪ‬ ‫اﻓﺰاﻳﺶ‬ ‫ﻫﻢ‬ ‫٠١ﺑﺮاﺑﺮ‬ ‫ﺗﺎ‬ ‫ﺑﺘﻮاﻧﺪ‬ CISC ‫ﻣﻴﻜﺮوﻛﻨﺘﺮوﻟﺮﻫﺎي‬ ‫ﺑﻪ‬ ‫ﻧﺴﺒﺖ‬ ‫آﻧﻬﺎ‬ ‫ﺳﺮﻋﺖ‬ ‫ﺗﺎ‬ ‫ﻣﻲﮔﺮدد‬ ‫ﻣﻮﺟﺐ‬ ‫ﺳﺎﺧﺘﺎر‬ ‫ﻳــﺎدﮔﻴـﺮي‬ ‫ﺑﻪ‬ ‫ﺷﺮوع‬ ‫ﻛﻪ‬ ‫زﻣﺎﻧﻲ‬ .‫ﻫﺴﺘﻨﺪ‬ ‫ﻛﺎﻣﻞ‬ ‫ﺟﺎﻧﺒﻲ‬ ‫اﻣﻜﺎﻧﺎت‬ ‫ﺑﺎ‬ ‫ﭘﻴﺸﺮﻓﺘﻪ‬ ‫ﺗﺮاﺷﻪﻫﺎﻳﻲ‬ ، AVR ‫ﻣﻴﻜﺮوﻛﻨﺘﺮوﻟﺮﻫﺎي‬ ‫ﺧﺎﻧﻮاده‬ .‫ﻣﻲﺷﻮد‬ ‫آﻏﺎز‬ ‫ﺟﺰﺋﻴﺎﺗﺸﺎن‬ ‫ﺗﻤﺎم‬ ‫ﻓﺮاﮔﻴﺮي‬ ‫ﻟﺬت‬ ،‫ﻧﻤﺎﻳﻴﺪ‬ ‫آﻧﻬﺎ‬ ‫اﺻﻠﻲ‬ ‫ﻣﻔﺎﻫﻴﻢ‬ :‫ﻣﻲﺷﻮﻧﺪ‬ ‫ﺗﻘﺴﻴﻢ‬ ‫دﺳﺘﻪ‬ ‫ﺳﻪ‬ ‫ﺑﻪ‬ AVR ‫ﻣﻴﻜﺮوﻛﻨﺘﺮوﻟﺮﻫﺎي‬ .AVR ‫ﻣﻴﻜﺮوﻛﻨﺘﺮوﻟﺮﻫﺎي‬ ‫اﻧﻮاع‬ ١ -١ ‫ﺷﻜﻞ‬
  • 8. ٦ ‫ﭘﺎﻳﻪ‬ ١٦ ‫ﺗﺎ‬ ‫ﭘﺎﻳﻪ‬ ٨ ‫از‬ AVR ‫ﻣﻴﻜﺮوﻛﻨﺘﺮوﻟﺮﻫﺎي‬ ‫ﻣﺨﺘﻠﻒ‬ ‫اﻧﻮاع‬ ٢ -١ ‫ﺷﻜﻞ‬ Tiny AVR- AVR(classic AVR)- Mega AVR- ‫ﻣﺠﻤﻮﻋﻪ‬ ‫و‬ ‫ﭘﻴﻦ‬ ‫ﺗﻌﺪاد‬ ‫ﺑﺎ‬ ‫ﺗﺮاﺷﻪﻫﺎﻳﻲ‬ ‫ﹰ‬‫ﺎ‬‫ﻏﺎﻟﺒ‬ ‫ﻫﺎ‬ Tiny AVR.‫ﻣﻲﺷﻮد‬ ‫ﻣﺮﺑﻮط‬ ‫آﻧﻬﺎ‬ ‫در‬ ‫ﻣﻮﺟﻮد‬ ‫اﻣﻜﺎﻧﺎت‬ ‫ﺑﻪ‬ ‫ﻧﻮع‬ ‫ﺳﻪ‬ ‫اﻳﻦ‬ ‫ﺑﻴﻦ‬ ‫ﺗﻔﺎوت‬ Maga .‫دارﻧـﺪ‬ ‫را‬ ‫اﻣﻜﺎﻧـﺎت‬ ‫ﺣﺪاﻗـﻞ‬ ‫ﭘﻴﭽﻴـﺪﮔﻲ‬ ‫ﻟﺤـﺎظ‬ ‫از‬ ‫ﻋﺒـﺎرﺗﻲ‬ ‫ﺑـﻪ‬ ‫و‬ ‫ـﻨﺪ‬‫ـ‬‫ﻣﻲﺑﺎﺷ‬ ‫ﻫﺎ‬Mega AVR ‫ﺑﻪ‬ ‫ﻧﺴﺒﺖ‬ ‫ﻛﻤﺘﺮي‬ ‫دﺳﺘﻮرات‬ .‫ﻣﻲﮔﻴﺮﻧﺪ‬ ‫ﻗﺮار‬ ‫ﻧﻮع‬ ‫دو‬ ‫اﻳﻦ‬ ‫ﺑﻴﻦ‬ ‫در‬ ‫ﻫﺎ‬AVR(classic AVR) ‫و‬ ‫داﺷﺘﻪ‬ ‫را‬ ‫اﻣﻜﺎﻧﺎت‬ ‫ﺣﺪاﻛﺜﺮ‬ ‫ﻫﺎ‬AVR ‫دﻳـﮕﺮ‬ ‫ﺗﺮاﺷــﺔ‬ ‫ﺑﻪ‬ ‫ﺗﺮاﺷﻪ‬ ‫ﻳﻚ‬ ‫از‬ ‫ﺗﻐﻴﻴﺮ‬ ‫رو‬ ‫اﻳﻦ‬ ‫از‬ ‫و‬ ‫دارﻧﺪ‬ ‫ﻣﺸﺎﺑﻬﻲ‬ ‫ﺣﺎﻓﻈﺔ‬ ‫ﺳﺎﺧﺘﺎر‬ ‫و‬ ‫دﺳﺘﻮرات‬ ‫ﻣﺠﻤﻮﻋﻪ‬ AVR ‫ﺗﺮاﺷﻪﻫﺎي‬ ‫ﺗﻤﺎم‬ .‫اﺳﺖ‬ ‫ﺳﺎده‬ ‫ﺑﺴﻴﺎر‬ ‫ﻛﺎري‬ AVR ‫ﻳﻚ‬ ‫ﻛﻠﻲ‬ ‫اﻣﻜﺎﻧﺎت‬ .‫ﻣﻲﺷﻮﻧﺪ‬ ‫اﺟﺮا‬ ‫ﺳﺎﻋﺖ‬ ‫ﺳﻴﻜﻞ‬ ‫ﻳﻚ‬ ‫در‬ ‫آﻧﻬﺎ‬ ‫اﻛﺜﺮ‬ ‫ﻛﻪ‬ ‫دﺳﺘﻮر‬ ١٣٠ ‫ﺣﺪود‬ ‫در‬ - .‫ﻣﻨﻈﻮره‬ ‫ﻫﻤﻪ‬ ‫ﺑﻴﺘﻲ‬ ٨ ‫رﺟﻴﺴﺘﺮ‬ ٣٢ - .‫ﺳﺎﻋﺖ‬ ‫ﺳﻴﻜﻞ‬ ٢ ‫اﺟﺮاي‬ ‫زﻣﺎن‬ ‫ﺑﺎ‬ ‫اﻓﺰاري‬ ‫ﺳﺨﺖ‬ ‫ﻛﻨﻨﺪة‬ ‫ﺿﺮب‬ - .SRAM, EEPROM ،(‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻛﺪﻫﺎي‬ ‫)ﺑﺮاي‬ FLASH ‫ﺣﺎﻓﻈﺔ‬ ‫ﻧﻮع‬ ‫ﺳﻪ‬ ‫داراي‬ -
  • 9. ٧ .١ (ISP)‫ﭘﺮوﮔﺮاﻣﺮ‬ ‫ﺑﻪ‬ ‫اﺣﺘﻴﺎج‬ ‫ﺑﺪون‬ ‫ﻣﻮردﻧﻈﺮ‬ ‫ﻣﺪار‬ ‫داﺧﻞ‬ ‫در‬ ‫ﺗﺮاﺷﻪ‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ - .‫ﺧﻮاﻧﺪن‬ ‫ﻣﻘﺎﺑﻞ‬ ‫در‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻛﺪﻫﺎي‬ ‫از‬ ‫ﺣﻔﺎﻇﺖ‬ - RC ‫ﻧﻮﺳﺎﻧﮕﺮ‬ ،‫ﺧﺎرﺟﻲ‬ ‫ﭘﺎﻳﻴﻦ‬ ‫ﻓﺮﻛﺎﻧﺲ‬ ‫ﻛﺮﻳﺴﺘﺎل‬ ،‫ﺧﺎرﺟﻲ‬ ‫ﻛﺮﻳﺴﺘﺎل‬ ‫ﺗﻮﺳﻂ‬ ‫ﻛﺎر‬ ‫ﺑﺮاي‬ ‫ﻧﻮﺳﺎﻧﮕﺮ‬ ‫ﺗﻨﻈﻴﻢ‬ ‫ﻗﺎﺑﻠﻴﺖ‬ - .‫ﺧﺎرﺟﻲ‬ ‫ﻓﺮﻛﺎﻧﺲ‬ ‫و‬ ‫داﺧﻠﻲ‬ RC ‫ﻧﻮﺳﺎﻧﮕﺮ‬ ،‫ﺧﺎرﺟﻲ‬ ‫ﻧـﻴﺰ‬ ‫و‬ ‫ﺗﺮاﺷـﻪ‬ ‫ﺟـﺎﻧﺒﻲ‬ ‫وﺳـﺎﻳﻞ‬ ‫ﻛـﺮدن‬ ‫واﺳـﻜﻦ‬ ‫ﺗﺴــﺖ‬ ،‫دﻳﺒﺎگ‬ ‫ﻋﻤﻞ‬ ‫اﻧﺠﺎم‬ ‫ﺑﺮاي‬ JTAG ‫ﭘﺮوﺗﻜﻞ‬ ‫ﺑﻪ‬ ‫ﻣﺠﻬﺰ‬ - .‫ﻓﻴﻮزﻫﺎ‬ ‫و‬ FLASH ,EEPROM ‫ﺣﺎﻓﻈﻪﻫﺎي‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ .‫ﺑﻴﺘﻲ‬ ٨ ‫ﺗﺎﻳﻤﺮ‬ ‫و‬ ‫ﺷﻤﺎرﻧﺪه‬ - .‫ﺑﻴﺘﻲ‬ ١٦ ‫ﺗﺎﻳﻤﺮ‬ ‫و‬ ‫ﺷﻤﺎرﻧﺪه‬ - .‫ﺟﺪاﮔﺎﻧﻪ‬ ‫ﻧﻮﺳﺎﻧﮕﺮ‬ ‫ﺑﺎ‬ ٢ RTC - ( PWM ‫ﺗﻮﻟﻴﺪ‬ ‫ﺑﺮاي‬ ‫٦١ﺑﻴﺘﻲ‬ ‫و‬ ‫ﺑﻴﺘﻲ‬ ٨ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﺗﺎﻳﻤﺮﻫﺎ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫)ﺑﺎ‬ PWM ‫ﻛﺎﻧﺎﻟﻬﺎي‬ - .٣ CTC ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﺗﺎﻳﻤﺮ‬ ‫ﺗﻨﻈﻴﻢ‬ ‫اﻣﻜﺎن‬ - .٢٠٠ ،١٠ ،١ ‫ﺗﻨﻈﻴﻢ‬ ‫ﻗﺎﺑﻞ‬ ‫ﺑﻬﺮة‬ ‫ﺑﺎ‬ ‫ﺗﻔﺎﺿﻠﻲ‬ ‫ورودي‬ ‫ﻳﺎ‬ ‫و‬ ‫ورودي‬ ‫ﻳﻚ‬ ‫ﺑﺎ‬ ‫ﺑﻴﺘﻲ‬ ١٠ ‫ﻫﺎي‬٤ ADC - .Philips ‫ﺷﺮﻛﺖ‬ ‫از‬ ‫ﺳﻴﻤﻪ‬ ‫دو‬ ‫ارﺗﺒﺎط‬ ،٦ TWI ‫ﻳﺎ‬ ٥ I2C ‫ﭘﺮوﺗﻜﻞ‬ ‫ﺑﻪ‬ ‫ﻣﺠﻬﺰ‬ - .‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫ﻗﺎﺑﻠﻴﺖ‬ ‫ﺑﺎ‬ ٧ USART ‫ﺳﺮﻳﺎل‬ ‫ارﺗﺒﺎط‬ - .Master/Slave ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ٨ SPI ‫ﺳﺮﻳﺎل‬ ‫ارﺗﺒﺎط‬ - .‫ﻣﺠﺰا‬ ‫ﻧﻮﺳﺎﻧﮕﺮ‬ ‫ﺑﺎ‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫ﻗﺎﺑﻞ‬ ،٩ ‫ﻧﮕﻬﺒﺎن‬ ‫ﺗﺎﻳﻤﺮ‬ - .‫آن‬ ‫ﺑﺮاي‬ ‫وﻗﻔﻪ‬ ‫ﺗﻌﺮﻳﻒ‬ ‫اﻣﻜﺎن‬ ‫ﺑﺎ‬ ‫آﻧﺎﻟﻮگ‬ ‫ﻛﻨﻨﺪة‬ ‫ﻣﻘﺎﻳﺴﻪ‬ - .١٠ ‫ﺑﺮق‬ ‫ﺑﻪ‬ ‫اﺗﺼﺎل‬ ‫زﻣﺎن‬ ‫در‬ ‫ﺷﺪن‬ RESET - .‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫ﻗﺎﺑﻠﻴﺖ‬ ‫ﺑﺎ‬ Brown-out Detector - In System Programming ١ Real Time Clock ٢ Clear Timer On Compare Match ٣ Analog to Digital Converter ٤ Inter-IC bus ٥ Two wire Interface ٦ Universal Synchronous and Asynchronous serial Receiver and Transmitter ٧ Serial peripheral Interface ٨ Watch Dog Timer ٩ Power On Reset ١٠
  • 10. ٨ .‫ﺧﺎرﺟﻲ‬ ‫و‬ ‫داﺧﻠﻲ‬ ‫وﻗﻔﻪ‬ ‫ﻣﻨﺎﺑﻊ‬ - .‫ﻣﺼﺮﻓﻲ‬ ‫ﺗﻮان‬ ‫ﻛﺎﻫﺶ‬ ‫ﺑﺮاي‬ ‫ﻣﺨﺘﻠﻒ‬ ‫ﺣﺎﻟﺖ‬ ‫ﺷﺶ‬ ‫ﺑﺎ‬ - ‫ﺑـﺎ‬ ‫ﻣﺪﻟـﻬﺎي‬ ‫در‬ ٥,٥-٢,٧‫و‬ ، ATMega32 ‫ﻣﺜـﻞ‬ L ‫ﭘﺴــﻮﻧﺪ‬ ‫ﺑﺪون‬ ‫ﻣﺪﻟﻬﺎي‬ ‫در‬ ٥,٥-٤,٥‫وﻟﺘﺎژﻫﺎي‬ ‫ﺑﺎ‬ ‫ﻛﺎر‬ - . ATMega 32(L) ‫ﻣﺜﻞ‬ L ‫ﭘﺴﻮﻧﺪ‬ Sram,Eeprom, ‫ﻓﻀﺎﻫــﺎي‬ ‫ﺣﺠﻢ‬ ‫و‬ ‫ﺑﺎﺷﺪ‬ ‫ﻧﺪاﺷﺘﻪ‬ ‫وﺟﻮد‬ AVR ‫ﺳﺎده‬ ‫اﻧﻮاع‬ ‫از‬ ‫ﺑﻌﻀﻲ‬ ‫در‬ ‫ﺷﺪه‬ ‫ذﻛﺮ‬ ‫اﻣﻜﺎﻧﺎت‬ ‫از‬ ‫ﺑﻌﻀﻲ‬ ‫اﺳﺖ‬ ‫ﻣﻤﻜﻦ‬ ‫را‬ AVR ‫از‬ ‫ﻧﻮﻋﻲ‬ ‫ﺑﺎﻳﺪ‬ ‫دارﻳﺪ‬ ‫ﻣﺤﺪودﻳﺖ‬ ‫ﻣﺎﻟﻲ‬ ‫ﻟﺤﺎظ‬ ‫از‬ ‫ﺷﻤﺎ‬ ‫اﮔﺮ‬ AVR ‫ﺻﺤﻴﺢ‬ ‫اﻧﺘﺨﺎب‬ ‫ﺑﺮاي‬ ‫ﻟﺬا‬ .‫ﺑﺎﺷﺪ‬ ‫ﻣﺘﻔﺎوت‬ ‫آﻧﻬﺎ‬ ‫در‬ ‫ﻫﻢ‬ Flash AVR ‫ﻗﻮﻳـﺘﺮﻳﻦ‬ ‫ﺑــﺎﻳﺪ‬ ‫ﹰ‬‫ﺎ‬‫ﻣﺴﻠﻤ‬ ،‫ﻧﺪارﻳﺪ‬ ‫ﻣﺤﺪوﻳﺘﻲ‬ ‫ﻛﻪ‬ ‫ﺻﻮرﺗﻲ‬ ‫در‬ ‫وﻟﻲ‬ .‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬ ‫را‬ ‫ﺷﻤﺎ‬ ‫ﻧﻴﺎز‬ ‫ﻣﻮرد‬ ‫اﻣﻜﺎﻧﺎت‬ ‫ﺗﻨﻬﺎ‬ ‫ﻛﻪ‬ ‫ﻛﻨﻴﺪ‬ ‫اﻧﺘﺨﺎب‬ …!‫ﭼﺮا‬ .‫ﻛﻨﻴﺪ‬ ‫اﻧﺘﺨﺎب‬ ‫را‬ ‫ﻣﻤﻜﻦ‬ !‫ﺑﻨﻮﻳﺴﻴﻢ‬ ‫را‬ AVR ‫ﻛﺪﻫﺎي‬ ‫ﺗﺎ‬ ‫ﺑﮕﻴﺮﻳﻢ‬ ‫ﻳﺎد‬ ‫ﺑﺎﻳﺪ‬ ‫ﭼﮕﻮﻧﻪ‬ ،‫ﺑﭙﺮﺳﻴﺪ‬ ‫ﺧﻮد‬ ‫از‬ ‫اﺳﺖ‬ ‫ﻣﻤﻜﻦ‬ ‫از‬ ‫ﺗﻨـﻬﺎ‬ AVR ‫ـﺮاﮔﻴـﺮي‬‫ـ‬‫ﻓ‬ ‫اﻣﻜﺎن‬ ‫وﺟﻮد‬ ‫اﻳﻦ‬ ‫ﺑﺎ‬ .‫ﺑﺎﺷﺪ‬ ‫ﻛﻨﻨﺪه‬ ‫ﻣﺄﻳﻮس‬ ‫ﻫﻢ‬ ‫ﻛﻤﻲ‬ ‫ﻣﻲﺗﻮاﻧﺪ‬ ‫وﻟﻲ‬ ‫اﺳﺖ‬ ‫ﺟﺎﻟﺐ‬ ‫ﺟﺪﻳﺪ‬ ‫ﻣﻮﺿﻮع‬ ‫ﻳﻚ‬ ‫ﻳﺎدﮔﻴﺮي‬ .‫اﺳﺖ‬ ‫ﭘﻴﭽﻴﺪه‬ ‫و‬ ‫وﻗﺘﮕﻴﺮ‬ ‫روﺷﻲ‬ ‫ﻛﻪ‬ ‫ﻣﻲﺑﺎﺷﺪ‬ ‫اﻣﻜﺎنﭘﺬﻳﺮ‬ ‫آن‬ ‫اﻃﻼﻋﺎﺗﻲ‬ ‫ﻫﺎي‬ ‫ﺑﺮﮔﻪ‬ ‫ﻣﻄﺎﻟﻌﻪ‬ ‫ﻃﺮﻳﻖ‬ :‫ﻣﻲﻛﻨﻴﻢ‬ ‫اراﺋﻪ‬ ‫را‬ ‫دﻳﮕﺮي‬ ‫راه‬ ‫ﻣﺎ‬ .‫ﻛﻨﻴﺪ‬ ‫ﭘﻴﺪا‬ ‫ﺷﺪه‬ ‫ﻧﻮﺷﺘﻪ‬ ‫ﭘﻴﺶ‬ ‫از‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻣﻘﺪاري‬ ‫١ـ‬ .‫ﺑﻔﻬﻤﻴﺪ‬ ‫را‬ ‫ﻛﺪﻫﺎ‬ ‫ﻋﻤﻠﻜﺮد‬ ‫ﭼﮕﻮﻧﮕﻲ‬ ‫٢ـ‬ .‫ﻛﻨﺪ‬ ‫ﺑﺮآورده‬ ‫را‬ ‫ﺷﻤﺎ‬ ‫ﻧﻴﺎز‬ ‫ﻛﻪ‬ ‫دﻫﻴﺪ‬ ‫ﺗﻐﻴﻴﺮ‬ ‫ﮔﻮﻧﻪاي‬ ‫ﺑﻪ‬ ‫را‬ ‫آن‬ ‫٣ـ‬ ‫ﻛﻨﻴﻢ؟‬ ‫اﺳﺘﻔﺎده‬ AVR ‫اﻃﻼﻋﺎﺗﻲ‬ ‫ﻫﺎي‬ ‫ﺑﺮﮔﻪ‬ ‫از‬ ‫ﭼﮕﻮﻧﻪ‬ (L)‫ﺑـﻪ‬ ‫ﻣﺮﺑـﻮط‬ ‫اﻃﻼﻋـﺎﺗﻲ‬ ‫ﺑـﺮﮔﻪ‬ ‫ﻣﺜـﺎل‬ ‫ﺑـﺮاي‬ ،‫ﺗﺮﺳـﻴﺪ‬ ‫ﺧﻮاﻫﻴـﺪ‬ ‫ﹰ‬‫ﻻ‬‫اﺣﺘﻤـﺎ‬ ‫ﻛﻨﻴـﺪ‬ ‫ﻧـﮕﺎه‬ AVR ‫اﻃﻼﻋــﺎﺗﻲ‬ ‫ﻫﺎي‬ ‫ﺑﺮﮔﻪ‬ ‫ﺑﻪ‬ ‫ﻛﻪ‬ ‫زﻣﺎﻧﻲ‬ ‫ﻻزم‬ ‫ﺧﻮﺷـﺒﺨﺘﺎﻧﻪ‬ .‫اﺳـﺖ‬ ‫ﻣﺸـﻜﻠﻲ‬ ‫ﻛـﺎر‬ ‫آن‬ ‫ﻣﺤﺘــﻮاي‬ ‫ﺳﭙﺮدن‬ ‫ﻳﺎد‬ ‫ﺑﻪ‬ ‫و‬ ‫آن‬ ‫ﻛﻞ‬ ‫ﻣﻄﺎﻟﻌﺔ‬ ‫و‬ ‫اﺳﺖ‬ ‫ﺻﻔﺤﻪ‬ ٣٥٠ ‫ﹰ‬‫ﺎ‬‫ﺗﻘﺮﻳﺒ‬ ATMega128 ‫ـﺎﻧﻲ‬‫ـ‬‫زﻣ‬ ‫در‬ ‫ﻣﻲﺗﻮاﻧﻴﺪ‬ ‫ﺷﻤﺎ‬ ‫و‬ ‫ﻣﻲﺑﺎﺷﻨﺪ‬ ‫ﺣﺮﻓﻪاي‬ ‫و‬ ‫ﻛﺎﻣﻞ‬ ‫اﻃﻼﻋﺎت‬ ‫از‬ ‫ﻣﺠﻤﻮﻋﻪاي‬ ،‫اﻃﻼﻋﺎﺗﻲ‬ ‫ﻫﺎي‬ ‫ﺑﺮﮔﻪ‬ .‫دﻫﻴﺪ‬ ‫اﻧﺠﺎم‬ ‫را‬ ‫ﻛﺎر‬ ‫اﻳﻦ‬ ‫ﺗﺎ‬ ‫ﻧﻴﺴﺖ‬ .‫ﻛﻨﻴﺪ‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﺮﺟﻊ‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ ‫آﻧﻬﺎ‬ ‫از‬ ‫ﻧﻴﺴﺘﻴﺪ‬ ‫ﻣﻄﻤﺌﻦ‬ ‫ﺟﺎﻧﺒﻲ‬ ‫وﺳﺎﻳﻞ‬ ‫ﻳﺎ‬ ‫و‬ AVR ‫اﻣﻜﺎﻧﺎت‬ ‫ﻋﻤﻠﻜﺮد‬ ‫ﺑﻪ‬ ‫ﻧﺴﺒﺖ‬ ‫ﻛﻪ‬ ‫زﻳــﺮ‬ ‫ﻗﺴﻤﺘﻬﺎي‬ ‫ﺑﻪ‬ ‫را‬ ‫آن‬ ‫ﻣﻲﺗﻮاﻧﻴﺪ‬ ،‫ﻧﻤﺎﻳﻴﺪ‬ ‫ﻣﺸﺎﻫﺪه‬ ‫را‬ AVR ‫اﻧﻮاع‬ ‫از‬ ‫ﻳﻜﻲ‬ ‫ﺑﻪ‬ ‫ﻣﺮﺑﻮط‬ ‫اﻃﻼﻋﺎﺗﻲ‬ ‫ﻫﺎي‬ ‫ﺑﺮﮔﻪ‬ ‫ﻳﻚ‬ ‫ﺷﻤﺎ‬ ‫ﻛﻪ‬ ‫زﻣﺎﻧﻲ‬ .‫ﻛﻨﻴﺪ‬ ‫ﺗﻘﺴﻴﻢ‬ .‫ﻣﻴﻜﺮوﻛﻨﺘﺮوﻟﺮ‬ ‫اﻣﻜﺎﻧﺎت‬ ‫ﻟﻴﺴﺖ‬ ‫و‬ ‫ﻛﻠﻴﺪي‬ ‫اﻃﻼﻋﺎت‬ ‫ﺷﺎﻣﻞ‬ ‫ﺻﺤﻔﻪ‬ ‫اوﻟﻴﻦ‬ ‫١ـ‬ .AVR‫ﺳﺎﺧﺘﺎر‬ ‫از‬ ‫ﺧﻼﺻﻪاي‬ ‫٢ـ‬ .‫ﺟﺎﻧﺒﻲ‬ ‫وﺳﺎﻳﻞ‬ ‫ﺗﻮﺿﻴﺢ‬ ‫٣ـ‬
  • 11. ٩ .‫ﺣﺎﻓﻈﻪ‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫٤ـ‬ .‫اﻟﻜﺘﺮﻳﻜﻲ‬ ‫ﻣﺸﺨﺼﺎت‬ ‫٥ـ‬ .‫رﺟﻴﺴﺘﺮﻫﺎ‬ ‫ﺧﻼﺻﻪ‬ ‫٦ـ‬ .‫دﺳﺘﻮرات‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺧﻼﺻﻪ‬ ‫٧ـ‬ .‫ﻣﻴﻜﺮوﻛﻨﺘﺮوﻟﺮ‬ ‫ﻇﺎﻫﺮي‬ ‫ﺷﻜﻞ‬ ‫و‬ ‫اﺑﻌﺎد‬ ‫ﺑﻪ‬ ‫ﻣﺮﺑﻮط‬ ‫اﻃﻼﻋﺎت‬ ‫٨ـ‬ C‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ‬ ‫زﺑﺎن‬ C ‫زﺑﺎن‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﺰاﻳﺎي‬ .‫اﺳﺖ‬ ‫ﻳﺎﻓﺘﻪ‬ ‫ﻋﻤﻮﻣﻴﺖ‬ ‫ﻣﻴﻜﺮوﻛﻨﺘﺮوﻟﺮﻫﺎ‬ ‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ‬ ‫ﺑﺮاي‬ ‫ﺑﻴﺸﺘﺮ‬ ‫ﭼﻪ‬ ‫ﻫﺮ‬ C ‫ﺑﺎﻻي‬ ‫ﺳﻄﺢ‬ ‫زﺑﺎن‬ ‫اﻣﺮوزه‬ ‫ﺳــﺎدهﺗﺮ‬ ‫و‬ ‫ازﻛﺪﻫﺎ‬ ‫ﻣﺠﺪد‬ ‫اﺳﺘﻔﺎده‬ ،‫ﺑﻴﺸﺘﺮ‬ ‫ﺣﻤﻞ‬ ‫ﻗﺎﺑﻠﻴﺖ‬ ‫و‬ ‫ﺳﺎدهﺗﺮ‬ ‫ﻧﮕﻬﺪاري‬ ،‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ‬ ‫زﻣﺎن‬ ‫ﻛﺎﻫﺶ‬ :‫زﻳﺎدﻧﺪ‬ ‫اﺳﻤﺒﻠﻲ‬ ‫زﺑﺎن‬ ‫ﺟﺎي‬ ‫ﺑﻪ‬ ‫ﻣﻌـﺎﻳﺐ‬ ‫اﻳـﻦ‬ ‫رﻓـﻊ‬ ‫ﻳـﺎ‬ ‫ﻛــﺎﻫﺶ‬ ‫ﺑﺮاي‬ .‫ﻣﻲﺑﺎﺷﺪ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﺳﺮﻋﺖ‬ ‫ﻛﺎﻫﺶ‬ ‫ﻧﺘﻴﺠﻪ‬ ‫در‬ ‫و‬ ‫ﻛﺪﻫﺎ‬ ‫ﺣﺠﻢ‬ ‫اﻓﺰاﻳﺶ‬ ‫ﻫﻢ‬ ‫آن‬ ‫ﻋﻴﺐ‬ .‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻓﻬﻢ‬ ‫ﺷﺪن‬ .‫ﻧﻤﺎﻳﺪ‬ ‫اﺟﺮ‬ ‫و‬ ‫دﻳﻜﺪ‬ ‫ﻣﺆﺛﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫را‬ C ‫ﻛﺎﻣﭙﺎﻳﻠﺮ‬ ‫ﺗﻮﺳﻂ‬ ‫ﺷﺪه‬ ‫ﺗﻮﻟﻴﺪ‬ ‫دﺳﺘﻮرات‬ ‫ﺗﺎ‬ ‫ﺷﺪه‬ ‫ﻃﺮاﺣﻲ‬ ‫ﮔﻮﻧﻪاي‬ ‫ﺑﻪ‬ AVR ‫ﺳﺎﺧﺘﺎر‬ ‫ﺑﻴﻦ‬ ‫ﻫﻤﺰﻣﺎن‬ ‫ﻋﻤﻠﻜﺮد‬ ‫اﻳﻦ‬ ‫ﻧﺘﻴﺠﻪ‬ .‫اﺳﺖ‬ ‫ﮔﺮﻓﺘﻪ‬ ‫ﺻﻮرت‬ AVR ‫دﺳﺘﻮرات‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ‫و‬ ‫ﺳﺎﺧﺘﺎر‬ ‫ﺗﻜﻤﻴﻞ‬ ‫از‬ ‫ﻗﺒﻞ‬ C ‫ﻛﺎﻣﭙﺎﻳﻠﺮ‬ ‫ﻃﺮاﺣﻲ‬ .‫ﻣﻲﺑﺎﺷﺪ‬ ‫ﺑﺎﻻ‬ ‫ﻛﺎراﻳﻲ‬ ‫و‬ ‫ﺑﻬﻴﻨﻪ‬ ‫اﺳﺘﻔﺎده‬ ‫ﺟﻬﺖ‬ ‫ﺷﺪه‬ ‫ﺗﻮﻟﻴﺪ‬ ‫ﻛﺪﻫﺎي‬ ‫ﺑﺎ‬ ‫ﻣﻴﻜﺮوﻛﻨﺘﺮوﻟﺮي‬ ،AVR ‫و‬ ‫ﻛﺎﻣﭙﺎﻳﻠﺮ‬ ‫ﺗﻴﻤﻬﺎي‬ ‫ﺑﺮﻧﺎﻣـﻪ‬ ‫ﭼﻨـﺪ‬ ‫،و‬ ‫آﺷﻨﺎﺷـﺪه‬ C‫ﻫـﺎي‬ ‫ﺑﺮﻧﺎﻣـﻪ‬ ‫ﻛـﺮدن‬ ‫ﻛﺎﻣﭙــﺎﻳﻞ‬ ‫ﺑﺮاي‬ CodevisionAVR ‫اﻓﺰار‬ ‫ﻧﺮم‬ ‫ﺑﺎ‬ ‫اﺑﺘﺪا‬ ‫ﺗﺎ‬ ‫آﻧﻴﻢ‬ ‫ﺑﺮ‬ ‫ﻛﺘﺎب‬ ‫اﻳﻦ‬ ‫در‬ ‫ﻋﻤﻠﻜـﺮد‬ ‫و‬ ‫ﺗﺮاﺷـﻪ‬ ‫ـﻲ‬‫ـ‬‫ﻛﻠ‬ (٣-١)‫ﺷﻜﻞ‬ ‫در‬ .‫ﻛﻨﻴﻢ‬ ‫ﻣﻲ‬ ‫اﺳﺘﻔﺎده‬ ATMega32 ‫ﺗﺮاﺷﻪ‬ ‫از‬ ‫اﻳﻨﺠﺎ‬ ‫ﻛﻨﻴﻢ.در‬ ‫اﺟﺮا‬ ‫و‬ ‫داده‬ ‫ﺗﻮﺿﻴﺢ‬ ‫را‬ ‫ﻛﺎرﺑﺮدي‬ ‫ﺧﻮاﻫﻴـﻢ‬ ‫ﺗﻮﺿﻴـﺢ‬ ‫دوم‬ ‫ـﻞ‬‫ـ‬‫ﻓﺼ‬ ‫در‬ ‫ﺗﺮاﺷﻪ‬ ‫اﻧﺪازي‬ ‫راه‬ ‫ﺑﺮاي‬ ‫ﻻزم‬ ‫اﻓﺰار‬ ‫ﺳﺨﺖ‬ ‫ﻣﻮرد‬ ‫در‬ .‫ﺑﻴﻨﻴﺪ‬ ‫ﻣﻲ‬ ‫را‬ ‫ﻣﻴﻜﺮوﻛﻨﺘﺮوﻟﺮ‬ ‫اﻳﻦ‬ ‫ﻣﺨﺘﻠﻒ‬ ‫ﻫﺎي‬ ‫ﭘﺎﻳﻪ‬ .‫داد‬
  • 13. ١١ ‫دوم‬ ‫ﻓﺼﻞ‬ ‫ﻣﻘﺪﻣﻪ‬ ‫ﻧـﺎﻣﻴﺪه‬ (ISP ‫ﺳﺮﻳﺎل)ﺣــﺎﻟﺖ‬ ‫و‬ ‫ﻣﻮازي‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫ﻛﻪ‬ ‫دارد‬ ‫وﺟﻮد‬ AVR ‫ﺗﺮاﺷﻪﻫﺎي‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫ﺟﻬﺖ‬ ‫ﻣﺨﺘﻠﻒ‬ ‫روش‬ ‫دو‬ ‫ﭘﺎﻳـﻪ‬ ‫ﺑﻪ‬ ‫وﻟﺖ‬ +١٢ ‫وﻟﺘﺎژ‬ ‫ﺗﺎ‬ ‫اﺳﺖ‬ ‫ﻻزم‬ ‫روش‬ ‫اﻳﻦ‬ ‫در‬ .‫ﻣﻲﺷﻮد‬ ‫داده‬ ‫ﻗﺮار‬ ‫ﭘﺮوﮔﺮاﻣﺮ‬ ‫ﺳﻮﻛﺖ‬ ‫در‬ ‫ﻣﻮردﻧﻈﺮ‬ ‫ﺗﺮاﺷﺔ‬ ‫ﻣﻮازي‬ ‫ﺣﺎﻟﺖ‬ ‫در‬ .‫ﻣﻲﺷﻮﻧﺪ‬ ‫دﺳـﺘﻮرات‬ ‫ﻛﻤـﻚ‬ ‫ﺑـﻪ‬ ‫ﭘﻴﺪاﺳـﺖ‬ ‫اﺳـﻤﺶ‬ ‫از‬ ‫ﻛـﻪ‬ ‫ﻃـﻮر‬ ‫ﻫﻤـﺎن‬ ‫ﻧـﻴﺰ‬ ‫ﻣﻮردﻧﻈــﺮ‬ ‫ﺗﺮاﺷﻪ‬ ‫و‬ ‫ﭘﺮوﮔﺮاﻣﺮ‬ ‫ﺑﻴﻦ‬ ‫ارﺗﺒﺎط‬ .‫ﮔﺮدد‬ ‫اﻋﻤﺎل‬ RESET .‫اﺳـﺖ‬ ISP ‫ﺣـﺎﻟﺖ‬ ‫از‬ ‫ﺳـﺮﻳﻌﺘﺮ‬ ‫ﺑﺮاﺑـﺮ‬ ‫دو‬ ‫روش‬ ‫اﻳـﻦ‬ ‫در‬ ‫ﺑﺮﻧﺎﻣـﻪرﻳﺰي‬ ‫ﺳــﺮﻋﺖ‬ ‫دﻟﻴﻞ‬ ‫ﻫﻤﻴﻦ‬ ‫ﺑﻪ‬ ‫و‬ ‫ﻣﻲﺷﻮد‬ ‫ﺑﺮﻗﺮار‬ ‫ﻣﻮازي‬ ‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ‬ ‫ﺑـﻪ‬ AVR ‫اﻧــﻮاع‬ ‫ﺑﺮاي‬ ‫ﻣﻲﺗﻮاﻧﺪ‬ ‫ﻣﻮازي‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫روش‬ ،‫ﻧﻤﻲﻛﻨﻨﺪ‬ ‫ﭘﺸﺘﻴﺒﺎﻧﻲ‬ ‫آن‬ ‫از‬ AVR ‫اﻧﻮاع‬ ‫از‬ ‫ﺑﻌﻀﻲ‬ ‫ﻛﻪ‬ ISP ‫روش‬ ‫ﺑﺮﺧﻼف‬ ‫ﺑﺨﺶ‬ ‫اﻳﻦ‬ ‫در‬ ‫آﻧﭽﻪ‬ ‫اﻣﺎ‬ ،‫ﻣﻲﮔﺮدد‬ ‫اﺳﺘﻔﺎده‬ ‫اﺳﺖ‬ ‫ﻣﻮردﻧﻈﺮ‬ ‫اﻧﺒﻮه‬ ‫ﺗﻮﻟﻴﺪ‬ ‫ﻛﻪ‬ ‫ﻣﻮاردي‬ ‫در‬ ‫روش‬ ‫اﻳﻦ‬ ‫از‬ ‫ﻛﻠﻲ‬ ‫ﻃﻮر‬ ‫ﺑﻪ‬ ‫ﺑﻨﺎﺑﺮاﻳﻦ‬ .‫ﺷﻮد‬ ‫ﺑﺮده‬ ‫ﻛﺎر‬ .‫اﺳﺖ‬ ‫ﺳﺮﻳﺎل‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ،‫ﻣﺎﺳﺖ‬ ‫ﻣﻮردﻧﻈﺮ‬
  • 14. ١٢ AVR ‫ﻣﻴﻜﺮوﻛﻨﺘﺮوﻟﺮﻫﺎي‬ ‫رﻳﺰي‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻣﺨﺘﻠﻒ‬ ‫روﺷﻬﺎي‬ ١ -٢ ‫ﺷﻜﻞ‬ :(ISP)‫ﺳﺮﻳﺎل‬ ‫رﻳﺰي‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫اﻳـﻦ‬ ‫ﺑـﻪ‬ ‫اﺳـﺖ‬ ‫ﮔﺮﻓﺘـﻪ‬ ‫ﻗــﺮار‬ ‫ﻣﻮردﻧﻈﺮ‬ ‫ﺑﻮرد‬ ‫روي‬ ‫ﺑﺮ‬ ‫ﹰ‬‫ﻼ‬‫ﻗﺒ‬ ‫ﺗﺮاﺷﻪ‬ ‫ﻛﻪ‬ ‫ﻣﻲﺷﻮد‬ ‫اﻧﺠﺎم‬ ‫زﻣﺎﻧﻲ‬ ‫ﺳﺮﻳﺎل‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫ﻛﻪ‬ ‫آﻧﺠﺎﻳﻲ‬ ‫از‬ ‫ﺑـﻪ‬ ،AVR ‫ﺣﺎﻓﻈــﻪ‬ ‫از‬ ‫ﻗﺴﻤﺘﻲ‬ ‫اﺳﺖ‬ ‫ﻻزم‬ ‫ﺑﭙﺮدازﻳﻢ‬ ‫روش‬ ‫اﻳﻦ‬ ‫در‬ ‫ﻣﺨﺘﻠﻒ‬ ‫ﻗﺴﻤﺘﻬﺎي‬ ‫ﺗﻮﺿﻴﺢ‬ ‫ﺑﻪ‬ ‫اﻳﻨﻜﻪ‬ ‫از‬ ‫ﻗﺒﻞ‬ .‫ﻣﻲﮔﻮﻳﻨﺪ‬ ١ ISP ‫روش‬ In system programming ١
  • 15. ١٣ ‫ﻗﺴـﻤﺖ‬ ‫دو‬ ‫ﺑــﻪ‬ ،FLASH ‫ﺣﺎﻓﻈﻪ‬ .‫ﻣﻲﻛﻨﻨﺪ‬ ‫ﺣﻤﺎﻳﺖ‬ ISP ‫روش‬ ‫از‬ ‫ﻛﻪ‬ AVR ‫از‬ ‫اﻧﻮاﻋﻲ‬ ‫در‬ .‫ﻧﻤﺎﻳﻴﻢ‬ ‫ﻣﻌﺮﻓﻲ‬ ‫را‬ Boot Loader ‫ﻧﺎم‬ ‫اﻳﺠـﺎد‬ ‫ﻣـﺎ‬ ‫ﺑـﺮاي‬ ‫را‬ ISP ‫اﻣﻜـﺎن‬ ‫ﻗﺴـﻤﺖ‬ ‫اﻳـﻦ‬ ‫در‬ ‫ﻣﻮﺟــﻮد‬ ‫ﻛﺪﻫﺎي‬ .‫اﺳﺖ‬ Boot Loader ‫ﻫﻤﺎن‬ ‫ﻗﺴﻤﺖ‬ ‫اوﻟﻴﻦ‬ ‫ﻛﻪ‬ ‫ﻣﻲﺷﻮد‬ ‫ﺗﻘﺴﻴﻢ‬ ‫را‬ ‫ﺧـﻮدش‬ ‫و‬ ‫ﮔﺮﻓﺘـﻪ‬ PC ‫از‬ ‫را‬ ‫ﺑﺮﻧﺎﻣـﻪ‬ ‫ﻛﺪﻫـﺎي‬ AVR، ‫ﻗﺴـﻤﺖ‬ ‫اﻳـﻦ‬ ‫در‬ ‫ﻣﻮﺟـﻮد‬ ‫ﺑﺮﻧﺎﻣـﻪ‬ ‫ﻛﻤـﻚ‬ ‫ﺑــﻪ‬ ‫ﺳﺎدهﺗﺮ‬ ‫ﻋﺒﺎرﺗﻲ‬ ‫ﺑﻪ‬ .‫ﻣﻲﻧﻤﺎﻳﻨﺪ‬ .‫ﻧﻤﺎﻳﺪ‬ ‫ﻣﺠﺪد‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫ﻫﻢ‬ ‫را‬ ‫ﺧﻮدش‬ ‫ﻣﻲﺗﻮاﻧﺪ‬ (Boot Loader)‫ﻗﺴﻤﺖ‬ ‫اﻳﻦ‬ ‫ﻛﻪ‬ ‫ﺑﺪاﻧﻴﺪ‬ ‫اﺳﺖ‬ ‫ﺟﺎﻟﺐ‬ .‫ﻣﻲﻛﻨﺪ‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ Boot‫ﺑﺮﻧــﺎﻣﻪ‬ ‫و‬ PC ‫ﺑﻴﻦ‬ ‫ارﺗﺒﺎط‬ ‫ﺑﺮﻗﺮاي‬ ‫اﻣﻜﺎن‬ ‫ﻛﻪ‬ ‫اﺳﺖ‬ ‫واﺳﻄﻲ‬ ‫اﻓﺰار‬ ‫ﺳﺨﺖ‬ ‫ﺳﺎﺧﺖ‬ ‫و‬ ‫ﺗﻮﺿﻴﺢ‬ ‫ﻗﺴﻤﺖ‬ ‫اﻳﻦ‬ ‫در‬ ‫ﻣﺎ‬ ‫ﻫﺪف‬ .‫ﻣﻲﺷﻮد‬ ‫ﻧﺎﻣﻴﺪه‬ Programming adapter ‫وﺳﻴﻠﻪ‬ ‫اﻳﻦ‬ .‫ﻣﻲﻛﻨﺪ‬ ‫اﻳﺠﺎد‬ ‫را‬ AVR ‫روي‬ ‫ﺑﺮ‬ Loader ‫و‬ ١ SPI ‫ﭘﺮوﺗﻜﻞ‬ ‫اوﻟﻴﻦ‬ .‫ﻣﻲروﻧﺪ‬ ‫ﻛﺎر‬ ‫ﺑﻪ‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫ﺟﻬﺖ‬ ‫ﻛﻪ‬ ،‫دارﻧﺪ‬ ‫وﺟﻮد‬ ‫ﻣﺨﺘﻠﻒ‬ ‫ﭘﺮوﺗﻮﻛﻞ‬ ‫دو‬ ‫ﺑﺨﺶ‬ ‫اﻳﻦ‬ ‫در‬ ‫ﻛﻠﻲ‬ ‫ﻃﻮر‬ ‫ﺑﻪ‬ ‫ﺗــﺎ‬ ‫ﻗﺎدرﻳﻢ‬ ‫ﺗﻨﻬﺎ‬ ‫ﻧﻪ‬ JTAG ‫ﭘﺮوﺗﻮﻛﻞ‬ ‫ﻛﻤﻚ‬ ‫ﺑﻪ‬ ‫اﻟﺒﺘﻪ‬ .‫اﺳﺖ‬ SPI ‫ﻫﻤﺎن‬ ‫ﻣﻲرود‬ ‫ﻛﺎر‬ ‫ﺑﻪ‬ ‫ﺑﻴﺸﺘﺮ‬ ‫آﻧﭽﻪ‬ ‫ﻋﻤﻞ‬ ‫در‬ .‫دارﻧﺪ‬ ‫ﻧﺎم‬ JTAG ‫دوﻣﻲ‬ ‫و‬ ‫دﻫﻴــﻢ‬ ‫اﻧﺠﺎم‬ ‫ﻫﻢ‬ ‫را‬ Debugging ‫ﻋﻤﻞ‬ ‫ﻣﻲﺗﻮاﻧﻴﻢ‬ ‫ﻛﺎﻓﻲ‬ ‫ﻧﺮماﻓﺰار‬ ‫و‬ ‫ﺳﺨﺖاﻓﺰار‬ ‫ﺗﺄﻣﻴﻦ‬ ‫ﺑﺎ‬ ‫ﺑﻠﻜﻪ‬ ،‫ﻛﻨﻴﻢ‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫را‬ ‫ﻣﻮردﻧﻈﺮ‬ ‫ﺗﺮاﺷﻪ‬ ‫دﻟﻴـﻞ‬ ‫ﺑـﻪ‬ ‫ـﺐ‬‫ـ‬‫ﺗﺮﺗﻴ‬ ‫اﻳﻦ‬ ‫ﺑﻪ‬ ،‫ﺑﻮد‬ ‫ﺧﻮاﻫﺪ‬ ‫ﻧﻴﺎز‬ SPI ‫ﺳﺎده‬ ‫ارﺗﺒﺎط‬ ‫ﻳﻚ‬ ‫از‬ ‫ﺑﻴﺸﺘﺮ‬ ‫ﺑﺴﻴﺎر‬ ‫ﻗﻴﻤﺘﻲ‬ ‫ﺑﺎ‬ ‫ﭘﻴﭽﻴﺪهﺗﺮ‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫وﺳﺎﻳﻞ‬ ‫ﺑﻪ‬ ‫ﺑﻨﺎﺑﺮاﻳﻦ‬ .‫ﻣﻲﺷﻮد‬ ‫اﺳﺘﻔﺎده‬ Debugging ‫ﺑﺮاي‬ JTAG ‫از‬ ‫ﹰ‬‫ﻻ‬‫اﺻﻮ‬ ،SPI ‫روش‬ ‫ﺑﺎ‬ ‫ﻣﻘﺎﻳﺴﻪ‬ ‫در‬ ‫آن‬ ‫ﺑﺎﻻي‬ ‫ﻗﻴﻤﺖ‬ ‫ـﺮﻳﺎل‬‫ـ‬‫ﺳ‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫روش‬ ‫ﻛﻪ‬ ‫دارد‬ ‫وﺟﻮد‬ ‫ﻫﻢ‬ ‫٢١وﻟﺖ‬ ‫وﻟﺘﺎژ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ ‫ﺳﺮﻳﺎﻟﻲ‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫روش‬ ،‫ﻗﺒﻞ‬ ‫روش‬ ‫دو‬ ‫ﺑﺮ‬ ‫ﻋﻼوه‬ .‫ﻧﻤﻲﻛﻨﻴﻢ‬ ‫اﺷﺎره‬ ‫آن‬ ‫ﺑﻪ‬ ‫اﻳﻨﺠﺎ‬ ‫در‬ ،‫ﻣﻲرود‬ ‫ﻛﺎر‬ ‫ﺑﻪ‬ ‫ﭘﺎﻳﻪ‬ ٨ ‫ﺗﺮاﺷﻪﻫﺎي‬ ‫ﺑﺮاي‬ ‫ﺗﻨﻬﺎ‬ ‫روش‬ ‫اﻳﻦ‬ ‫ﻛﻪ‬ ‫آﻧﺠﺎﻳﻲ‬ ‫از‬ .‫ﻣﻲﺷﻮد‬ ‫ﻧﺎﻣﻴﺪه‬ ‫ﺑﺎﻻ‬ ‫وﻟﺘﺎژ‬ ‫ﻫـﻢ‬ ‫را‬ ‫ﺷـﺪه‬ ‫ﻧﻮﺷـﺘﻪ‬ ‫ﺑﺮﻧـﺎﻣﻪ‬ ‫ﺻﺤـﺖ‬ ،‫ﺗﺮاﺷـﻪ‬ ‫ﺑﺮﻧﺎﻣـﻪرﻳﺰي‬ ‫ـﺮ‬‫ـ‬‫ﺑ‬ ‫ﻋﻼوه‬ ‫ﻣﻲﺗﻮاﻧﻴﻢ‬ SPI ‫ﭘﺮوﺗﻜﻞ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ ،ISP ‫روش‬ ‫در‬ ‫ﺧـﻂ‬ ‫ﻳـﻚ‬ ‫و‬ ‫ﺧﺮوﺟـﻲ‬ ‫ﺧـﻂ‬ ‫ﻳـﻚ‬ ،‫ورودي‬ ‫ﺧـﻂ‬ ‫ﻳـﻚ‬ ،‫دارﻳــﻢ‬ ‫اﺣﺘﻴﺎج‬ ‫ﺳﻴﮕﻨﺎل‬ ‫ﺳﻪ‬ ‫ﺑﻪ‬ ‫ﺗﻨﻬﺎ‬ ‫روش‬ ‫اﻳﻦ‬ ‫در‬ .(verify)‫دﻫﻴﻢ‬ ‫ﺗﺸﺨﻴﺺ‬ ‫وﻟﺘـﺎژ‬ ‫ﺑــﻪ‬ ‫ﺷﻮدﺿﻤﻨﺎ‬ ‫داﺷﺘﻪ‬ ‫ﻧﮕﻪ‬ (‫ﻣﻨﻄﻘﻲ‬ ‫ﭘﺎﻳﻴﻦ)ﺻﻔﺮ‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫ﺣﻴﻦ‬ ‫در‬ ‫ﺑﺎﻳﺪ‬ ‫ﻫﻢ‬ ‫ﺗﺮاﺷﻪ‬ ‫در‬ RESET ‫ﭘﻴﻦ‬ ،‫اﻳﻦ‬ ‫ﺑﺮ‬ ‫ﻋﻼوه‬ .Clock ‫ﻗـﺎﺑﻠﻴﺖ‬ ‫از‬ ‫ﹰ‬‫ﻼ‬‫اﺻـ‬ ‫آﻧـﻬﺎ‬ ‫از‬ ‫ﺑﻌﻀـﻲ‬ ‫ﺣﺘــﻲ‬ ‫و‬ ‫ﻧﺪارﻳﻢ‬ ‫را‬ ‫ﻓﻴﻮزﻫﺎ‬ ‫ﺗﻨﻈﻴﻢ‬ ‫اﻣﻜﺎن‬ ‫ﺗﺮاﺷﻪﻫﺎ‬ ‫از‬ ‫ﺑﻌﻀﻲ‬ ‫در‬ ‫ﺣﺎل‬ ‫اﻳﻦ‬ ‫ﺑﺎ‬ .‫ﻧﺪارﻳﻢ‬ ‫ﻧﻴﺎزي‬ ‫ﻫﻢ‬ ‫٢١وﻟﺖ‬ .‫ﺷﻮﻧﺪ‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫ﻣﻮازي‬ ‫روش‬ ‫ﺑﻪ‬ ‫ﺑﺎﻳﺪ‬ ‫ﺗﺮاﺷﻪﻫﺎﻳﻲ‬ ‫ﭼﻨﻴﻦ‬ .‫ﻧﻤﻲﻛﻨﻨﺪ‬ ‫ﻫﻢ‬ ‫ﺣﻤﺎﻳﺖ‬ SPI ISP ‫واﺳﻄﻪﻫﺎي‬ Serial Peripheral Interface ١
  • 16. ١٤ ISP ‫روش‬ ‫ﺑﻪ‬ ‫رﻳﺰى‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ٢ -٢ ‫ﺷﮑﻞ‬ ‫ﻣـﺎ‬ ‫ﺑـﺮاي‬ ‫ﻧﺎدرﺳـﺘﻲ‬ ‫ﻣﻌﻨــﻲ‬ ‫اﺳﺖ‬ ‫ﻣﻤﻜﻦ‬ ‫ﻣﻲروﻧﺪ‬ ‫ﻛﺎر‬ ‫ﺑﻪ‬ ‫اﻏﻠﺐ‬ ‫ﻛﻪ‬ ”‫ﻣﻮازي‬ ‫و‬ ‫ﺳﺮﻳﺎل‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫“واﺳﻄﻪﻫﺎي‬ ‫ﻣﺜﻞ‬ ‫ﻋﺒﺎراﺗﻲ‬ ‫ﭘﻮرﺗـﻬﺎي‬ ‫ﺑـﻪ‬ ‫ﺑﻘﻴـﻪ‬ ‫ـﻪ‬‫ـ‬‫ﻛ‬ ‫ﺻﻮرﺗﻲ‬ ‫در‬ ‫ﻣﻲﻛﻨﻨﺪ‬ ‫اﺳﺘﻔﺎده‬ ‫ﻛﺎﻣﭙﻴﻮﺗﺮ‬ ‫ﻣﻮازي‬ ‫ﭘﻮرت‬ ‫از‬ ،ISP ‫واﺳﻂ‬ ‫ﻣﻮﻟﺪﻫﺎي‬ ‫از‬ ‫ﺑﻌﻀﻲ‬ ‫ﻛﻪ‬ ‫ﭼﺮا‬ ،‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬ (٢-٢ ‫ﻣﻲﻛﻨﻨﺪ.)ﺷﻜﻞ‬ ‫اﺳﺘﻔﺎده‬ ‫ﺳﺮﻳﺎل‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫روش‬ ‫از‬ ‫آﻧﻬﺎ‬ ‫دوي‬ ‫ﻫﺮ‬ ‫وﻟﻲ‬ ،‫ﻣﻲﺷﻮﻧﺪ‬ ‫ﻣﺘﺼﻞ‬ (COM)‫ﻛﺎﻣﭙﻴﻮﺗﺮ‬ ‫ﺳﺮﻳﺎل‬ ‫ﻫـﻢ‬ ‫ﻓﻌـﺎل‬ ‫ﻋﻨــﺎﺻﺮ‬ ‫ﺑﻪ‬ ‫اﺣﺘﻴﺎﺟﻲ‬ ‫ﻫﻴﭻ‬ ‫ﺣﺘﻲ‬ ‫آﻧﻬﺎ‬ ‫اﻧﻮاع‬ ‫از‬ ‫ﺑﻌﻀﻲ‬ .‫ﻫﺴﺘﻨﺪ‬ ‫ﺳﺎدهﺗﺮ‬ ‫ﺑﺴﻴﺎر‬ ‫ﻣﻮازي‬ ‫ﭘﻮرت‬ ‫ﺑﺮاي‬ ISP ‫واﺳﻄﻪﻫﺎي‬ ‫اﻛــﺜﺮ‬ ‫ﺑﻨﺎﺑﺮاﻳﻦ‬ .‫ﺷﻮد‬ ‫ﻣﺸﻜﻞ‬ ‫اﻳﺠﺎد‬ ‫ﺑﺎﻋﺚ‬ ‫اﺳﺖ‬ ‫ﻣﻤﻜﻦ‬ ‫ﻣﻮازي‬ ‫ﭘﻮرت‬ ‫ﺑﻪ‬ ‫ﻣﺪار‬ ‫ﻣﺴﺘﻘﻴﻢ‬ ‫اﺗﺼﺎل‬ ‫ﻛﻪ‬ ‫ﻛﻨﻴﺪ‬ ‫ﺗﺼﻮر‬ ‫ﻣﻲﺗﻮاﻧﻴﺪ‬ ‫ﺷﻤﺎ‬ ‫وﻟﻲ‬ ‫ﻧﺪارﻧﺪ‬ ‫و‬ ‫ﻛﻮﺗــﺎه‬ ‫اﺗﺼﺎل‬ ‫ﻣﻘﺎﺑﻞ‬ ‫در‬ ‫ﻣﻮازي‬ ‫ﭘﻮرت‬ .‫ﻧﻴﺴﺖ‬ ‫اﻳﻤﻦ‬ ‫ﭼﻨﺪان‬ ‫ﻫﻢ‬ ‫ﻫﻨﻮز‬ ‫ﺣﺎل‬ ‫اﻳﻦ‬ ‫ﺑﺎ‬ ‫وﻟﻲ‬ .‫ﻣﻲﻛﻨﻨﺪ‬ ‫اﺳﺘﻔﺎده‬ ‫ﺧﻂ‬ ‫دراﻳﻮ‬ ‫ﻳﻚ‬ ‫از‬ ‫واﺳﻄﻪﻫﺎ‬ .‫ﺑﺒﻴﻨﺪ‬ ‫آﺳﻴﺐ‬ ‫ﭘﻮرت‬ ،‫ﺑﻮرد‬ ‫ﺗﻐﺬﻳﻪ‬ ‫وﺻﻞ‬ ‫و‬ ‫ﻗﻄﻊ‬ ‫ﺑﺎ‬ ‫اﺳﺖ‬ ‫ﻣﻤﻜﻦ‬ ‫و‬ ‫ﻧﻴﺴﺖ‬ ‫ﻣﻘﺎوم‬ ‫ﭼﻨﺪان‬ ‫ﺑﺎر‬ ‫اﺿﺎﻓﻪ‬ ‫ﻳﺎ‬ ‫وﺟـﻮد‬ COM ‫ﭘﻮرت‬ ‫ﺑﺮاي‬ ‫واﺳﻂ‬ ‫ﻣﺪار‬ ‫ﻧﻮع‬ ‫دو‬ .‫ﻣﻲﮔﺮدد‬ ‫ﺣﻔﺎﻇﺖ‬ ‫ﺧﻮﺑﻲ‬ ‫ﺑﻪ‬ ‫ﻛﺎﻣﭙﻴﻮﺗﺮ‬ ‫ﺳﺮﻳﺎل‬ ‫ﭘﻮرت‬ ،‫ﻣﻮازي‬ ‫ﭘﻮرت‬ ‫ﻣﻘﺎﺑﻞ‬ ‫در‬ ‫و‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫دﺳﺘﻮرات‬ ،‫دوم‬ ‫ﻧﻮع‬ .‫ﻣﻲﻛﻨﺪ‬ ‫اﻳﺠﺎد‬ ‫را‬ ‫ﻻزم‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫ﭘﺎﻟﺴﻬﺎي‬ ،‫ﭘﻮرت‬ ‫ﺧﻄﻮط‬ ‫از‬ ‫ﻣﺴﺘﻘﻴﻢ‬ ‫اﺳﺘﻔﺎدة‬ ‫ﺑﺎ‬ ‫ﺳﺎدهﺗﺮ‬ ‫ﻧﻮع‬ .‫دارد‬ ‫ﻣــﺪار‬ ‫از‬ ‫ﻧﻮع‬ ‫اﻳﻦ‬ .‫ﻣﻲﻛﻨﺪ‬ ‫ﺗﻮﻟﻴﺪ‬ ‫را‬ ‫ﻻزم‬ ‫ﭘﺎﻟﺴﻬﺎي‬ ‫و‬ ‫داده‬ ‫ﺗﻐﻴﻴﺮ‬ ‫را‬ ‫آﻧﻬﺎ‬ ‫واﺳﻂ‬ ‫ﻣﺪار‬ ‫ﻛﻪ‬ ،‫ﻣﻲﻓﺮﺳﺘﺪ‬ ‫واﺳﻄﻪاي‬ ‫ﻣﺪار‬ ‫ﺑﻪ‬ ‫را‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫اﻃﻼﻋﺎت‬ .‫ﻣﻲﮔﺮدد‬ ‫ﺗﺄﻣﻴﻦ‬ ‫ﻣﻴﻜﺮوﻛﻨﺘﺮوﻟﺮ‬ ‫ﻳﻚ‬ ‫ﻛﻤﻚ‬ ‫ﺑﻪ‬ ‫ﹰ‬‫ﻻ‬‫اﺻﻮ‬ ‫ﻛﻪ‬ ‫دارد‬ ‫ﻧﻴﺎز‬ ‫ﻫﻢ‬ ‫ﭘﺮدازش‬ ‫ﺗﻮاﻧﺎﻳﻲ‬ ‫ﻧﻮﻋﻲ‬ ‫ﺑﻪ‬ ‫واﺳﻂ‬ ‫ﭘﻮرﺗـﻬﺎي‬ ‫ﺑـﻪ‬ ‫ﺣﺘـﻲ‬ ‫ﻛـﻪ‬ ‫ﻛﻴﻔـﻲ‬ ‫ﻛﺎﻣﭙﻴﻮﺗﺮﻫــﺎي‬ ‫ﺑﺎ‬ ‫ﻣﻲﻛﻨﺪ‬ ‫ﺣﺮﻛﺖ‬ ١ USB ‫ﺳﻤﺖ‬ ‫ﺑﻪ‬ ‫ﻛﺎﻣﭙﻴﻮﺗﺮ‬ ‫ﺻﻨﻌﺖ‬ ‫ﻛﻪ‬ ‫آﻧﺠﺎﻳﻲ‬ ‫از‬ ‫وﺟـﻮد‬ ‫ﻧـﻴﺰ‬ USB ‫ﻛﻤــﻚ‬ ‫ﺑﻪ‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫ﺑﺮاي‬ ‫آﻣﺎده‬ ‫ﺳﺨﺖاﻓﺰار‬ .‫ﺑﻮد‬ ‫ﺧﻮاﻫﺪ‬ ‫ﻣﻬﻢ‬ ‫ﺑﺴﻴﺎر‬ ‫ارﺗﺒﺎط‬ ‫اﻳﻦ‬ ،‫ﻧﺸﺪهاﻧﺪ‬ ‫ﻣﺠﻬﺰ‬ ‫ﻣﻮازي‬ ‫و‬ ‫ﺳﺮﻳﺎل‬ .‫ﻛﺮد‬ ‫ﻧﺨﻮاﻫﻴﻢ‬ ‫ﺻﺤﺒﺘﻲ‬ ‫آن‬ ‫ﺑﻪ‬ ‫راﺟﻊ‬ ‫ﻛﻪ‬ ‫دارد‬ ‫ﻓـﺮا‬ ‫را‬ AVR ‫ﺑـﺎ‬ ‫ﻛـﺎر‬ ‫دارﻧـﺪ‬ ‫ـﺪ‬‫ـ‬‫ﻗﺼ‬ ‫ﻛﻪ‬ ‫ﻛﺎري‬ ‫ﺗﺎزه‬ ‫اﻓﺮاد‬ ‫ﺑﺮاي‬ ‫را‬ ‫آﻣﺎدهاي‬ ‫ﻛﻴﺘﻬﺎي‬ ،AVR ‫ﺗﻮﻟﻴﺪ‬ ‫از‬ ‫ﭘﺲ‬ ،Atmel ‫ﺷﺮﻛﺖ‬ ‫را‬ AVR ‫اﻣﻜﺎﻧـﺎت‬ ‫ـﺎم‬‫ـ‬‫ﺗﻤ‬ ‫ﻛﺎرﮔﻴﺮي‬ ‫ﺑﻪ‬ ‫اﻣﻜﺎن‬ ،‫ﻛﻴﺘﻬﺎ‬ ‫اﻳﻦ‬ ‫ﻛﻤﻚ‬ ‫ﺑﻪ‬ ‫ﻓﺮد‬ ‫ﺗﺎ‬ ‫ﺷﺪهاﻧﺪ‬ ‫ﻃﺮاﺣﻲ‬ ‫ﮔﻮﻧﻪاي‬ ‫ﺑﻪ‬ ‫ﻛﻴﺘﻬﺎ‬ ‫اﻳﻦ‬ .‫ﻧﻤﻮد‬ ‫ﻃﺮاﺣﻲ‬ ‫ﮔﻴﺮﻧﺪ‬ ‫دﺳـﺘﻪ‬ ‫ﭼﻨـﺪ‬ ‫ﺑـﻪ‬ ‫ـﻬﺎ‬‫ـ‬‫ﻛﻴﺘ‬ ‫اﻳﻦ‬ .‫اﺳﺖ‬ ‫ﻛﺎﻣﭙﻴﻮﺗﺮ‬ ‫ﺑﻪ‬ ‫آﻧﻬﺎ‬ ‫اﺗﺼﺎل‬ ‫ﺷﻴﻮه‬ ‫ﺗﻨﻬﺎ‬ ،‫اﺳﺖ‬ ‫ﻣﻬﻢ‬ ‫ﻣﺎ‬ ‫ﺑﺮاي‬ ‫ﻛﻴﺘﻬﺎ‬ ‫اﻳﻦ‬ ‫ﻣﻮرد‬ ‫در‬ ‫آﻧﭽﻪ‬ ‫وﻟﻲ‬ .‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬ :‫ﻣﻲﻛﻨﻴﻢ‬ ‫ذﻛﺮ‬ ‫را‬ ‫آﻧﻬﺎ‬ ‫از‬ ‫ﻣﻮرد‬ ‫ﭼﻨﺪ‬ ‫اداﻣﻪ‬ ‫در‬ .‫ﺷﺪهاﻧﺪ‬ ‫ﻃﺮاﺣﻲ‬ ‫ﺗﺮاﺷﻪﻫﺎ‬ ‫اﻧﻮاع‬ ‫از‬ ‫ﺗﻌﺪادي‬ ‫ﺑﺎ‬ ‫ﻛﺎر‬ ‫ﺑﺮاي‬ ‫ﺗﻨﻬﺎ‬ ‫ﻳﻚ‬ ‫ﻫﺮ‬ ‫ﻛﻪ‬ ‫ﻣﻲﺷﻮﻧﺪ‬ ‫ﺗﻘﺴﻴﻢ‬ Kanda systems STK200+/300 Universal Serial Bus ١
  • 17. ١٥ Atmel STK500/AVRISP Dentronics DT006 Vogel Elektronik VTEC-ISP Futurlec JRAVR Microtronics ATCPU/Mega2000 STK200 .‫اﺳـﺖ‬ STK200/STK300 ‫ـﻮع‬‫ـ‬‫ﻧ‬ ‫در‬ ،ISP ‫ارﺗﺒﺎط‬ ‫ﺑﺮﻗﺮاري‬ ‫ﺑﺮاي‬ ‫واﺳﻂ‬ ‫ﻣﺪار‬ ‫ﻣﺎﺳﺖ‬ ‫ﻣﺪﻧﻈﺮ‬ ‫اﻳﻨﺠﺎ‬ ‫در‬ ‫آﻧﭽﻪ‬ ‫ﺑﺴـﻴﺎر‬ ‫ﺳــﺎﺧﺘﺎر‬ ‫ﺑﻮرد‬ ‫دو‬ ‫اﻳﻦ‬ .‫ﺷﺪهاﻧﺪ‬ ‫ﻃﺮاﺣﻲ‬ ATMega ‫ﭘﺮدازﻧﺪهﻫﺎي‬ ‫ﺑﺎ‬ ‫ﻛﺎر‬ ‫ﺑﺮاي‬ STK300 ‫و‬ AVR ‫ﭘﺮدازﻧﺪهﻫﺎي‬ ‫ﺑﺎ‬ ‫ﻛﺎر‬ ‫ﺑﺮاي‬ ‫ﺷﻜﻞ‬ ‫در‬ ‫ﻣﺪﻟﻬﺎ‬ ‫اﻳﻦ‬ ‫ﺑﻪ‬ ‫ﻣﺮﺑﻮط‬ ‫ﻣﺪار‬ .‫ﻣﻲﺑﺎﺷﺪ‬ ‫ﺑﻮرد‬ ‫ﺷﻨﺎﺳﺎﻳﻲ‬ ‫ﺑﻪ‬ ‫ﻣﺮﺑﻮط‬ ‫ﺳﻴﻢ‬ ‫ﻗﺮارﮔﻴﺮي‬ ‫ﻣﺤﻞ‬ ‫در‬ ‫آﻧﻬﺎ‬ ‫ﺑﻴﻦ‬ ‫ﺗﻔﺎوت‬ ‫ﺗﻨﻬﺎ‬ ‫و‬ ‫دارﻧﺪ‬ ‫ﻣﺸﺎﺑﻬﻲ‬ ‫از‬ ‫ﺑﻴـﺶ‬ ‫ـﻜﻞ‬‫ـ‬‫ﺷ‬ ‫ﻛﻪ‬ ‫ﭼﺮا‬ ،‫ﺑﺎﺷﺪ‬ ‫ﻓﺮﻳﺒﻨﺪه‬ ‫ﻧﮕﺎه‬ ‫اوﻟﻴﻦ‬ ‫در‬ ‫اﺳﺖ‬ ‫ﻣﻤﻜﻦ‬ .‫ﻧﻴﺴﺖ‬ ‫ﭘﻴﭽﻴﺪه‬ ‫ﻫﻢ‬ ‫ﭼﻨﺪان‬ ‫اﻟﺒﺘﻪ‬ ‫ﻛﻪ‬ ‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫داده‬ ‫ﻧﺸﺎن‬ (٣-٢) .‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﭘﻴﭽﻴﺪه‬ ‫ﻧﻴﺎز‬ ‫ﺣﺪ‬ 0 0 0 0 0 10 CONNECTOR DB25 13 25 12 24 11 23 10 22 9 21 8 20 7 19 6 18 5 17 4 16 3 15 2 14 1 74HC244 3 5 7 9 12 14 16 18 17 15 13 11 8 6 4 2 20 19 1 2Y4 2Y3 2Y2 2Y1 1Y4 1Y3 1Y2 1Y1 2A4 2A3 2A2 2A1 1A4 1A3 1A2 1A1 VCC 2OE 1OE ATMega32L 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 20 19 PA0(ADC0) PA1(ADC1) PA2(ADC2) PA3(ADC3) PA4(ADC4) PA5(ADC5) PA6(ADC6) PA7(ADC7) AREF GND AVCC PC7(TOSC2) PC6(TOSC1) PC5(TDI) PC4(TDO) PC3(TMS) PC2(TCK) PC1(SDA) PC0(SCL) PD7(OC2) PB0(XCK-T0) PB1(T1) PB2(INT2-AIN0) PB3(OC0-AIN1) PB4(SS) PB5(MOSI) PB6(MISO) PB7(SCK) RESET VCC GND XTAL2 XTAL1 PD0(RXD) PD1(TXD) PD2(INT0) PD3(INT1) PD4(OC1B) PD6(ICP) PD5(OC1A) 4MHZ 100k SW1 0.1u 27pf 27pf 100k 0.1u GND VCC=+5v VCC=+5v Reset Circuit Minimum Hardware for working with AVRs ISP Adapter AVR ‫ﺑﺎ‬ ‫ﮐﺎر‬ ‫ﺑﺮاى‬ ‫ﻻزم‬ ‫اﻓﺰار‬ ‫ﺳﺨﺖ‬ ‫ﺣﺪاﻗﻞ‬ ٣ -٢ ‫ﺷﮑﻞ‬ ‫ﺑـﺎﻳﺪ‬ ‫ﺑﺎﺷــﺪ‬ ‫ﻧﺪاﺷﺘﻪ‬ ‫وﺟﻮد‬ ‫ﺑﺎﻓﺮ‬ ‫ﺳﻲ‬ ‫آي‬ ‫اﮔﺮ‬ ‫وﻟﻲ‬ ،‫ﺷﻮد‬ ‫ﺳﺎﺧﺘﻪ‬ ‫ﻫﻢ‬ ‫اﻟﻜﺘﺮوﻧﻴﻜﻲ‬ ‫ﻗﻄﻌﻪ‬ ‫ﻫﻴﭻ‬ ‫ﺑﺪون‬ ‫ﻣﻲﺗﻮاﻧﺪ‬ ‫ﺣﺘﻲ‬ ‫واﺳﻄﻪ‬ ‫اﻳﻦ‬ ‫ﺑــﺎﻳﺪ‬ ‫ﻫﻢ‬ ‫ﻫﻨﻮز‬ ،‫ﻣﺪار‬ ‫اﻳﻦ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺻﻮرت‬ ‫در‬ ‫اﻟﺒﺘﻪ‬ .‫ﻧﻜﻨﻴﻢ‬ ‫ﻣﺘﺼﻞ‬ ‫دﻳﮕﺮي‬ ‫ﻣﺪار‬ ‫ﺑﻪ‬ ‫را‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫ﺑﻪ‬ ‫ﻣﺮﺑﻮط‬ ‫ﭘﻴﻨﻬﺎي‬ ‫ﺗﺎ‬ ‫ﺑﺎﺷﻴﻢ‬ ‫ﻣﺮاﻗﺐ‬
  • 18. ١٦ ‫ﻛـﻪ‬ ‫ﺷـﻮﻳﻢ‬ ‫ﻣﻄﻤﺌــﻦ‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫زﻣﺎن‬ ‫در‬ ‫ﺑﺎﻳﺪ‬ ‫ﻣﺎ‬ ‫ﻛﻪ‬ ‫اﺳﺖ‬ ‫واﺿﺢ‬ .‫ﻧﻤﺎﻳﻴﻢ‬ ‫اﺣﺘﻴﺎط‬ ٣ SCK ‫و‬٢ MISO، ١ MOSI ‫ﭘﻴﻨﻬﺎي‬ ‫ﻣﻮرد‬ ‫در‬ .‫ﺑﺎﺷﻨﺪ‬ ‫ﻧﺸﺪه‬ ‫ﻣﺘﺼﻞ‬ Vcc ‫ﻳﺎ‬ GND ‫ﺑﻪ‬ ‫دﻳﮕﺮ‬ ‫ﺧﺎرﺟﻲ‬ ‫وﺳﻴﻠﻪﻫﺎي‬ ‫ﺗﻮﺳﻂ‬ ‫ﭘﻴﻨﻬﺎ‬ ‫اﻳﻦ‬ ‫اﻳـﻦ‬ ‫در‬ .‫ﻣﻲﻛﻨــﺪ‬ ‫ﻋﻤﻞ‬ ‫ﻛﻨﻨﺪه‬ ‫اﻳﺰوﻟﻪ‬ ‫ﻣﺪار‬ ‫ﻳﻚ‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ 74HC244 ،‫ﻧﻴﺴﺖ‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫ﺣﺎﻟﺖ‬ ‫در‬ AVR ‫ﻛﻪ‬ ‫زﻣﺎﻧﻲ‬ ‫در‬ .‫ﮔﺬاﺷﺖ‬ ‫ﻧﺨﻮاﻫﻨﺪ‬ ‫ﺗﺄﺛﻴﺮ‬ ‫ﺗﺮاﺷﻪ‬ ‫ﻋﻤﻠﻜﺮد‬ ‫ﺑﺮ‬ ‫ﻛﻪ‬ ‫ﻃﻮري‬ ‫ﺑﻪ‬ ،‫ﻣﻲﺷﻮﻧﺪ‬ ‫ﺑﺎﻻ‬ ‫اﻣﭙﺪاﻧﺲ‬ ‫ﺧﺮوﺟﻲﻫﺎ‬ ‫ﺗﻤﺎم‬ ‫ﺣﺎﻟﺖ‬ ‫را‬ ‫ﻣﻮردﻧﻈـﺮ‬ ‫ﺳﻴﺴـﺘﻢ‬ ‫از‬ RESET‫ﺧـﻂ‬ ‫و‬ ‫ﻣﻲﺷــﻮد‬ ‫ﻓﻌﺎل‬ 74HC244 ‫ﭘﺎﻳﻴﻦ‬ ‫ﻧﻴﻤﺔ‬ ،‫ﮔﺮدد‬ ‫اﻧﺘﺨﺎب‬ ISP ‫ﺣﺎﻟﺖ‬ ‫ﻛﻪ‬ ‫زﻣﺎﻧﻲ‬ ‫دﺷـﺎرژ‬ ‫ﺗﺮاﺷـﻪ‬ ‫در‬ RESET ‫ﻣـﺪار‬ ‫ﺑــﻪ‬ ‫ﻣﺮﺑﻮط‬ ‫ﺧﺎزن‬ ‫ﺑﺎﻳﺪ‬ ‫ﻛﻪ‬ ‫آﻧﺠﺎﻳﻲ‬ ‫از‬ ‫و‬ ‫ﻣﻲﮔﻴﺮد‬ ‫ﺻﻮرت‬ ‫ﺑﺎﻓﺮ‬ ‫ﺳﻪ‬ ‫ﺗﻮﺳﻂ‬ ‫ﻋﻤﻞ‬ ‫اﻳﻦ‬ .‫ﻣﻲﻛﻨﺪ‬ ‫زﻣﻴﻦ‬ MOSI, ،SCK ‫ﺧﻄﻮط‬ ‫ﻛﻪ‬ ‫اﻳﻦ‬ ‫ﻓﺮض‬ ‫ﺑﺎ‬ ،‫ﮔﺮﻓﺖ‬ ‫ﻗﺮار‬ RESET ‫ﺣﺎﻟﺖ‬ ‫در‬ ‫ﺗﺮاﺷﻪ‬ ‫ﻛﻪ‬ ‫زﻣﺎﻧﻲ‬ .‫ﻣﻲﺷﻮد‬ ‫اﻧﺠﺎم‬ ‫ﺧﻮﺑﻲ‬ ‫ﺑﻪ‬ ‫ﻛﺎر‬ ‫اﻳﻦ‬ ،‫ﮔﺮدد‬ ‫و‬ ‫ﮔﺮدد‬ ‫ﻓﻌـﺎل‬ 74HC244 ‫ﺑـﺎﻻﻳﻲ‬ ‫ﻧﻴـﻤﻪ‬ ‫ﺗـﺎ‬ ‫اﺳـﺖ‬ ‫آن‬ ‫ـﺎن‬‫ـ‬‫زﻣ‬ ،‫ﺑﺎﺷﻨﺪ‬ ‫ﻧﺪاﺷﺘﻪ‬ ‫ﻗﺮار‬ ‫ﺟﺎﻧﺒﻲ‬ ‫ﻣﺪار‬ ‫ﻫﻴﭻ‬ ‫ﺗﺄﺛﻴﺮ‬ ‫ﺗﺤﺖ‬ ،‫ﺗﺮاﺷﻪ‬ ‫در‬ MISO .‫ﻧﻤﺎﻳﺪ‬ ‫دراﻳﻮ‬ ‫را‬ MOSI, MOSI ‫ﺧﻄﻮط‬ ‫ﻛﻮﺗﺎه‬ ‫اﺗﺼﺎل‬ .‫ﻣﻲﺷﻮﻧﺪ‬ ‫اﺳﺘﻔﺎده‬ ‫ﭘﺮوﮔﺮاﻣﺮ‬ ‫ﺷﻨﺎﺳﺎﻳﻲ‬ ‫ﻛﺎﻣﭙﻴﻮﺗﺮ،ﺟﻬﺖ‬ ‫ﺗﻮﺳﻂ‬ ‫ﭘﺮﻳﻨﺘﺮ‬ ‫ﭘﻮرت‬ ‫درﻛﺎﻧﻜﺘﻮر‬ ‫ﻣﻮﺟﻮد‬ ‫ﻛﻮﺗﺎه‬ ‫اﺗﺼﺎل‬ ‫دو‬ STK300 ‫ﺑﺮاي‬ ‫ﺗﺸﺨﻴﺺ‬ ‫ﺧﻂ‬ ‫ﻋﻨﻮان‬ ‫٣١ﺑﻪ‬ ‫و‬ ٣ ‫ﭘﻴﻨﻬﺎي‬ ‫ﻛﻮﺗﺎه‬ ‫اﺗﺼﺎل‬ ‫و‬ STK200 ‫ﺑﺮاي‬ ‫ﺗﺸﺨﻴﺺ‬ ‫ﺧﻂ‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ ١٢ ‫و‬ ٢ ‫ﭘﻴﻨﻬﺎي‬ .‫ﺑﺎﺷﻨﺪ‬ ‫داﺷﺘﻪ‬ ‫وﺟﻮد‬ ‫ﻫﻢ‬ ‫ﻳﻜﺪﻳﮕﺮ‬ ‫ﺑﺎ‬ ‫ﻫﻤﺰﻣﺎن‬ ‫ﻃﻮر‬ ‫ﺑﻪ‬ ‫ﻣﻲﺗﻮاﻧﻨﺪ‬ ‫آﻧﻬﺎ‬ ‫دوي‬ ‫ﻫﺮ‬ ‫و‬ ‫ﻣﻲروﻧﺪ‬ ‫ﻛﺎر‬ ‫ﺑﻪ‬ ‫ﺑﺮﻧﺎﻣـﻪ‬ ‫ﻛﻨﻴـﺪ،ﺑـﺮاي‬ ‫اﺳـﺘﻔﺎده‬ ‫ـﮕﺮي‬‫ـ‬‫دﻳ‬ ‫ﺗﺮاﺷﻪ‬ ‫از‬ Atmega32L ‫ﺟﺎي‬ ‫ﺑﻪ‬ ‫ﺗﺎ‬ ‫دارﻳﺪ‬ ‫ﻗﺼﺪ‬ ‫ﻛﻪ‬ ‫ﺻﻮرﺗﻲ‬ ‫در‬ ،‫اﺳﺖ‬ ‫ذﻛﺮ‬ ‫ﺑﻪ‬ ‫ﻻزم‬ .‫ﻧﻤﺎﻳﻴﺪ‬ ‫ﻣﺘﺼﻞ‬ ISP ‫ﻛﺎﺑﻞ‬ ‫ﺑﻪ‬ ‫ﻗﺒﻞ‬ ‫ﻣﺪار‬ ‫ﻫﻤﺎﻧﻨﺪ‬ ‫را‬ MOSI, MISO, SCK, RESET ‫ﻫﺎي‬ ‫ﭘﺎﻳﻪ‬ ‫ﺗﺎ‬ ‫اﺳﺖ‬ ‫ﻛﺎﻓﻲ‬ ‫ﺗﻨﻬﺎ‬ ‫آن‬ ‫رﻳﺰي‬ ‫ﺑـﻪ‬ ‫ﺑـﺎﻳﺪ‬ ‫ﻧﻈـﺮ‬ ‫ﻣـﻮرد‬ ‫ﺑـﻮرد‬ ،‫ﺷــﻮد‬ ‫اﺳﺘﻔﺎده‬ ISP ‫ﻣﺪ‬ ‫در‬ AVR ‫از‬ ‫اﺳﺖ‬ ‫ﻗﺮار‬ ‫ﻛﻪ‬ ‫زﻣﺎﻧﻲ‬ ،‫ﺷﺪ‬ ‫ﮔﻔﺘﻪ‬ ‫ﻫﻢ‬ ‫ﹰ‬‫ﻼ‬‫ﻗﺒ‬ ‫ﻛﻪ‬ ‫ﻃﻮر‬ ‫ﻫﻤﺎن‬ ‫ﻣﻤﻜـﻦ‬ ‫ﺣــﺎل‬ ‫اﻳﻦ‬ ‫ﺑﺎ‬ ،‫ﮔﺮدﻧﺪ‬ ‫ذﺧﻴﺮه‬ ‫ﻋﻤﻞ‬ ‫اﻳﻦ‬ ‫ﺑﺮاي‬ (MOSI, MISO, SCK, RESET) ISP ‫ﭘﻴﻨﻬﺎي‬ ‫ﺗﺎ‬ ‫ﺷﻮد‬ ‫ﻃﺮاﺣﻲ‬ ‫ﮔﻮﻧﻪاي‬ .‫ﻧﺒﺎﺷﺪ‬ ‫ﻛﺎﻓﻲ‬ ‫ﭘﻮرﺗﻬﺎ‬ ‫ﺗﻌﺪاد‬ ‫ﻋﻤﻞ‬ ‫در‬ ‫اﺳﺖ‬ ‫ﺑﻪ‬ I/O ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ ‫ﻧﻴﺰ‬ ‫و‬ ISP‫ﻋﻤﻞ‬ ‫ﺑﺮاي‬ ‫ﻣﺸﺘﺮك‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﻣﻲﺗﻮاﻧﻨﺪ‬ ISP ‫ﭘﻴﻨﻬﺎي‬ ‫ﮔﺮدد‬ ‫رﻋﺎﻳﺖ‬ ‫ﻻزم‬ ‫ﻣﻮارد‬ ‫ﻛﻪ‬ ‫ﺻﻮرﺗﻲ‬ ‫در‬ (٤-٢ ‫اﺳﺖ.)ﺷﻜﻞ‬ ‫ﺿﺮوري‬ ‫زﻳﺮ‬ ‫ﻣﻮارد‬ ‫ﮔﺮﻓﺘﻦ‬ ‫درﻧﻈﺮ‬ ‫ﻣﻨﻈﻮر‬ ‫اﻳﻦ‬ ‫ﺑﺮاي‬ .‫روﻧﺪ‬ ‫ﻛﺎر‬ ‫ـﻲ‬‫ـ‬‫اﺧﺘﻼﻟ‬ RESET ‫ﻣﺪار‬ ‫ﺻﻮرت‬ ‫اﻳﻦ‬ ‫در‬ ،RESET ‫ﻣﺪار‬ ‫و‬ RESET ‫ﭘﻴﻦ‬ ‫ﺑﻴﻦ‬ ‫ﻣﻘﺎوﻣﺖ‬ ‫ﻳﻚ‬ ‫دادن‬ ‫ﻗﺮار‬ -١ .‫ﻛﺮد‬ ‫ﻧﺨﻮاﻫﺪ‬ ‫اﻳﺠﺎد‬ Master Out Slave In ١ Master In Slave Out ٢ Serial Clock ٣
  • 19. ١٧ ISP ‫ﻣﺪار‬ ‫ﺑﺮاي‬ ‫ﻻزم‬ ‫ﻣﻼﺣﻈﺎت‬ ٤ -٢ ‫ﺷﻜﻞ‬ .‫ﻧﻤﻲدﻫﺪ‬ ‫ﻗﺮار‬ ‫ﺗﺄﺛﻴﺮ‬ ‫ﺗﺤﺖ‬ ‫را‬ ‫دﻳﮕﺮي‬ ‫ﻋﻤﻞ‬ ‫ﻫﻴﭻ‬ ،ISP ‫ﻋﻤﻞ‬ ‫ﻛﻪ‬ ‫ﺷﻮﻳﺪ‬ ‫ﻣﻄﻤﺌﻦ‬ -٢ ‫اﺳـﺘﻔﺎده‬ ‫ﻣﻘــﺎوﻣﺖ‬ ‫ازﻳﻚ‬ ‫ﺑﺎﻳﺪ‬ ‫ﻳﺎ‬ ‫و‬ ‫ﻛﻨﻴﺪ‬ ‫ﺧﻮدداري‬ ‫ﺧﺮوﺟﻲ‬ ‫ﻣﺪارﻫﺎي‬ ‫ﻛﺮدن‬ ‫دراﻳﻮ‬ ‫از‬ ،ISP ‫ﻋﻤﻞ‬ ‫ﺣﻴﻦ‬ ‫در‬ -٣ .‫ﻧﻤﺎﻳﻴﺪ‬ .‫ﻛﻨﻴﺪ‬ ‫ﺧﻮدداري‬ ‫ﻣﻲﮔﺬارﻧﺪ‬ ‫ﺗﺄﺛﻴﺮ‬ ISP ‫ﻋﻤﻞ‬ ‫روي‬ ‫ﺑﺮ‬ ‫ﻛﻪ‬ ‫ﺳﻨﮕﻴﻦ‬ ‫ﺑﺎرﻫﺎي‬ ‫اﺗﺼﺎل‬ ‫از‬ -٤ ‫ﻛـﻪ‬ ‫آﻧﺠـﺎﻳﻲ‬ ‫از‬ ‫ﻧﻤـﺎﻳﻴﺪ‬ ‫ﺑﺮﻧﺎﻣـﻪرﻳﺰي‬ ISP ‫روش‬ ‫ﺑــﻪ‬ ‫را‬ ATMega128 ‫ﺗﺎ‬ ‫دارﻳﺪ‬ ‫ﻗﺼﺪ‬ ‫ﻛﻪ‬ ‫ﺻﻮرﺗﻲ‬ ‫در‬ ،‫اﺳﺖ‬ ‫ذﻛﺮ‬ ‫ﺑﻪ‬ ‫ﻻزم‬ ‫ﺑـﺮوز‬ ‫از‬ ‫ﺟﻠـﻮﮔﻴـﺮي‬ ‫ﺑـﺮاي‬ .‫ﻫﺴــﺘﻨﺪ‬ ‫ﻣﺸﺘﺮك‬ ‫ﺗﺮاﺷﻪ‬ ‫در‬ UART ‫اوﻟﻴﻦ‬ ‫درﻳﺎﻓﺖ‬ ‫و‬ ‫ارﺳﺎل‬ ‫ﺧﻄﻮط‬ ‫ﺑﺎ‬ SPI ‫ﺧﺮوﺟﻲ‬ ‫و‬ ‫ورودي‬ ‫ﺧﻄﻮط‬ .‫ﻣﻲﺷﻮد‬ ‫واﮔﺬار‬ ‫ﺧﻮاﻧﻨﺪه‬ ‫ﺑﻪ‬ ‫ﻣﻄﻠﺐ‬ ‫اﻳﻦ‬ ‫ﻛﻪ‬ ‫ﻣﻲﻛﻨﺪ‬ ‫ﺗﻔﺎوت‬ ‫ﻫﻢ‬ ‫آن‬ ‫ﭘﻴﻨﻬﺎي‬ ‫و‬ ‫ﻣﻲﺷﻮد‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﻴﺸﺘﺮي‬ ‫ﺳﺨﺖاﻓﺰار‬ ‫از‬ ‫ﻣﺸﻜﻞ‬ ‫ﺑﺮﻧﺎﻣـﻪرﻳﺰي‬ ‫ﻏــﻴﺮﺻﺤﻴﺢ‬ ‫ﻃﻮر‬ ‫ﺑﻪ‬ ‫را‬ AVR ‫ﻓﻴﻮزﻫﺎي‬ ‫ﺷﻤﺎ‬ ‫ﻛﻪ‬ ‫ﺻﻮرﺗﻲ‬ ‫در‬ ‫ﻛﻨﻴﺪ؛‬ ‫ﺗﻮﺟﻪ‬ ‫ﻫﻢ‬ ‫ﻧﻜﺘﻪ‬ ‫اﻳﻦ‬ ‫ﺑﻪ‬ ‫اﺳﺖ‬ ‫ﻻزم‬ ‫ﭘﺎﻳﺎن‬ ‫در‬ ‫ﺑﺮﻧﺎﻣـﻪرﻳﺰي‬ ‫دﻫﻴـﺪ‬ ‫اﻧﺠــﺎم‬ ‫ﻣﻲﺗﻮاﻧﻴﺪ‬ ‫ﺷﻤﺎ‬ ‫ﻛﻪ‬ ‫ﻛﺎرﻫﺎﻳﻲ‬ ‫ﺑﺪﺗﺮﻳﻦ‬ ‫از‬ ‫ﻳﻜﻲ‬ .‫ﺑﻴﻔﺘﺪ‬ ‫ﻛﺎر‬ ‫از‬ ‫داﺧﻠﻲ‬ ‫ﻧﻮﺳﺎﻧﮕﺮ‬ ‫و‬ ‫ﻛﺮﻳﺴﺘﺎل‬ ‫اﺳﺖ‬ ‫ﻣﻤﻜﻦ‬ ‫ﻧﻤﺎﻳﻴﺪ‬ ،‫ﻧـﺪارد‬ ‫وﺟــﻮد‬ AVR ‫ﺗﺮاﺷﻪ‬ ‫ﺗﻌﻮﻳﺾ‬ ‫ﺟﺰ‬ ‫راﻫﻲ‬ ‫ﻫﻴﭻ‬ ‫ﺣﺎﻟﺖ‬ ‫اﻳﻦ‬ ‫در‬ .‫اﺳﺖ‬ JTAG, ISP ‫اﻣﻜﺎن‬ ‫ﻛﺮدن‬ ‫ﻏﻴﺮﻓﻌﺎل‬ ‫و‬ ‫ﻓﻴﻮزﻫﺎ‬ ‫ﻏﻴﺮﺻﺤﻴﺢ‬ ‫ﻛـﻪ‬ ‫ﺑـﻮد‬ ‫ﺧﻮاﻫـﺪ‬ ‫ﻣﻴﺴــﺮ‬ ‫ﻣﻮازي‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫ﻃﺮﻳﻖ‬ ‫از‬ ‫ﺗﻨﻬﺎ‬ ‫ﻛﺎر‬ ‫اﻳﻦ‬ ‫وﻟﻲ‬ ‫ﺑﺎزﮔﺮداﻧﻴﺪ‬ ‫اول‬ ‫ﺣﺎﻟﺖ‬ ‫ﺑﻪ‬ ‫را‬ ‫آن‬ ‫ﻣﻲﺗﻮاﻧﻴﺪ‬ ‫ﻫﻢ‬ ‫ﻫﻨﻮز‬ ‫ﺷﻤﺎ‬ ‫اﻟﺒﺘﻪ‬ .‫ﻣﻲﻃﻠﺒﺪ‬ ‫را‬ ‫ﺧﻮد‬ ‫ﺧﺎص‬ ‫اﻣﻜﺎﻧﺎت‬ ‫و‬ ‫اﺳﺖ‬ ‫ﻣﺸﻜﻠﻲ‬ ‫ﻛﺎر‬ ‫ﹰ‬‫ﻻ‬‫اﺻﻮ‬
  • 20. ١٨ ‫ﺳﻮم‬ ‫ﻓﺼﻞ‬ Codevision AVR ‫ﺑﺎ‬ ‫آﺷﻨﺎﻳﻲ‬ ‫ﻛﺪﻫـﺎي‬ ‫ﺧﻮدﻛـﺎر‬ ‫ﺗﻮﻟﻴﺪﻛﻨﻨـﺪة‬ ‫و‬ (١ IDE)‫ﻳﻜﭙﺎرﭼــﻪ‬ ‫ﻳﺎﻓﺘﻪ‬ ‫ﺗﻮﺳﻌﻪ‬ ‫ﻣﺤﻴﻂ‬ ،C ‫ﻛﺎﻣﭙﺎﻳﻠﺮ‬ ‫ﻳﻚ‬ Codevision AVR .‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﻃﺮاﺣﻲ‬ ATMEL ‫ﺷﺮﻛﺖ‬ ‫ﺳﺎﺧﺖ‬ AVR ‫ﻣﻴﻜﺮوﻛﻨﺘﺮوﻟﺮﻫﺎي‬ ‫ﺑﺎ‬ ‫ﻛﺎر‬ ‫ﺑﺮاي‬ ‫ﻛﻪ‬ ‫اﺳﺖ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ .‫ﺑﺎﺷﺪ‬ ‫اﺟﺮا‬ ‫ﻗﺎﺑﻞ‬ Xp,2000,NT, Me, 98, 95 ‫وﻳﻨﺪوزﻫﺎي‬ ‫در‬ ‫ﻛﻪ‬ ‫ﺷﺪه‬ ‫ﻃﺮاﺣﻲ‬ ‫ﻃﻮري‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫اﻧﺠـﺎم‬ ‫از‬ ‫ﺑﻌـﺪ‬ ‫را‬ ‫ﻣﻴﻜﺮوﻛﻨﺘﺮوﻟﺮﻫــﺎ‬ ‫ﺑﻪ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻛﺪﻫﺎي‬ ‫اﻧﺘﻘﺎل‬ ‫اﻣﻜﺎن‬ ‫ﻛﻪ‬ ‫ﻣﻲﺷﻮد‬ ‫ﺷﺎﻣﻞ‬ ‫ﻫﻢ‬ ‫را‬ ISP ‫ﭘﺮوﮔﺮاﻣﺮ‬ ‫ﻳﻚ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫اﻳﻦ‬ .‫ﻣﻲﻛﻨﺪ‬ ‫ﻓﺮاﻫﻢ‬ ‫ﻛﺎﻣﭙﺎﻳﻞ‬ ‫ﻋﻤﻞ‬ ‫ﻣﻮﻓﻖ‬ ‫ﺗﻮﻟﻴـﺪ‬ ،‫ﻛـﺎرﻛﺘﺮي‬ ‫ـﺎي‬‫ـ‬‫ﻫ‬LCD ‫ﺑﺎ‬ ‫ﻛﺎر‬ ‫ﺑﺮاي‬ ‫دﻗﻴﻘﻲ‬ ‫ﻛﺘﺎﺑﺨﺎﻧﻪﻫﺎي‬ ‫داراي‬ ،‫اﺳﺘﺎﻧﺪارد‬ C ‫ﻛﺘﺎﺑﺨﺎﻧﻪﻫﺎي‬ ‫ﺑﺮ‬ ‫ﻋﻼوه‬ ‫اﻓﺰار‬ ‫ﻧﺮم‬ ‫اﻳﻦ‬ DS1820 ،LM75 ‫ـﺎي‬‫ـ‬‫دﻣ‬ ‫ﺳﻨﺴﻮرﻫﺎي‬ ‫ﺑﺎ‬ ‫ﻛﺎر‬ ، ‫ﺳﻴﻤﻪ‬ ‫ﻳﻚ‬ ‫ارﺗﺒﺎط‬ ،I2 C ‫ﻗﺎﺑﻠﻴﺖ‬ ، SPI ‫ﻗﺎﺑﻠﻴﺖ‬ ،‫ﺗﺮاﺷﻪ‬ ‫ﻣﺼﺮﻓﻲ‬ ‫اﻧﺮژي‬ ‫ﺗﻨﻈﻴﻢ‬ ،‫وﻗﻔﻪ‬ .‫اﺳﺖ‬ ‫ﺳﺮﻳﺎل‬ ‫ﻫﺎي‬EEPROM ‫و‬ Integrated Development Environment ١
  • 21. ١٩ CodevisionAVR ‫اﻓﺰار‬ ‫ﻧﺮم‬ ١ -٣ ‫ﺷﻜﻞ‬ ‫اﻳـﻦ‬ .‫ﻣﻲﺷـﻮد‬ ‫ﺷـﺎﻣﻞ‬ ‫ﻫـﻢ‬ ‫را‬ ‫ـﻪ‬‫ـ‬‫ﺑﺮﻧﺎﻣ‬ ‫ﺧﻮدﻛﺎر‬ ‫ﺗﻮﻟﻴﺪﻛﻨﻨﺪه‬ ،CodewizardAVR, CodevisionAVR ‫اﻳﻦ‬ ‫ﺑﺮ‬ ‫ﻋﻼوه‬ ‫ﺑـﻪ‬ ‫ـﺎز‬‫ـ‬‫ﻧﻴ‬ ‫ﺑﺪون‬ ... ‫و‬ TWI, SPI, ADC ،‫ﺗﺎﻳﻤﺮﻫﺎ‬ ‫ﻗﺒﻴﻞ‬ ‫از‬ ‫ﺗﺮاﺷﻪ‬ ‫ﻣﺨﺘﻠﻒ‬ ‫اﻣﻜﺎﻧﺎت‬ ‫ﺗﻨﻈﻴﻢ‬ ‫ﺑﺮاي‬ ‫ﺗﺎ‬ ‫ﻣﻲدﻫﺪ‬ ‫ﻣﺎ‬ ‫ﺑﻪ‬ ‫را‬ ‫اﻣﻜﺎن‬ ‫اﻳﻦ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫را‬ ‫ﻻزم‬ ‫ﻛﺪﻫـﺎي‬ Codewizard ‫ﺻــﻮرت‬ ‫اﻳﻦ‬ ‫در‬ ‫دﻫﻴﻢ‬ ‫اﻧﺠﺎم‬ ‫را‬ ‫ﻧﻴﺎز‬ ‫ﻣﻮرد‬ ‫اوﻟﻴﻪ‬ ‫ﺗﻨﻈﻴﻤﺎت‬ ‫ﮔﺮاﻓﻴﻜﻲ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫آﻧﻬﺎ‬ ‫ﺑﺮاي‬ ‫ﻛﺪ‬ ‫ﻧﻮﺷﺘﻦ‬ .‫ﺑﻨﻮﻳﺴﻴﻢ‬ ‫را‬ ‫ﺧﻮد‬ ‫ﺑﺮﻧﺎﻣﻪﻫﺎي‬ ‫ﻣﻤﻜﻦ‬ ‫زﻣﺎن‬ ‫ﻛﻤﺘﺮﻳﻦ‬ ‫در‬ ‫ﻣﻲﺗﻮاﻧﻴﻢ‬ ‫ﺻﻮرت‬ ‫اﻳﻦ‬ ‫ﺑﻪ‬ ‫و‬ ‫ﻣﻲﻛﻨﺪ‬ ‫ﺗﻮﻟﻴﺪ‬ ‫ﻣﺎ‬ ‫ﺑﺮاي‬ ‫ﺑﺨــﺶ‬ ‫در‬ ‫ﺷﺪه‬ ‫ذﻛﺮ‬ ‫ﻛﺎﺑﻞ‬ ‫ﺑﺎﻳﺪ‬ ‫ﺷﻤﺎ‬ ‫اﻳﻨﺠﺎ‬ ‫ﺗﺎ‬ ،‫ﻛﻨﻴﻢ‬ ‫اﺟﺮا‬ ‫را‬ ‫آن‬ ‫و‬ ‫ﺑﻨﻮﻳﺴﻴﻢ‬ ‫را‬ ‫ﺧﻮد‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫اوﻟﻴﻦ‬ ‫ﺗﺎ‬ ‫دارﻳﻢ‬ ‫ﻗﺼﺪ‬ ‫ﺑﺨﺶ‬ ‫اﻳﻦ‬ ‫در‬ ‫و‬ CodevisionAVR ‫اﻓـﺰار‬ ‫ﻧـﺮم‬ ‫ﺑـﺎﻳﺪ‬ ‫اﻳـﻦ‬ ‫ﺑـﺮ‬ ‫ﻋـﻼوه‬ (٣-٢ ‫ـﻜﻞ‬‫ـ‬‫ﺑﺎﺷﻴﺪ.)ﺷ‬ ‫ﻛﺮده‬ ‫آﻣﺎده‬ ‫ﻧﻴﺰ‬ ‫را‬ ‫ﻻزم‬ ‫ﻣﺪار‬ ‫ﺣﺪاﻗﻞ‬ ‫و‬ ‫ﺳﺎﺧﺘﻪ‬ ‫را‬ ‫ﻗﺒﻞ‬ ‫زﻳـﺮ‬ ‫ـﺘﺮﻧﺘﻲ‬‫ـ‬‫اﻳﻨ‬ ‫آدرس‬ ‫از‬ ‫را‬ CodevisionAVR ‫اﻓﺰار‬ ‫ﻧﺮم‬ ‫راﻳﮕﺎن‬ ‫ﻧﺴﺨﻪ‬ ‫ﺗﻮاﻧﻴﺪ‬ ‫ﻣﻲ‬ ‫ﺑﺎﺷﻴﺪ.ﺿﻤﻨﺎ‬ ‫ﻛﺮده‬ ‫ﻧﺼﺐ‬ ‫ﻫﻢ‬ ‫را‬ AVRstudio :‫ﻛﻨﻴﺪ‬ ‫درﻳﺎﻓﺖ‬ http://www.hpinfotech.ro :‫ﻧﻤﺎﻳﻴﺪ‬ ‫ﻣﺮاﺟﻌﻪ‬ Atmel ‫ﺷﺮﻛﺖ‬ ‫ﺳﺎﻳﺖ‬ ‫ﺑﻪ‬ ‫ﻫﻢ‬ AVRStudio ‫اﻓﺰار‬ ‫ﻧﺮم‬ ‫درﻳﺎﻓﺖ‬ ‫ﺑﺮاي‬ http://www.atmel.com 2Hz ‫ﻓﺮﻛﺎﻧﺲ‬ ‫ﺑﺎ‬ ‫را‬ LED ‫ﻳﻚ‬ ‫و‬ ‫ﻛﻨﻴﻢ‬ ‫آﻏﺎز‬ ‫ﺳﺎده‬ ‫ﺑﺮﻧﺎﻣﺔ‬ ‫ﻳﻚ‬ ‫ﻧﻮﺷﺘﻦ‬ ‫ﺑﺎ‬ ‫را‬ ‫ﻛﺎر‬ ‫ﺗﺎ‬ ‫ﻣﻲﺧﻮاﻫﻴﻢ‬ ‫ﻗﺴﻤﺖ‬ ‫اﻳﻦ‬ ‫در‬ .‫ﻛﻨﻴﻢ‬ ‫روﺷﻦ‬ ‫و‬ ‫ﺧﺎﻣﻮش‬
  • 22. ٢٠ ‫ﺟﺪﻳﺪ‬ ‫ﭘﺮوژه‬ ‫ﻳﻚ‬ ‫اﻳﺠﺎد‬ ‫ﻳـﺎ‬ ‫و‬ File|New ‫ﻣﻨـﻮي‬ ‫از‬ ‫اﺳـﺘﻔﺎده‬ ‫ﺑـﺎ‬ ‫را‬ ‫ﻛـﺎر‬ ‫اﻳﻦ‬ ‫ﻣﻲﺗﻮاﻧﻴﺪ‬ .‫اﺳﺖ‬ ‫ﻣﻮردﻧﻈﺮ‬ ‫ﺑﺮﻧﺎﻣﺔ‬ ‫ﺑﺮاي‬ ‫ﺟﺪﻳﺪي‬ ‫ﭘﺮوژه‬ ‫اﻳﺠﺎد‬ ‫ﻛﺎر‬ ‫اوﻟﻴﻦ‬ .‫دﻫﻴﺪ‬ ‫اﻧﺠﺎم‬ ‫اﺑﺰار‬ ‫ﻧﻮار‬ ‫در‬ Create New File ‫دﻛﻤﺔ‬ ‫دادن‬ ‫ﻓﺸﺎر‬ ‫را‬ OK ‫دﻛﻤﻪ‬ ‫و‬ ‫ﻧﻤﻮده‬ ‫اﻧﺘﺨﺎب‬ ‫را‬ File type|Project ‫ﺑﺎﻳﺪ‬ ‫ﺷﻤﺎ‬ ،(٢-٣ ‫ﻣﻲﺷﻮد)ﺷﻜﻞ‬ ‫ﺑﺎز‬ ‫ﭘﻨﺠﺮهاي‬ ‫ﻛﺎر‬ ‫اﻳﻦ‬ ‫اﻧﺠﺎم‬ ‫ﺑﺎ‬ .‫دﻫﻴﺪ‬ ‫ﻓﺸﺎر‬ Create New File ‫ﭘﻨﺠﺮه‬ ٢ -٣ ‫ﺷﻜﻞ‬ ‫ﻛﻤـﻚ‬ ‫ﺑـﻪ‬ ‫را‬ ‫ﺟﺪﻳـﺪ‬ ‫ﭘـﺮوژه‬ ‫ﻣﻲﺧﻮاﻫﻴـﺪ‬ ‫آﻳـﺎ‬ ‫ﻛـﻪ‬ ‫ﻣـﻲﮔﺮدد‬ ‫ﺳــﺆال‬ ‫ﺷﻤﺎ‬ ‫از‬ ‫و‬ (٣-٣ ‫ﻣﻲﺷﻮد)ﺷﻜﻞ‬ ‫ﺑﺎز‬ ‫دﻳﮕﺮي‬ ‫ﭘﻨﺠﺮه‬ ‫ﺣﺎﻻ‬ .‫دﻫﻴﺪ‬ ‫اﻧﺠﺎم‬ CodewizardAVR Confirm ‫ﭘﻨﺠﺮه‬ ٣ -٣ ‫ﺷﻜﻞ‬ ‫ﻛـﻪ‬ (٤-٣ ‫ـﻜﻞ‬‫ـ‬‫ﺷﺪ)ﺷ‬ ‫ﺧﻮاﻫﺪ‬ ‫ﺑﺎز‬ Create New Project ‫ﭘﻨﺠﺮه‬ ‫ﻛﺎر‬ ‫اﻳﻦ‬ ‫ﺑﺎ‬ .‫ﻛﻨﻴﺪ‬ ‫اﻧﺘﺨﺎب‬ ‫را‬ No ‫دﻛﻤﻪ‬ ‫ﻗﺴﻤﺖ‬ ‫اﻳﻦ‬ ‫در‬ .‫ﺷﺪ‬ ‫ﺧﻮاﻫﺪ‬ ‫ذﺧﻴﺮه‬ ،prj ‫ﭘﺴﻮﻧﺪ‬ ‫ﺑﺎ‬ ‫ﭘﺮوژه‬ ‫ﻓﺎﻳﻞ‬ .‫ﻧﻤﺎﻳﻴﺪ‬ ‫ﻣﺸﺨﺺ‬ ‫را‬ ‫آن‬ ‫ﻣﺤﻞ‬ ‫و‬ ‫ﭘﺮوژه‬ ‫ﻓﺎﻳﻞ‬ ‫ﻧﺎم‬ ‫آن‬ ‫در‬ ‫ﺑﺎﻳﺪ‬
  • 23. ٢١ Create New Project ‫ﭘﻨﺠﺮه‬ ٤ -٣ ‫ﺷﻜﻞ‬ C ‫ﻗﺴـﻤﺖ‬ ‫در‬ ‫اﺑﺘـﺪا‬ ،(٥-٣ ‫اﺳـﺖ)ﺷـﻜﻞ‬ ‫ﻛﺎﻣﭙـﺎﻳﻠﺮ‬ ‫ﺗﻨﻈﻴﻤـﺎت‬ ‫ﺑـﻪ‬ ‫ﻣﺮﺑـﻮط‬ ‫ﻛـﻪ‬ ‫ﺷـﻮد‬ ‫ﻣــﻲ‬ ‫ﺑﺎز‬ ‫ﺟﺪﻳﺪي‬ ‫ﭘﻨﺠﺮه‬ ‫ﺣﺎﻻ‬ ‫ﮔﺰﻳـﻨﻪ‬ ‫در‬ ‫ﺳـﭙﺲ‬ ،‫داده‬ ‫ﻗـﺮار‬ Atmega32L ‫ﺑﺮاﺑـﺮ‬ ‫را‬ AVR ‫ﺗﺮاﺷـﺔ‬ ‫ﻧـﻮع‬ ،Chip ‫ﮔﺰﻳﻨــﺔ‬ ،Compiler|Code Generation (٦-٣ ‫دﻫﻴﺪ.)ﺷﻜﻞ‬ ‫ﻓﺸﺎر‬ ‫را‬ OK ‫دﻛﻤﻪ‬ ‫و‬ ‫ﻧﻤﺎﻳﻴﺪ‬ ‫اﻧﺘﺨﺎب‬ 4MHz ‫ﺑﺮاﺑﺮ‬ ‫را‬ ‫ﺗﺮاﺷﻪ‬ ‫ﺑﻪ‬ ‫ﻣﺘﺼﻞ‬ ‫ﻛﺮﻳﺴﺘﺎل‬ ‫ﻣﻘﺪار‬ Clock
  • 24. ٢٢ Files ‫ﻗﺴﻤﺖ‬ Configure Project ‫ﭘﻨﺠﺮه‬ ٥ -٣ ‫ﺷﻜﻞ‬
  • 25. ٢٣ C Compiler ‫ﻗﺴﻤﺖ‬ Configure Project ‫ﭘﻨﺠﺮه‬ ٦ -٣ ‫ﺷﮑﻞ‬ ‫ﻣﻨـﻮي‬ ‫دوﺑـﺎره‬ ‫ﻛـﺎر‬ ‫اﻳـﻦ‬ ‫ـﺮاي‬‫ـ‬‫ﺑ‬ (٧-٣ ‫ﻛﻨﻴﺪ.)ﺷﻜﻞ‬ ‫اﻳﺠﺎد‬ ‫را‬ ‫دارد‬ ‫ﻗﺮار‬ ‫آن‬ ‫در‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻛﺪﻫﺎي‬ ‫ﻛﻪ‬ ‫ﭘﺮوژه‬ ‫اﺻﻠﻲ‬ ‫ﻓﺎﻳﻞ‬ ‫ﺑﺎﻳﺪ‬ ‫ﺣﺎﻻ‬ ‫دﻛـﻤﻪ‬ ‫و‬ ‫اﻧﺘﺨـﺎب‬ ‫را‬ File Type|Source ‫ﮔﺰﻳﻨﻪ‬ ‫و‬ ‫ﻧﻤﻮده‬ ‫اﻧﺘﺨﺎب‬ ‫را‬ ‫اﺑﺰار‬ ‫ﻧﻮار‬ ‫در‬ Create New File ‫دﻛﻤﻪ‬ ‫ﻳﺎ‬ ‫و‬ File|New .‫دﻫﻴﺪ‬ ‫ﻓﺸﺎر‬ ‫را‬ OK Create New File ‫ﭘﻨﺠﺮه‬ ٧ -٣ ‫ﺷﻜﻞ‬
  • 26. ٢٤ ‫ﻣﻨﻮي‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ .‫اﺳﺖ‬ untitled.c ‫ﺟﺪﻳﺪ‬ ‫ﻓﺎﻳﻞ‬ ‫ﻧﺎم‬ .‫ﻣﻲﮔﺮدد‬ ‫ﻇﺎﻫﺮ‬ ‫ﺟﺪﻳﺪي‬ ‫ﭘﻨﺠﺮه‬ ‫ﺷﺪه‬ ‫اﻳﺠﺎد‬ ‫ﺟﺪﻳﺪ‬ ‫ﻓﺎﻳﻞ‬ ‫ﺑﺮاي‬ .‫دﻫﻴﺪ‬ ‫ﺗﻐﻴﻴﺮ‬ main.c ‫ﺑﻪ‬ ‫را‬ ‫ﻓﺎﻳﻞ‬ ‫ﻧﺎم‬ Save As ‫ﮔﺰﻳﻨﻪ‬ ،File .‫ﻛﻨﻴﺪ‬ ‫ذﺧﻴﺮه‬ ‫را‬ ‫آن‬ ‫ﻣﺤﺘﻮﻳﺎت‬ ‫ﻛﺎر‬ ‫اﻳﻦ‬ ‫اﻧﺠﺎم‬ ‫از‬ ‫ﺑﻌﺪ‬ .‫ﻧﻤﺎﻳﻴﺪ‬ ‫وارد‬ ‫آن‬ ‫در‬ ‫را‬ ‫زﻳﺮ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻛﺪﻫﺎي‬ ‫ﺑﺎﻳﺪ‬ ‫ﺣﺎﻻ‬ #include <mega32.h> #include <delay.h> /*This is a test program written to flashes the LED on PORTA.0 with a period of 0.5 second*/ main() { while(1){/*loop forever*/ PORTA.0=1; delay_ms(250); PORTA.0=0; delay_ms(250); } } ATMega32L ‫رﺟﻴﺴـﺘﺮﻫﺎي‬ ‫ﺗﻌﺮﻳـﻒ‬ ‫ﺷـﺎﻣﻞ‬ ‫ـﻪ‬‫ـ‬‫ﻛ‬ ‫را‬ mega32.h ‫ﺳﺮآﻣﺪ‬ ‫ﻓﺎﻳﻞ‬ #include <mega32.h> ‫دﺳﺘﻮر‬ ‫دﺳـﺘﻮر‬ ‫ﻛﻤـﻚ‬ ‫ﺑـﻪ‬ ‫را‬ delay.h ‫ﻓـﺎﻳﻞ‬ ‫ﺑـﺎﻳﺪ‬ ‫ـﺪا‬‫ـ‬‫اﺑﺘ‬ .‫ﻛﻨﻴﻢ‬ ‫اﻳﺠﺎد‬ ‫ﺗﺎﺧﻴﺮي‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫در‬ ‫ﺑﺨﻮاﻫﻴﻢ‬ ‫ﻛﻪ‬ ‫ﻛﻨﺪ.زﻣﺎﻧﻲ‬ ‫ﻣﻲ‬ ‫اﺿﺎﻓﻪ‬ ‫ﭘﺮوژه‬ ‫ﺑﻪ‬ ،‫اﺳﺖ‬ ‫را‬ ‫اي‬ ‫ﺣﻠﻘﻪ‬ while(1) ‫ﺷﻮد.دﺳﺘﻮر‬ ‫ﻣﻲ‬ ‫آﻏﺎز‬ main() ‫ﺑﺎ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻫﺮ‬ ‫اﺻﻠﻲ‬ ‫ﻧﻤﺎﻳﻴﻢ.ﻗﺴﻤﺖ‬ ‫اﺿﺎﻓﻪ‬ ‫ﭘﺮوژه‬ ‫ﺑﻪ‬ #include <delay.h> ‫ﻧـﻴﺰ‬ delay_ms(250) ‫ﺷـﻮد.دﺳـﺘﻮر‬ ‫ﻣـﻲ‬ ‫ﺗﻜـﺮار‬ ‫ﻣـﺪام‬ ‫آن‬ ‫داﺧــﻞ‬ ‫ودﺳﺘﻮرات‬ ‫اﺳﺖ‬ ‫درﺳﺖ‬ ‫ﻫﻤﻮاره‬ ‫آن‬ ‫ﺷﺮط‬ ‫ﻛﻪ‬ ‫ﻛﻨﺪ‬ ‫ﻣﻲ‬ ‫ﺗﻌﺮﻳﻒ‬ .‫ﻛﻨﺪ‬ ‫ﻣﻲ‬ ‫ﺗﻮﻟﻴﺪ‬ ‫ﺛﺎﻧﻴﻪ‬ ‫ﻣﻴﻠﻲ‬ ٢٥٠ ‫ﺑﺮاﺑﺮ‬ ‫ﺗﺎﺧﻴﺮي‬ ‫اﺿﺎﻓـﻪ‬ ‫آن‬ ‫ﺑـﻪ‬ ‫را‬ ‫زﻳـﺮ‬ ‫اﻟﻤﺎﻧـﻬﺎي‬ ‫اﺳـﺖ‬ ‫ﻛـﺎﻓﻲ‬ ‫ﺗﻨـﻬﺎ‬ ‫اﻳـﺪ‬ ‫ﻛـﺮده‬ ‫آﻣــﺎده‬ ‫را‬ ‫ﻗﺒﻞ‬ ‫ﻓﺼﻞ‬ ‫در‬ ‫ﻣﻮﺟﻮد‬ ‫اﻓﺰار‬ ‫ﺳﺨﺖ‬ ‫ﻛﻪ‬ ‫ﺻﻮرﺗﻲ‬ ‫در‬ (٨-٣ ‫ﻛﻨﻴﺪ.)ﺷﻜﻞ‬ ATMega32L 40 39 38 PA0(ADC0) PA1(ADC1) PA2(ADC2) LED 330 PA0 ‫در‬ LED ‫ﻛﺮدن‬ ‫ﺧﺎﻣﻮش‬ ‫و‬ ‫روﺷﻦ‬ ‫ﺑﺮاي‬ ‫ﻣﺮﺑﻮط‬ ‫ﻣﺪار‬ ٨ -٣ ‫ﺷﻜﻞ‬
  • 27. ٢٥ ‫در‬ .‫ﻛﻨﻴﺪ‬ ‫اﻧﺘﺨﺎب‬ ‫را‬ Configure ‫ﮔﺰﻳﻨﺔ‬ ،Project ‫ﻣﻨﻮي‬ ‫از‬ ‫ﻛﺎر‬ ‫اﻳﻦ‬ ‫ﺑﺮاي‬ .‫ﻛﻨﻴﺪ‬ ‫اﺿﺎﻓﻪ‬ ‫ﭘﺮوژه‬ ‫ﺑﻪ‬ ‫را‬ ‫ﻓﺎﻳﻞ‬ ‫اﻳﻦ‬ ‫ﺑﺎﻳﺪ‬ ‫ﺣﺎﻻ‬ ،‫ﻛﺮدهاﻳﺪ‬ ‫وارد‬ ‫آن‬ ‫در‬ ‫ﹰ‬‫ﻼ‬‫ﻗﺒ‬ ‫را‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻛﺪﻫﺎي‬ ‫ﻛﻪ‬ main.c ‫ﻓﺎﻳﻞ‬ ‫ﺷﺪه‬ ‫ﺑﺎز‬ ‫ﭘﻨﺠﺮه‬ ‫از‬ ‫و‬ ‫دﻫﻴﺪ‬ ‫ﻓﺸﺎر‬ ‫را‬ Add ‫دﻛﻤﻪ‬ ،Files ‫ﻗﺴﻤﺖ‬ (٩-٣ ‫اﺳﺖ.)ﺷﻜﻞ‬ ‫ﺷﺪه‬ ‫اﺿﺎﻓﻪ‬ ‫ﭘﺮوژه‬ ‫ﺑﻪ‬ main.c ‫ﻓﺎﻳﻞ‬ ‫ﺣﺎﻻ‬ .‫دﻫﻴﺪ‬ ‫ﻓﺸﺎر‬ ‫را‬ Open ‫دﻛﻤﻪ‬ ‫و‬ ‫ﻧﻤﻮده‬ ‫اﻧﺘﺨﺎب‬ main.c ‫ﻓﺎﻳﻞ‬ ‫ﻛﺮدن‬ ‫اﺿﺎﻓﻪ‬ ‫از‬ ‫ﺑﻌﺪ‬ Configure Project ‫ﭘﻨﺠﺮه‬ ٩ -٣ ‫ﺷﻜﻞ‬
  • 28. ٢٦ ‫ﭘﺮوژه‬ ‫ﺑﻪ‬ ‫ﻓﺎﻳﻞ‬ ‫ﻛﺮدن‬ ‫اﺿﺎﻓﻪ‬ ‫از‬ ‫ﻗﺒﻞ‬ ١١ -٣ ‫ﺷﮑﻞ‬ ‫ﭘﺮوژه‬ ‫ﺑﻪ‬ ‫ﻓﺎﻳﻞ‬ ‫ﻛﺮدن‬ ‫اﺿﺎﻓﻪ‬ ‫از‬ ‫ﻗﺒﻞ‬ ١٠ -٣ ‫ﺷﮑﻞ‬ ‫ﻛﺎﻣﭙﺎﻳﻠﺮ‬ ‫ﺗﻨﻈﻴﻢ‬ C ‫ﻗﺴـﻤﺖ‬ ،Configare ‫ﮔﺰﻳـﻨﻪ‬ ،Project ‫ﻣﻨـﻮي‬ ‫ﺗﻮﺳـﻂ‬ ‫ﺟـﺎري‬ ‫ﺑﺮﻧـﺎﻣﻪ‬ ‫ـﺮاي‬‫ـ‬‫ﺑ‬ C ‫ﻛﺎﻣﭙﺎﻳﻠﺮ‬ ‫ﭘﺎراﻣﺘﺮﻫﺎي‬ ‫ﺗﻨﻈﻴﻢ‬ ‫ﺑﺮاﺑــﺮ‬ ‫را‬ AVR ‫ﺗــﺮاﺷﻪ‬ ‫ﻧــﻮع‬ ،Chip ‫ﮔﺰﻳــﻨﻪ‬ ،Code Generation ‫ﻗﺴــﻤﺖ‬ ‫در‬ ‫اﺑﺘـﺪا‬ .‫ﻣﻲﺷـﻮد‬ ‫اﻧﺠـﺎم‬ Compiler ‫ﺑﻪ‬ ‫ﻻزم‬ .‫ﻛﻨﻴﺪ‬ ‫اﻧﺘﺨﺎب‬ 4MHz ‫ﺑﺮاﺑﺮ‬ ‫را‬ ‫ﺗﺮاﺷﻪ‬ ‫ﺑﻪ‬ ‫ﻣﺘﺼﻞ‬ ‫ﻛﺮﻳﺴﺘﺎل‬ ‫ﻣﻘﺪار‬ Clock ‫ﮔﺰﻳﻨﺔ‬ ‫در‬ ‫ﺳﭙﺲ‬ ،‫داده‬ ‫ﻗﺮار‬ Atmega32L ‫ـﻴﺮ‬‫ـ‬‫ﺗﻐﻴ‬ ‫ﺑﻪ‬ ‫اﺣﺘﻴﺎﺟﻲ‬ .‫داد‬ ‫ﻧﺨﻮاﻫﺪ‬ ‫اﻧﺠﺎم‬ ‫درﺳﺖ‬ ‫را‬ ‫ﺧﻮد‬ ‫ﻛﺎر‬ ‫ﺗﺄﺧﻴﺮ‬ ‫ﺗﻮاﺑﻊ‬ ‫ﻧﺸﻮد‬ ‫ﺗﻨﻈﻴﻢ‬ ‫درﺳﺖ‬ ‫آن‬ ‫ﻣﻘﺪار‬ ‫ﻛﻪ‬ ‫ﺻﻮرﺗﻲ‬ ‫در‬ ‫اﺳﺖ‬ ‫ذﻛﺮ‬ ‫را‬ ١ ‫ﺳﺮاﺳﺮي‬ ‫ﺗﻌﺎرﻳﻒ‬ ‫ﻣﻲﺗﻮاﻧﻴﺪ‬ ،‫ﺷﺪه‬ ‫ﺗﺸﻜﻴﻞ‬ ‫ﻓﺎﻳﻞ‬ ‫ﻳﻚ‬ ‫از‬ ‫ﺑﻴﺶ‬ ‫از‬ ‫ﺷﻤﺎ‬ ‫ﭘﺮوژه‬ ‫ﻛﻪ‬ ‫ﺻﻮرﺗﻲ‬ ‫در‬ ‫ﺑﺪاﻧﻴﺪ‬ ‫ﻧﻴﺴﺖ‬ ‫ﺑﺪ‬ .‫ﻧﻴﺴﺖ‬ ‫ﻣﺪار‬ ‫ﺑﻘﻴﻪ‬ (١٢-٣ ‫ﻧﻤﺎﻳﻴﺪ.)ﺷﻜﻞ‬ ‫وارد‬ Globally#define ‫ﻗﺴﻤﺖ‬ ‫در‬ Global ١
  • 29. ٢٧ Globally#define ‫ﻗﺴﻤﺖ‬ Configure Project ‫ﭘﻨﺠﺮه‬ ١٢ -٣ ‫ﺷﻜﻞ‬ (١٣-٣ ‫ﻛﻨﻴﺪ.)ﺷﻜﻞ‬ ‫ﺗﻌﺮﻳﻒ‬ ‫ﻛﺘﺎﺑﺨﺎﻧﻪاي‬ ‫و‬ ‫ﺳﺮآﻣﺪ‬ ‫ﻓﺎﻳﻠﻬﺎي‬ ‫ﺑﺮاي‬ ‫را‬ ‫ﺟﺪﻳﺪي‬ ‫ﻣﺴﻴﺮﻫﺎي‬ ‫ﻣﻲﺗﻮاﻧﻴﺪ‬ ‫ﻫﻢ‬ paths ‫ﻗﺴﻤﺖ‬ ‫در‬
  • 30. ٢٨ Paths ‫ﻗﺴﻤﺖ‬ Configure Project ‫ﭘﻨﺠﺮه‬ ١٣ -٣ ‫ﺷﻜﻞ‬ ‫را‬ After Make ‫ﻗﺴـﻤﺖ‬ ‫ﺑﺒﻨﺪﻳـﺪ‬ ‫را‬ ‫ﭘﻨﺠـﺮه‬ ‫ـﻪ‬‫ـ‬‫ﻛ‬ ‫اﻳﻦ‬ ‫از‬ ‫ﻗﺒﻞ‬ ‫وﻟﻲ‬ ،‫اﺳﺖ‬ ‫رﺳﻴﺪه‬ ‫ﭘﺎﻳﺎن‬ ‫ﺑﻪ‬ ‫ﻫﻢ‬ ‫ﻛﺎﻣﭙﺎﻳﻠﺮ‬ ‫ﺗﻨﻈﻴﻢ‬ ‫اﻳﻨﺠﺎ‬ ‫در‬ (١٤-٣ ‫)ﺷﻜﻞ‬ ‫ﻛﻨﻴﺪ‬ ‫اﻧﺘﺨﺎب‬
  • 31. ٢٩ ‫ﺗﺮاﺷﻪ‬ ‫رﻳﺰي‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻛﺮدن‬ ‫ﻓﻌﺎل‬ ‫از‬ ‫ﻗﺒﻞ‬ After Make ‫ﻗﺴﻤﺖ‬ Configure Project ‫ﭘﻨﺠﺮه‬ ١٤ -٣ ‫ﺷﻜﻞ‬ ،‫ﺑﺘﻮاﻧﻴـﺪ‬ ‫ﺑﺮﻧﺎﻣــﻪ‬ ‫ﻛﺮدن‬ ‫اﺳﻤﺒﻞ‬ ‫و‬ ‫ﻛﺎﻣﭙﺎﻳﻞ‬ ‫از‬ ‫ﭘﺲ‬ ‫ﺗﺎ‬ ‫ﻣﻲﺷﻮد‬ ‫ﺑﺎﻋﺚ‬ ‫ﻛﺎر‬ ‫اﻳﻦ‬ .‫ﺑﺰﻧﻴﺪ‬ ‫ﻋﻼﻣﺖ‬ ‫را‬ Program the Chip ‫ﮔﺰﻳﻨﻪ‬ ‫آن‬ ‫در‬ ‫و‬ ‫را‬ ‫ﺣﺎﻓﻈـﻪﻫﺎ‬ ‫ﻣﻲﺗﻮاﻧﻴــﺪ‬ ‫ﻫﻢ‬ ‫دﻳﮕﺮ‬ ‫ﮔﺰﻳﻨﻪﻫﺎي‬ ‫ﻛﻤﻚ‬ ‫ﺑﻪ‬ (١٥-٣ ‫ﻛﻨﻴﺪ.)ﺷﻜﻞ‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫را‬ ‫آن‬ ‫و‬ ‫ﺑﻔﺮﺳﺘﻴﺪ‬ ‫ﺗﺮاﺷﻪ‬ ‫ﺑﻪ‬ ‫را‬ ‫ﻛﺪﻫﺎ‬ ‫ﹰ‬‫ﺎ‬‫ﻣﺴﺘﻘﻴﻤ‬ .‫ﺑﺒﻨﺪﻳﺪ‬ ‫را‬ ‫ﭘﻨﺠﺮه‬ OK ‫دﻛﻤﺔ‬ ‫ﻓﺸﺎر‬ ‫ﺑﺎ‬ ‫ﭘﺎﻳﺎن‬ ‫در‬ ،‫ﻛﻨﻴﺪ‬ ‫ﺗﻨﻈﻴﻢ‬ ‫ﻫﻢ‬ ‫را‬ ‫ﺗﺮاﺷﻪ‬ ‫روي‬ ‫در‬ ‫ﻣﻮردﻧﻈﺮﺗﺎن‬ ‫ﻓﻴﻮزﻫﺎي‬ ‫و‬ ‫ﻧﻤﻮده‬ ‫ﻗﻔﻞ‬
  • 32. ٣٠ ‫ﺗﺮاﺷﻪ‬ ‫رﻳﺰي‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻛﺮدن‬ ‫ﻓﻌﺎل‬ ‫از‬ ‫ﺑﻌﺪ‬ After Make ‫ﻗﺴﻤﺖ‬ Configure Project ‫ﭘﻨﺠﺮه‬ ١٥ -٣ ‫ﺷﻜﻞ‬ ‫اﻓﺰار‬ ‫ﻧﺮم‬ ‫ﺗﻨﻈﻴﻤﺎت‬ .‫ﻛﻨﻴﺪ‬ ‫ﺗﻨﻈﻴﻢ‬ ‫درﺳﺘﻲ‬ ‫ﺑﻪ‬ ‫ﻧﻴﺰ‬ ‫را‬ ‫آن‬ ‫ﻣﺨﺘﻠﻒ‬ ‫ﻗﺴﻤﺘﻬﺎي‬ ‫ﺑﺎﻳﺪ‬ ‫ﻣﻲﺑﺎﺷﺪ‬ Codevision ‫ﺑﺎ‬ ‫ﺷﻤﺎ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫اوﻟﻴﻦ‬ ‫اﻳﻦ‬ ‫ﻛﻪ‬ ‫آﻧﺠﺎﻳﻲ‬ ‫از‬ ‫ﺑـﻪ‬ ‫ﻣﺮﺑــﻮط‬ ‫ﭘﻮرت‬ ‫آدرس‬ ‫و‬ ‫ﭘﺮوﮔﺮاﻣﺮ‬ ‫ﻧﻮع‬ ‫ﺗﻨﻈﻴﻢ‬ ‫و‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﺳﺎزي‬ ‫ﺷﺒﻴﻪ‬ ‫ﺑﺮاي‬ ،‫آن‬ ‫آدرس‬ ‫و‬ Debugger ‫ﺗﻌﻴﻴﻦ‬ ‫ﺷﺎﻣﻞ‬ ‫ﻻزم‬ ‫ﺗﻨﻈﻴﻤﺎت‬ .‫ﻣﻲﺑﺎﺷﺪ‬ ‫آن‬ ‫در‬ (١٦-٣ ‫ﺷﺪه)ﺷﻜﻞ‬ ‫ﺑﺎز‬ ‫ﭘﻨﺠﺮة‬ ‫در‬ .‫ﻛﻨﻴﺪ‬ ‫اﻧﺘﺨﺎب‬ ‫را‬ Debugger ‫ﮔﺰﻳﻨﻪ‬ ،Settings ‫ﻣﻨﻮي‬ ‫از‬ ‫دﻳﺒﺎﮔﺮ‬ ‫ﺗﻨﻈﻴﻢ‬ ‫ﺑﺮاي‬ ‫ـﺰار‬‫ـ‬‫ﻧﺮماﻓ‬ ‫آدرس‬ Directory and Filename ‫ﻗﺴﻤﺖ‬ ‫در‬ ‫و‬ ‫ﻛﻨﻴﺪ‬ ‫اﻧﺘﺨﺎب‬ ‫را‬ Atmel AVR Studio4 , Debugger ‫ﻗﺴﻤﺖ‬ .‫دﻫﻴﺪ‬ ‫ﻓﺸﺎر‬ ‫را‬ OK ‫دﻛﻤﻪ‬ ‫و‬ ‫ﻛﺮده‬ ‫وارد‬ ‫را‬ ‫ﻧﻤﻮدهاﻳﺪ‬ ‫ﻧﺼﺐ‬ ‫ﹰ‬‫ﻼ‬‫ﻗﺒ‬ ‫ﻛﻪ‬ AVR Studio
  • 33. ٣١ Debugger Settings ‫ﭘﻨﺠﺮه‬ ١٦ -٣ ‫ﺷﻜﻞ‬ (١٧-٣ ‫ﭘﻨﺠـﺮه)ﺷـﻜﻞ‬ ‫اﻳـﻦ‬ ‫در‬ .‫ﻛﻨﻴـﺪ‬ ‫اﻧﺘﺨـﺎب‬ ‫را‬ Programmer ‫ﮔﺰﻳـﻨﻪ‬ ،Settings ‫ـﻮي‬‫ـ‬‫ﻣﻨ‬ ‫از‬ ،‫ﭘﺮوﮔﺮاﻣﺮ‬ ‫ﺗﻨﻈﻴﻢ‬ ‫ﺑﺮاي‬ ‫در‬ .‫ﻧﻤـﺎﻳﻴﺪ‬ ‫ﻣﺸـﺨﺺ‬ ‫را‬ ‫اﺳـﺖ‬ ‫ﺷـﺪه‬ ‫ﻣﺘﺼــﻞ‬ ‫ﻛﺎﻣﭙﻴﻮﺗﺮ‬ ‫ﺑﻪ‬ ‫آن‬ ‫ﻃﺮﻳﻖ‬ ‫از‬ ‫ﭘﺮوﮔﺮاﻣﺮ‬ ‫ﻛﻪ‬ ‫را‬ ‫ﭘﻮرﺗﻲ‬ ‫آدرس‬ ‫و‬ ISP ‫ﭘﺮوﮔﺮاﻣﺮ‬ ‫ﻧﻮع‬ ‫ﻣﻲﺗﻮاﻧﻴﺪ‬ ، Printer Port ‫ﻗﺴـﻤﺖ‬ ‫در‬ ‫و‬ Kanda Systems STK200+/300, AVR Chip Programmer Type ‫ﻗﺴﻤﺖ‬ .‫دﻫﻴﺪ‬ ‫ﻓﺸﺎر‬ ‫را‬ OK ‫دﻛﻤﻪ‬ ‫و‬ ‫ﻛﻨﻴﺪ‬ ‫ﻣﺸﺨﺺ‬ ‫را‬ LPT1:378h, Programmer Settings ‫ﭘﻨﺠﺮه‬ ١٧ -٣ ‫ﺷﻜﻞ‬ ‫اﺟﺮا‬ ‫ﻗﺎﺑﻞ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫اﻳﺠﺎد‬ :‫ﮔﺮدد‬ ‫اﻧﺠﺎم‬ ‫ﺑﺎﻳﺪ‬ ‫زﻳﺮ‬ ‫ﻣﻮارد‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻧﻤﻮدن‬ ‫اﺟﺮا‬ ‫ﻗﺎﺑﻞ‬ ‫ﺑﺮاي‬ .‫اﺳﻤﺒﻠﻲ‬ ‫زﺑﺎن‬ ‫ﺑﻪ‬ ‫اﺻﻠﻲ‬ ‫ﻓﺎﻳﻞ‬ ‫ﺗﻮﻟﻴﺪ‬ ‫و‬ .c ‫ﭘﺴﻮﻧﺪ‬ ‫ﺑﺎ‬ ‫ﭘﺮوژه‬ ‫اﺻﻠﻲ‬ ‫ﻓﺎﻳﻞ‬ ‫ﻛﺮدن‬ ‫ﻛﺎﻣﭙﺎﻳﻞ‬ ‫١ـ‬ . AVRASM32 ‫اﺳﻤﺒﻠﺮ‬ ‫ﻛﻤﻚ‬ ‫ﺑﻪ‬ ‫ﺷﺪه‬ ‫اﻳﺠﺎد‬ ‫اﺳﻤﺒﻠﻲ‬ ‫ﻓﺎﻳﻞ‬ ‫ﻛﺮدن‬ ‫اﺳﻤﺒﻞ‬ ‫٢ـ‬
  • 34. ٣٢ ‫ﻳـﺎ‬ ‫و‬ ‫داده‬ ‫ـﺎر‬‫ـ‬‫ﻓﺸ‬ ‫را‬ F9 ‫ﻛﻠﻴﺪ‬ ،‫ﻧﻤﻮده‬ ‫اﻧﺘﺨﺎب‬ ‫را‬ Compile File ‫ﮔﺰﻳﻨﻪ‬ Project ‫ﻣﻨﻮي‬ ‫از‬ ‫ﻣﻲﺗﻮاﻧﻴﺪ‬ ١ ‫ﻣﻮرد‬ ‫اﻧﺠﺎم‬ ‫ﺑﺮاي‬ ‫ﻛـﻪ‬ Information ‫ﭘﻨﺠـﺮه‬ ‫و‬ ‫ﺷــﻮد‬ ‫ﻣﻲ‬ ‫ﺗﻮﻟﻴﺪ‬ .asm ‫ﭘﺴﻮﻧﺪ‬ ‫ﺑﺎ‬ ‫ازﻛﺎﻣﭙﺎﻳﻞ،ﻓﺎﻳﻠﻲ‬ ‫ﺑﻌﺪ‬ .‫دﻫﻴﺪ‬ ‫ﻓﺸﺎر‬ ‫را‬ ‫اﺑﺰار‬ ‫ﻧﻮار‬ ‫در‬ Compile ‫دﻛﻤﺔ‬ (١٨-٣ ‫)ﺷﻜﻞ‬ .‫ﺷﻮد‬ ‫ﻣﻲ‬ ‫ﻇﺎﻫﺮ‬ ‫دﻫﺪ‬ ‫ﻣﻲ‬ ‫ﻧﺸﺎن‬ ‫را‬ ‫ﻛﺎﻣﭙﺎﻳﻞ‬ ‫ﻧﺘﺎﻳﺞ‬ ‫ﻛﺎﻣﭙﺎﻳﻞ‬ ‫از‬ ‫ﺣﺎﺻﻞ‬ ‫ﻧﺘﺎﻳﺞ‬ ‫ﺣﺎوي‬ Information ‫ﭘﻨﺠﺮه‬ ١٨ -٣ ‫ﺷﻜﻞ‬ ،‫ﻧﻤﻮده‬ ‫اﻧﺘﺨﺎب‬ ‫را‬ Make File ‫ﮔﺰﻳﻨﻪ‬ ، Project ‫ﻣﻨﻮي‬ ‫از‬ ‫ﺑﺎﻳﺪ‬ ‫دﻫﻴﻢ‬ ‫اﻧﺠﺎم‬ ‫را‬ ٢ ‫و‬ ١ ‫ﻣﻮارد‬ ‫ﺑﺨﻮاﻫﻴﻢ‬ ‫ﻛﻪ‬ ‫ﺻﻮرﺗﻲ‬ ‫در‬ ‫ﻣﻲﺷﻮد‬ ‫ﺑﺎز‬ Information ‫ﭘﻨﺠﺮه‬ ‫ﻣﺮﺣﻠﻪ‬ ‫اﻳﻦ‬ ‫اﺗﻤﺎم‬ ‫از‬ ‫ﭘﺲ‬ .‫دﻫﻴﺪ‬ ‫ﻓﺸﺎر‬ ‫را‬ ‫اﺑﺰار‬ ‫ﻧﻮار‬ ‫در‬ Make ‫دﻛﻤﺔ‬ ‫ﻳﺎ‬ ‫و‬ ‫داده‬ ‫ﻓﺸﺎر‬ ‫را‬ F9 ‫ﻛﻠﻴﺪ‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﻴﺰان‬ ‫و‬ ‫ﻛﺎﻣﭙﺎﻳﻠﺮ‬ ‫ﺑﻪ‬ ‫ﻣﺮﺑﻮط‬ ‫ﺗﻨﻈﻴﻤﺎت‬ ،(١٩-٣ ‫)ﺷﻜﻞ‬ Compile ‫ﻗﺴﻤﺖ‬ ‫در‬ .‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﺗﺸﻜﻴﻞ‬ ‫ﻗﺴﻤﺖ‬ ‫ﺳﻪ‬ ‫از‬ ‫ﺑﺎر‬ ‫اﻳﻦ‬ ‫ﻛﻪ‬ ‫ﻛﺪﻫﺎ‬ ‫ﺣﺎﻓﻈﻪ‬ ‫ﻣﻴﺰان‬ ‫و‬ ‫ﺷﺪه‬ ‫اﻳﺠﺎد‬ ‫ﻓﺎﻳﻠﻬﺎي‬ (٢٠-٣ ‫)ﺷﻜﻞ‬ Assembler ‫ﻗﺴﻤﺖ‬ ‫در‬ .‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﻣﺸﺨﺺ‬ ‫ﺗﺮاﺷﻪ‬ ‫ﺣﺎﻓﻈﻪﻫﺎي‬ ‫از‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﺗﺮاﺷﻪ‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫دﻓﻌﺎت‬ ‫ﺗﻌﺪاد‬ ‫ﻛﻪ‬ ‫ﺷﺪه‬ ‫ﺗﺸﻜﻴﻞ‬ ‫ﺷﻤﺎرﻧﺪه‬ ‫ﻳﻚ‬ ‫از‬ ‫ﺗﻨﻬﺎ‬ (٢١-٣ ‫)ﺷﻜﻞ‬ Programmer ‫ﻗﺴﻤﺖ‬ ‫و‬ ‫ﺷﺪه‬ ‫داده‬ ‫ﻧﺸﺎن‬ .‫ﻧﻤﺎﻳﻴﺪ‬ ‫ﺻﻔﺮ‬ ‫را‬ ‫آن‬ ‫ﻣﻲﺗﻮاﻧﻴﺪ‬ ‫ﻛﻪ‬ ‫ﻣﻲدﻫﺪ‬ ‫ﻧﺸﺎن‬ ‫را‬ ‫ﻣﻮردﻧﻈﺮ‬
  • 35. ٣٣ Compile ‫ﻗﺴﻤﺖ‬ Information ‫ﭘﻨﺠﺮه‬ ١٩ -٣ ‫ﺷﮑﻞ‬
  • 36. ٣٤ Assembler ‫ﻗﺴﻤﺖ‬ Information ‫ﭘﻨﺠﺮه‬ ٢٠ -٣ ‫ﺷﻜﻞ‬
  • 37. ٣٥ Programmer ‫ﻗﺴﻤﺖ‬ Information ‫ﭘﻨﺠﺮه‬ ٢١ -٣ ‫ﺷﻜﻞ‬ ،‫ﺑﺎﺷـﻨﺪ‬ ‫وﺻـﻞ‬ ‫ﻫـﻢ‬ ‫آن‬ ‫ﺗﻐـﺬﻳﻪ‬ ‫ﻣﻨﺒــﻊ‬ ‫و‬ ISP ‫ﻛﺎﺑﻞ‬ ،‫ﺑﺎﺷﺪ‬ ‫ﺷﺪه‬ ‫اﺳﻤﺒﻞ‬ ‫و‬ ‫ﻛﺎﻣﭙﺎﻳﻞ‬ ‫ﺧﻄﺎ‬ ‫اﻳﺠﺎد‬ ‫ﺑﺪون‬ ‫ﭘﺮوژه‬ ‫ﻛﻪ‬ ‫ﺻﻮرﺗﻲ‬ ‫در‬ ‫ﺗﺮاﺷـﻪ‬ ‫ﻫـﺎي‬ ‫ﺣﺎﻓﻈـﻪ‬ ‫اﺑﺘــﺪا‬ .‫آﻏﺎزﻣﻲﮔﺮدد‬ ‫ﺳﺮﻋﺖ‬ ‫ﺑﻪ‬ ‫ﺗﺮاﺷﻪ‬ ‫ﺑﺮﻧﺎﻣﻪرﻳﺰي‬ ‫ﻛﺎر‬ ‫اﻳﻦ‬ ‫اﻧﺠﺎم‬ ‫ﺑﺎ‬ .‫دﻫﻴﺪ‬ ‫ﻓﺸﺎر‬ ‫را‬ Program ‫دﻛﻤﻪ‬ ‫ﻣﻲﺗﻮاﻧﻴﺪ‬ (٢٢-٣ ‫ﺷﻮد.)ﺷﻜﻞ‬ ‫ﻣﻲ‬ ‫رﻳﺰي‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﺗﺮاﺷﻪ‬ ‫رﻳﺰي‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫زﻣﺎن‬ ‫در‬ Flash Programming ‫ﭘﻨﺠﺮه‬ ٢٢ -٣ ‫ﺷﻜﻞ‬ (٢٣-٣ ‫ﮔﺮدد.)ﺷﻜﻞ‬ ‫ﻣﻲ‬ ‫ﺑﺮرﺳﻲ‬ ‫ﺷﺪه‬ ‫ﻧﻮﺷﺘﻪ‬ ‫اﻃﻼﻋﺎت‬ ‫ﺻﺤﺖ‬ ‫وﺳﭙﺲ‬
  • 38. ٣٦ ‫ﺷﺪه‬ ‫ﻧﻮﺷﺘﻪ‬ ‫ﻛﺪﻫﺎي‬ ‫ﺻﺤﺖ‬ ‫از‬ ‫اﻃﻤﻴﻨﺎن‬ ‫ﺑﺮاي‬ Verify ‫ﭘﻨﺠﺮه‬ ٢٣ -٣ ‫ﺷﻜﻞ‬ .‫ﺷﻮد‬ ‫ﻣﻲ‬ ‫ﺷﺮوع‬ ‫آن‬ ‫از‬ ‫ﺑﻌﺪ‬ ‫ﺑﻼﻓﺎﺻﻠﻪ‬ ‫ﻧﻴﺰ‬ ‫ﺗﺮاﺷﻪ‬ ‫در‬ ‫ﻛﺪﻫﺎ‬ ‫اﺟﺮاي‬ ‫و‬ ‫از‬ ‫ﺷــﻮﻳﻢ‬ ‫ﻣﻄﻤﺌﻦ‬ ‫آن‬ ‫ﻋﻤﻠﻜﺮد‬ ‫ازﺻﺤﺖ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﺳﺎزي‬ ‫ﺷﺒﻴﻪ‬ ‫ﻛﻤﻚ‬ ‫ﺑﻪ‬ ‫ﺗﺮاﺷﻪ‬ ‫رﻳﺰي‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫از‬ ‫ﻗﺒﻞ‬ ‫ﺗﺎ‬ ‫ﺑﺨﻮاﻫﻴﻢ‬ ‫ﻛﻪ‬ ‫ﺻﻮرﺗﻲ‬ ‫در‬ ‫ﻳـﻚ‬ Codevision ‫ﺑﺮﻧﺎﻣـﻪ‬ ‫ﻛـﺮدن‬ ‫ـﻤﺒﻞ‬‫ـ‬‫واﺳ‬ ‫ﻛﺎﻣﭙﺎﻳﻞ‬ ‫اﻋﻤﺎل‬ ‫اﻧﺠﺎم‬ ‫از‬ ‫ﭘﺲ‬ ‫ﺣﻘﻴﻘﺖ‬ ‫ﻛﻨﻴﻢ.در‬ ‫ﻣﻲ‬ ‫اﺳﺘﻔﺎده‬ AVRStudio ‫اﻓﺰار‬ ‫ﻧﺮم‬ ‫ﻓـﺎﻳﻞ‬ ‫اﻳـﻦ‬ ‫از‬ ‫اﺳـﺘﻔﺎده‬ ‫ﺑـﺎ‬ ‫آن‬ ‫از‬ ‫ﺑﻌـﺪ‬ ‫ـﺎي‬‫ـ‬‫ﻫ‬ ‫ﻧﺴﺨﻪ‬ ‫ﻳﺎ‬ AVRStudio 4.06 ‫ﻛﻨﺪ.ﻧﺴﺨﻪ‬ ‫ﻣﻲ‬ ‫ﺗﻮﻟﻴﺪ‬ COFF ‫ﭘﺴﻮﻧﺪ‬ ‫ﺑﺎ‬ object ‫ﻓﺎﻳﻞ‬ .‫آورﻧﺪ‬ ‫ﻣﻲ‬ ‫ﻓﺮاﻫﻢ‬ ‫ﻣﺎ‬ ‫ﺑﺮاي‬ ‫را‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﺳﺎزي‬ ‫ﺷﺒﻴﻪ‬ ‫اﻣﻜﺎن‬ Run the ‫دﻛﻤـﻪ‬ ‫اﺑـﺰار‬ ‫ﻧـﻮار‬ ‫در‬ ‫ﻳـﺎ‬ ‫و‬ ‫ﻛﻨﻴـﺪ‬ ‫اﻧﺘﺨــﺎب‬ ‫را‬ Debbugger , Tools ‫ﻣﻨﻮي‬ ‫در‬ ‫اﻓﺰار‬ ‫ﻧﺮم‬ ‫اﻳﻦ‬ ‫اﺟﺮاي‬ ‫ﺑﺮاي‬ .‫دﻫﻴﺪ‬ ‫ﻓﺸﺎر‬ ‫را‬ debbugger AVRStudio ‫اﻓﺰار‬ ‫ﻧﺮم‬ ٢٤ -٣ ‫ﺷﮑﻞ‬ .‫ﺷﻮد‬ ‫ﻣﻲ‬ ‫ﺑﺎز‬ ‫زﻳﺮ‬ (٢٥-٣)‫ﺷﻜﻞ‬ ‫ﻣﻄﺎﺑﻖ‬ Welcome to AVR Studio 4 ‫ﭘﻨﺠﺮه‬ , AVRStudio ‫اﻓﺰار‬ ‫ﻧﺮم‬ ‫اﺟﺮاي‬ ‫ﺑﺎ‬
  • 39. ٣٧ object ‫ﻓﺎﻳﻞ‬ ‫ﻛﺮدن‬ ‫ﺑﺎز‬ ‫ﺑﺮاي‬ Welcom toAVR Studio 4 ‫ﭘﻨﺠﺮه‬ ٢٥ -٣ ‫ﺷﻜﻞ‬ (٢٦-٣ ‫ﺷﻮد.)ﺷﻜﻞ‬ ‫ﻣﻲ‬ ‫ﺑﺎز‬ ‫دﻳﮕﺮي‬ ‫ﭘﻨﺠﺮه‬ ‫ﻛﺎر‬ ‫اﻳﻦ‬ ‫اﻧﺠﺎم‬ ‫ﻧﻤﺎﻳﻴﺪ.ﺑﺎ‬ ‫ﻛﻠﻴﻚ‬ Open ‫دﻛﻤﻪ‬ ‫روي‬ ‫ﺑﺮ‬ ‫ﭘﻨﺠﺮه‬ ‫اﻳﻦ‬ ‫در‬ Open ObjectFile ‫ﭘﻨﺠﺮه‬ ٢٦ -٣ ‫ﺷﻜﻞ‬ ‫ﻓـﺎﻳﻞ‬ ‫اوﻟﻴﻦ‬ ‫روي‬ ‫ﺗﺎ‬ ‫اﺳﺖ‬ ‫ﻛﺎﻓﻲ‬ ‫ﻧﻤﺎﻳﻴﺪ.ﺑﻨﺎﺑﺮاﻳﻦ‬ ‫ﺑﺎز‬ ‫را‬ ‫ﺷﺪ‬ ‫اﺷﺎره‬ ‫آن‬ ‫ﺑﻪ‬ ‫ﻛﻪ‬ COFF ‫ﭘﺴﻮﻧﺪ‬ ‫ﺑﺎ‬ ‫ﻓﺎﻳﻞ‬ ‫ﻗﺴﻤﺖ‬ ‫اﻳﻦ‬ ‫در‬ ‫ﺑﺎﻳﺪ‬ ‫ﺷﻤﺎ‬ .‫ﻛﻨﻴﺪ‬ ‫ﻛﻠﻴﻚ‬ .‫ﻛﻨﻴﻢ‬ ‫اﻧﺘﺨﺎب‬ ‫را‬ ‫ﺗﺮاﺷﻪ‬ ‫ﻧﻮع‬ ‫و‬ ‫ﺳﺎزي‬ ‫ﺷﺒﻴﻪ‬ ‫روش‬ ‫ﻛﻪ‬ ‫اﺳﺖ‬ ‫آن‬ ‫وﻗﺖ‬ ‫ﺣﺎﻻ‬ COFF ‫ﻓﺎﻳﻞ‬ ‫اﻧﺘﺨﺎب‬ ‫از‬ ‫ﭘﺲ‬
  • 40. ٣٨ ‫ﺗﺮاﺷﻪ‬ ‫ﻧﻮع‬ ‫و‬ ‫ﺳﺎزي‬ ‫ﺷﺒﻴﻪ‬ ‫روش‬ ‫اﻧﺘﺨﺎب‬ ‫ﺑﺮاي‬ Welcom to AVR Studio 4 ‫ﭘﻨﺠﺮه‬ ٢٧ -٣ ‫ﺷﻜﻞ‬ ‫را‬ Atmega32 , Device ‫ـﻤﺖ‬‫ـ‬‫ﻗﺴ‬ ‫در‬ ‫و‬ AVR Simulator , Debug Platform ‫ﻗﺴـﻤﺖ‬ (٢٧-٣ ‫در)ﺷـﻜﻞ‬ .‫دﻫﻴﺪ‬ ‫ﻓﺸﺎر‬ ‫را‬ Finish ‫دﻛﻤﻪ‬ ‫و‬ (٢٨-٣ ‫ﻧﻤﻮده)ﺷﻜﻞ‬ ‫اﻧﺘﺨﺎب‬ ‫ﺗﺮاﺷﻪ‬ ‫ﻧﻮع‬ ‫و‬ ‫ﺳﺎزي‬ ‫ﺷﺒﻴﻪ‬ ‫روش‬ ‫اﻧﺘﺨﺎب‬ ‫از‬ ‫ﺑﻌﺪ‬ Welcom to AVR Studio 4 ‫ﭘﻨﺠﺮه‬ ٢٨ -٣ ‫ﺷﮑﻞ‬
  • 41. ٣٩ ‫ﺷﻮد.)ﺷﻜﻞ‬ ‫ﻣﻲ‬ ‫آﻣﺎده‬ ‫ﺳﺎزي‬ ‫ﺷﺒﻴﻪ‬ ‫ﻋﻤﻞ‬ ‫اﻧﺠﺎم‬ ‫ﺑﺮاي‬ ‫و‬ ‫ﻛﻨﺪ‬ ‫ﻣﻲ‬ ‫ﺑﺎز‬ ‫را‬ COFF ‫ﻓﺎﻳﻞ‬ , AVRStudio ‫ﻣﺮﺣﻠﻪ‬ ‫اﻳﻦ‬ ‫ددر‬ (٢٩-٣ object ‫ﻓﺎﻳﻞ‬ ‫ﻛﺮدن‬ ‫ﺑﺎز‬ ‫از‬ ‫ﺑﻌﺪ‬ AVRStudio ‫اﻓﺰار‬ ‫ﻧﺮم‬ ‫ﻣﺤﻴﻂ‬ ٢٩ -٣ ‫ﺷﻜﻞ‬ ‫رﺟﻴﺴـﺘﺮﻫﺎي‬ ‫ﻣﺸـﺎﻫﺪه‬ ‫و‬ ‫ﺑﺮﻧﺎﻣــﻪ‬ ‫ﻧﻈﺮ‬ ‫ﻣﻮرد‬ ‫ﻗﺴﻤﺘﻬﺎي‬ ‫در‬ (Break Points) ‫ﺷﻜﺴﺖ‬ ‫ﻧﻘﺎط‬ ‫دادن‬ ‫ﻗﺮار‬ ‫ﺑﺎ‬ ‫ﺗﻮاﻧﻴﺪ‬ ‫ﻣﻲ‬ ‫ﺣﺎﻻ‬ ‫واﮔﺰار‬ ‫ﺷـﻤﺎ‬ ‫ﺑـﻪ‬ ‫را‬ ‫ـﺎر‬‫ـ‬‫ﻛ‬ ‫اﻳﻦ‬ ‫ﺳﺎدﮔﻲ‬ ‫دﻟﻴﻞ‬ ‫ﺑﻪ‬ ‫ﻛﻪ‬ ‫ﺷﻮﻳﺪ‬ ‫ﻣﻄﻤﺌﻦ‬ ‫ﺧﻮد‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﺻﺤﺖ‬ ‫از‬ ‫آﻧﻬﺎ‬ ‫ﺗﻐﻴﻴﺮ‬ ‫و‬ Workspace ‫ﭘﻨﺠﺮه‬ ‫در‬ ‫ﻣﺨﺘﻠﻒ‬ .‫ﻛﻨﻴﻢ‬ ‫ﻣﻲ‬
  • 42. ٤٠ ‫ﭼﻬﺎرم‬ ‫ﻓﺼﻞ‬ CodewizardAVR ‫ﺑﺎ‬ ‫آﺷﻨﺎﻳﻲ‬ .‫ﺑﺮﺳـﺪ‬ ‫ﻧﻈـﺮ‬ ‫ﺑــﻪ‬ ‫ﻣﺸﻜﻠﻲ‬ ‫ﺑﺴﻴﺎر‬ ‫ﻛﺎر‬ ‫اﺳﺖ‬ ‫ﻣﻤﻜﻦ‬ ‫آﻧﻬﺎ‬ ‫ﺑﻪ‬ ‫ﻣﺮﺑﻮط‬ ‫ﺗﻨﻈﻴﻤﺎت‬ ،AVR ‫ﺟﺎﻧﺒﻲ‬ ‫وﺳﺎﻳﻞ‬ ‫و‬ ‫اﻣﻜﺎﻧﺎت‬ ‫ﺗﻨﻮع‬ ‫دﻟﻴﻞ‬ ‫ﺑﻪ‬ ‫ـﻲ‬‫ـ‬‫ﮔﺮاﻓﻴﻜ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫را‬ ‫ﻣﺨﺘﻠﻒ‬ ‫ﻗﺴﻤﺘﻬﺎي‬ ‫اوﻟﻴﻪ‬ ‫ﺗﻨﻈﻴﻤﺎت‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫اﺑﺘﺪاي‬ ‫در‬ ‫ﺗﺎ‬ ‫دﻫﺪ‬ ‫ﻣﻲ‬ ‫ﻣﺎ‬ ‫ﺑﻪ‬ ‫را‬ ‫اﻣﻜﺎن‬ ‫اﻳﻦ‬ Codewizard ‫اﻓﺰار‬ ‫ﻧﺮم‬ ‫ﺻﺮﻓـﻪ‬ ‫ـﺮ‬‫ـ‬‫ﺑ‬ ‫ﻋﻼوه‬ ‫ﺗﺮﺗﻴﺐ‬ ‫اﻳﻦ‬ ‫ﺑﻪ‬ . ‫ﻛﻨﺪ‬ ‫ﻣﻲ‬ ‫اﻳﺠﺎد‬ ‫ﻣﺎ‬ ‫ﺑﺮاي‬ ‫را‬ ‫ﻣﺮﺑﻮط‬ ‫ﻛﺪﻫﺎي‬ ‫ﻛﺎر‬ ‫ﺧﻮد‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫اﻓﺰار‬ ‫ﻧﺮم‬ ‫اﻳﻦ‬ ،‫آن‬ ‫از‬ ‫ﭘﺲ‬ . ‫دﻫﻴﻢ‬ ‫اﻧﺠﺎم‬ . ‫ﺷﻮد‬ ‫ﻣﻲ‬ ‫ﺗﺮ‬ ‫ﺳﺎده‬ ‫ﻧﻴﺰ‬ ‫ﻫﺎ‬ AVR ‫ﺑﺎ‬ ‫ﻛﺎر‬ ،‫وﻗﺖ‬ ‫در‬ ‫ﺟﻮﻳﻲ‬ ‫اي‬ ‫ﺑﺮﻧﺎﻣـﻪ‬ ‫ﺧﻮاﻫﻴـﻢ‬ ‫ﻣـﻲ‬ . ‫دﻫﻴـﻢ‬ ‫ـﻲ‬‫ـ‬‫ﻣ‬ ‫اداﻣﻪ‬ ‫ﻣﺜﺎل‬ ‫ﻳﻚ‬ ‫ﺑﺎ‬ ‫را‬ ‫ﻛﺎر‬ . ‫ﺷﻮﻳﺪ‬ ‫آﺷﻨﺎ‬ ‫ﺑﻴﺸﺘﺮ‬ ‫اﻓﺰار‬ ‫ﻧﺮم‬ ‫اﻳﻦ‬ ‫ﺑﺎ‬ ‫ﻋﻤﻞ‬ ‫در‬ ‫ﻛﻪ‬ ‫اﻳﻦ‬ ‫ﺑﺮاي‬ (١-٤ ‫ﻧﻤﺎﻳﺪ.)ﺷﻜﻞ‬ ‫ﺗﻨﻈﻴﻢ‬ ‫را‬ B ‫ﭘﻮرت‬ ‫در‬ ‫ﻣﺘﻨﺎﻇﺮ‬ ‫ﻫﺎي‬ LED ‫و‬ ‫ﺧﻮاﻧﺪه‬ ‫را‬ A ‫ﭘﻮرت‬ ‫در‬ ،‫ﻛﻠﻴﺪﻫﺎ‬ ‫ﻣﻮﻗﻌﻴﺖ‬ ‫ﻛﻪ‬ ‫ﺑﻨﻮﻳﺴﻴﻢ‬ ATMega32L 40 39 38 37 36 35 34 33 1 2 3 4 5 6 7 8 PA0(ADC0) PA1(ADC1) PA2(ADC2) PA3(ADC3) PA4(ADC4) PA5(ADC5) PA6(ADC6) PA7(ADC7) PB0(XCK-T0) PB1(T1) PB2(INT2-AIN0) PB3(OC0-AIN1) PB4(SS) PB5(MOSI) PB6(MISO) PB7(SCK) SW DIP-8 1 2 3 4 5 6 7 8 16 15 14 13 12 11 10 9 220 10K +5v B ‫ﭘﻮرت‬ ‫ﺑﻪ‬ LED ‫ﻫﺸﺖ‬ ‫و‬ A ‫ﭘﻮرت‬ ‫ﺑﻪ‬ ‫ﻛﻠﻴﺪ‬ ‫ﻫﺸﺖ‬ ‫اﺗﺼﺎل‬ ‫ﭼﮕﻮﻧﮕﻲ‬ ١ -٤ ‫ﺷﻜﻞ‬
  • 43. ٤١ Create،Project ‫ﭘﻨﺠﺮه‬ ‫در‬ ‫و‬ ‫ﻛﺮده‬ ‫ﻛﻠﻴﻚ‬ ‫را‬ New ‫ﻗﺴﻤﺖ‬ File ‫ﻣﻨﻮي‬ ‫از‬ ‫ﻗﺒﻞ‬ ‫ﻫﻤﺎﻧﻨﺪ‬ ‫ﺟﺪﻳﺪ‬ ‫ﭘﺮوژه‬ ‫ﻳﻚ‬ ‫اﻳﺠﺎد‬ ‫ﺑﺮاي‬ .‫دﻫﻴﺪ‬ ‫ﻓﺸﺎر‬ ‫را‬ OK ‫دﻛﻤﻪ‬ ‫و‬ ‫ﻛﺮده‬ ‫اﻧﺘﺨﺎب‬ ‫را‬ New File Create New File ‫ﭘﻨﺠﺮه‬ ٢ -٤ ‫ﺷﻜﻞ‬ ‫را‬ Yes ‫دﻛﻤـﻪ‬ Cofirm ‫ﭘﻨﺠــﺮه‬ ‫در‬ ،‫دﻫﻴﻢ‬ ‫اﻧﺠﺎم‬ CodewizardAVR ‫ﻛﻤﻚ‬ ‫ﺑﻪ‬ ‫را‬ ‫ﭘﺮوژه‬ ‫ﺗﺎ‬ ‫دارﻳﻢ‬ ‫ﻗﺼﺪ‬ ‫ﻛﻪ‬ ‫آﻧﺠﺎﻳﻲ‬ ‫از‬ .‫ﮔﺮدد‬ ‫اﺟﺮا‬ CodewizardAVR ‫اﻓﺰار‬ ‫ﻧﺮم‬ ‫ﺗﺎ‬ (٤-٣ ‫دﻫﻴﺪ،)ﺷﻜﻞ‬ ‫ﻓﺸﺎر‬ ٣ -٤ ‫ﺷﮑﻞ‬ ‫را‬ (4 MHz) ‫اﺳـﺘﻔﺎده‬ ‫ﻣـﻮرد‬ ‫ﻛﺮﻳﺴــﺘﺎل‬ ‫ﻓﺮﻛﺎﻧﺲ‬ ‫و‬ (Atmega32L) ‫ﺗﺮاﺷﻪ‬ ‫ﻧﻮع‬ ، Chip ‫ﻗﺴﻤﺖ‬ ‫در‬ ‫ﭼﻴﺰ‬ ‫ﻫﺮ‬ ‫از‬ ‫ﻗﺒﻞ‬ (٤-٤ ‫ﻧﻤﺎﻳﻴﺪ.)ﺷﻜﻞ‬ ‫ﺗﻨﻈﻴﻢ‬
  • 44. ٤٢ Chip ‫ﻗﺴﻤﺖ‬ CodewizardAVR ‫ﭘﻨﺠﺮه‬ ٤ -٤ ‫ﺷﻜﻞ‬ ‫را‬ ‫آﻧـﻬﺎ‬ ‫ـﻪ‬‫ـ‬‫اوﻟﻴ‬ ‫ﻣﻘﺪار‬ ‫و‬ ‫ﺧﺮوﺟﻲ‬ _ ‫ورودي‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﭘﻮرﺗﻬﺎ‬ ‫ﺗﻤﺎﻣﻲ‬ ‫اوﻟﻴﻪ‬ ‫وﺿﻌﻴﺖ‬ ،Ports ‫ﻗﺴﻤﺖ‬ ‫ﻛﻤﻚ‬ ‫ﺑﻪ‬ ‫ﺗﻮاﻧﻴﻢ‬ ‫ﻣﻲ‬ ‫ﺣﺎﻻ‬ .‫ﻧﻤﺎﻳﻴﻢ‬ ‫ﺗﻨﻈﻴﻢ‬ . ‫اﻧــﺪ‬ ‫ورودي‬ ‫ﺑﻴﺘﻬﺎ‬ ‫ﺗﻤﺎم‬ ‫ﺑﻴﻨﻴﺪ‬ ‫ﻣﻲ‬ Port A ‫ﻗﺴﻤﺖ‬ ‫در‬ ‫ﻛﻪ‬ ‫ﻃﻮر‬ ‫ﻫﻤﺎن‬ . ‫آورﻳﻢ‬ ‫در‬ ‫ورودي‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫را‬ A ‫ﭘﻮرت‬ ‫ﺑﺎﻳﺪ‬ ‫اﺑﺘﺪا‬ ‫(ﺗﺒﺪﻳﻞ‬Pull up) P ‫ﺣﺮف‬ ‫ﺑﻪ‬ ‫ﺗﺎ‬ ،‫ﻛﻨﻴﺪ‬ ‫ﻛﻠﻴﻚ‬ ‫آﻧﻬﺎ‬ ‫روي‬ ‫ﺑﺮ‬ ‫ﺑﺎﻳﺪ‬ (٥-٤ ‫اﺳﺖ.)ﺷﻜﻞ‬ ‫ﺷﺪه‬ ‫ﻧﻮﺷﺘﻪ‬ T ‫ﺣﺮف‬ ‫ﺑﻴﺘﻬﺎ‬ ‫از‬ ‫ﻳﻚ‬ ‫ﻫﺮ‬ ‫ﺟﻠﻮي‬ ‫در‬ (٦-٤ ‫ﺷﻮﻧﺪ.)ﺷﻜﻞ‬
  • 45. ٤٣ ‫ﻓﺮض‬ ‫ﭘﻴﺶ‬ ‫ﺣﺎﻟﺖ‬ ‫در‬ A ‫ﭘﻮرت‬ ،Codewizard ‫ﭘﻨﺠﺮه‬ ٥-٤ ‫ﺷﻜﻞ‬
  • 46. ٤٤ ‫ﺗﻨﻈﻴﻢ‬ ‫از‬ ‫ﺑﻌﺪ‬ A ‫ﭘﻮرت‬ ،Codewizard ‫ﭘﻨﺠﺮه‬ ٦ -٤ ‫ﺷﻜﻞ‬ ‫ﻫـﺮ‬ ‫ﻣﻘــﺎﺑﻞ‬ ‫در‬ ،In ‫ﺣﺮف‬ ‫روي‬ ‫ﺑﺮ‬ ‫ﻛﻠﻴﻚ‬ ‫و‬ Port B ‫ﻗﺴﻤﺖ‬ ‫اﻧﺘﺨﺎب‬ ‫ﺑﺎ‬ . ‫درآورﻳﻢ‬ ‫ﺧﺮوﺟﻲ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫را‬ B ‫ﭘﻮرت‬ ‫ﺑﺎﻳﺪ‬ ‫ﺣﺎﻻ‬ (٧-٤ ‫ﻛﻨﻴﺪ.)ﺷﻜﻞ‬ ‫ﺗﻨﻈﻴﻢ‬ 1 ‫و‬ 0 ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫را‬ ‫ﭘﻮرت‬ ‫اوﻟﻴﻪ‬ ‫ﻣﻘﺪار‬ ‫ﺗﻮاﻧﻴﺪ‬ ‫ﻣﻲ‬ ‫ﺿﻤﻨﺎ‬ . ‫ﺷﻮد‬ ‫ﻣﻲ‬ ‫ﺗﺒﺪﻳﻞ‬ Out ‫ﺑﻪ‬ ‫ﻋﺒﺎرت‬ ‫اﻳﻦ‬ ‫ﺑﻴﺘﻬﺎ‬ ‫از‬ ‫ﻳﻚ‬
  • 47. ٤٥ B ‫ﭘﻮرت‬ ‫ﺗﻨﻈﻴﻤﺎت‬ ،Codewizard ‫ﭘﻨﺠﺮه‬ ٧ -٤ ‫ﺷﮑﻞ‬ ‫ﻗﺴـﻤﺖ‬ File ‫ـﻮي‬‫ـ‬‫ﻣﻨ‬ ‫از‬ ‫ﻛﺎر‬ ‫اﻳﻦ‬ ‫ﺑﺮاي‬ . ‫ﺷﻮﻧﺪ‬ ‫ﺗﻮﻟﻴﺪ‬ ‫ﻣﺮﺑﻮﻃﻪ‬ ‫ﻛﺪﻫﺎي‬ ‫ﺑﺎﻳﺪ‬ ‫و‬ ‫اﺳﺖ‬ ‫رﺳﻴﺪه‬ ‫ﭘﺎﻳﺎن‬ ‫ﺑﻪ‬ ‫اوﻟﻴﻪ‬ ‫ﺗﻨﻈﻴﻤﺎت‬ ‫اﻳﻨﺠﺎ‬ ‫در‬ (٨-٤ ‫ﻛﻨﻴﺪ.)ﺷﻜﻞ‬ ‫ﻣﻲ‬ ‫اﻧﺘﺨﺎب‬ ‫را‬ Generate , Save and Exit CodewizardAVR ‫ﺑﺮﻧﺎﻣﻪ‬ ‫در‬ File ‫ﻣﻨﻮي‬ ٨ -٤ ‫ﺷﻜﻞ‬ ‫ذﺧﻴﺮه‬ ‫را‬ ‫آن‬ ‫و‬ ‫ﻛﺮده‬ ‫ﮔﺬاري‬ ‫ﻧﺎم‬ ‫را‬ ‫ﺧﻮد‬ ‫ﭘﺮوژه‬ ‫اﺻﻠﻲ‬ ‫ﻓﺎﻳﻞ‬ ‫ﺗﺎ‬ ‫ﺧﻮاﻫﺪ‬ ‫ﻣﻲ‬ ‫ﺷﻤﺎ‬ ‫از‬ ‫و‬ ‫ﺷﻮد‬ ‫ﻣﻲ‬ ‫ﺑﺎز‬ ‫اي‬ ‫ﭘﻨﺠﺮه‬ ‫ﻋﻤﻞ‬ ‫اﻳﻦ‬ ‫اﻧﺠﺎم‬ ‫ﺑﺎ‬ (٩-٤ ‫دﻫﻴﺪ.)ﺷﻜﻞ‬ ‫ﻓﺸﺎر‬ ‫را‬ Save ‫دﻛﻤﻪ‬ ‫ﻛﻨﻴﺪ‬ ‫اﻧﺘﺨﺎب‬ io ‫را‬ ‫آن‬ ‫ﻧﺎم‬ . ‫ﻛﻨﻴﺪ‬
  • 48. ٤٦ C ‫زﺑﺎن‬ ‫ﺑﻪ‬ ‫ﭘﺮوژه‬ ‫اﺻﻠﻲ‬ ‫ﻓﺎﻳﻞ‬ ‫ﻛﺮدن‬ ‫ذﺧﻴﺮه‬ ٩ -٤ ‫ﺷﻜﻞ‬ ‫را‬ Save ‫دﻛﻤـﻪ‬ ‫و‬ ‫ﻛﻨﻴـﺪ‬ ‫ـﺨﺎب‬‫ـ‬‫اﻧﺘ‬ io ‫ﻫﻢ‬ ‫را‬ ‫آن‬ ‫ﻧﺎم‬ ‫ﻛﺮد‬ ‫ﺧﻮاﻫﺪ‬ ‫ذﺧﻴﺮه‬ ‫را‬ ‫ﭘﺮوژه‬ ‫ﻓﺎﻳﻞ‬ ‫ﻛﻪ‬ ‫ﺷﻮد‬ ‫ﻣﻲ‬ ‫ﺑﺎز‬ ‫دﻳﮕﺮي‬ ‫ﭘﻨﺠﺮه‬ ‫ﺣﺎﻻ‬ (١٠-٤ ‫دﻫﻴﺪ)ﺷﻜﻞ‬ ‫ﻓﺸﺎر‬ ‫ﭘﺮوژه‬ ‫ﻓﺎﻳﻞ‬ ‫ﻛﺮدن‬ ‫ذﺧﻴﺮه‬ ١٠ -٤ ‫ﺷﻜﻞ‬ ‫ذﺧﻴﺮه‬ ‫را‬ ‫آن‬ ‫و‬ ‫دﻫﻴﺪ‬ ‫ﻗﺮار‬ io ‫ﻧﻴﺰ‬ ‫را‬ ‫آن‬ ‫ﻧﺎم‬ .‫ﻛﻨﺪ‬ ‫ﻣﻲ‬ ‫ذﺧﻴﺮه‬ ‫را‬ CodewizardAVR ‫ﺑﻪ‬ ‫ﻣﺮﺑﻮط‬ ‫ﭘﺮوژه‬ ‫ﻓﺎﻳﻞ‬ ‫ﺑﻌﺪي‬ ‫ﭘﻨﺠﺮه‬ (١١-٤ ‫ﻛﻨﻴﺪ.)ﺷﻜﻞ‬
  • 49. ٤٧ CodewizardAVR ‫ﺑﻪ‬ ‫ﻣﺮﺑﻮط‬ ‫ﭘﺮوژه‬ ‫ﻓﺎﻳﻞ‬ ‫ﻛﺮدن‬ ‫١١ذﺧﻴﺮه‬ -٤ ‫ﺷﻜﻞ‬ ‫آن‬ ‫و‬ ‫دﻫــﺪ‬ ‫ﻣﻲ‬ ‫ﻗﺮار‬ ‫ﭘﺮوژه‬ ‫اﺻﻠﻲ‬ ‫ﻓﺎﻳﻞ‬ ‫در‬ ‫را‬ ‫آﻧﻬﺎ‬ ‫و‬ ‫ﻛﺮده‬ ‫ﺗﻮﻟﻴﺪ‬ ‫را‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻛﺪﻫﺎي‬ CodewizardAVR ‫ﻛﺎر‬ ‫اﻳﻦ‬ ‫اﻧﺠﺎم‬ ‫ﺑﺎ‬ .‫ﻧﻤﺎﻳﺪ‬ ‫ﻣﻲ‬ ‫ﺑﺎز‬ ‫را‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻓﻬﻢ‬ ‫ﺷﺪن‬ ‫ﺗﺮ‬ ‫ﺳﺎده‬ ‫ﺑﺎﻋﺚ‬ ‫ﻛﻪ‬ ‫اﻧﺪ‬ ‫ﺷﺪه‬ ‫اﺿﺎﻓﻪ‬ ‫ﻫﻢ‬ ‫ﺗﻮﺿﻴﺤﺎﺗﻲ‬ ‫ﻗﺴﻤﺖ‬ ‫ﻫﺮ‬ ‫در‬ ،‫ﻛﺪﻫﺎ‬ ‫ﺑﺮ‬ ‫ﻋﻼوه‬ ‫ﺑﻴﻨﻴﺪ‬ ‫ﻣﻲ‬ ‫ﻛﻪ‬ ‫ﻃﻮر‬ ‫ﻫﻤﺎن‬ ‫ﺑﺮﻧﺎﻣــﻪ‬ ‫اﻳﻦ‬ ‫ﻛﻪ‬ ‫آﻧﺠﺎﻳﻲ‬ ‫از‬ . ‫ﻛﻨﻴﺪ‬ ‫اﺿﺎﻓﻪ‬ //Place your code here ‫ﻗﺴﻤﺖ‬ ‫از‬ ‫ﺑﻌﺪ‬ ‫را‬ ‫ﺧﻮد‬ ‫ﻛﺪﻫﺎي‬ ‫ﺗﺎ‬ ‫اﺳﺖ‬ ‫ﻛﺎﻓﻲ‬ ‫ﺣﺎﻻ‬ . ‫ﺷﻮﻧﺪ‬ ‫ﻣﻲ‬ . ‫ﻧﻤﺎﻳﻴﺪ‬ ‫اﺿﺎﻓﻪ‬ ‫را‬ ‫زﻳﺮ‬ ‫دﺳﺘﻮر‬ ‫ﻗﺴﻤﺖ‬ ‫اﻳﻦ‬ ‫در‬ ‫ﺗﺎ‬ ‫اﺳﺖ‬ ‫ﻛﺎﻓﻲ‬ ‫اﺳﺖ‬ ‫ﺳﺎده‬ PORTB = PINA; .‫ﺑﺒﻴﻨﻴﺪ‬ ‫را‬ ‫ﻧﺘﻴﺠﻪ‬ ‫و‬ ‫ﻛﻨﻴﺪ‬ ‫ﭘﺮوﮔﺮام‬ ‫را‬ ‫ﺗﺮاﺷﻪ‬ ‫و‬ ‫ﻧﻤﻮده‬ ‫ﻛﺎﻣﭙﺎﻳﻞ‬ ‫و‬ ‫ذﺧﻴﺮه‬ ‫را‬ ‫ﻓﺎﻳﻞ‬ ‫ﺣﺎﻻ‬
  • 50. ٤٨ PWM ‫ﻣـﻮج‬ ‫اﻳـﻦ‬ ‫ﭘـﻬﻨﺎي‬ . ‫ﻛﻨﻴـﻢ‬ ‫ﺗﻮﻟﻴــﺪ‬ PWM ‫ﻣﻮج‬ ‫ﻳﻚ‬ Fast mode PWM ‫ﻣﺪ‬ ‫در‬ ‫ﺻﻔﺮ‬ ‫ﺗﺎﻳﻤﺮ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ ‫ﺧﻮاﻫﻴﻢ‬ ‫ﻣﻲ‬ ‫دو‬ ‫ﻫﺮ‬ ‫ﺑﻴﻦ‬ ‫ﺛﺎﻧﻴﻪ‬ ‫ﻣﻴﻠﻲ‬ ٢٠ ‫ﺗﺎﺧﻴﺮ‬ ‫ﺑﺎ‬ ٠ ‫ﺗﺎ‬ ١٠٠ ‫از‬ ‫و‬ ١٠٠ ‫ﺗﺎ‬ ٠ ‫از‬ ‫ﻣﺘﻨﺎوب‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﻣﻮﺛﺮ‬ ‫ﻗﺴﻤﺖ‬ ‫ﻃﻮل‬ ‫ﺗﺎ‬ ‫ﺧﻮاﻫﻴﻢ‬ ‫ﻣﻲ‬ ‫ﻣﺎ‬ ‫و‬ ‫اﺳﺖ‬ ٢٥٥ ‫و‬ ‫ﺷـﻮد‬ ‫ـﻲ‬‫ـ‬‫ﻣ‬ ‫زﻳﺎد‬ ‫و‬ ‫ﻛﻢ‬ ‫ﺗﺪرﻳﺠﻲ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫آن‬ ‫ﻧﻮر‬ ‫ﺑﺪﻫﻴﻢ‬ LED ‫ﻳﻚ‬ ‫ﺑﻪ‬ ‫را‬ PWM ‫ﻣﻮج‬ ‫اﮔﺮ‬ ‫ﺻﻮرت‬ ‫اﻳﻦ‬ ‫در‬ .‫ﻛﻨﺪ‬ ‫ﺗﻐﻴﻴﺮ‬ ‫ﻣﺘﻮاﻟﻲ‬ ‫ﻋﺪد‬ ‫ﺗﻨﻈﻴـﻢ‬ ‫از‬ ‫ﭘــﺲ‬ ‫ﻛﻨﻴﺪ‬ ‫اﺟﺮا‬ ‫را‬ CodewizardAVR ‫اﻓﺰار‬ ‫ﻧﺮم‬ ‫و‬ ‫ﻛﺮده‬ ‫اﻳﺠﺎد‬ ‫ﭘﺮوژه‬ ‫ﻳﻚ‬ ‫ﻗﺒﻞ‬ ‫ﻣﺜﺎل‬ ‫ﻫﻤﺎﻧﻨﺪ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫اﻳﻦ‬ ‫ﻧﻮﺷﺘﻦ‬ ‫ﺑﺮاي‬ ‫در‬ ‫ﺧﺮوﺟــﻲ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫را‬ B ‫ﭘﻮرت‬ ‫از‬ ‫ﭼﻬﺎرم‬ ‫ﺑﻴﺖ‬ , Ports ‫ﻗﺴﻤﺖ‬ ‫در‬ ،(‫ﻗﺒﻞ‬ ‫)ﻫﻤﺎﻧﻨﺪ‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﻮرد‬ ‫ﻛﺮﻳﺴﺘﺎل‬ ‫ﻓﺮﻛﺎﻧﺲ‬ ‫و‬ ‫ﺗﺮاﺷﻪ‬ ‫ﻧﻮع‬ (١٢-٤ ‫آورﻳﺪ.)ﺷﻜﻞ‬ ‫ﺧﺮوﺟﻰ‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ B ‫ﭘﻮرت‬ ‫از‬ ‫ﭼﻬﺎرم‬ ‫ﺑﻴﺖ‬ ‫ﺗﻨﻈﻴﻢ‬ ١٢ -٤ ‫ﺷﮑﻞ‬
  • 51. ٤٩ ،Timers ‫ﻗﺴﻤﺖ‬ ‫در‬ ‫ﺳﭙﺲ‬ . ‫ﺷﻮد‬ ‫ﻣﻲ‬ ‫اﺳﺘﻔﺎده‬ ‫ﺻﻔﺮ‬ ‫ﺗﺎﻳﻤﺮ‬ ‫ﺗﻮﺳﻂ‬ PWM ‫ﺗﻮﻟﻴﺪ‬ ‫ﺑﺮاي‬ ‫ﻛﻪ‬ ‫اﺳﺖ‬ ١ OC0 ‫ﻫﻤﺎن‬ ‫ﺑﻴﺖ‬ ‫اﻳﻦ‬ (١٣-٤)‫ﺷـﻜﻞ‬ ‫ﻣﻄـﺎﺑﻖ‬ ‫ﻫـﻢ‬ ‫را‬ ‫ﻗﺴـﻤﺘﻬﺎ‬ ‫ﺑﻘﻴـﻪ‬ ‫و‬ ‫ﻛﻨﻴــﺪ‬ ‫اﻧﺘﺨﺎب‬ ‫را‬ System clock , clock source ‫ﻗﺴﻤﺖ‬ ،Timer 0 ‫ﺑﺨﺶ‬ . ‫ﻧﻤﺎﻳﻴﺪ‬ ‫ﺗﻨﻈﻴﻢ‬ PWM ‫ﺗﻮﻟﻴﺪ‬ ‫ﺑﺮاي‬ ‫ﺻﻔﺮ‬ ‫ﺗﺎﻳﻤﺮ‬ ‫ﺗﻨﻈﻴﻢ‬ ١٣ -٤ ‫ﺷﻜﻞ‬ ‫ﻛـﺪ‬ ‫ﺑـﻪ‬ ‫ﺷــﺪ‬ ‫ﮔﻔﺘﻪ‬ ‫ﻗﺒﻞ‬ ‫ﻣﺜﺎل‬ ‫در‬ ‫ﻛﻪ‬ ‫ﺻﻮرﺗﻲ‬ ‫ﺑﻪ‬ ‫را‬ ‫آن‬ ‫ﺑﺎﻳﺪ‬ ‫و‬ ‫رﺳﺪ‬ ‫ﻣﻲ‬ ‫ﭘﺎﻳﺎن‬ ‫ﺑﻪ‬ CodewizardAVR ‫ﺗﻨﻈﻴﻤﺎت‬ ‫اﻳﻦ‬ ‫در‬ . ‫ﻧﻤﺎﻳﻴﺪ‬ ‫ﺗﺒﺪﻳﻞ‬ ‫ﻛﻨﻴﺪ‬ ‫اﺿﺎﻓﻪ‬ ‫را‬ #include <delay.h> ‫دﺳﺘﻮر‬ ، # include <mega32.h> ‫دﺳﺘﻮر‬ ‫از‬ ‫ﺑﻌﺪ‬ ‫اﺑﺘﺪا‬ ‫ﺑﺎﻳﺪ‬ ‫ﻗﺴﻤﺖ‬ ‫اﻳﻦ‬ ‫در‬ .‫ﻧﻤﺎﻳﻴﺪ‬ ‫وارد‬ ‫را‬ ‫زﻳﺮ‬ ‫دﺳﺘﻮرات‬ //place your code hear ‫ﺗﻮﺿﻴﺢ‬ ‫ﺧﻂ‬ ‫از‬ ‫ﺑﻌﺪ‬ ‫ﺳﭙﺲ‬ unsigned char i; for(i=0;i<100;i++) { OCR0=i; Output Compare 0 ١
  • 52. ٥٠ delay_ms(20); } for(i=100;i>1;i--) { OCR0=i; delay_ms(20); } ‫ﻳـﻚ‬ ‫ﻛﻤـﻚ‬ ‫ﺑـﻪ‬ ‫ﺗﻮاﻧﻴـﺪ‬ ‫ـﻲ‬‫ـ‬‫ﻣ‬ ‫را‬ OC0 ‫ﺧﺮوﺟﻲ‬ ‫در‬ PWM ‫ﻣﻮج‬ . ‫ﻛﻨﻴﺪ‬ ‫ﭘﺮوﮔﺮام‬ ‫را‬ ‫ﺗﺮاﺷﻪ‬ ‫و‬ ‫ﻧﻤﻮده‬ ‫ﻛﺎﻣﭙﺎﻳﻞ‬ ‫را‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﺣﺎﻻ‬ . ‫ﻧﻤﺎﻳﻴﺪ‬ ‫ﻣﺸﺎﻫﺪه‬ ‫ﻫﻢ‬ ‫دار‬ ‫ﺣﺎﻓﻈﻪ‬ ‫اﺳﻴﻠﻮﺳﻜﻮپ‬ ADC ‫ﺑـﻪ‬ ‫را‬ ‫آن‬ ‫و‬ ‫ﺧﻮاﻧـﺪه‬ ‫را‬ PORTA (ADC0) ‫ـﻪ‬‫ـ‬‫ﭘﺎﻳ‬ ‫در‬ ‫آﻧﺎﻟﻮگ‬ ‫ورودي‬ ‫ﺗﺎ‬ ‫ﺑﻨﻮﻳﺴﻴﻢ‬ ‫اي‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ،‫دارﻳﻢ‬ ‫ﻗﺼﺪ‬ ‫ﻗﺴﻤﺖ‬ ‫اﻳﻦ‬ ‫در‬ . ‫دﻫﺪ‬ ‫ﻧﺸﺎن‬ LED ‫ﻛﻤﻚ‬ ‫ﺑﻪ‬ D ‫ﭘﻮرت‬ ‫ارزش‬ ‫ﻛﻢ‬ ‫ﺑﻴﺖ‬ ‫دو‬ ‫و‬ B ‫ﭘﻮرت‬ ‫در‬ ‫ﺑﻴﺘﻲ‬ ١٦ ‫ﺻﻮرت‬ ATMega32L 40 32 31 1 2 3 4 5 6 7 8 14 15 PA0(ADC0) AREF GND PB0(XCK-T0) PB1(T1) PB2(INT2-AIN0) PB3(OC0-AIN1) PB4(SS) PB5(MOSI) PB6(MISO) PB7(SCK) PD0(RXD) PD1(TXD) 0.1u Vcc 20k 220 ١٤ -٤ ‫ﺷﮑﻞ‬ ٠,١ ‫ﺳﺮاﻣﻴﻜﻲ‬ ‫ﺧﺎزن‬ ‫ﻳﻚ‬ :‫اﺳﺖ‬ ‫زﻳﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﮔﺮدد‬ ‫اﺿﺎﻓﻪ‬ ‫اﺻﻠﻲ‬ ‫اﻓﺰار‬ ‫ﺳﺨﺖ‬ ‫ﺑﻪ‬ ‫ﺑﺎﻳﺪ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫اﺟﺮاي‬ ‫ﺑﺮاي‬ ‫ﻛﻪ‬ ‫اﻓﺰاري‬ ‫ﺳﺨﺖ‬ ‫در‬ ‫ﻛـﻪ‬ ‫اﻫـﻢ‬ ٢٢٠ ‫ﻣﻘـﺎوﻣﺖ‬ ‫و‬ LED ‫ﻋــﺪد‬ ١٠ ‫و‬ ADC0 ‫در‬ ‫اﻫﻢ‬ ‫ﻛﻴﻠﻮ‬ ٢٠ ‫ﭘﺘﺎﻧﺴﻮﻣﺘﺮ‬ ‫ﻳﻚ‬ ،‫زﻣﻴﻦ‬ ‫و‬ AREF ‫ﭘﺎﻳﻪ‬ ‫ﺑﻴﻦ‬ ‫ﻣﻴﻜﺮوﻓﺎراد‬ ‫اﻧﺪ‬ ‫ﺷﺪه‬ ‫داده‬ ‫ﻧﺸﺎن‬ ‫زﻳﺮ‬ (١٤-٤)‫ﺷﻜﻞ‬
  • 53. ٥١ ‫ﺑﻌـﺪ‬ . ‫ـﺎﻳﻴﺪ‬‫ـ‬‫ﻧﻤ‬ ‫اﺟﺮا‬ ‫را‬ CodewizardAVR ‫اﻓﺰار‬ ‫ﻧﺮم‬ ‫ﻗﺒﻞ‬ ‫ﻣﺜﺎﻟﻬﺎي‬ ‫ﻫﻤﺎﻧﻨﺪ‬ ‫و‬ ‫ﻛﻨﻴﺪ‬ ‫اﻳﺠﺎد‬ ‫ﺟﺪﻳﺪ‬ ‫ﭘﺮوژه‬ ‫ﻳﻚ‬ ‫ﺑﺎﻳﺪ‬ ‫اﺑﺘﺪا‬ ‫در‬ ‫در‬ ‫ﺧﺮوﺟـﻲ‬ ‫ﺻـﻮرت‬ ‫ﺑـﻪ‬ ‫را‬ D ‫ﭘـﻮرت‬ ‫ارزش‬ ‫ـﻢ‬‫ـ‬‫ﻛ‬ ‫ﺑﻴﺖ‬ ‫دو‬ ‫و‬ B ‫ﭘﻮرت‬ ، Ports ‫ﻗﺴﻤﺖ‬ ‫در‬ ،‫ﻛﺮﻳﺴﺘﺎل‬ ‫ﻓﺮﻛﺎﻧﺲ‬ ‫و‬ ‫ﺗﺮاﺷﻪ‬ ‫ﻧﻮع‬ ‫ﺗﻨﻈﻴﻢ‬ ‫از‬ (١٦-٤ ‫و‬ ١٥-٤ ‫.)ﺷﻜﻠﻬﺎي‬ .‫آورﻳﺪ‬ ‫ﺧﺮوﺟﻲ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ B ‫ﭘﻮرت‬ ‫ﺗﻨﻈﻴﻢ‬ ١٥ -٤ ‫ﺷﻜﻞ‬
  • 54. ٥٢ ‫ﺧﺮوﺟﻲ‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ D ‫ﭘﻮرت‬ ‫از‬ ‫ﻳﻚ‬ ‫و‬ ‫ﺻﻔﺮ‬ ‫ﭘﻴﻨﻬﺎي‬ ‫ﺗﻨﻈﻴﻢ‬ ١٦ -٤ ‫ﺷﻜﻞ‬ ‫ﺑــﻪ‬ ‫ﻣﺮﺑﻮط‬ ‫ﺗﻨﻈﻴﻤﺎت‬ ‫ﻛﺎر‬ ‫اﻳﻦ‬ ‫اﻧﺠﺎم‬ ‫ﺑﺎ‬ .‫ﺑﺰﻧﻴﺪ‬ ‫ﻋﻼﻣﺖ‬ ‫را‬ ADC Enabled ‫اﺑﺘﺪا‬ (١٧-٤ ‫)ﺷﻜﻞ‬ ،ADC ‫ﻗﺴﻤﺖ‬ ‫در‬ ‫ﺳﭙﺲ‬ Int, Cap.on ‫ﺑﺮاﺑـﺮ‬ ‫را‬ Volt. Ref ، ‫زده‬ ‫ﻋﻼﻣـﺖ‬ ‫ﻧﻴﺰ‬ ‫را‬ Interrupt ADC ‫ﺳﭙﺲ‬ (١٨-٤ ‫.)ﺷﻜﻞ‬ ‫ﺷﻮﻧﺪ‬ ‫ﻣﻲ‬ ‫ﻧﻤﺎﻳﺎن‬ ADC .‫ﻛﻨﻴﺪ‬ ‫اﻧﺘﺨﺎب‬ 125. 000KHz ‫ﺑﺮاﺑﺮ‬ ‫را‬ ADC Clock ‫و‬ AREF
  • 55. ٥٣ ‫آن‬ ‫ﻛﺮدن‬ ‫ﻓﻌﺎل‬ ‫از‬ ‫ﻗﺒﻞ‬ ADC ‫ﻗﺴﻤﺖ‬ ١٧ -٤ ‫ﺷﻜﻞ‬