# برنامه نویسی میکروکنترلر (MicroController) ها و MicroProcessor ها > برنامه نویسی سیستم های Embeded > AVR >  راهنمای کاربردی خرید پروگرامر AVR

## L4CH!N!

این مقاله برگرفته از سایت elewiz.com است و برای مشاهده مقاله اصلی میتوانید از آدرس زیر استفاده کنید :
http://www.elewiz.com/tutorial/progr...is-better.html
------------------------------------------------------------------------------------------------------------------
انتخاب ابزار مناسب برای هر کاری از نکات بسیار مهم برای افراد است. شاید این جمله را بارها شنیده باشید که کار را ابزار انجام میدهد. یکی از مهترین وسایل مورد نیاز برای علاقمندان و متخصصان رشته الکترونیک پروگرامر است. هدف از این مقاله ارائه پارامترهای قابل سنجش و مهم برای انتخاب پروگرامر مناسب است. این مقاله  بر مبنای تجربه کار با انواع پروگرامرهای AVR بدست آمده ولی این توضیحات میتواند کمک مناسبی برای خرید پروگرامر سایر قطعات نیز باشد.
پارامترهای بررسی شده در این مقاله شامل موارد زیر است :

نوع پورت مورد استفاده در پروگرامر جهت ارتباط با کامپیوترزیف سوکتتامین کلاکنرم افرار پروگرامرروش برنامه ریزی توسط پروگرامرسرعت پروگرامرامکانات جانبیقاب و بدنهقیمت
*1-نوع پورت مورد استفاده در پروگرامر جهت ارتباط با کامپیوتر :*

 پروگرامرها برای ارتباط با کامپیوتر از پورت های مختلفی استفاده میکنند که در زیر به بررسی هر یک از این پورت ها میپردازیم.
*الف- پورت پرینتر :*

اغلب این پورت برای پروگرامرهای ساده و نسبتا ارزان استفاده میشود مثل STK200/300 و مشکلات این پورت برای پروگرامرها عدم حفاظت مناسب در مفابل اتصال کوتاه است که باعث صدمه دیدن و از کار افتادن پورت پرینتر میشود.

نمایی از یک پورت پرینتر


این پورت فاقد خطوط تغذیه جهت راه اندازی مدار پروگرامر است. در نتیجه پروگرمرهایی که از این پورت استفاده میکنند باید تغذیه را به روش دیگری تامین کنند که باعث دردسر بیشتر برای شما خواهد شد. 
پورت پرینتر بسیار قدیمی شده و اکثر کامپیوترها بصورت پیش فرض این پورت را ندارند. و در نتیجه پروگرامرهایی که از این پورت استفاده میکنند، چندان قابلیت استفاده بر روی کامپیوترهای مختلف را ندارند. 
تنها مزیت های این نوع پروگرامرها ساپورت آن در اکثر نرم افزارهای توسعه بوده و همچنین ساده و ارزان بودن آن است که به نظر من برای پروگرامر این ویژگی ها ارزش چندانی ندارد چون اغلب در حین تست مدارات احتمال خرابی و اشتباه وجود دارد. این اشتباه ممکن است باعث خراب شدن همیشگی این پورت کامپیوتر شود.
*ب- پورت سریال :*

این پورت نیز در پروگرامرهایی همچون STK500 و AVR910 استفاده میشود. اما مسائل مربوط به این پورت همانند پورت پرینتر است. عدم تامین ولتاژ تغذیه برای راه اندازی مدار پروگرامر، عدم حفاظت لازم و احتمال صدمه دیدن پورت سریال و قدیمی بودن آن و در نتیجه نبود پورت سریال بر روی اکثر کامپیوترهای امروزی.

نمایی از یک پورت سریال


*ج- پورت USB :*

