• linkedin
خوش آمدید , مهمان - ورود اینجا ثبت نام اینجا . فعال سازی حساب کاربری

Google


normal_post - پاسخ : آشنایی با میکروکنترلر  - متا نویسنده موضوع: پاسخ : آشنایی با میکروکنترلر  (دفعات بازدید: 3863 بار)

0 کاربر و 1 مهمان درحال دیدن موضوع.

آفلاین امیر شهباززاده

xx - پاسخ : آشنایی با میکروکنترلر  - متا
پاسخ : آشنایی با میکروکنترلر
« : ۱۰ اسفند ۱۳۸۸ - ۲۳:۲۰:۴۹ »
بخش چهارم

پروگرامر AVR   

اين يه پروگرامر avr كه هم سادس هم با همه آي سي هاي AVR كار مي كنه هم كم حجم هم با ويندوز XP سازگار هم نياز به سخت افزار زيادي نداره مي تونين با تمام كمپايلرها هم استفاده كنين



خوب اين پروگرامر رو ابتدا دانلود كنين بعد نتقشه اي كه توي Help ش و جود داره رو بسازيد البته اول بايد Help رو انگليسي كنيد همون بالاي صفحه هلپ هست بعد هم من پيشنهاد مي كن نقشه پروگرامر STK300رو بسازيد همون آخرين نقشه البته فرقي نمي‌كنه ولي اين با نرم افزار هاي بيشتري سازگاره

بعد از نصب نوع پروگرامر رو متناسب با پروگرامري كه داريد از منوي Seting تنظيم كنيد اگه نمي بينيدش بعد از اجراي برنامه Alt+Space رو بگيريد با فشار دكمه Config بايد شماره IC رو تشخيص بده كه اگه اين اتفاق افتاد همه چيز درسته اگه هم نشناخت يه بار ديگه همه چيز رو چك كنيد يادتون نرفته زمين ها رو يكي كنيد و مطمئن باشيد كه برنامه درسته و حتما شما يه جايي اشتباه كرديد البته اگه از Win XP استفاده مي كنيد يادتون باشه كه NT Drive را بايد راه اندازي كنيد توي هلپش كامل توضيح داده

1.  Copy UserPort.sys to %windir%system32drivers
2.  Run UserPort.exe to set the port range you wish to open.
    Standard LPT addresses are:
    LPT1: $378 ($378 - $37A)
    LPT2: $278 ($278 - $27A)%0


Linkback: https://irmeta.com/meta/b622/t320/

آفلاین امیر شهباززاده

xx - پاسخ : آشنایی با میکروکنترلر  - متا
پاسخ : آشنایی با میکروکنترلر
« پاسخ #1 : ۱۰ اسفند ۱۳۸۸ - ۲۳:۲۳:۳۱ »
بخش دوم

1- (High-performance, Low-power AVR® 8-bit Microcontroller) :
ترجمه : میکروکنترلر AVR 8 بیتی با کارایی بالا و توان کم
میکرو 8 بیتی اشاره به این دارد که این میکروکنترلر حداکثر با 8 بیت کار میکند و این میکرو حداکثر 8 بیت را به صورت همزمان میتواند انتقال دهد. اکثر میکروهایی که تا کننون ساخته شده اند 8 بیتی هستنند این توان هم برای کارهای عمومی و پیشرفته به صورت کامل جوابگوست ولی برای کارهای فوق پیشرفته به نسبت توان انتقال پایینی است .

