Codvision 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
- 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 ﻗﺴﻤﺖ و ﺷﺪه داده ﻧﺸﺎن
.ﻧﻤﺎﻳﻴﺪ ﺻﻔﺮ را آن ﻣﻲﺗﻮاﻧﻴﺪ ﻛﻪ ﻣﻲدﻫﺪ ﻧﺸﺎن را ﻣﻮردﻧﻈﺮ
- 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 ﺣﺮف ﺑﻴﺘﻬﺎ از ﻳﻚ ﻫﺮ ﺟﻠﻮي در
(٦-٤ ﺷﻮﻧﺪ.)ﺷﻜﻞ
- 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