بهترین گزینه برای ارتباط بین پروگرامر و کامپیوتر پورت USB است. چون در تمامی کامپیوترها وجود داشته و همچنین اضافه کردن این پورت براحتی و از طریق یک هاب ارزان قیمت صورت میگیرد. در ضمن USB علاوه بر تامین ولتاژ برای پروگرامر مقدار جریان آنرا کنترل میکند و در صورت اتصال کوتاه شدن با قطع USB مانع از صدمه دیدن خود و همچنین پروگرامر خواهد شد. 
نکته ای که در رابطه با این پورت باید در نظر داشت این است که برخی از پروگرامرها بدلیل استفاده از طرح های قدیمی که مبتنی بر پورت سریال بودند، با استفاده از یک مبدل USB به سریال درون مدار پروگرامر آنرا بظاهر بصورت USB ساخته اند. مثل پروگرامر AVR910  و یا STK500، باید توجه داشته باشید این تبدیل ها درون ویندوز بصورت مجازی به عنوان یک پورت سریال COM شناخته میشوند. و مشکلات زیر را بدنبال خواهند داشت :
 هر پورت COM توسط یک شماره شناسایی میشود و شما با هر بار وصل کردن این نوع پروگرامرها باید در نرم افزار خود شماره پورت را تعیین کنید.
 این شماره پورت ممکن است با اتصال هر بار پروگرامر به USB جدیدی با شماره جدید شناسایی شود و در نتیجه مرحله تعیین شماره پورتی که به پروگرامر اختصاص داده شده باید تکرار شود.
 بعضا برخی نرم افزار ها تعداد معینی از شماره پورت ها را قبول میکنند و درنتیجه امکان عدم شناسایی پروگرامر در ویندوز بدلیل خارج از رنج بودن شماره پورت وجود دارد.
 امکان تداخل بین سایر تجهیزات مشابه که از پروتکل سریال استفاده میکنند با پروگرامر وجود دارد. وسایلی همچون مودم های قدیمی و بلوتوث و ...
 بطور خلاصه باید عرض شود که اگر بدنبال خرید پروگرامر USB هستید بهتر است از خرید اینگونه پروگرامرها که از USB خالص استفاده نکرده و بجای آن تبدیل USB به سریال استفاده شده پرهیز کنید. کافیست در اینترنت سرچ کنید و متوجه سیل سئوالات و مشکلات ناشی از این نوع پروگرامرها شوید. 
*2-زیف سوکت:*

 زیف سوکت بر روی پروگرامر امکان برنامه ریزی خارج از برد را برای شما محیا میکند. وجود زیف سوکت بر روی پروگرامر امکان بسیار خوبی محسوب شده و جزو مزایای پروگرامرها است. اما ساپورت زیف سوکت توسط پروگرامر باید با ملاک هایی دقیق ارزیابی شود. چون همانند پورت USB پروگرامر که میتوانست به شما آدرس غلط دهد و شما در واقع بجای خرید یک پروگرامر USB یک پروگرامر سریال خریداری کرده که درون آن مبدل USB به سریال قرار داده شده است. در مورد پروگرامر زیف سوکت دار هم ممکن است شما گول ظاهر پروگرامر را بخورید.
*پروگرامر با چندین زیف سوکت :*

 برخی از انواع پروگرامرها با قرار دادن چندین زیف سوکت برای مدل های مختلف میکروکنترلر AVR علاوه بر شلوغ کردن برد آنرا بزرگ نیز کرده اند. در تصویر زیر یک نمونه از این پروگرامرها با چهار عدد زیف سوکت مشاهده میکنید. حتی برای میکروکنترولر 40 پین دو عدد زیف سوکت قرار داده شده است. وجود این تعداد زیف سوکت برای مدار پروگرامر AVR ظاهر زیبایی به پروگرامر نخواهد داد و علاوه بر آن علت استفاده از زیف سوکت در پروگرامر عدم خراب شدن پین های آن در موقع درج و خارج کردن میکروکنترولر است ولی بدلیل اینکه زیف 8 پین وجود ندارد، یک سوکت معمولی 8 پین قرار داده شده است!