2-( Advanced RISC Architecture ) :
ترجمه : دارای طراحی پیشرفته RISC
کلمه RISC ((REDUCED INSTRUCTION SET COMPUTER به معنای طراحی CPU که مجموعه دستورات آن حاوی دستورات سریع و ساده است که نوشتن برنامه را مشکل ولی سریعتر میکند. اما طراحی پیشرفته RISC در میکروکنترلرهای AVR ضمن این که دستورات ساده وسریع هستنند، نوشتن برنامه هم راحت و بدون مشکل است.

3-(131 Powerful Instructions – Most Single-clock Cycle Execution ):
ترجمه : دارای 131 دستور العمل قوی که بیشترشان در یک سیکل کلاک اجرا می شوند. اشاره به همان معماری
RISC دارد که دستورات سریع اجرا میشوند.
یعنی برای ATMEGA32 که دارای سرعت 16 MHZ است. این میکرو میتواند در هر ثانیه تقریبا 16 ملیون دستور را اجرا کند.

4- ( 32*8 GENERAL Purpose Working Registers ) :
ترجمه : با 8*32 ثبات عمومی کار میکند.

5-(Fully Static Operation) :
ترجمه : عملکر کاملا ثابت .

6-(Up to 16 MIPS Throughput at 16 MHz ) :
ترجمه : تا 16 ملیون (MIPS) توانعملیاتی در 16MHZ
چند خط بالا دربارش توضیح داده بودم.

7- (On-chip 2-cycle Multiplier ) :
ترجمه : تقویت کننده 2 سیکل بر روی چیپ.

Nonvolatile Program and Data Memories


حافظه ، برنامه و داده غیر فرار


8- (32K Bytes of In-System Self-Programmable Flash
Endurance: 10,000 Write/Erase Cycles)
ترجمه : 32KB حافظه داخلی FLASH قابل برنامه ریزی . ماندگاری : 10000 بار نوشتن و پاک کردن.

حافظه FLASH نوعی حافظه غیر فرار مشابه EEPROM که با بلاکهای داده کار میکند. حافظه FLASH این میکروکنترلر قابلیت 10000 بار نوشتن و پاک کرن را دارد که برای تمرین و آزمایش بسیار عالیست.
از لحاظ حجم هم 32 کیلو بایت میتواند نیاز های ما را برآورده کند و در بین سایر میکروکنترلر ها به نسبت حجم خوبی است.در واقع شما باید برنامه را در این حافظه بنویسید.
هر BIT شامل یک (0و1) میشود ،هر BYTE ،1024 BIT است و هر KB (KILO BYTE ) 1024
BYTE است.
(هر حرف یک BYTE است.)

9- Optional Boot Code Section with Independent Lock Bits
In-System Programming by On-chip Boot Program
True Read-While-Write Operation

ترجمه : تعقیر اختیاری برنامه بوت با برنامه ریزی مستقل فیوز بیت ها در دستگاه درست وقتی که دستورعمل ها را میخوانیم یا مینویسم.
اشاره به تعقیر اختیاری فیوز بیت ها دارد که به راحتی میتوانیم این کار را انجام بدهیم.
فیوز بیت : این ها یک سری بیت کلی هستنند که منطق 0 به معنای برنامه ریزی شدن و منطق 1 به معنای برنامه ریزی نشدن بیت است.
اساسا کار این بیت ها تعقیر مشخصات سخت افزاری میکروکنترلر است و هر مدل از میکروکنترلر به نسبت طراحی دارای فیوز بیت های مختلفی است.
به فرض مثال اگر فیوز بیت به نام EESAVE برنامه ریزی شود محتویات حافظه EEPROM در زمان پاک کردن میکروکنترلر محفوظ میماند ولی اگر این بیت برنامه ریزی نشود حافظه EEPROM در زمان پاک شدن میکرو پاک میشود.


10- (1024 Bytes EEPROM) :
: ( Endurance: 100,000 Write/Erase Cycles)

ترجمه : 1024 بایت حافظه EEPROM . ماندگاری : 100000 بار نوشتن و پاک کردن.
اکثر مدل های میکروکنترلر AVR دارای حافظه EEPROM داخلی میباشند که یکی از مزیت های خوب این میکروکنترلر هاست . در این حافظه که اطلاعات داخلش تا حدود 100 سال باقی میماند میشود به اکرار (صد هزار بار) نوشت و پاک کرد و میتوانیم اطلاعات زیادی رو در این حافظه قرار بدهیم.
این حافظه را در هنگام اجرای برنامه میتوان نوشت و خواند و بر گرفته از اول کلمات ELECTRICALLY ERASABLE READ ONLY MEMORY است.

11- (2K Byte Internal SRAM) :
ترجمه : 2 کیلو بایت حافظه SRAM داخلی
این نوع از حافظه یک حافظه با دسترسی تصادفی است. مثل حافظه RAM کامپیوتر.

12- ( Programming Lock for Software Security) :
ترجمه : قفل برای برنامه برای ایمنی

JTAG (IEEE std. 1149.1 Compliant) Interface


قابلیت اتصال با پروتکل JTAG تحت استاندارد IEEE

یکی از چندیدن پروتکل میکروکنترلر است . که به لحاظ سرعت انتقال و قابلیت برنامه ریزی انواع حافظه ها و فیوزها به یکی از بهترین پروتکل های ارتباطی بین میکروکنترلر ها تبدیل شده است.

13-(Boundary-scan Capabilities According to the JTAG Standard ):
ترجمه : امکان مقایسه برخی از ثبات ها در استاندارد JTAG

14- ( Extensive On-chip Debug Support) :
ترجمه : پشتیبانی چیپ از یک اشکل زدایی گسترده

15-( Programming of Flash, EEPROM, Fuses, and Lock Bits through the JTAG Interface ) :
ترجمه : برنامه ریزی حافظه های FLASH , EEPROM و FUSES و فیوز بیت ها با پروتکل .JTAG

امکان خوبی که این پروتکل ارتباطی دارد این است که انواع حافظه ها و فیوز بیت ها را میتوان با آن برنامه ریزی کرد از این رو پروگرامرهای زیادی با استفاده از این پروتکل کار میکنند.


PIC32BlockDiagramChip - پاسخ : آشنایی با میکروکنترلر  - متا

آفلاین امیر شهباززاده

xx - پاسخ : آشنایی با میکروکنترلر  - متا
پاسخ : آشنایی با میکروکنترلر
« پاسخ #2 : ۱۰ اسفند ۱۳۸۸ - ۲۳:۲۷:۲۹ »
بخش سوم

کلمه میکروکنترلر:


این کلمه از دو کلمه 1- میکرو  2-کنترلر     تشکیل شده 



 

1-میکرو : میدونین که این یک واحد یونانی است و برابر با 10 به توان منفی 6 متر است. یعنی یک ملیونیوم متر واحده خیلی کوچیکیه نه....ولی واحدهای خیلی کوچیکتر از این هم داریم که در الکترونیک مورد استفاده قرار میگیرند در قسمتهای بعدی توضیحیهاتی راجع به این واحد ها و موارد استفاده آنها داده میشه.



 

2-کنترلر : که همه معنی و مفهومشو میدونین . یعنی کنترل کننده به تعبیری یعنی "مغز " البته بدون تفکر فقط دستوراتی که به اون داده میشه به نحو احسن انجام میده.



 

حالا چرا این کلمات ؟


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


(البته من این تعاریف رو بر مبنای نظر خودم از میکرو گفتم و خودم اونو تو هیچ جایی ندیدم شاید اصلا این کلمه به خاطر چیز دیگست اگر دوستان میدونن لطف کنن خوشحال میشم)



 


 

حالا نحوه انجام دادن کار میکروکنترلر را به صورت کلی بررسی میکنیم :



 

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


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



 

ساختمان دخلی میکروکنترلر:


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



 


 

تفاوت میکروپروسسور و میکروکنترلر:


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



 

آیا میکروکنترلر چیز جدیدی را با خود آورده است ؟


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



 

عیب میکروکنترلر:


میکروکنترلر با این همه مزایا که گفتیم دارای یک عیب کوچیک است .و آن سرعت پایین ! است آیا سرعتی معادل یک ملیونیوم ثانیه سرعت کمی است ؟ سرعت کمی نیست ولی       یک مثال شاید بحثو بهتر باز کند


یک گیت منطقی رو در نظر بگیرین که با توجه به ورودی خروجیشو تنظیم مکنه سرعت عمل این گیت منطقی 10 به توان منفی 9 ثانیه است یعنی نانو ثانیه ولی اگر ما بخواهیم این گیت رو با میکروکنترلر کار کنیم سرعتی معادل میکرو ثانیه داریم پس از لحاظ سرعت برای کاربردهای خیلی محدودی میکروکنترلر مناسب نیست.


اگر کسی از دوستان عیب دیگری از میکروکنترلر میدونه لطف کنه ممنون میشم.



 

خب حالا این میکروکنترلر را با این همه کاربرد کی ساخته؟


حدود 4 دهه پیش در سال 1971 میلادی شرکت اینتل اولین میکروکنترلر را ساخت و اولین میکروکنترلر را با نام 8080 در اوایل سال 1980 روانه بازار کرد .همین شرکت اینتلی که الان در ساخت cpu  یکه تاز دنیاست .اما بعدا این امتیاز رو به شرکت های دیگری واگذار کرد و شرکت های زیادی در حال حاضر میکروکنترلر های مختلف تولید میکنند .


S7-400-1 - پاسخ : آشنایی با میکروکنترلر  - متا

آفلاین امیر شهباززاده

xx - پاسخ : آشنایی با میکروکنترلر  - متا
پاسخ : آشنایی با میکروکنترلر
« پاسخ #3 : ۱۰ اسفند ۱۳۸۸ - ۲۳:۳۰:۱۸ »
بخش چهارم

پروگرامر AVR   

اين يه پروگرامر avr كه هم سادس هم با همه آي سي هاي AVR كار مي كنه هم كم حجم هم با ويندوز XP سازگار هم نياز به سخت افزار زيادي نداره مي تونين با تمام كمپايلرها هم استفاده كنين

خوب اين پروگرامر رو ابتدا دانلود كنين بعد نتقشه اي كه توي Help ش و جود داره رو بسازيد البته اول بايد Help رو انگليسي كنيد همون بالاي صفحه هلپ هست بعد هم من پيشنهاد مي كن نقشه پروگرامر STK300رو بسازيد همون آخرين نقشه البته فرقي نمي‌كنه ولي اين با نرم افزار هاي بيشتري سازگاره

بعد از نصب نوع پروگرامر رو متناسب با پروگرامري كه داريد از منوي Seting تنظيم كنيد اگه نمي بينيدش بعد از اجراي برنامه Alt+Space رو بگيريد با فشار دكمه Config بايد شماره IC رو تشخيص بده كه اگه اين اتفاق افتاد همه چيز درسته اگه هم نشناخت يه بار ديگه همه چيز رو چك كنيد يادتون نرفته زمين ها رو يكي كنيد و مطمئن باشيد كه برنامه درسته و حتما شما يه جايي اشتباه كرديد البته اگه از Win XP استفاده مي كنيد يادتون باشه كه NT Drive را بايد راه اندازي كنيد توي هلپش كامل توضيح داده

1.  Copy UserPort.sys to %windir%system32drivers
2.  Run UserPort.exe to set the port range you wish to open.
    Standard LPT addresses are:
    LPT1: $378 ($378 - $37A)
    LPT2: $278 ($278 - $27A)
    LPT3: $3BC ($3BC - $3BE)
b. Push "Update" button once if You made changes2
3.  Push "Start" button
4.  Now You can run TwinAVR
5.  If You like You can now push "Stop" in UserPort.exe


آشنایی با میکروکنترلر
PIC 16f84

میکروکنترلر در واقع یک کامپیوتر تک تراشه ای کوچک است به این معنی که کل سیستم کامپیوتر مانند CPU، RAM، ROM، خطوط(Input/Output) I/O،(Analog/Digital) A/D،(Digital/Analog) D/A، پورت های سریال و موازی، تایمر و ... داخل یک تراشه یا IC  (Integrated Circuit) جای داده شده است. میکروکنترلر ها قابلیت ذخیره سازی و اجرای برنامه را دارند و می توانند عملیات ریاضی و منطقی را نیز انجام دهند و همچنین در مورد وضعیت خطوط ورودی و خروجی تصمیم گیری نمایند.امروزه تراشه ها در بسیاری از لوازم و وسایل زندگی روزمره و حتی امنیتی کاربرد وسیعی یافته اند و علاوه بر آن در طراحی و اجرای پروژه ای تحقیقاتی و علمی از جمله رباتیک و کنترل استفاده می شوند.

یکی از شرکتهای ساخت میکروکنترلر Microchip Technology می باشد که محصولات آن تحت نام کلی PIC ارائه می شوند. (Programmable Interface Controller)

این نوع تراشه ها در انواع 8 و 18 و28 و 40 و 64 و 80  پایه موجود می باشند.


برتری های PIC

1-     قابلیت برنامه نویسی با زبان سطح بالا که مشکلات کار با زبان ماشین یا اسمبلی را ندارد. به راحتی با زبان برنامه نویسی مشابه Basic  می توان PIC  را برنامه ریزی کرد.

2-     سرعت اجرای بالای برنامه ها، زیرا برنامه ها به زبان ماشین در PIC  بارگذاری شده اند و با سرعت بالایی اجرا می شوند.

3-     سادگی و قیمت مناسب

 

مشخصات سخت افزاری

ما در اینجا بیشترPIC 16f84  را مورد بررسی قرار می دهیم که دارای 18 پایه می باشد و کاربرد وسیعی را دارد و 13 پایه به عنوان ورودی و خروجی در اختیار ما می گذارد.این تراشه دارای دو پورت   A(5 pin) و B(8 pin)  می باشد که بر حسب نیاز می توان آن ها را خروجی یا ورودی تعریف کرد. هر کدام از پایه ها بر حسب شماره در زیر معرفی شده اند:


1- بیت سوم  پورت A :    RA2

2- بیت چهارم پورت A :   RA3

3- بیت پنجم پورت A :   RA4

4- MCLR برای Reset کردن بوده و در حالت عادی عکس می باشد یعنی باید به منبع ولتاژ وصل باش

5- vss  (GND)

6- بیت اول پورت B :         RB0

7- بیت دوم پورت B :        RB1

8- بیت سوم پورت B :      RB2

9- بیت چهارم پورت B :     RB3

10- بیت  پنجم پورت B :   RB4

11- بیت ششم پورت B :  RB5

12- بیت هفتم پورت B :   RB6

13- بیت هشتم پورت B : RB7

14-vdd  (VCC)

15 و 16-  برای اتصال به یک نوسان ساز(مانند کریستال)
18- بیت دوم پورت A :     RA1

17- بیت اول پورت A :    RA0


آفلاین امیر شهباززاده

xx - پاسخ : آشنایی با میکروکنترلر  - متا
پاسخ : آشنایی با میکروکنترلر
« پاسخ #4 : ۱۰ اسفند ۱۳۸۸ - ۲۳:۳۴:۲۵ »
بخش پنجم[/b]


ساختار حافظه

میکروکنترلرهای PIC از نظر نوع حافظه به 4 دسته تقسیم می شوند :

1- دارای حافظه از نوع  Flash هستند : آی سی هایی که دارای حرف F هستند  مانند 16F84
2- دارای حافظه از نوع EPROM هستند : آی سی هایی که دارای حرف C یا CE هستند  مانند 16C84 -16CE625
3-دارای حافظه از نوع ROM هستند :آی سی هایی که دارای حرف CR هستند  مانند 16CR84
4-دارای حافظه از نوع EEPROM هستند .

همچنین آی سی هایی که دارای حرف L هستند دارای رنج ولتاژ گسترده ای هستند .



   پروگرامر چیست؟ چگونه یک پروگرامر PIC بسازیم
   میکرو کنترل ها



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

 

این برنامه ها بسته به نوع میکروکنترلری که استفاده می کنیم می تواند در کامپایلرهای مختلفی نوشته شوند و آن کامپایلر برنامه را پس از رفع عیب، کامپایل یا اصطلاحاً به زبان ماشین  ترجمه می نماید و یک فایل از برنامه که به زبان ماشین یا همان صفر و یک هاست به ما تحویل می دهد:



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

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

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







1) معرفی انواع میکروکنترلر
2) مزایا و معایب میکروکنترلر های مختلف نسبت به هم
3) پروگرام میکروکنترلر

