آموزش میکرو کنترلر 8051
58 صفحه در قالب word
میکرولنترلر 8051 پایه و اساسی است برای یادگیری دیگر میکروکنترلر ها دستورات اسمبلی این میکرو نسبت به AVR خیلی کمتر هست و دارای امکانات کمتری نسبت به دیگر میکرو ها است به همین دلیل یادگیری و فهم آن خیلی راحت و آسان می باشد که برای شروع ابتدا باید مفاهیم منطق و دیجیتال را خوب فهمیده باشید و بعد از آن باید سخت افرار 8051 و RAM و ROM داخلی آن را درک کرده باشید تا بتوانید یک برنامه کاربردی بنویسید تا یک پروسه را کنترل کند. خیلی ها برای یادگیری میگن که ما که می خواهیم برنامه نویسی میکرو را یاد بگیرم پس بهتر بالاترین میکرو یعنی AVR یا PIC یاد بگیریم در صورتی که به نظر من کاملا اشتاه بوده و کار غلطی است که اگه بخواهید تا آخر ادامه دهید کاری طاقت فرسا خواهد بود. مثل این خواهد بود که سقف طبقه اول یک ساختمان را درست نکرده باشیم و بخواهیم طبقه دوم را درست کنیم. در این وبلاگ من تا بتوانم به زبان ساده و روان مطالب را بیان خواهم کرد که البته اگه یکم علاقه و پشتکار داشته باشد مطمئن باشید به میکرو مسلط خواهید شد و می توانید آن را به راحتی برنامه ریزی کنید. قیمت این میکرو خیلی ارزان می باشد در حدود 1000 تومان و حافظه ROM آن قابل پاک کردن و استفاده مجدد می باشد پس شما به راحتی می توانید در خانه یا محل کار برای راحتی خود و افراد خانواده چیزهایی با آن بسازید که آدم باورش نشه که اینو خودش ساخته و طراحی کرده.
تشریح پایه های 8051 و RAM و ROM داخلی آن
8051 دارای 4 پورت ورودی یا خروجی می باشد یعنی اینکه هر کدام از این پورت ها را می توان در یک لحظه به عنوان ورودی استفاده کرد و همان پورت را دوباره در یک لحظه دیگر به عنوان خروجی از آن استفاده کرد. منظور از پورت چیست؟ پورت در میکرو یعنی 8 عدد پین یا 8 خط دیتا یا ذر اصطلاح 8بیتی، که 8051 دارای 4 پورت 8 بتی یعنی 32 پایه می باشد.
میکرو کنترلر AT89C51 دارای 128 بایت RAM و 4KB حافظه برنامه ROM می باشد. و AT89C52 دارای 256 بایت RAM و 8KB حافظه برنامه ROM می باشد. و AT89C55 دارای 256 بایت RAM و 20KB حافظه برنامه ROM می باشد. که بستگی به حجم برنامه ما دارد که از کدام میکرو استفاده کنیم.
کاربرد RAM چست؟ اصلا به چه دردی می خوره؟
RAM یعنی random access memory حافظه با دستیابی تصادفی. از این حافظه برای ذخیره اطلاعات موقت استفاده می شود یعنی اینکه تا زمانی که تغذیه میکرو وصل باشد این اطلاعات از بین نمی روند و با قطع کردن تغذیه این اطلاعات از بین می روند. ما در میکرو 8 ثبات 8 بتی برای ذخیره کردن داده ها داریم در بعضی از مواقع پیش می آید که این 8 ثبات در کل برنامه استفاده شوند و ما به یک ثبات 8 بیتی برای ذخیره سازی داده ها داریم مثلا یک شمارنده طراحی کردیم و همه ثبات ها هم استفاده شده و ما مثلا به دو ثبات احتیاج داریم که می توانیم از هر کدام از خانه های RAM استفاده کنیم. منظور از اطلاعات همان داده های 8 بیتی می باشند یعنی همون 0 یا 1 ها که به 8 تا از آنها یک بایت یا یک داده 8 بیتی می گویند.
حال به تقسیم بندی RAM توجه کنید. برای برنامه نویسی خیلی مهم است که ما از چه خانه های RAM مجاز هستیم استفاده کنیم آیا می توانیم در فلان خانه RAM داده را به صورت بیتی دستکاری کنیم یا داده را 8 بیتی دستکاری کنیم. اصلا در چه محدوده ای از RAM قادر هستیم داده ذخیره کنیم یا بانک های ثباتی در کجای RAM واقع شده اند و دیگر ثبات ها... به جدول زیر که مربوط به RAM خوب توجه کنید:
ممکن است هنگام انتقال از فایل ورد به داخل سایت بعضی متون به هم بریزد یا بعضی نمادها و اشکال درج نشود ولی در فایل دانلودی همه چیز مرتب و کامل است
متن کامل را می توانید در ادامه دانلود نمائید
چون فقط تکه هایی از متن پایان نامه برای نمونه در این صفحه درج شده است ولی در فایل دانلودی متن کامل پایان نامه همراه با تمام ضمائم (پیوست ها) با فرمت ورد word که قابل ویرایش و کپی کردن می باشند موجود است
کنترلر HOST USB در SLAT PC
95 صفحه در قالب word
بررسی PCI Bus
مقدمه
شبکه ای از سیمها که ارتباط بین میکروپرسسور و دستگاههای جانبی را برقرار میکنند و آنها را به هم می پیوندند BUS نامیده می شود .
باسهای استاندارد :
- EISA , ISA
- Micro Channel
- PCI , VESA ß Local Bus
ابتدا به اختصار توضیحی چند در مورد هر یک می آوریم:
ISA Bus
کلیه اتفاقاتی که در باس ISA انجام میشود با سیگنال کلاک 8 مگاهرتز انجام می شود در اینصورت انجام جابجایی دیتا حداقل دو سیکل از باس کلاک طول میکشد . این معادل 165/4 میلیون جابجایی در ثانیه است . از آنجائیکه data Path در ISA Bus فقط 16 بیت پهنا دارد ، ماکزیمم 2 بایت در هر ارتباط میتواند انتقال داده شود . این معادل ماکزیمم سرعت انتقال نظری 33/8 مگابایت در ثانیه است .
EISA Bus
همانند ISA Bus ، کلیه اتفاقاتی که در EISA Bus انجام میگیرد با سیگنال ، کلاک 8 مگاهرتز بهتر انجام می شود . در این حال یک جابجایی دیتا حداقل یک سیکل از باس کلاک طول میکشد . این معادل 33/8 میلیون جابجایی در ثانیه است .
با توجه به اینکه پهنای data path در EISA 32 بیت است ، در هر ارتباط حداکثر چهار بایت میتواند منتقل شود . که این معادل سرعت انتقال نظری 33 مگابایت در ثانیه است .
Micro Channel Bus
امروزه ماکزیمم سرعت انتقال قابل دستیابی روی Micro Channel ، 40 مگابایت در ثانیه است . این بر اساس سرعت باس 10 مگاهرتز است ، در صورتی که یک جابجایی دیتا در هر سیکل از کلاک 10 مگاهرتز اتفاق بیفتد . ( 10 میلیون جابجایی در هر ثانیه ، چهار بایت در هر جابجایی) . در صورت استفاده از سرعت بیش از 80 و 160 مگابایت در ثانیه ممکن میباشد .
از میکروپرسسور 80286 به بعد سرعت بیش از 8 MHZ که سرعت باس بود، بوجود آمد . (مثلأ نرم افزاری مانند Microsoft windows) . همانطور که ماشینهای سریعتر احتیاج به جاده های بهتری دارند ، CPU ای سریعتر نیز نیاز به باسهایی با سرعت بیشتر دارند . برای دستیابی به سیستمی که دارای سرعت باس و سرعت CPU یکسان باشد ، Local Bus ها بوجود آمدند .
باس PCI یکی از انواع Local Bus ها میباشد .
PCI مخفف Peripheral Component Interconnect میباشد .
برخی از خصوصیات PCI عبارتند از :
VL Bus
(VESA Local Bus) VL Bus از جمله Local Bus ها میباشد .
دارای خصوصیات زیر است .
1- Version 1 ، باس 32 بیتی
Version 2 ، باس 64 بیتی (در دست ساخت)
2- حداکثر فرکانس کلاک 33 مگاهرتز و 3 شیار(slot) توسعه
حداکثر فرکانس کلاک 40 مگاهرتز و 2 شیار توسعه
حداکثر فرکانس کلاک 50 مگاهرتز و 1 شیار توسعه
PCI مخفف Peripheral Component Interface است و توسط شرکت Intel در سال 1992 ارائه گردید. در واقع ایده PCI به این دلیل از طرف شرکت Intel عرضه شد، که از معرفی باس های متفاوتی که بنا به نیازهای گوناگونی لازم می شوند، جلوگیری گردد. PCI دارای ویژگی های مخصوص به خود است و هیچگونه وابستگی خاصی به پردازنده سیستم ندارد، حتی از این استاندارد در جاهایی غیر از کامپیوترهای شخصی می توان استفاده نمود، کما اینکه نگارشی از آن با عنوان Compact PCI در محیط های صنعتی و در مصارف ارتباطی استفاده می شود. در ذیل نگاه کوتاهی به باس PCI و خصوصیات آن خواهیم انداخت.
باس PCI یک باس مشترک است. این مطلب بدین معنا است که باس اطلاعات (Data Bus) و باس آدرس روی آن مشترک هستند و باس های جداگانه ای به این منظور نداریم. در نگاه اول ممکن است این موضوع نقطه ضعفی برای این باس یه حساب آید ولی ویژگی دیگر این باس که انتقال اطلاعات به صورت burst است آن را جبران می کند. در توضیح انتقال اطلاعات روی این باس این مساله را به صورت دقیق تر خواهیم دید.
باس PCI از طریق یک Bridge از باس به پردازنده مرکزی و حافظه متصل شده است در حقیقت به دلیل عدم یکسان بودن ویژگی های PCI و پردازنده ها در حالت های مختلف، وجود یک جزء که در اینجا همان Bridge است برای ایجاد ارتباط بین پردازنده مرکزی در کامپیوتر و اجزای موجود بر روی باس PCI الزامی است. در مادربردهای امروزی این Bridge همان Chipset موجود بر روی مادربردها است، به هر کدام از اجزایی که بر روی باس PCI هستند یک Agent گفته می شود.
برای انجام تبادل اطلاعات یکی از Agent های روی باس باید این تبادل اطلاعات را با یکی دیگر از اجزای روی باس آغاز کند، به Agent ای که انتقال اطلاعات را آغاز می کند Master Initiator گفته می شود و به Agent ای که به درخواست یک Master پاسخ می دهد Slave Target می گویند. هر جزیی روی باس PCI به دلایلی که ذکر آن فراتر از حوصله این اوراق است باید Target باشد. بعضی از اجزا ممکن است بتوانند Master شوند، به عبارت دیگر Master بودن اجزا در باس PCI اختیاری است. البته توجه به این نکته خالی از لطف نیست که اگر یک باس PCI هیچ جزء Master نداشته باشد، هیچ انتقال اطلاعاتی روی آن صورت نخواهد گرفت. به هنگام آغاز یک تبادل اطلاعات Transaction یک Master باس را در اختیار می گیرد، تبادل اطلاعات بین Master و Target مورد نظرش انجام می شود و در آخر Master باس را برای استفاده های بعدی آزاد می کند.
برای ساخت یک کارت PCI چندین روش وجود دارد. یکی استفاده از آی سی های ASIC که قیمت بسیار بالایی دارند و انعطاف پذیری لازم جهت ساخت هر نوع کارتی را ندارند و ضمنا حصول نتیجه با آنها به موارد کاربردی محدودی منجر می شود. و دوم خرید PCI CORE می باشد. این Core ها معمولا به صورت IP وجود دارند و به صورت بسته در اختیار قرار می گیرند. خرید سورس PCI Core نیز قیمت بسیار گرانی در حدود 20.000 دلار دارد و عموما نیاز به یک دوره آموزشی برای فراگیری نحوه بکارگیری آن است اما این حسن را دارد که علاوه بر انعطاف پذیری های لازم که در اختیار استفاده کننده قرار می دهد می تواند با استفاده از IC های ارزان قیمت نظیر Spartanll Xilinx پیاده سازی شود. ضمنا باید توجه داشت که نوشتن driver و کارکردن تحت سیستم عامل های Windows XP-2000 تکمیل کننده کار برای ساخت یک کارت اسلات PCI و بکارگیری نرم افزارهای پشتیبان می باشد.
اما با استفاده روز افزون برنامه های گرافیکی سه بعدی نفس گذرگاه PCIهم به شماره افتاد که دلیل اصلی آن را میتوان در به اشتراک گذاشته شدن گذرگاه PCI میان کارت گرافیکی و دیگر کارتهای جانبی دانست. مجمع PCI-SIG در نیمه های سال 1998 استاندارد AGP 1x/2x و در پایان همان سال استاندارد AGP 4x را پایه گذاری کرد. AGP یا Accelerated Graphic Port همان رابط PCI با برخی تغییرات است. گذرگاه AGP بر خلاف PCI به بخش ورودی / خروجی سری تراشه نتصل نمیشود بلکه تنها کارت گرافیکی را به طور مستقیم به سری تراشه متصل میکند. بسامد پایه در AGP 66 مگاهرتز است و آهنگ انتقال داده در آن با پهنای 32 بیتی که دارد در حالت AGP2x به 6/508 مگابایت بر ثانیه و در حالت AGP 4x به 1017 مگابایت بر ثانیه میرسد. نگارش 0/3 آخرین نگارش AGP است که AGP 8x را تعریف میکند. در AGP 8x با چهار برابر شدن بسامد روی برخی پایه ها پهنای باند به 99/1 گیگابایت بر ثانیه میرسد.
مشخصات کلی PCI :
ممکن است هنگام انتقال از فایل ورد به داخل سایت بعضی متون به هم بریزد یا بعضی نمادها و اشکال درج نشود ولی در فایل دانلودی همه چیز مرتب و کامل است
متن کامل را می توانید در ادامه دانلود نمائید
چون فقط تکه هایی از متن پایان نامه برای نمونه در این صفحه درج شده است ولی در فایل دانلودی متن کامل پایان نامه همراه با تمام ضمائم (پیوست ها) با فرمت ورد word که قابل ویرایش و کپی کردن می باشند موجود است
طراحی و ساخت logo با میکرو کنترلر
به همراه تمامی کدهای نوشته شده و فایل PCB
مقدمه
با پیشر فت تکنولوژی و روی کارآمدن ریزپردازندهها تحولات اساسی در فرآیند کنترلرها بوجود آمد. یکی از این تحولات بکارگیری علم اتوماسیون صنعتی میباشد. در چندین سال گذشته از کلیدها و تایمرها و کنتاکتورها برای کنترل موتورها و پمپها و .... استفاده میشد. امروزه بجای این کلیدها از LOGO 5 نسل از این تکنولوژی به بازار عرضه شده که جدیدترین نسل آن OBA 4 میباشد.
مزایای LOGO :
10- ذخیره برنامه توسط کارت حافظه
11- قابلیت اتصال به شبکه AS – Interface توسط ماژولهای ارتباطی
کاربرد LOGO :
نرمافزار LOGO :
سختافزار LOGO :
شرح پروژه
کلیات – در این پروژه سعی شده با میکرو کنترلر KB 80196 که یک میکروکنترلر 16 بیتی است یک دستگاه LOGO با 8 ورودی و 4 خروجی شبیهسازی میشود. این LOGO قابلیت پیادهسازی اکثر گیتهای منطقی نظیر OR,AND و ... را دارا میباشد.همچنین دارای تایمرOff Delay و
ON Dellayمیباشد. اطلاعات توسط key Pad به دستگاه داده میشود. یک LCD هم فرامین و نتایج را به ما نشان می دهد.
سختافزار –
میکروکنترلر 80196
میکروکنترلرهای 80196 مدل KD/KC/KB میکروکنترلرهای 16 بیتی از سوی CHMOS هستند که دارای سرعت بالای محاسباتی و همچنین سرعت بالایی در انجام عملیات بر روی I / O میباشند. در این پروژه از میکرو 80C196KB استفاده شده است. تمام اعضای این خانواده دارای ساختار سختافزاری و مجموعه دستورالعملهای مشترک و توان مصرفی کم هستند. کاربردهای وسیع این میکروها را در طراحهای کنترل حلقه بسته و پردازش سیگنال مودم، کنترل موتور، پرینتر، دستگاه فتوکپی، سیستمهای ترمز ضد قفل (ABS) ، سیستمهای تصفیه هوا، گردانندههای دیسک در کامپیوتر و دستگاههای پزشکی و ... میتوان مشاهده کرد.
ممکن است هنگام انتقال از فایل ورد به داخل سایت بعضی متون به هم بریزد یا بعضی نمادها و اشکال درج نشود ولی در فایل دانلودی همه چیز مرتب و کامل است
متن کامل را می توانید در ادامه دانلود نمائید
چون فقط تکه هایی از متن پایان نامه برای نمونه در این صفحه درج شده است ولی در فایل دانلودی متن کامل پایان نامه همراه با تمام ضمائم (پیوست ها) با فرمت ورد word که قابل ویرایش و کپی کردن می باشند موجود است
تستر حافظه FLASH و EEPROM و SRAM با استفاده از میکرو کنترلر AVR
80 صفحه در قالب word به همراه کدهای نوشته شده
حافظه های ATMagUlb, AVR
این بخش تفاوت میان حافظه های دو، ATmegulb را توصیف
می کند در ساختار AVR دو فضای حافظه ای، فضای حافظه ای برنامه تولیست وفضای حافظه ای اولیه وجود دارد در مجموع ATMega16 یکEEPROM برای نگهداری اطلاعات حافظه ای دارد همه فضاهای این حافظه به صورت خطی ومنظم
می باشد.
سیستم REprogrammabl حافظه فلش در برنامه نویسی حافظه
ATMega16 شامل 16 کیلو بایت تک تراشه ای در سیستم وقابلیت برنامه ریزی مجدد حافظه فلش برای نگه داری برنامه است در زمانی که طول بایت حافظه های avr16 یا32 بیت بوده حافظه فلش دار برای avr 16*k5 شناخته شده است برای جلوگیری از اسیب نرم افزار حافظه فلش به دو بخش تقسیم می کنیم بخش راه اندازی وبخش برنامه نویس.
حافظه فلش قابلیت10000 یا نوشتن وپاک کردن می باشد پروگرم کانتر ATM mega16 دارای طول 13 بیت می باشد که قابلیت آدرس دهی 8 کیلو بایت را دارد کار قسمت راه اندازی برنامه قفل وراه اندازی برایحالت نرم افزار در اجر ا وحمایت از بار گذاری در هنگام راه اندازی (نوشتاری- خواندنی) است که در فصل بعد بعد به آن اشاره شده است.که شامل توصیف اجزای سری اطلاعات فلش که در پینهایspi ودر ارتباط با JTAK می باشد.
مقادیر ثابت می توانند در آدرس های حافظه برنامه قرار گیرند MP که در شکل زیر نشان داده شده است.
نمودار زمانی برای ساختار وخروجی ها در نمودار خروجی وزمانی موجود شده است.
حافظه داده SRAM :
شکل زیر نشان می دهد که SRAM و ATMEGA چگونه برنامه نویس می شود خانه ها حافظه پایین نمایش می دهد که فایلها در حافظه SRAM داخلی وحافظهI/o ثبت شده است. اولین برنامه در آدرس 96 آدرس دهی می کند.
پنج روش آدرس دهی برای پوشش دیتای حافظه وجود دارد:
PRO-decrement ، 5. خلاف جهت با POST- Increment.
در فایلهای رجیستری، رجیسترهای R3 , R26 به صورت غیر مستقیم آدرس دهی می شود وبه صورت مستقیم در دنیای مخصوص ذخیره می شود.
در حال خلاف جهت: تغییر مکان باعث می شود که63 خط آدرس با استفاده از رجیسترهای Z,Y آدرش دهی می شود.
زمانیکه از رجیسترهای در آدرس دهی مستقیم در حالت کاهش آدرس دهی یا افزایش آدرس دهی می باشدازآدرس دهی رجیستر Z<Y
32رجیستر از 64 رجیستر به عنوان I/0 عمل می کنند ویک کیلو بایت دنیای داخلی SRAM درATMEGA16 برای آدرس دهی در همه حالتها قابل استفاده است. رجیستر فایلها در فایلهای همه سطوره در پایین توصیف می شود.
ممکن است هنگام انتقال از فایل ورد به داخل سایت بعضی متون به هم بریزد یا بعضی نمادها و اشکال درج نشود ولی در فایل دانلودی همه چیز مرتب و کامل است
متن کامل را می توانید در ادامه دانلود نمائید
چون فقط تکه هایی از متن پایان نامه برای نمونه در این صفحه درج شده است ولی در فایل دانلودی متن کامل پایان نامه همراه با تمام ضمائم (پیوست ها) با فرمت ورد word که قابل ویرایش و کپی کردن می باشند موجود است
پایان نامه مقطع کارشناسی رشته کامپیوتر با فرمت ورد word
( دانلود متن کامل پایان نامه )
میکروکنترلر چیست :
قطعه ای که این روزها دارد جای خود را در خیلی از وسایل الکتریکی باز میکند .از تلفن گرفته تا موبایل از ماوس لیزری که الان دستتان روی آن است و دارین باهاش کامپیوتر رو کنترل میکنید تا هر وسیله ای که بتوان پیچیدگی رو در اون دید میتونید یک میکروکنترلر رو ببینید .
کلمه میکروکنترلر:
این کلمه از دو کلمه 1- میکرو 2-کنترلر تشکیل شده
1-میکرو : میدونین که این یک واحد یونانی است و برابر با 10 به توان منفی 6 متر است. یعنی یک ملیونیوم متر واحده خیلی کوچیکیه نه….ولی واحدهای خیلی کوچیکتر از این هم داریم که در الکترونیک مورد استفاده قرار میگیرند در قسمتهای بعدی توضیحیهاتی راجع به این واحد ها و موارد استفاده آنها داده میشه.
2-کنترلر : که همه معنی و مفهومشو میدونین . یعنی کنترل کننده به تعبیری یعنی “مغز ” البته بدون تفکر فقط دستوراتی که به اون داده میشه به نحو احسن انجام میده.
حالا چرا این کلمات ؟
به نظر من کلمه میکرو به دو منظور استفاده شده منظور اول و مهم سرعت عمل میکروکنترلر است که میتواند تا یک ملیونیوم ثانیه باشد و دستوارتی که به اون میدیم با این سرعت انجام بده به همین خاطر واژه میکرو رو به اون اختصاص دادن البته معنی دوم آن شاید کوچیکی این قطعه باشد که تا یک ملیونیوم متر کوچیک شده شاید باور کردنی نباشه ولی در یک تراشه ممکنه بیش از یک ملیون تراتزیستور به کار رفته باشه. این کلمه وقتی اهمیتش کامل میشه که با واژه کنترلر عجین بشه تا معنیش کامل بشود .
(البته من این تعاریف رو بر مبنای نظر خودم از میکرو گفتم و خودم اونو تو هیچ جایی ندیدم شاید اصلا این کلمه به خاطر چیز دیگست اگر دوستان میدونن لطف کنن خوشحال میشم)
حالا نحوه انجام دادن کار میکروکنترلر را به صورت کلی بررسی میکنیم :
تا حالا همه شما با ماشین حساب کار کردین تا حالا به نحوه کار کردنش فکر کردین شما اطلاعاتتون را که همون عملیات ریاضی هست به وسیله صفحه کلید به اون میدید بعد ماشین حساب این اطلاعات رو بر مبنای دستوراتی که قبلا به اون داده شده پردازش میکند و جواب را رویlcd نمایش میدهد. در واقع یک میکروکنترلر برنامه ریزی شده به عنوان مغز ماشین حساب این اطلاعات یا داده رو از صفحه کلید میگیره روشون پردازش انجام میده و بعد بر روی lcd نمایش میده.
کار میکروکنترلر دقیقا مشابه این است میکرو کنترلر بر مبنای یک سری ورودی که به اون داده میشه مثلا این ورودی از یک سنسور دما باشه که درجه حرارت رو میگه یا از هر چیز دیگه مثل صفحه کلید بر مبنای این ورودی ها و برنامه ای که قبلا ما به اون دادیم خروجیشو تنظیم میکنه که ممکنه خروجیش یک موتور باشه یا یک lcd یا هر چیز دیگری که با الکتریسیته کار بکند. حالت دیگری هم میتونه باشه که فقط میکروکنترلر بر مبنای برنامه ای که به اون دادیم عمل کند و خروجیش رو فقط بر اساس برنامه بگیرد.
ساختمان دخلی میکروکنترلر:
کامپیوتری که الان بر روی اون دارین کار انجام میدین دارای یک پردازنده مرکزیه به نام cpu که از کنار هم قرار گرفتن چندین ملیون ترانزیستور تشکیل شده و بر روی اطلاعات پرداژش انجام میده . میکرو کنترلر هم عینا دارای یک پردازنده مرکزی به نام cpu است که دقیقا کار cpu کامپیوتر رو انجام میده با این تفاوت که قدرت و سرعت پردازشش از cpu کمتره که به اون میکروپرسسور میگن در بخش بعدی فرق میکرو پرسسور و میکروکنترلر را بررسی میکنیم. میکروکنترلر علاوه بر cpu دارای حافظه است که ما برنامه ای که بهش میدیم در اون قرار بگیره در کنار حافظه در میکروکنترلرهای امروزی تایمرها برای تنظیم زمان کانتر ها برای شمردن کانال های آنالوگ به دیجیتال پورت های برای گرفتن و دادن اطلاعات و امکاناتی دیگر که بعدا مفصل راجع به هر کدام توضیح داده میشه تشکیل شده و همه اینها در یک چیپ قرار گرفته که تنکنولوژی جدید اونو تو یک تراشه به اندازه یک سکه قرار داده.
تفاوت میکروپروسسور و میکروکنترلر:
میکروپرسسور همانطور که گفته شد یک پردازنده است و برای کار باید به آن چیپ های حافظه و چیز های دیگری را به اون اضافه کرد این امکان به درد این میخورد که بر حسب کارمان حافظه مناسب و دیگر قطعات را مانند تایمرها و غیره به صورت بیشتری استفاده کنیم ولی مدار خیلی پیچیده میشود و از لحاظ هزینه هم هزینه بیشتر میشود به همین دلیل امروزه از میکروپرسسورها کمتر استفاده میشود اما این روزها میکرو کنترلر های جدید با حافظه های زیاد تعداد تایمر زیاد پورت های زیاد و تنوع بسیار زیاد انها بر حسب این امکانات دست ما را باز گذاشته است تا دیگر میکروپرسسورها را فراموش کنیم.
آیا میکروکنترلر چیز جدیدی را با خود آورده است ؟
جواب منفی است تمام کارهایی که ما با میکروکنترلر میتوانیم انجام بدهیم با قطعات دیگر هم میتوانیم انجام بدهیم چون ما قبلا هم تایمر داشتیم هم کانتر هم حافظه هم پردازنده و… . در واقع میکروکنترلر قطعه ای است با تمام این امکانات که به صورت یک آی سی آماده شده است و هزینه پیچیدگی و حجم را به نحوه قابل ملاحضه ای کاهش میدهد.
عیب میکروکنترلر:
میکروکنترلر با این همه مزایا که گفتیم دارای یک عیب کوچیک است .و آن سرعت پایین ! است آیا سرعتی معادل یک ملیونیوم ثانیه سرعت کمی است ؟ سرعت کمی نیست ولی یک مثال شاید بحثو بهتر باز کند
یک گیت منطقی رو در نظر بگیرین که با توجه به ورودی خروجیشو تنظیم مکنه سرعت عمل این گیت منطقی 10 به توان منفی 9 ثانیه است یعنی نانو ثانیه ولی اگر ما بخواهیم این گیت رو با میکروکنترلر کار کنیم سرعتی معادل میکرو ثانیه داریم پس از لحاظ سرعت برای کاربردهای خیلی محدودی میکروکنترلر مناسب نیست.
اگر کسی از دوستان عیب دیگری از میکروکنترلر میدونه لطف کنه ممنون میشم.
خب حالا این میکروکنترلر را با این همه کاربرد کی ساخته؟
حدود 4 دهه پیش در سال 1971 میلادی شرکت اینتل اولین میکروکنترلر را ساخت و اولین میکروکنترلر را با نام 8080 در اوایل سال 1980 روانه بازار کرد .همین شرکت اینتلی که الان در ساخت cpu یکه تاز دنیاست .اما بعدا این امتیاز رو به شرکت های دیگری واگذار کرد و شرکت های زیادی در حال حاضر میکروکنترلر های مختلف تولید میکنند
معرفی انواع میکروکنترلر
تمام میکروکنترلرها جزء این 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 هزار تومان خرید .
خلاصه من که خیلی با این میکرو ور رفتم و پروژه های خیلی زیاد و پیچیده ای رو باهاش اجرا کردم بسیار راضی هستم و هیچ مشکلی باهاش نداشتم.اگر هم مشکلی بوده از جانب من بوده نه میکروکنترلر . خلاصه اگر برنامه نویسی و کار با این میکروکنترلر رو خوب یاد بگیرید هر کاری رو میتونید باهاش انجام بدید.
متن کامل را می توانید دانلود کنید چون فقط تکه هایی از متن این پایان نامه در این صفحه درج شده است (به طور نمونه)
ولی در فایل دانلودی متن کامل پایان نامه
همراه با تمام ضمائم با فرمت ورد word که قابل ویرایش و کپی کردن می باشند
موجود است