پروگرامر با زیف سوکت زیاد


*پروگرامر تک زیف با پین های موازی شده :*

بعضی از پروگرامرها فقط داری یک زیف سوکت هستند ولی بخاطر عدم طراحی اصولی و با موازی کردن پین های مختلف زیف سوکت سعی در پوشش پروگرام تمامی میکروها توسط یک زیف کرده اند. باید توجه داشته باشید که این روش دارای معایب زیر است:
*الف- افزایش خطای ناشی از درج اشتباه میکروکنترلر بر روی زیف سوکت :*

موازی کردن پین های زیف سوکت در پروگرامر باعث میشود که درج هر میکرو بسته به نوع و تعداد پایه های آن بر روی مکان های مختلف زیف سوکت باشد. این موضوع باعث افزایش خطا در حین کار با پروگرامر میشود. زیرا هر بار برای پروگرام کردن میکروکنترلر خود باید با شمارش محل دقیق درج میکروی AVR را پیدا کنید و در صورت اشتباه پروگرامر کار نمیکند. حتما بارها پیش آمده که به خاطر یک اشتباه کوچک مدت ها درگیر بودید و پس از متوجه شدن اشتباه، آه سردی کشیده و حسرت زمان و فرصت از دست رفته را خوردید. حالا اگر این اتفاق در این پروگرامر رخ دهد، چه میکنید. هیچوقت بدنبال افزایش ضریب خطا نباشید. و همه اشتباه میکنند، حتی شما دوست عزیز!

پروگرامر با درج میکروکنترلر در مکان های متفاوت بر روی زیف سوکت.


*ب- تداخل سیگنال پروگرامر با میکروکنترولر برنامه ریزی شده :*

 با موازی کردن پین های زیف سوکت پروگرامر، ممکن است بعد از برنامه ریزی میکروکنترلر سیگنالهای تولیدی توسط پروگرامر با میکروکنترلر تداخل پیدا کنند. به دو دلیل این اتفاق روی میدهد. اولا برخی از پایه های عادی میکروکنترلر که کاربردی برای پروگرامر ندارند به دلیل موازی شدن پین های زیف سوکت به سیگنالهای پروگرامر خواه ناخواه متصل هستند. دوما حتی پس از پایان عملیات برنامه ریزی میکرو تغذیه به میکروکنترلر نصب شده بر روی زیف سوکت پروگرامر میرسد. نتیجه این دو مورد خطا در شناسایی میکروکنترلر میشود. و بعضا ممکن است بعد از هر بار پروگرام کردن میکروکنترلر نیاز به جدا کردن و وصل مجدد پروگرامر به کامپیوتر باشد. اشکالی که بسیاری از دوستان آنرا تجربه کرده اند.
*ج- افزایش خطا بواسطه تنطیمات جامپر و دیپ سویچ :*

در برخی از مدل های پروگرامر AVR برای پرهیز از تداخل سیگنالی، چندین جامپر و دیپ سویچ بر روی برد پروگرامر قرار داده شده است. شما هر بار باید علاوه بر دقت در قرار دادن میکروکنترلر بر روی زیف سوکت در محل مناسب، باید جامپرها و دیپ سویچ ها را به دقت تنظیم کنید. خودتان بسادگی میتوانید مشکلات و سختی این روش را تصور کنید.
در تصویر زیر یک نمونه پروگرامر با جامپرهای فراوان را میتوانید مشاهده کنید. همانطوری که در تصویر پیدا است. 12 حالت مختلف نصب جامپر ها در کنار زیف سوکت بصورت یک جدول نمایش داده شده است!

پروگرامر AVR با چندین جامپر 12 حالته جهت تنظیم!


*د- عدم ساپورت تمامی میکروکنترلرهای دیپ توسط زیف سوکت :*