معرفی انواع میکروکنترلر


تمام میکروکنترلرها جزء این 5 قسمت هستنند:
1) 8051
2) Pic
3) Avr
4) 6811
5) Z8

البته مدل های 6811 ساخت شرکت موتورلا و z8 ساخت شرکت زایلوگ حداقل در ایران خیلی کم استفاده می شوند و رقابت اصلی بین سه نوع دیگر است.
تا به امروز هر میکروکنترلری که ساخته شده زیر مجموعه یکی از این5 نوع است. البته کارخانه های خیلی زیادی با مارک های مختلف میکرو کنترلر تولید میکنند ولی همه اونها زیر مجموعه یکی از این 5 قسمت هستنند .شما برای هر کدام از این5 نوع میکروکنترلر میتوانید میکروکنترلر های مختلفی از شرکت های مختلفی را پیدا کنید.(البته در بازار ایرن کمی با مشکل).
اما خوشبختانه همه میکروکنترلر هایی که جزء هر کدام از 5 نوع بالا باشند از یک برنامه پیروی میکنند. بدین معنا که اگر شما کار با یکی از مدل های آن میکرو را یاد گرفته باشید مثل اینکه کار با تمام میکروکنترلرهای آن نوع را یاد گرفته اید.مثلا شما اگر با یکی از مدل های میکروکنترلر avr مثلا atmega8 را یاد گرفته باشید دیگر با صد ها مدل دیگر میکروکنترلر avr مشکلی ندارید وتقریبا بدون هیچ مشکلی میتوانید با دیگر مدل های این میکرو کار کنید.
اما یه مشکل که در میکروکنترلر ها وجود دارد این است که این5 نوع از لحاظ برنامه نویسی به هیچ وجه با هم دیگر سازگاری ندارند . به طور مثال اگر شما میکروکنترلر های avr و 8051 را کامل یاد گرفته باشید حتی ساده ترین برنامه رو روی یک میکروکنترلر pic نمیتوانید اجرا کنید. واین یکی از بزرگترین عیب و مشکل برای یاد گیری میکرو است .بنابراین از همون اول باید یک انتخاب درست داشته باشید و میکروکنترلر مناسب را برگزینید تا با یادگیری آن میکروکنترلر بتوانید بعدا به سادگی پروژه های خود را اجرا کنید . البته بسیاری از دوستان هستنند که کار با چند میکروکنترلر را میدونند و حتما این هم از هوش بالای ایرانی هاست. ولی اگر به صورت خیلی حرفه ای نخواهید وارد این بحث بشوید باید یکی از این میکروکنترلرها را انتخاب کنید و کار با آن را آغاز کنید.

