لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 7
میکروکنترلر چیست: میکروکنترلر رو درواقع می توان یه کامپیوتر کوچولو در قالب یه چیپ برای کنترل وسایل الکترونیکی (در اینجا ربات) تلقی کرد. تفاوت میکروکنترلر با میکروپروسسور در اینه که میکروکنترلر دارای یک CPU ٫مقدار محدودی RAM ٬ ROM ٬ پورت های I/O و تایمر در درون خود می باشد در صورتی که میکروپروسسور فقط یه CPU هست و شما باید RAM, ROM ,... رو به صورت اجزای جانبی به اون متصل کنید (درست مثل CPU کامپیوتر). برای همین میکروکنترلرها تک منظوره ولی میکروپروسسورها همه منظوره هستند. با این تفاسیر میکروکنترلرها دارای کارایی های خاص خودشون مثلا در ماشین لباسشویی٬ ماکروویو٬ تلفن و البته ربات هاو... هستند یعنی جایی که استفاده از میکروپروسسور نه از نظر کارایی و نه از نظر اقتصادی عقلانیه
مقاله: راجع به میکروکنترل ها
ارسال شده در سه شنبه 8 اسفند ماه 1385 توسط WhiteApple
سیر تکاملی میکرو کنترلرها: اولین میکرو کنترلرها در اواسط دهه 1970 ساخته شدند. این میکرو کنترلرها در ابتدا پردازنده های ماشین حساب بودند که دارای حافظه برنامه کوچکی از نوع ROM ، حافظه داده از نوع RAM و تعدادی درگاه ورودی/خروجی بودند. با توسعه فناوری سیلیکون ، میکرو کنترلرهای 8 بیتی قویتری ساخته شدند. در این میکرو کنترلرها علاوه بر بهینه شدن دستورالعمل ها، تایمر/شمارنده روی تراشه، امکانات وقفه و کنترل بهینه شده خطوطI/O نیز به آنها اضافه شده است. حافظه موجود بر روی تراشه هنوز هم محدود می باشد و دربسیاری موارد کافی نیست.یکی از پیشرفتهای قابل توجه در آن زمان، قابلیت استفاده از حافظة EPROM قابل پاک شدن با اشعه ماورا بنفش، روی تراشه بود. این قابلیت، زمان طراحی و پیاده سازی محصول را بطور محسوسی کاهش داد و نیز برای اولین بار امکان استفاده از میکرو کنترلر ها را در کاربردهایی که حجم تولید پایینی دارند، فراهم ساخت.
خانواده8051 در اوایل دهه 1980 توسط شرکت اینتل معرفی گردید. از آن زمان تاکنون8051 یکی از محبوبترین میکرو کنترلرها بوده و بسیاری از شرکتها دیگر نیز به تولید آن اقدام کرده اند. در حال حاضر مدل های مختلفی از 8051 وجود دارد که در بسیاری از آنها امکاناتی نظیر مبدل آنالوگ به دیجیتال حجم نسبتاً بزرگ از حافظه برنامه و حافظه داده، مدولاتور عرض پالس (PWM) در خروجیها و حافظه فلشFlash)) که امکان پاک کردن و برنامه ریزی مجدد آن توسط سیگنالهای الکتریکی وجود دارد، تعبیه شده است.
میکرو کنترلرها اکنون به سمت 16 بیتی شدن در حرکت هستند. میکرو کنترلر های 16 بیتی، پردازنده هایی با کارایی بالا (نظیر پردازش سیگنالهای دیجیتال ) می باشند که در کنترل فرایندهای بلادرنگ و در مواردی که حجم زیادی از عملیات محاسباتی مورد نیاز است، به کار برده می شوند.
بسیاری از میکرو کنترلرهای 16 بیتی، امکاناتی نظیر حجم زیاد حافظه برنامه و حافظه داده، مبدل های آنالوگ به دیجیتال چند کانالی، تعداد زیادی درگاه I/O، چندین درگاه سریال، عملکردهای بسیار سریع ریاضی و منطقی و مجموعه دستورالعمل های بسیار قدرتمند با قابلیت پردازش سیگنال را دارا می باشند.
معماری داخلی میکرو کنترلرها
ساده ترین معماری میکرو کنترلر، متشکل از یک ریز پردازنده، حافظه و درگاه ورودی/خروجی است. ریز پردازنده نیز متشکل از واحد پردازش مرکزی (CPU) و واحد کنترل (CU) است.
CPU درواقع مغز یک ریز پردازنده است و محلی است که در آنجا تمام عملیات ریاضی و منطقی ،انجام می شود. واحد کنترل ، عملیات داخلی ریز پردازنده را کنترل می کند و سیگنال های کنترلی را به سایر بخشهای ریز پردازنده ارسال می کند تا دستورالعمل ها ی مورد نظر انجام شوند.
حافظه بخش خیلی مهم از یک سیستم میکرو کامپیوتری است. ما می توانیم بر اساس به کارگیری حافظه، آن را به دو گروه دسته بندی کنیم: حافظه برنامه و حافظه داده . حافظه برنامه ، تمام کد برنامه را ذخیره می کند. این حافظه معمولاً از نوع حافظه فقط خواندنی (ROM) می باشد. انواع دیگری از حافظه ها نظیر EPROM و حافظه های فلش EEPROM برای کاربردهایی که حجم تولید پایینی دارند و همچنین هنگام پیاده سازی برنامه به کار می روند . حافظه داده از نوع حافظه خواندن / نوشتن (RAM) می باشد . در کاربردهای پیچیده که به حجم بالایی از حافظه RAM نیاز داریم ، امکان اضافه کردن تراشه های حافظه بیرونی به اغلب میکرو کنترلر ها وجود دارد.
درگاهها ورودی / خروجی (I/O )به سیگنال های دیجیتال بیرونی امکان می دهند که با میکرو کنترلر ارتباط پیدا کند. درگاههای I/O معمولاً به صورت گروههای 8 بیتی دسته بندی می شوند و به هر گروه نیز نام خاصی اطلاق می شود. به عنوان مثال ، میکروکنترلر 8051 دارای 4 درگاه ورودی / خروجی 8 بیت می باشد که P3, P2, P1, P0 نامیده می شوند. در تعدادی از میکرو کنترلر ها ، جهت خطوط درگاه I/O قابل برنامه ریزی می باشد. لذا بیت های مختلف یک درگاه را می توان به صورت ورودی یا خروجی برنامه ریزی نمود. در برخی دیگر از میکروکنترلرها (از جمله میکروکنترلرهای 8051) درگاههای I/O به صورت دو طرفه می باشند. هر خط از درگاه I/O این گونه میکرو کنترلرها را می توان به صورت ورودی و یا خروجی مورد استفاده قرار داد . معمولاً ، این گونه خطوط خروجی ، به همراه مقاومتهای بالا کش بیرونی به کار برده می شوند.
خانواده 8051
خانواده 8051 یک خانواده میکرو کامپیوتر (میکرو کنترلر ) 8 بیتی تک تراشه ای استاندارد است که بسیار محبوب و عامه پسند می باشد و توسط سازندگان مختلف با قابلیت های متفاوت تولید می گردد. این آی سی استاندارد اصلی که اولین عضو این خانواده می باشد، 8051 است که یک میکرو کنترلر 40 پایه می باشد.
هم اکنون این آی سی با پیکربندی های مختلف موجود می باشد. 80C51 نوع cmos و کم مصرف این خانواده است. 8751 دارای حافظه برنامه از نوع EPROM است که عمدتاً در هنگام پیاده سازی به کار برده می شود.
89c51 نیز دارای حافظه فلش قابل برنامه ریزی و پاک شدن (PEROM) است لذا بدون نیاز به پاک کردن با اشعه ماورابنفش ، می توان حافظه برنامه را برنامه ریزی کرد.8052 عضو بهینه شده این خانواده می باشد و حافظه RAM آن بیشتر بوده و تعداد تایمر/شمارنده آن نیز بیشتر است. انواع مختلفی از خانواده 40 پایه وجود دارد که دارای مبدل های آنالوگ به دیجیتال ، مدولاتورهای عرض پالس و نظایر آن هستند. در بخش پایین خانواده 8051 ، میکرو کنترلر های 20 پایه قرار دارند که از لحاظ کد ، سازگاری کاملی با انواع 40 پایه دارند و این ادوات 20 پایه برای کاربردهایی با پیچیدگی کمتر که نیاز به خطوط I/O کمتری دارند و نیز برای کاربردهایی که باید مصرف توان کمتری داشته باشند (مثل سیستم های قابل حمل)،ساخته شده اند.
آی سی های AT89C2051 و AT89C1051 (ساخت شرکت Atmel)چنین میکرو کنترلرهایی هستند که از لحاظ کد سازگاری کاملی با خانواده 8051 دارند و مصرف توان آنها نیز کمتر است.
معرفی میکروکنترلرها:
به آی سی هایی که قابل برنامه ریزی می باشد و عملکرد آنها از قبلتعیین شده میکروکنترلرگویند میکرو کنترل ها دارای ورودی - خروجی و قدرت پردازش میباشد.
بخشهای مختلفمیکروکنترلر:
میکروکنترلر ها از بخشهای زیر تشکیل شده اند:
Cpu واحد پردازش
Alu واحد محاسبات
I/O ورودی ها و خروجیها
Ram حافظه اصلی میکرو
Rom حافظه ای که برنامه روی آن ذخیره میگردد
Timer برای کنترل زمان ها
و . . .
خانواده های معروف میکروکنترلر:
خانواده Pic - AVR - 8051
میکروکنترلر چگونه برنامه ریزی میشود:
میکروکنترلرها دارایکامپایلرهای خاصی می باشد که با زبان های Assembly basic, c می توان برای آنهابرنامه نوشت سپس برنامه نوشته شده را توسط دستگاهی به نام programmer که در ایندستگاه ای سی قرار می گیرد و توسط یک کابل به یکی از در گاه های کامپیوتر وصل میشود برنامه نوشته شده روی آی سی انتقال پیدا میکند و در Rom ذخیره می شود.
با میکروکنترلر چه کارهایی میتوان انجام داد:
این آی سی ها حکم یک کامپیوتر در ابعاد کوچک وقدرت کمتر را دارند بیشتر این آی سی ها برای کنترل و تصمیم گیری استفاده می شود چونطبق الگوریتم برنامه ی آن عمل می کند این آی سی ها برای کنترل ربات ها تا استفادهدر کارخانه صنعتی کار برد دارد.
امکانات میکروکنترلرها:
امکاناتمیکرو کنترلرها یکسان نیست و هر کدام امکانات خاصی را دارا می باشند و در قیمت هایمختلف عرضه می شود.
__________________
شروع کار با میکرو کنترلر:
برای شروع کار با میکرو کنترلر بهتر است که یکزبان برنامه نویسی مثل c یا basic را بیاموزید سپس یک برد programmer تهیه کرده وبرنامه خود را روی میکرو ارسال کنید سپس مدار خود را روی برد برد بسته و نتیجه رامشاهده کنید.
چنان چه در مدارهای الکترو نیکی تجربه ندارید بهتر است ازبرنامه های آ موزش استفاده کنید.
مقایسه خانواده های مختلف میکرو وکنترلرها:
خانواده 8051 :
این خانواده از میکرو کنترولر ها جزو اولیننوع میکرو کنترولر ها یی بود که رایج شده و جزو پیشکسوتان مطرح میشود . معروف ترینکامپایلر برای این نوع میکرو keil یا franklin می باشد میکرو های این خانواده بهنوسان ساز نیاز مند هستند و درمقابل خانواده pic یا AVR از امکانات کمتری برخور دارمی باشد معروف ترین آی سی ها این خانواده 89S51 یا 89C51 می باشد .
خانواده AVR :
این خانواده از میکرو کنترلرها تمامی امکانات 8051 را دارا می باشد وامکاناتی چون (ADC مبدل آنالوگ به دیجیتال) – نوسان ساز داخلی و قدرت و سرعت بیشتر (EEPROM _ حافظه) از جمله مزایای این خانواده می باشد مهم ترین آی سی این خانواده Tiny و Mega است.
خانوادهpic :
این خانواده از نظر امکانات مانند AVR میباشد و در کل صنعتی تر است .
لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 13
میکروکنترلر چیست؟
میکروکنترلر چیست؟
قطعه ای که این روزها دارد جای خود را در خیلی از وسایل الکتریکی باز میکند .از تلفن گرفته تا موبایل از ماوس لیزری که الان دستتان روی آن است و دارین باهاش کامپیوتر رو کنترل میکنید تا هر وسیله ای که بتوان پیچیدگی رو در اون دید میتونید یک میکروکنترلر رو ببینید .
کلمه میکروکنترلر:
این کلمه از دو کلمه 1- میکرو -2 کنترلر تشکیل شده
کرو : میدونین که این یک واحد یونانی است و برابر با 10 به توان منفی 6 متر است. یعنی یک ملیونیوم متر واحده خیلی کوچیکیه نه....ولی واحدهای خیلی کوچیکتر از این هم داریم که در الکترونیک مورد استفاده قرار میگیرند در قسمتهای بعدی توضیحی هاتی راجع به این واحد ها و موارد استفاده آنها داده میشه.
*کنترلر : که همه معنی و مفهومشو میدونین . یعنی کنترل کننده به تعبیری یعنی "مغز " البته بدون تفکر فقط دستوراتی که به اون داده میشه به نحو احسن انجام میده.
حالا چرا این کلمات ؟
به نظر من کلمه میکرو به دو منظور استفاده شده منظور اول و مهم سرعت عمل میکروکنترلر است که میتواند تا یک ملیونیوم ثانیه باشد و دستوارتی که به اون میدیم با این سرعت انجام بده به همین خاطر واژه میکرو رو به اون اختصاص دادن البته معنی دوم آن شاید کوچیکی این قطعه باشد که تا یک ملیونیوم متر کوچیک شده شاید باور کردنی نباشه ولی در یک تراشه ممکنه بیش از یک ملیون تراتزیستور به کار رفته باشه. این کلمه وقتی اهمیتش کامل میشه که با واژه کنترلر عجین بشه تا معنیش کامل بشود.
حالا نحوه انجام دادن کار میکروکنترلر را به صورت کلی بررسی میکنیم :
تا حالا همه شما با ماشین حساب کار کردین تا حالا به نحوه کار کردنش فکر کردین شما اطلاعاتتون را که همون عملیات ریاضی هست به وسیله صفحه کلید به اون میدید بعد ماشین حساب این اطلاعات رو بر مبنای دستوراتی که قبلا به اون داده شده پردازش میکند و جواب را رویlcd نمایش میدهد. در واقع یک میکروکنترلر برنامه ریزی شده به عنوان مغز ماشین حساب این اطلاعات یا داده رو از صفحه کلید میگیره روشون پردازش انجام میده و بعد بر روی lcd نمایش میده.
کار میکروکنترلر دقیقا مشابه این است میکرو کنترلر بر مبنای یک سری ورودی که به اون داده میشه مثلا این ورودی از یک سنسور دما باشه که درجه حرارت رو میگه یا از هر چیز دیگه مثل صفحه کلید بر مبنای این ورودی ها و برنامه ای که قبلا ما به اون دادیم خروجیشو تنظیم میکنه که ممکنه خروجیش یک موتور باشه یا یک lcd یا هر چیز دیگری که با الکتریسیته کار بکند. حالت دیگری هم میتونه باشه که فقط میکروکنترلر بر مبنای برنامه ای که به اون دادیم عمل کند و خروجیش رو فقط بر اساس برنامه بگیرد.
ساختمان داخلی میکروکنترلر:
کامپیوتری که الان بر روی اون دارین کار انجام میدین دارای یک پردازنده مرکزیه به نام cpu که از کنار هم قرار گرفتن چندین ملیون ترانزیستور تشکیل شده و بر روی اطلاعات پرداژش انجام میده . میکرو کنترلر هم عینا دارای یک پردازنده مرکزی به نام cpu است که دقیقا کار cpu کامپیوتر رو انجام میده با این تفاوت که قدرت و سرعت پردازشش از cpu کمتره که به اون میکروپرسسور میگن در بخش بعدی فرق میکرو پرسسور و میکروکنترلر را بررسی میکنیم. میکروکنترلر علاوه بر cpu دارای حافظه است که ما برنامه ای که بهش میدیم در اون قرار بگیره در کنار حافظه در میکروکنترلرهای امروزی تایمرها برای تنظیم زمان کانتر ها برای شمردن کانال های آنالوگ به دیجیتال پورت های برای گرفتن و دادن اطلاعات و امکاناتی دیگر که بعدا مفصل راجع به هر کدام توضیح داده میشه تشکیل شده و همه اینها در یک چیپ قرار گرفته که تنکنولوژی جدید اونو تو یک تراشه به اندازه یک سکه قرار داده.
تفاوت میکروپروسسور و میکروکنترلر:
میکروپرسسور همانطور که گفته شد یک پردازنده است و برای کار باید به آن چیپ های حافظه و چیز های دیگری را به اون اضافه کرد این امکان به درد این میخورد که بر حسب کارمان حافظه مناسب و دیگر قطعات را مانند تایمرها و غیره به صورت بیشتری استفاده کنیم ولی مدار خیلی پیچیده میشود و از لحاظ هزینه هم هزینه بیشتر میشود به همین دلیل امروزه از میکروپرسسورها کمتر استفاده میشود اما این روزها میکرو کنترلر های جدید با حافظه های زیاد تعداد تایمر زیاد پورت های زیاد و تنوع بسیار زیاد انها بر حسب این امکانات دست ما را باز گذاشته است تا دیگر میکروپرسسورها را فراموش کنیم.
آیا میکروکنترلر چیز جدیدی را با خود آورده است ؟
جواب منفی است تمام کارهایی که ما با میکروکنترلر میتوانیم انجام بدهیم با قطعات دیگر هم میتوانیم انجام بدهیم چون ما قبلا هم تایمر داشتیم هم کانتر هم حافظه هم پردازنده و... . در واقع میکروکنترلر قطعه ای است با تمام این امکانات که به صورت یک آی سی آماده شده است و هزینه پیچیدگی و حجم را به نحوه قابل ملاحضه ای کاهش میدهد.
عیب میکروکنترلر:
میکروکنترلر با این همه مزایا که گفتیم دارای یک عیب کوچیک است .و آن سرعت پایین ! است آیا سرعتی معادل یک ملیونیوم ثانیه سرعت کمی است ؟ سرعت کمی نیست ولی یک مثال شاید بحث و بهتر باز کند. یک گیت منطقی رو در نظر بگیرین که با توجه به ورودی خروجیش و تنظیم مکنه سرعت عمل این گیت منطقی 10 به توان منفی 9 ثانیه است یعنی نانو ثانیه ولی اگر ما بخواهیم این گیت رو با میکروکنترلر کار کنیم سرعتی معادل میکرو ثانیه داریم پس از لحاظ سرعت برای کاربردهای خیلی محدودی میکروکنترلر مناسب نیست.
خب حالا این میکروکنترلر را با این همه کاربرد کی ساخته؟
حدود 4 دهه پیش در سال 1971 میلادی شرکت اینتل اولین میکروکنترلر را ساخت و اولین میکروکنترلر را با نام 8080 در اوایل سال 1980 روانه بازار کرد .همین شرکت اینتلی که الان در ساخت cpu یکه تاز دنیاست .اما بعدا این امتیاز رو به شرکت های دیگری واگذار کرد و شرکت های زیادی در حال حاضر میکروکنترلر های مختلف تولید میکنند
معایب و مزایای میکروکنترلر های مختلف نسبت به هم:
از آن جای که 6811 و z8 خیلی کمتر استفاده میشوند به معرفی سه نوع دیگر میپردازم.
1) اول از 8051 :
که اولین میکروکنترلری بود که به دست بشر ساخته شد شروع میکنیم . همانطور که در مقاله قبلی گفته شد ابتدا این میکروکنترلر توسط شرکت بزرگ intel ساخته شد .اما بعدا intel این امکان را به دیگر شرکت ها داد که این میکروکنترلر را تولید کنند و شرکت هایی مانند ATMEL , PHILIPS , SIEMENS , DALLAS و... به تولید این میکروکنترلر پرداختنند یکی از شرکت هایی که به صورت گسترده به تولید این تراشه پرداخت ATMEL بود که مدل های مختلف میکروکنترلر ساخت این شرکت در سرار جهان و در ایران به