معمولا تمامی پروگرامرهایی که از یک زیف سوکت با ترفندهای فوق برای پروگرام کردن استفاده میکنند. امکان پروگرام تمامی میکروهای دیپ را ندارند. پس حتما به میکروهایی که توسط پروگرامرهای فوق امکان برنامه ریزی دارند توجه کنید که مبادا بعد از خرید متوجه عدم ساپورت میکروکنترلر مورد نطر خود بر روی زیف سوکت شوید!
*پروگرامرهای تک زیف سوکت هوشمند :*

این دسته پروگرامرها فقط یک زیف سوکت دارند. و بدون آنکه پین های زیف سوکت به هم متصل شود، با درج میکروکنترلر از پین یک زیف سوکت، پروگرامر بصورت هوشمندانه و خودکار درج میکروکنترلر را تشخیص داده و سیگنالهای مورد نیاز برای پروگرام میکروکنترلر را تامین و فقط به پین های مختص آن میکروکنترلر اتصال میدهد. و سایر پین ها رها خواهند بود. همچنین پس از اتمام عملیات پروگرامر تمامی خطوط از زیف سوکت جدا شده و میکروکنترلر کاملا از نظر سیگنالی رها میشود.

پروگرامر AVR با تشخیص هوشمند درج میکروکنترلر


همانطور که خودتان میتوانید تصور کنید در این دسته از پروگرامرها مشکلات سختی درج میکرو در پین های مختلف و تنظیمات انواع جامپر و دیپ سویچ های متعدد و تداخل سیگنالی وجود ندارد. و خود پروگرامر بصورت هوشمندانه تمامی مراحل را خودکار انجام میدهد. درنتیجه علاوه بر ساده و روان بودن کار کردن با این دسته پروگرامرها، معمولا از ابعاد کوچکتری نیز نسبت به سایر پروگرامرهای مورد بحث برخوردار هستند.
*3- تامین کلاک :*

درمیکروکنترلر AVR برای راه اندازی باید کلاک مورد نیاز با توجه به تنظیمات فیوز بیت CKSEL تامین شود. این منابع شامل موارد زیر هستند :

کریستال خارجیاسیلاتور خارجی RCاسیلاتور کالیبره داخلی RCکلاک خارجی
همانطور که در بالا مشاهده میکنید، بجز یک مورد "اسیلاتور کالیبره داخلی" در سایر موارد باید سیگنال کلاک از بیرون به میکرو داده شود. البته بصورت پیش فرض مقدار فیوز بیت CKSEL توسط کارخانه بر روی همین حالت اسیلاتور داخلی تنظیم شده است. تا بسادگی بتوان در بار اول میکروکنترلر را پروگرام نمود. ولی در صورتیکه فیوز بیت CKSEL بر روی سایر گزینه های خارجی قرار گیرد. و پروگرامر قادر به شناسایی و کار با میکروکنترلر نخواهد بود.
اگر در اینترنت جستجو کنید، به موضوعاتی با این عنوان برخواهید خورد، *میکروکنترلر بعد از پروگرام سوخت و یا کار نمیکند*. دلیل آن دیگر برای شما واضح است و البته اغلب طرح های پروگرامر موجود در بازار برای رفع این مشکل یک کریستال در کنار زیف قرار داده اند. که متاسفانه این روش نمیتواند مشکل تامین کلاک را حل کند. زیرا کریستال خارجی فقط یکی از حالات تنظیم فیوز بیت CKSEL است و سایر حالات همچون اسیلاتور و یا کلاک بدون حل باقی می ماند.

قرار دادن کریستال روشی ناکارآمد جهت تامین کلاک


علاوه بر اینکه قرار دادن کریستال نمیتواند به تنهایی عدم تامین کلاک در پروگرامر AVR  را جبران کنند. حتی بدلیل سیم کشی و موازی کردن پین های مربوط در زیف سوکت، مشکل تداخل سیگنال که در بالا به آن اشاره شد، در اینجا نیز بوجود خواهد آمد.
در این میان فقط پروگرامرهایی که بصورت هوشمندانه و خودکار درج میکروکنترلر را تشخیص میدهند، و سیگنالهای مورد نظر را تامین میکنند، قادر به تامین کلاک مناسب جهت برنامه ریزی میکروکنترلر در تمامی حالات فیوز بیت CKSEL هستند.
*4- نرم افرار پروگرامر :*