معایب و مزایای میکروکنترلر های مختلف نسبت به هم


از آن جای که 6811 و z8 خیلی کمتر استفاده میشوند به معرفی سه نوع دیگر میپردازم.

1) : اول از 8051 که اولین میکروکنترلری بود که به دست بشر ساخته شد شروع میکنیم . همانطور که در مقاله قبلی گفته شد ابتدا این میکروکنترلر توسط شرکت بزرگ intel ساخته شد .اما بعدا intel این امکان را به دیگر شرکت ها داد که این میکروکنترلر را تولید کنند و شرکت هایی مانند ATMEL , PHILIPS , SIEMENS , DALLAS و... به تولید این میکروکنترلر پرداختنند یکی از شرکت هایی که به صورت گسترده به تولید این تراشه پرداخت ATMEL بود که مدل های مختلف میکروکنترلر ساخت این شرکت در سرار جهان و در ایران به خوبی یافت می شود. اما اگربخواهیم به صورت کلی سیر پیشرفت این نوع میکروکنترلر رو در نظر بگیریم اولین میکروکنترلر هایی که ساخته شد با جدیدترین میکروکنترلرهای 8051 که الان تولید میشود با توجه به این پیشرفت شگفت در تمام زمینه ها که صنایع دیگر در دنیا دارند پیشرفت زیادی ندارد به طور مثال AT89S5X که میکروکنترلر 8051 جدید ساخت ATMEL است نسبت به مدل های اولیه 8051 پیشرفت آنچنانی ندارد . امکانات این میکرو نسبت به AVR و PIC قابل مقایسه نیست . به صورتی که که همین مدل جدید 8051 تقریبا حافظه ای برابر یک صدم (0.001 ) میکروکنترلر های AVR را دارد و سرعتش 4 برابر کمتر از میکروکنترلر های PIC و 12 بار کمتر از میکروکنترلر های AVR است . از لحاظ امکانات دیگر هم چنین ضعفی احساس میشود. اما برای کارهای ساده تر که پیچیدگی زیادی در آن نباشد به خاطر قیمت بسیار پایینی که این میکروکنترلر دارد بسیار مناسب است . قیمت همین مدل جدید AT89S5X حول و حوش 1000 تومان است که قیمت بسیار مناسبی است.
این میکرو کنترلر از زبان اسمبلی و C پشتیبانی میکند که زبان برنامه نویسی اصلی آن اسمبلی است که واقعا نوشتن با این زبان برنامه نویسی نسبت به زبان های برنامه نویسی دیگر هم مشکل تر و هم طولانی تر است. در کل این میکروکنترلر امروزه دیگر توانای رقابت با AVR و PIC رو ندارد و امروزه رقابت اصلی بین این دو میکروکنترلر است.