پروگرامرها را معمولا از نظر دسته بندی نرم افزاری میتوان به دو دسته تقسیم کرد:
*الف- نرم افزارهای استاندارد و عمومی :*

پروگرامرهایی که از پروتکل های معتبر و استاندارد و شناخته شده جهانی استقاده میکنند، در تمامی محیط های توسعه شناسایی شده و قابل استفاده هستند. و شما از این نوع پروگرامرها بسادگی و با قدرت تمام در محیط های توسعه همچون بسکام میتوانید استفاده کنید.
علاوه بر اینکه اینگونه پروگرامرهای AVR در محیط های توسعه در دسترس شما هستند. اغلب وابستگی خاصی نیز به سیستم عامل نداشته و براحتی در تمامی نسخه های سیستم عامل های مختلف همچون ویندوز و لینوکس و اندروید و مک قابل استفاده خواهند بود.
*ب- نرم افزارهای شرکتی و اختصاصی :*

در اغلب پروگرامرهای هوشمند و حرفه ای که زیف سوکت را بصورت هوشمندانه ساپورت میکنند، فقط از طریق نرم افزار شرکت سازنده شما قادر به استفاده از پروگرامر هستید. (بجز پروگرامر سانا) و این یک ضعف بزرگ برای این دسته از پروگرامرها به شمار می آید. زیرا شما امکان استفاده مستقیم در محیط های توسعه وهمچون بسکام را نخواهید داشت. البته اغلب محیط های توسعه امکان معرفی اینگونه نرم افزارها را در خود گنجانده اند. اما این روش نیز نمیتواند روش مناسب و کارایی محسوب کرده و فقط جهت رفع صورت مساله است. و به قول معروف هیچی به از کاچی!
نرم افزارهای پروگرامرهای شرکتی معمولا برای سیستم عامل ویندوز نوشته میشوند و در نتیجه در سایر سیستم عامل ها ساپورت نشده و حتی بعضا در برخی از نسخه های جدید ویندوز نیز کار نمیکنند.
در کنار موارد فوق احتمال وجود باگ را نیز در نظر داشته باشید، که در این حالت پشتیبانی شرکت تولید کننده پروگرامر اهمیت خاصی پیدا خواهد کرد.
*5- روش برنامه ریزی توسط پروگرامر :*

میکروکنترلرهای AVR از روش های مختلفی جهت برنامه ریزی استفاده میکنند که بطور خلاصه به بررسی هر یک خواهیم پرداخت.
*الف- روش موازی ولتاژ بالا :*

این روش نیاز به ولتاژ 12 ولت جهت اعمال به پایه ریست میکروکنترلر توسط پروگرامر دارد. در صورتیکه فیوز بیت های میکروکنترلر تغییر کرده باشند و امکان پروگرام میکرو توسط سایر روش ها مقدور نباشد (تغییر پایه ریست به پایه IO توسط فیوز بیت و یا غیرفعال شدن فیوز بیت های SPI و JTAG) پروگرام ولتاژ بالا همیشه جوابگو خواهد بود. البته به دلیل اینکه تامین ولتاژ 12 ولت و همچنین موازی بودن پروگرامر، عملا سخت افزار پروگرامر پیجیده تر بوده و اغلب پروگرامرهای موجود در بازار امکان پروگرام ولتاژ بالا را ندارند. پروگرامرهایی که برنامه ریزی ولتاژ بالا را ساپورت میکنند معمولا قیمت بالایی نیز دارند. و بهترین کاری میتوان انجام داد تهیه و یا ساخت برد دکتر فیوز بیت است که فیوز بیت های میکرو را به حالت پیش فرض بر میگرداند.
*ب- سریال SPI :*

پروگرام به روش SPI یکی از پرکاربردترین روشهای مورد استفاده توسط پروگرامرهای AVR است. بدلیل اینکه این روش پروگرام درواقع نوعی ارتباط سریال با میکروکنترلر است. تعداد پایه های کمی توسط پروگرامر استفاده میشود. و براحتی میتوان بدون خارج نمودن میکروکنترلر از برد اصلی و قرار دادن بر روی پروگرامر آنرا برنامه ریزی کرد.
نکته ای که در این باره باید اشاره کرد، غیر فعال شدن SPI با تغییر فیوز بیت مربوطه در AVR است. البته بصورت پیش فرض در کارخانه این روش پروگرام  فعال شده است.
*ج- JTAG :*

این روش در واقع برای دیباگ و عیب یابی برنامه استفاده میشود. ولی بدلیل اینکه در این روش امکان دسترسی به حافظه های FLASH, EEPROM, Fuse Bits, Lock Bits در میکروکنترلر میتوان برای پروگرام کردن نیز از آن استفاده کرد. البته باید به این نکته توجه داشته باشید که همه میکروکنترلرهای AVR از این روش پشتیبانی نمیکنند. در نتیجه در بین پروگرامرهای AVR این روش چندان متداول نیست.
*د- Tiny Programming Interface - TPI:*

این روش همانطور که از نام آن پیداست، برای پروگرام میکروکنترلرهای سری Tiny کاربرد دارد. و توصیه میشود که به دلیل پر کاربرد بودن این سری از میکروکنترلرهای AVR، پروگرامر شما نیز این روش را ساپورت کند.
*ه- Program and Debug Interface - PDI:*

روش PDI در میکروکنترلرهای سری Xmega استفاده میشود و در صورتیکه قصد پروگرام Xmega را دارید باید پروگرامر شما به این روش را ساپورت کند.
*6- سرعت پروگرامر :*

در حین پروگرام میکروکنترلر دو عملیات جداگانه داریم. عملیات نوشتن یا write و عملیات خواندن read. سرعت نوشتن و خواندن باهم متفاوت هستند و معمولا سرعت نوشتن کمتر از خواندن است. بسته روش پروگرام و سخت افزار پروگرامر این سرعت ها گوناگون خواهند بود. قاعدتا هر چه سرعت پروگرام میکروکنترلر AVR بالاتر باشد. پروگرامر قوی تر خواهد بود. باز هم تاکید میکنم که سرعت به روش و سخت افزار پروگرامر وابسته است و برای مقایسه این پارامتر حتما پروگرامرهای مشابه را با هم مقایسه کنید.
*7- امکانات جانبی :*

برخی از پروگرامرها امکانات جانبی نیز در اختیار شما قرار میدهند که در هنگام خرید این پروگرامرها باید به این موضوع توجه داشت که هدف اصلی شما چیست؟ اگر پاسخ شما در درجه اول، خرید پروگرامر است، باید دقت کنید که این امکانات باعث پیجیدگی و یا سختی کار با پروگرامر نشود. در واقع هنر طراحی در همین نکته است که امکانات اضافه را  بتوان با همان سخت افزار اولیه پیاده سازی کرد. پروگرامری که مثلا برای ساپورت آی سی حافظه EEPROM دارای سوکت مجزا باشد. نشان دهنده ضعف طراحی و عدم امکان اضافه کردن قابلیت فوق درون پروگرامر و با استفاده از زیف سوکت اصلی است. و معمولا در اینگونه طراحی ها معمولا برای هر امکان جدیدی یک بخش جدید به سخت افزار اضافه شده است. و باعث شلوغی بیش از حد پروگرامر میشود.

برای تست LCD، قطعات کلید، پتانسیومتر و کانکتور و برای پروگرام EEPROM سوکت جداگانه اضافه شده