2) میکروکنترلر PIC
واقعا میکروکنترلر خیلی قوی است که بر اساس بعضی آمار ها بیشترین کاربر را به خود اختصاص داده است البته متذکر شوم که در ایران این آمار به نفع AVR است. این میکروکنترلر ساخت شرکت میکرو چیپ است که PIC رو در مدل های خیلی زیادی با امکانات مختلف برای کارهای مختلف میسازد . این میکروکنترلر با مدل های مختلفPIC16XXX و PIC12XXXX که به جای X دوم از چپ به راست حروف C ,X,E,F قرار میگره که هر کدام مفهوم خاصی داره که چون بحث ما آموزش AVR است از روی اون سریع میگزریم X های بعدی هم اعدادی هستنند که نشان دهنده مدل های مختلف هستنند.

3)میکروکنترلر AVR
به میکروکنترلر AVR میرسیم که به نظر من و خیلی از دیگر بهترین میکروکنترلر موجود در بازار است البته خود من با 8051 و AVR بخصوص AVR خیلی کار کردم ولی تجربه ای با PIC ندارم و قضاوت من ممکنه یه طرفه باشه ولی این نظر بسیاری از کسانی است که با AVR کار کرده اند .به دلایلی.....
اول از همه سرعت این میکروکنترلر بسیار بالاست و به قولی دستوراتی که بهش داده میشه در یک سیکل کلاک انجام میده در صورتی که این سیکل کلاک برای 8051 باید تقسیم بر12شودو برای PIC باید تقسیم بر 4 بنابراین AVR سریعترین میکروکنترلر موجود در بازار است . AVR از زبان های برنامه نویسی سطح بالا یا به اصطلاح (HIGH LEVEL LANGUAGE) HLL پشتیبانی میکند که باعث تولید کدهای بیشتری میشود که در کل برنامه نوشته شده نسبت به برنامه هایی که برای 8051 و PIC نوشته میشود کوتاهتر است. امکانات جانبی این میکروکنترلر بسیار مناسب است و شما را از خرید بعضی لوازم جانبی مانند چیپ های آنالوگ به دیجیتال (ADC) , مقایسه گر آنالوگ و... راحت میکند .در ضمن AVR از بسیاری از استاندارد های ارتباطی مانند SPI,UART,12C,JTAG پشتیبانی میکند که به راحتی میتوان این میکروکنترلر را با میکروکنترلر دیگر یا و سایل دیگر وصل کرد و با وسایل دیگر به راحتی ارتباط برقرار کند. قیمت این میکروکنترلر هم به نسبت امکانات فراوانی که داره بسیار پایین است به طوری که یک میکروکنترلر AVR تقریبا پیشرفته رو با قیمت حول و حوش 3 تا 4 هزار تومان خرید .
خلاصه من که خیلی با این میکرو ور رفتم و پروژه های خیلی زیاد و پیچیده ای رو باهاش اجرا کردم بسیار راضی هستم و هیچ مشکلی باهاش نداشتم.اگر هم مشکلی بوده از جانب من بوده نه میکروکنترلر . خلاصه اگر برنامه نویسی و کار با این میکروکنترلر رو خوب یاد بگیرید هر کاری رو میتونید باهاش انجام بدید.


پروگرام میکروکنترلر


شاید تا حالا به نظرتون رسیده باشه که این میکروکنترلر رو چگونه میشه برنامه ریزی کرد تا کار مورد نظرمان را انجام بده در صورتی که یک میکروکنترلر برنامه ریزی نشده هیچ کاری رو نمیتونه انجام بده و هیچ کاربردی نداره در واقع برنامه هر میکرو روح وجانی است که در اون دمیده میشه و اون رو زنده میکنه

برای برنامه ریزی میکروکنترلر نیاز به دستگاه یا بردی هست به نام پروگرامر که یه پل ارتباطیه بین کامپیوتر و میکروکنترلر . پروگرامر را هم میشه از بازار تهیه کرد و هم میشه اون رو ساخت.
البته پروگرامرهای مختلفی در بازار هستنند که متانسب با کاربردشان قیمت های مختلفی دارند بعضی ها فقط چند مدل رو پروگرام میکنند بعضی از پروگرامر ها همه فن حریفند و تمام میکروکنترلر های 8051,AVBR , PIC , رو برنامه ریزی میکنند به طبع قیمت زیادتری دارند.
اما میشه براحتی برای میکروکنترلری که داریم یه پروگرامر ساخت اغلب نقشه هایی هستنند که میشه یه پروگرامر ساخت که در همین سایت آقا حامد نقشه مدل STK300-200 رو توضیح داده.
ولی توصیه من اینه که خودتون رو به دردسر نندازین و برای همیشه یه پروگرامر بخرین ارزششو داره چون همیشه کاربرد داره و همیشه به اون احتیاج دارین.