بطور مثال در طرح فوق اگر قرار به اضافه کردن امکانات جدیدی بود باید به مدار پروگرامر تجهیزات و بخش های بیشتری اضافه می شد. در حالیکه در طرح های حرفه ای، امکانات جدید هیچگونه تغییری در ظاهر پروگرامر و تجهیزات بیرونی اضافه نمیکند. برای نمونه میتوان به پروگرامر سانا اشاره داشت. که با وجود اضافه شدن قابلیت تست آی سی های دیجیتال و برخی قطعات دیگر همچنان همان ابعاد و ظاهر پروگرامر معمولی را حفظ کرده است.
*8- قاب و بدنه :*

داشتن قاب و بدنه مناسب علاوه بر حفظ بهتر پروگرامر و افزایش عمر مفید آن باعث راحتی بیشتر کار با پروگرامر خواهد شد و همچنین به پروگرامر ظاهر مناسبتری خواهد داد. اصلی که متاسفانه به واسطه سود بیشتر تولید کننده پروگرامر و عدم حوصله و وقت لازم برای ارائه طرح قوی پروگرامر به فراموشی سپرده شده است. و به نظر من قرار دادن پروگرامر درون یک قاب مناسب نشان دهنده احترام هر چه بیشتر به خریدار پروگرامر است.
دقت داشته باشید که پروگرامر یک وسیله یکبار مصرف نیست و شاید تا سالها شما از آن استفاده کنید. ولی بدلیل افزایش سود تولیدکنندگان داخلی عمدتا به فروش توجه کرده و حاضر به هزینه در بخش بسته بندی جهت جلب خریدار هستند ولی بعد از خرید پروگرامر و باز کردن آن شما یک پروگرامر بدون بدنه را مشاهده میکنید. در حالیکه بدنه ابزار یک بخش بسیار مهم محسوب میشود. شما هیچوقت یک مواتی متر بدون قاب در بازار پیدا نمیکنید. و در صورت مشاهده تعجب خواهید کرد و قطعا خرید نخواهید داشت ولی بدلیل اینکه سلیقه اکثر خریداران پروگرامر بدلیل بی توجهی تولید کنندگان پروگرامر تغییر کرده براحتی پروگرامر بدون قاب را خرید میکنیم و از دیدن آن تعجب نمیکنیم!
به تصاویر درج شده در این مقاله دوباره نگاهی کنید. اکثر پروگرامرها بدون قاب و بدنه هستند. حالا شما جرو کدام دسته افراد هستید؟ تعجب کرده و یا نکرده؟
*9- قیمت :*

 فاکتور قیمت همیشه عامل تعیین کننده است. زیرا با توجه به منابع مالی که در اختیار دارید. باید *بهترین انتخاب را برای خود* داشته باشید. حتما به جمله قبلی دقت کنید. *بهترین انتخاب برای خود*. بهترین انتخاب برای شما ممکن با بهترین انتخاب برای دوست شما یکسان نباشد. بهترین انتخاب همیشه برابر با گرانترین گزینه نیست. اگر شما فقط با میکروکنترلر AVR کار میکنید و سایر قطعات کاربردی برای شما ندارند، خرید بک پروگرامر یونیورسال چند صد هزار تومانی تا چند میلیونی فقط دور ریختن پول است. در حالیکه فقط شما از این پروگرامر گرانقیمت به اندازه یک پروگرامر ارزان قیمت استفاده میکنید. و هزینه اضافه کرده اید و میتوانستید سایر تجهیزات مورد نیاز خود را تهیه کنید.
بهترین روش برای خرید با قیمت مناسب این است که ابتدا نیازهای واقعی خود را در رابطه با پروگرامر AVR بدانید. سپس با مراجعه به بازار و بررسی پروگرامرهای موجود، پروگرامری را انتخاب کنید که امکانات مورد نظر شما را با حداقل هزینه جوابگو باشد.

----------