DSC06118 - پاسخ : آشنایی با میکروکنترلر  - متا


اشتراک گذاری از طریق facebook اشتراک گذاری از طریق linkedin اشتراک گذاری از طریق twitter

xx
آشنایی با IP-TV

نویسنده اکبرزاده

0 پاسخ ها
895 مشاهده
آخرين ارسال ۲ آذر ۱۳۸۹ - ۱۰:۴۳:۰۲
توسط اکبرزاده
xx
آشنایی با جی پی اس و نحوه کار با آن

نویسنده اکبرزاده

0 پاسخ ها
1890 مشاهده
آخرين ارسال ۲ آذر ۱۳۸۹ - ۱۰:۴۶:۴۹
توسط اکبرزاده
xx
آشنایی کامل با usb

نویسنده امیر شهباززاده

0 پاسخ ها
2268 مشاهده
آخرين ارسال ۱۰ اسفند ۱۳۸۸ - ۲۳:۰۲:۰۵
توسط امیر شهباززاده
xx
آشنایی با پادکست

نویسنده اکبرزاده

0 پاسخ ها
856 مشاهده
آخرين ارسال ۲ آذر ۱۳۸۹ - ۱۰:۴۵:۰۱
توسط اکبرزاده
xx
آشنایی با Bluetooth و کارکرد آن

نویسنده اکبرزاده

0 پاسخ ها
842 مشاهده
آخرين ارسال ۲ آذر ۱۳۸۹ - ۱۰:۴۲:۱۹
توسط اکبرزاده
xx
آشنایی با سازمان مدیالب آسیا

نویسنده اکبرزاده

0 پاسخ ها
897 مشاهده
آخرين ارسال ۲ آذر ۱۳۸۹ - ۱۰:۴۷:۳۴
توسط اکبرزاده