|
|
|
|
|
قوانین مسابقات مسیریاب مشهد: هدف از این مسابقه تعقیب مسیری مشخص توسط ربات است. این مسابقه در دو مرحله برگزار می گردد. مسیر مرحله اول که با شرکت تمامی تیمها برگزار نی گردد به شرح زیر می باشد: در طول مسیر شکستگیهایی با حداکثر زاویه ۱۱۰ درجه نسبت به امتداد خط وجود دارد. و بریدگی هایی با طول حداکثر ۳ سانتیمتر وجود دارد و ممکن است در شکستها با زاویه حداکثر ۶۰ درجه بریدگی وجود داشته باشد. در طول مسیر انحناهایی با شعاع حداقل ۱۵ سانتیمتر وجود دارد. (مطابق شکل) بعد از هر تغییر حداقل ۱۵ سانتیمتر مسیر مستقیم وجود دارد. پس از اتمام مرحله اول تیمهای برتر به مرحله دوم راه پیدا خواهند کرد. زمین مرحله دوم علاوه بر داشتن موارد مذکور در مرحله اول دارای شرایط زیر نیز می باشد: یک یا چند لوپ یا مسیر بسته با حداقل زاویه ۱۰ درجه نسبت به خط افقی نیز ممکن است وجود داشته باشد. به هرتیم قبل از شروع مسابقه ۳ دقیقه زمان برای تست و آماده کردن ربات داده می شود. آماده سازی دارد. خطاها: 1. تماس ربات با خط قرمز کناره که به فاصله ۲۰ سانتیمتری در دوطرف خط اصلی وجود دارد. 2. دور زدن ربت به دور خود هر چند دوباره به مسیر اصلی باز گردد. 3. هرگونه تحریک فیزیکی ربات هنگام مسابقه (کشیده شدن سیم، تماس دست با ربات و..) 4. شروع زودتر از اعلام داور نحوه امتیاز دهی: (بر گرفته از دفترچه اولین دوره مسابقات رباتیک دانشجویی و دانش آموزی.) قوانین مسابقه حلی کاپ:
|
||
|
+
نوشته شده در پنجشنبه بیست و هشتم اردیبهشت 1385ساعت 12:14 توسط Students
|
|
||
|
|
|
|
|
سنسور المان حس کننده ای است که کمیتهای فیزیکی مانند فشار، حرارت، رطوبت، دما، و ... را به کمیتهای الکتریکی پیوسته (آنالوگ) یا غیرپیوسته (دیجیتال) تبدیل می کند. این سنسورها در انواع دستگاههای اندازه گیری، سیستمهای کنترل آنالوگ و دیجیتال مانند PLC مورد استفاده قرار می گیرند. عملکرد سنسورها و قابلیت اتصال آنها به دستگاههای مختلف از جمله PLC باعث شده است که سنسور بخشی از اجزای جدا نشدنی دستگاه کنترل اتوماتیک باشد. سنسورها اطلاعات مختلف از وضعیت اجزای متحرک سیستم را به واحد کنترل ارسال نموده و باعث تغییر وضعیت عملکرد دستگاهها می شوند. سنسورهای بدون تماس سنسورهای بدون تماس سنسورهائی هستند که با نزدیک شدن یک قطعه وجود آنرا حس کرده و فعال می شوند. این عمل به نحوی که در شکل زیر نشان داده شده است می تواند باعث جذب یک رله، کنتاکتور و یا ارسال سیگنال الکتریکی به طبقه ورودی یک سیستم گردد. کاربرد سنسورها 1-شمارش تولید: سنسورهای القائی، خازنی و نوری 2-کنترل حرکت پارچه و ...: سنسور نوری و خازنی 3-کنترل سطح مخازن: سنسور نوری و خازنی و خازنی کنترل سطح 4-تشخیص پارگی ورق: سنسور نوری 5-کنترل انحراف پارچه: سنسور نوری و خازنی 6-کنترل تردد: سنسور نوری 7-اندازه گیری سرعت: سنسور القائی و خازنی 8-اندازه گیری فاصله قطعه: سنسور القائی آنالوگ مزایای سنسورهای بدون تماس سرعت سوئیچینگ زیاد: سنسورها در مقایسه با کلیدهای مکانیکی از سرعت سوئیچینگ بالائی برخوردارند، بطوریکه برخی از آنها (سنسور القائی سرعت) با سرعت سوئیچینگ تا 25KHz کار می کنند. طول عمر زیاد: بدلیل نداشتن کنتاکت مکانیکی و عدم نفوذ آب، روغن، گرد و غبار و ... دارای طول عمر زیادی هستند. عدم نیاز به نیرو و فشار: با توجه به عملکرد سنسور هنگام نزدیک شدن قطعه، به نیرو و فشار نیازی نیست. قابل استفاده در محیطهای مختلف با شرایط سخت کاری: سنسورها در محیطهای با فشار زیاد، دمای بالا، اسیدی، روغنی، آب و ... قابل استفاده می باشند. عدم ایجاد نویز در هنگام سوئیچینگ: به دلیل استفاده از نیمه هادی ها در طبقه خروجی، نویزهای مزاحم (Bouncing Noise) ایجاد نمی شود. سنسورهای القائی سنسورهای القائی سنسورهای بدون تماس هستند که تنها در مقابل فلزات عکس العمل نشان می دهند و می توانند فرمان مستقیم به رله ها، شیرهای برقی، سیستمهای اندازه گیری و مدارات کنترل الکتریکی (مانند PLC) ارسال نمایند. اساس کار و ساختمان سنسورهای القائی ساختمان این سنسورها از چهار طبقه تشکیل می شود: اسیلاتور، دمدولاتور، اشمیت تریگر، تقویت خروجی. قسمت اساسی این سنسورها از یک اسیلاتور با فرکانس بالا تشکیل یافته که می تواند توسط قطعات فلزی تحت تاثیر قرار گیرد. این اسیلاتور باعث بوجود آمدن میدان الکترومغناطیسی در قسمت حساس سنسور می شود. نزدیک شدن یک قطعه فلزی باعث بوجود آمدن جریانهای گردابی در قطعه گردیده و این عمل سبب جذب انرژی میدان می شود و در نتیجه دامنه اسیلاتور کاهش می یابد. از آنجا که طبقه دمدلاتور، آشکارساز دامنه اسیلاتور است در نتیجه کاهش دامنه اسیلاتور توسط این قسمت به طبقه اشمیت تریگر منتقل می شود. کاهش دامنه اسیلاتور باعث فعال شدن خروجی اشمیت تریگر گردیده و این قسمت نیز به نوبه خود باعث تحریک طبقه خروجی می شود. قطعه استاندارد: یک قطعه مربعی شکل از فولاد ST37 است که از آن بمنظور تست فاصله سوئیچینگ استفاده می شود. (استاندارد IEC947-5-2). ضخامت قطعه 1mm و طول ضلع این مربع در اندازه های زیر می تواند انتخاب شود. -به اندازه قطر سنسور -سه برابر فاصله سوئیچینگ نامی سنسور 3*Sn ضرایب تصحیح: فاصله سوئیچینگ با کوچکتر شدن ابعاد قطعه استاندارد و یا با بکارگیری فلز دیگری غیر از فولاد ST37 تغییر خواهد کرد. در جدول زیر ضرایب تصحیح برای فلزات مختلف نشان داده شده است. ضریب تصحیح (KM) برای فولاد ST37 برابر 1.0 ضریب تصحیح (KM) برای نیکل برابر 0.9 ضریب تصحیح (KM) برای برنج برابر 0.5 ضریب تصحیح (KM) برای مس برابر 0.45 ضریب تصحیح (KM) برای آلومینیوم برابر 0.4 بعنوان مثال هرگاه یک سنسور در مقابل فولاد از فاصله 10mm عمل سوئیچینگ را انجام دهد، همان سنسور در مقابل مس از فاصله 4.5mm عمل خواهد کرد. فرکانس سوئیچینگ: حداکثر تعداد قطع و وصل یک سنسور در یک ثانیه می باشد. (بر حسب Hz). این پارامتر طبق استاندارد DIN EN 50010 با شرایط زیر اندازه گرفته می شود. فاصله سوئیچینگ (Switching Distance) S: فاصله بین قطعه استاندارد و سطح حساس سنسور به هنگام عمل سوئیچینگ می باشد. (استاندارد EN 50010) فاصله سوئیچینگ نامی (Nominal Switching Distance) Sn: فاصله ای است که در حالت متعارف و بدون در نظر گرفتن پارامترهای متغیر از قبیل حرارت، ولتاژ تغذیه و غیره تعریف شده است. فاصله سوئیچینگ موثر (Effective Switching Distance) Sr: فاصله سوئیچینگ تحت شرایط ولتاژ نامی و حرارت 20 درجه سلسیوس می باشد. در این حالت تلرانسها و پارامترهای متغیر نیز در نظر گرفته شده اند. 0.9Sn<SR<1.1SN< FONT> فاصله سوئیچینگ مفید (Useful Switching Distance) Su: فاصله ای است که در محدوده حرارت و ولتاژ مجاز، عمل سوئیچینگ انجام می شود. 0.81Sn<SU<1.21SN< FONT> فاصله سوئیچینگ عملیاتی (Operating Switching Distance) Sa: فاصله ای است که تحت شرایط مجاز، عملکرد سنسور تضمین شده است. 0<SA<0.81SN< FONT> هیسترزیس H: فاصله بین نقطه وصل شدن (هنگام نزدیک شدن قطعه به سنسور) و نقطه قطع شدن (هنگام دورشدن قطعه از سنسور) می باشد. حداکثر این مقدار 10% مقدار نامی می باشد. (استاندارد EN 60947-5-2) قابلیت تکرار (Repeatability) R: قابلیت تکرار فاصله سوئیچینگ مفید تحت ولتاژ تغذیه V و در شرایط زیر اندازه گیری می شود: حرارت محیط: 23 درجه سلسیوس؛ رطوبت محیط: 50 الی 70 درصد؛ زمان تست: 8 ساعت. (مقدار تلرانس برای این پارامتر طبق استاندارد EN 60947-5-2 حداکثر +-0.1Sr می باشد.) پایداری حرارتی (Temperature Drift): تغییرات فاصله موثر سوئیچینگ در اثر تغییرات دما طبق استاندارد EN 60947-5-2 و در محدوده دمای 20 درجه سلسیوس زیر صفر تا 60 درجه سلسیوس بالای صفر حداکثر 10% است. حرارت محیط (Ambient Temperature) Ta: محدوده حرارتی است که در آن محدوده، عملکرد سنسور تضمین شده است. کلاس حفاظتی: IP67 (DIN 40050). نحوه نصب سنسورهای القائی: هرگاه دو یا چند سنسور القائی در مجاورت هم و یا در مقابل هم نصب شوند، شرایط زیر باید رعایت شود: الف) نحوه نصب سنسورهای القائی Flush: سنسورهای Flush (Shielded) سنسورهائی هستند که قسمت حساس سنسور توسط پوسته فلزی محصور شده است. هرگاه دو یا چند عدد از این سنسورها همسطح روی بدنه فلزی دستگاه نصب شوند رعایت فواصل نصب مطابق شکل زیر الزامی می باشد. ب) نحوه نصب سنسورهای القائی Non-Flush: در سنسورهای Non-Flush (UnShielded) قسمت حساس سنسور خارج از پوسته فلزی آن می باشد. فاصله سوئیچینگ این نوع سنسورها بیشتر از سنسورهای Flush می باشد. اما فرکانس سوئیچینگ آن در مقایسه کمتر است. ج) نحوه نصب سنسورهای القائی در مقابل هم: هر گاه دو سنسور القائی در مقابل هم نصب شوند رعایت فاصله حداقل 6Sn الزامی می باشد برگرفته از http://instrumentation.blogsky.com http://sanatenovin.blogfa.com
|
||
|
+
نوشته شده در سه شنبه بیست و ششم اردیبهشت 1385ساعت 21:2 توسط Students
|
|
||
|
|
|
|||||||||||||||||||||
|
زبانهای سطح بالا یا همان HLL بسرعت در حال تبدیل شدن به زبان برنامه نویسی استاندارد برای میکروکنترلرها حتی برای میکروهای هشت بیتی کوچک هستند . زبان برنامه نویسی Basic و C بیشترین استفاده را در برنامه نویسی میکروها دارند ولی در اکثر کاربردها کدهای بیشتری را نسبت به زبان برنامه نویسی اسمبلی تولید میکنند . ATMEL ایجاد تحولی در معماری جهت کاهش کد به مقدار مینیمم را درک کرد که نتیجه این تحول میکروکنترلرهای AVR هستند که علاوه بر کاهش و بهینه سازی مقدار کدها بطور واقع عملیات را تنها در یک سیکل توسط معماری RISC انجام میدهند و از 32 رجیستر همه منظوره استفاده میکنند که باعث شده 4 تا 12 بار سریعتر از میکروهای مورد استفاده کنونی باشند . تکنولوژی حافظه های کم مصرف غیر فرار شرکت ATMEL برای برنامه ریزی AVR ها مورد استفاده قرار گرفته است در نتیجه حافظه های FLASH و EEPROM در داخل مدار قابل برنامه ریزی (ISP) هستند . میکروکنترلرهای اولیه AVR دارای 1, 2 و 8 کیلوبایت حافظه FLASH و بصورت کلمات 16 بیتی سازماندهی شده بودند . AVR ها بعنوان میکروهای RISC با دستورات فراوان طراحی شده اند که باعث میشود حجم کد تولیدشده کم و سرعت بالاتری بدست آید . شریح دستور العمل های برنامه نویسی برای شروع برنامه نویسی با میکرو لازم است با دستورات پر کاربرد آن آشنا شویم . البته یک مرجع سریع دستورات زبان برنامه نویسی جزء ابزار های ضروری برای یک برنامه نویس است.اصولا برای یادگیری هر زبان برنامه نویسی علاوه بر آشنایی با دستورات زبان ، تمرین و نوشتن برنامه های گوناگون بسیار لازم است . برای شروع برنامه نویسی با میکرو لازم است با دستورات پر کاربرد آن آشنا شویم . البته یک مرجع سریع دستورات زبان برنامه نویسی جزء ابزار های ضروری برای یک برنامه نویس است.اصولا برای یادگیری هر زبان برنامه نویسی علاوه بر آشنایی با دستورات زبان ، تمرین و نوشتن برنامه های گوناگون بسیار لازم است تا برنامه نویس ساختار صحیح دستورات برایش ملکه ذهن شود و از وقت بسیار ارزشمندی که باید به جای اینکه صرف نوشتن کد های جدیدتر شود صرف عمل طاقت فرصا و وقت گیر Debugging می شود کاست .پس بعد از آشنایی با هر دستور العملی انواع مودهای آدرس دهی آن را مورد بررسی قرار دهید و مثال های کوتاه اما پر ارزش با محتوا را تمرین کنید.
و این مقدار در ثبات A قرار خواهد گرفت . ميكروكنترلرهاي خانواده PIC از معماري هاردوارد استفاده ميكنند . اين بدان معنا است كه كل حافظه به دو قسمت تقسيم شده است . كه عبارتند از : حافظه داده و حافظه برنامه . مزيت اين معماري آن است كه ميتوان به هر دو بخش حافظه در يك دستورالعمل دسترسي داشت . اغلب PIC ها داراي سه بلاك حافظه داخلي ميباشند : ۱_ Data memory : كه اين حافظه به Bank0 و Bank1 و ... تقسيم ميشوند .هر بانك شامل حافظه RAM معمولي (general purpose register) و ريجيستر هاي مخصوص (status,intcon,option,…) مي باشد. 2_ Eeprom memory : يكي از تفاوت هاي اصلي ميكروهاي گذشته مثل سري 8051 با PIC و AVR ، همين حافظه ميباشد. اين حافظه تقريبا بينابين RAM و ROM از نظر كاربرد ميباشد . اين حاظه به صورتي است كه ميتوان در حين برنامه نويسي ، اطلاعات را در آن ذخيره يا پاك كرد (RAM) واطلاعات آن در صورت قطعي برق نيز پاك نمي شود (ROM) . نسيت به RAM و ROM داراي سرعت به مراتب پايين تر ميباشد . 3_Program memory : برنامه اي كه توسط كاربر نوشته ميشود . در اين حافظه LOAD ميشود . به عنوان مثال PIC16F877 (40 پين) داراي پروگرام كانتر 13 بيتي براي آدرس دهي كردن Flash program memory به حجم (8k*14bit) ميباشد . PIC ها از لحاظ نوع Program memory به 4 دسته تقسيم ميشوند . 1) Flash Program Memory مزيت اين گونه PIC ها سرعت نسبتا بالاي خواندن اطلاعات از ROM و درنتيجه سرعت بالاتر اجراي عمليات ميباشد . حافظه هاي فلش موجب گرديده تا سرعت اجراي برنامه از 12 كلاك در 8051 به 4 كلاك در PIC و 1 كلاك در AVR كاهش يابد . خانواده هايي كه نام IC داراي F باشد داراي اين گونه حافظه ميباشند (مانند 16F84 , 16F877.....) . 2) Eprom program memory خانواده هايي كه نام IC داراي C يا CE باشد.(16C84) 3)Rom Program Memory خانواده هايي كه نام IC داراي CR باشد (16CR84) 4) Eeprom Program Memory همچنين بعضي از PIC ها نيز داراي رنج ولتاژي گسترده ميباشند كه داراي مشخصه L در نام IC مي باشد.(PIC16LF84) PIC16F84 در اين قسمت به توضيح مشخصات ميكروكنترلر PIC16F84 ميپردازيم اما قبل از آن به data sheet این میکرو مراجعه کنید و ویژگیهای آن را بخوانید . (روی لینک زیر کلیک کنید ) اطلاعاتي كه Data Sheet دراختیار ما قرار ميدهد : در ابتدا PIC هاي از اين خانواده كه داراي ويژگي هاي يكسان ميباشند معرفي شده است . درقسمت بعد مشخصه هاي CPU كه در اين ميكرو از نوع RISC (Reduce Instruction Set Computer )ميباشد گفته شده: داراي 32 دستور العمل يك كلمه اي ميباشد (تعداد دستورات نسبت به ميكرو هاي ديگر به مراتب كمتر) همه دستورالعمل ها در يك سيكل ( 4 Clock) اجرا ميشود .(سرعت آن 1.5 برابر 8051 با كريستال يكسان ) در قسمت بعد حداكثر فركانس كاري را 10MHz مشخص نموده است . طبق جدول تراشه PIC16F84 داراي 1k كلمه (word) ( عرض هر كلمه برابر 14bit ) حافظه برنامه Flash ، 68 bytes حافظه داده (RAM) و 64 bytes حافظه Eeprom ميباشد . (در مورد اين حافظه ها ميتوانيد به قسمت قبل سر بزنيد ) . پهناي هر دستورالعمل (flash program memory) 14 بيت و پهناي داده (data memory) 8 بيت ميباشد. 15*8 bits به ثبات داخلي ميكرو براي انجام عمليات هاي خاص (SFR)مانند option و Statuse و TMR0 و ..... تعبيه گرديده است و 8*8 bits جهت حافظه پشته (stack) (در قسمت بعد در مورد اين گونه حافظه ها توضيح داده خواهد شد ) . داراي 4 منبع وقفه ميباشد (در اين مورد نيز در قسمت وقفه كامل توضيح داده خواهد شد ): قابليت 1000 بار خواندن و نوشتن حافظه flash قابليت 10.000.000 بار خواندن و نوشتن حافظه Eeprom قابليت 40 سال نگهداري اطلاعات Eeprom مشخصات جانبي : داراي 13 پايه ورودي خروجي (دو درگاه ورودي- خروجي به نام A با 5 پايه و B با 8 پايه ) ، هر پين ورودي خروجي داراي مدار Latch ميباشد ، يعني هر بيت اطلاعات كه از طريق ميكرو به عنوان خروجي به پورت ريخته ميشود روي پورت باقي ميماند تا وقتي كه اطلاعات جديد روي آن ريخته شود . همچنين اگر هر بيت اطلاعات به عنوان ورودي روي پورت ها ريخته شود تا وقتي اطلاعات جديد وارد نگردد تغيير نميكند . اغلب PIC ها در پورت B داراي pull up داخلي ضعيف ميباشند ( اين بدان معنا هست كه پايه ورودي با يك مقاومت پر اهم به Vcc متصل شده ) . بيت هفتم از رجيستر OPTION_REG مربوط به pull up ميباشد . اگر اين بيت صفر باشد pull up فعال ميشود و اگر يك باشد pull up غير فعال ميگردد. وقتي پايه اي به عنوان خروجي تعريف گردد pull up آن خود به خود غير فعال ميشود . بيشترين جريان كه هر پايه ميتواند بدهد 20 mA است كه ميتواند يك LED را مستقيما روشن نمايد. بيشترين جرياني كه ميتواند دريافت كند 25 mA ميباشد . تايمر/كانتر 8 بيت. در قسمت بعد از خصوصيات برتر اين ميكرو كنترلر توضيح داده شده كه مهمترين آن محدوده ولتاژ كار ميكرو را بين 2تا 6 ولت مشخص نموده است و توان مصرفي ميكرو را در حالت هاي مختلف بيان نموده كه به شرح زير است : با ولتاژ 5 ولت و فركانس 4MHz ، 2 ميلي آمپر با ولتاژ 2 ولت با فركانس 32kHz ، 15 ميكرو آمپر و در حالت Standby و ولتاژ 2 ولت ، 1 ميكرو آمپر اين اطلاعاتي بود كه از صفحه اول data sheet ميكرو استخراج شده است پايه هاي PIC و رجيستر هاي آن همانگونه كه ميدانيد ميكرو كنترلر يك تراشه ايست قابل برنامه ريزي كه تنها با تغيير دادن (صفر و يك منطقي ) تعدادي پايه ميتواند با عالم خارج و وسايل ديگر ارتباط برقرار كند و وسيله اي را كنترل كند. تعريف : به مجموعه اي از چند پايه كه به رجيستر واحد اختصاص يافته درگاه يا پورت ميگويند . PIC16F84 داراي 2 درگاه به نامهاي A با 5 پايه و B با 8 پايه ميباشد كه به هر پورت دو رجيستر اختصاص يافته است . يكي رجيستر TRIS و ديگري رجيستر آدرس پورت ميباشد .Tris يك رجيستر 8 بيتي است قابل برنامه ريزي و پيكره بندي پايه هاي I/O را به عنوان خروجي يا ورودي كنترل ميكند . اگر يك بيت از اين رجيستر (TRISA/TRISB) مقدار صفر باينري قرار گرفته باشد پايه متناظر با آن رجيستر در پورت A يا B به عنوان پايه خروجي خواهد بود و اگر يك باينري قرار گيرد پايه متناظر با آن به عنوان ورودي خواهد بود . البته به صورت پيش فرض تمام رجيستر يك ميباشد يعني تمام پايه ها به عنوان ورودي تعريف شده اند . و توصيه ميگردد در هنگام برنامه نويسي نيز دقت نماييد پايه هايي كه احتياجي به آنها نيست در همان حالت ورودي باقي بماند . كاربر ميتواند پس از پيكربندي شدن پورت ها (ورودي خروجي شدن پورت ) با استفاده از رجيستر آدرس پورت ، اطلاعات را در آن پورت بنويسد يا از آن بخواند مثلا اگر بخاهيم RB0 تا RB3 را به عنوان خروجي و RB4 تا RB7 را به عنوان ورودي تعريف كنيم بايد عدد 11110000 را در رجيستر TRISB قرار دهيم. رجيستر TRISB در آدرس 86H از حافظه قرار دارد كه PICbasic به صورت خودكار با نوشتن دستور زير اين رجستر را مقدار رهي ميكند : Tris(port / pin) = Example: Trisb=%11110000 B تغيير دادن كل پايه هاي پورت Trisb.5=0 به عنوان خروجي تعريف گرديده B پين پنجم از پورت همچنين در صورتي كه احتياج به تغيير يك پين خاص از پورت داشته باشيم ميتوانيم از دستورات INPUT و OUTPUT به صورت زير استفاده كنيم : Input pin or Output pin Example : Output portb.5 ç == è Trisb.5=0 براي تغيير دادن مقدار منطقي پيني كه به عنوان خروجي تعريف گرديده ميتوان به صورت زير عمل نمود: Portb.5 = 0 B صفر كردن پين 5 از پورت Portb.0 = 1 B يك (منطقي) كردن پين 0 از پورت يا ميتوان كل پايه هاي پورت را با هم تغيير كرد : Portb=%11000001 پايه هاي 0 و 6 و 7 را يك و باقي پايه ها صفرمنطقي تذكر : دستورات Input و Output مربوط به رجيستر Tris ميباشد . در ضمن با Tris نميتوان مقدار منطقي پين را تغيير داد . تنها ميتوان يك پين را به عنوان ورودي يا خروجي مشخص نمود . تنها پيني ميتوان صفر يا يك منطقي كرد كه به عنوان خروجي مشخص گردد . ميتوان مقدار منطقي پيني كه به عنوان ورودي مشخص گرديده نيز به صورت زير خواند : Var = port / pin Example : sw=portb.2 با اين دستور مقدار منطقي پين 2 از پورت B را در متغير sw قرار ميدهد . Dipsw = portb با اين دستور مقدار منطقي كل پين هاي پورت B را كه به عنوان ورودي تعريف گرديده در متغير Dipsw قرارميدهد آشنایی با میکرو کنترلر میکروکنترلرها یکی از قطعات پرکاربرد الکترونیکی در صنایع گوناگون و مصارف شخصی می باشند که در بین علاقه مندان الکترونیک بسیار محبوب هستند. در واقع یک میکروکنترلر یک CPU مانند CPU ی کامپیوتر شماست همراه با مدارات و قطعاتی که برای کار آن ضروری است به اضافه مداراتی که امکاناتی را به آن اضافه می کند و اینها همگی در کنار هم و در یک تراشه جمع شده اند. در واقع میکروکنترلرها برنامه هایی را که برایشان نوشته شده و در داخل آنها قرار داده شده را اجرا می کنند. این برنامه ها دقیقا شبیه برنامه هایی است که در کامپیوترهای شخصی با زبانهایی مثل اسمبلی ، C ، بیسیک یا پاسکال نوشته می شوند. میکرو کنترلرها از ابتدا تا کنون پیشرفتهای زیادی داشته اند و هم اکنون تولید کنندگان زیادی آنها را در مدلهای مختلف و با کارکردهای مختلف می سازند. بعضی از مهمترین تولید کنندگان عباتند از Atmel و Microchip . همانطور که ذکر شد در داخل میکرو کنترلرها علاوه بر CPU (که عموما دارای گذرگاه داده 8 بیت است) مدارات دیگری نیز وجود دارند که بسته به تولید کننده و مدل آن متفاوت است. این مدارات ممکن است شامل نوسان ساز ساعت سیستم، حافظه Flash برای ذخیره برنامه، حافظه RAM ، حافظه EEPROM / Flash برای داده، شمارنده / تایمر، پورت سریال، مقایسه کننده آنالوگ، مبدل آنالوگ به دیجیتال / دیجیتال به آنالوگ، PWM ، پورت USB و... باشد. همانطور که گفته شد با وجود این مدارات در داخل تراشه، تقریبا برای کار میکروکنترلربه هیچ مدار خارجی دیگری نیاز نیست ولی در CPU ها تمامی این مدارات در خارج ازتراشه هستند. این برای میکروکنترلرها هم مزیت است و هم عیب . طراحی سخت افزار و سیستم با میکروکنترلر ساده است ولی بعنوان مثال نمی توان به آسانی فضای حافظه را افزایش داد. از نظر پایه ها انواع آن از 8 پایه تا 40 پایه بصورت DIP و بالاتر ساخته می شود. هر میکروکنترلر دارای یک سری دستورالعمل های نرم افزاری است که می تواند آنهارا اجرا کند که به آن مجموعه دستورالعمل گفته می شود. این دستورات از یک میکرو کنترلر به دیگری تفاوت هایی دارند و در بعضی از مدلها مثل PIC و AT89s51 اصلا به هم شباهتی ندارند. این یکی از نقاط ضعف میکرو هاست. بعنون مثال برنامه ای که برای PIC16F84 نوشته شده بر روی ATMega8535 قابل اجرا نیست. تفاوت چشمگیر بین دستور العمل های مربوط به سازندگان است.مثلا میکروهای سری PIC بابقیه همخوانی ندارد. این سری ساخت شرکت Microchips بوده و بقیه ساختشرکت Atmel هستند. حال آنکه دستورات و برنامه های At89s51 کاملا به درستی بر روی At89s52 اجرا می شود. همچنین مجموعه دستورالعملها در سری 89s شبیه سری های tiny و Mega است. برنامه ای که میکرو باید اجرا کند پس از نوشته شدن اسمبل یا کمپایل می شود تا کد ماشین برای آن میکرو تولید شود (نوشتن برنامه و تبدیل آن عموما بر روی یک PC صورت می گیرد.). پس از اینکار برنامه ترجمه شده باید به حافظه کدی که در درون میکرو است انتقال یابد. این کار توسط یک دستگاه کمکی بنام پروگرامر انجام می شود که در واقع یک مدار رابط بین کامپیوتر و میکروکنترلر است. پس از اینکار برنامه در درون میکرو باقی می ماند و هنگامی که میکرو بر روی بورد دستگاه موردنظر نصب شود شروع به اجرای برنامه می کند.در واقع چون سخت افزار میکروها(مثل تعداد پایه ها و طریقه پروگرام کردن آنها) متفاوت است هر سری از آنها پروگرامرمخصوص به خود را می خواهد. پس برای اینکه بتوانیم از یک سری از میکروکنترلرها استفاده کنیم دو چیز لازم است: یکی اسمبلر یا کمپایلر و دیگری پروگرامر. امروزه میکروها در دستگاه های زیادی بکارمی روند مثل ضبط صوت، ماشین لباس شوئی، یخچال، اتومبیل، رسیورهای ماهواره، شارژرهای باطری، تلوزیون، گوشی موبایل و ... در واقع هرجا که طراحی مدار درحدی پیچیده باشد که نتوان آنرا با قطعات گسسته اجرا کرد از میکروها استفاده می شود. كمپاني هاي توليد كننده خانواده 8051 بعضي از كمپاني هاي توليد كننده اعضاي خانواده 8051
ميكرو كنترلر 8051 ابتدا به وسيله ي Intel ساخته شد، بعد چندين كمپاني ديگر نيز شروع به توليد آن كردند از جمله: Philips/signetics ، atmel ، amd ، simens ، matra و dallas semiconductor بايد متذكر شد كه Motorola و zilog و technology microchip تعداد زيادي شبعات را براي اين منظور انتخاب كرده اند تا توليدات خود را به طور گسترده و بموقع دردسترس قرار دهند زيرا توليدشان با ثبات ، در حد كمال و قابليت دسترسي ، از يك مركز است.درسالهاي اخير آنها نيز شروع به فروش سلول كتابخانه asic از ميكرو كنترلركرده اند. آموزش میکروکنترلر 8051 (قسمت اول) كامپيوتر ها وظيفه ي كنترل رو در ارتباط با دنياي واقعي بر عهده دارند.ميكرو كنترلر ها بر خلاف ميكرو كامپيوتر ها و ريز پردازنده ها اغلب در چنين كاربرد ها يي يافت ميشن . همون طور كه ميدونيد ، ميكرو كنترلر، قطعه اي شبيه به ريزپردازنده است. كافيه به داخل كيبورد نگاه كنيد تا مثالي از يك ميكرو كنترلر رو در يك طراحي با كمترين اجزا ممكن ببينيد. در سال 1971 ، اينتل ،8080 رو به عنوان اولين ريز پردازنده ي موفق و درسال 1976 ، 8748 رو به عنوان اولين قطعه ي خانواده ي ميكرو كنترلرهايMCS-8051 معرفي كرد. 8748 با 17000 ترانزيستور در يك مدار مجتمع، شامل يك CPU ، 1 كيلو بايت EPROM ، 64 بايت RAM ، 27 بايه يI/O و يك تايمر 8بيتي بود. اما تفاوت ميكرو كنترلر ها و ريز پردازنده ها در معماري سخت افزار ، كاربرد ها و دستورالعمل ها خلاصه ميشه ؛ در حالي كه ريز پردازنده يك CPU ي تك تراشه است ، ميكرو كنترلر در يك تراشه ي واحد ،علاوه بر CPUشامل ROM ، RAM ، يك رابط سريال ،يك رابط موازي ، تايمر و مدارات زمان بندي وقفه هم هست ؛ يك ويژگي مهم ميكرو كنترلر ها ، سيستم وقفه ي موجود در داخل اونهاست . ميكروكنترلر ها به عنوان ابزار ها ي كنترل گرا ( control-oriented devices ) اغلب براي پاسخ بي درنگ به محرك هاي خارجي ( وقفه ها ) مورد استفاده قرار ميگيرند .يعني بايد در پاسخ به يك اتفاق ، سريعا يك فرايند رو معوق نگه داشته ، به فرايند ديگر بپردازند . از نظر كاربرد ميكرو كنترلر ها برا ي كنترلر ابزار هاي I / O مناسبند ، اما ريز پردازنده ها براي پردازش اطلاعات در سيستم هاي كامپيوتري . از طرفي مجموعه دستورالعمل هاي ريز پردازنده ها بر عمل پردازش تمركز پيدا كردن و در نتيجه داراي روش هاي آدرس دهي قدرتمند به همراه دستورالعمل هايي براي انجام عمليات روي حجم زياد داده هستند . دستور العمل ها روي چهار بيت ها ( nibbles ) ، بايت ها ، 16 بيت ها و حتي 32 بيت ها ( double words ) عمل ميكنند. در حالي كه ميكرو كنترلر ها مجموعه دستورالعمل هايي مناسب براي كنترل ورودي ها و خروجي ها دارند.اين كار تنها نيازمند يك بيت است . ميكرو كنترلر ها دستورالعمل هايي براي 0 و 1 كردن بيت ها ي جداگانه دارن ( clear & set ) ، و عمليات ديگري رو هم روي بيت ها مثل and و or و xor كردن منطقي بيت ها ، برش در صورت 1 يا پاك بودن يك بيت و مانند آنها انجام ميدن .اين ويژگي مفيد بندرت در ريز پردازنده ها يافت ميشه چون اون ها معمولا براي كار روي بايت ها يا واحد هاي بزرگ تر داده طراحي ميشن . با اين همه در قدرت پردازش محض ، يه ميكروكنترلر هرگز به ريزپردازنده نميرسه . و اما مزايا و معايب … وظايفي كه ميكروكنترلر ها انجام ميدن وظايف تازه اي نيستن ؛ چيزي كه جديده اينه كه طراحي ها با تعداد اجزاء كمتري از گذشته انجام ميشن . اعمال منطقي كه نيازمند چندين IC هستند اغلب توسط يك ميكرو كنترلر با اضافه كردن يك برنامه ي كنترلي انجام مي شن . عيب كار در سرعت است . راه حل هاي ميكرو كنترلي هرگز دز سرعت به باي راه حل هاي مشابه با اجزاي گسسته نميرسند .در موقعيت هايي كه نياز به پاسخ هاي خيلي سريع وجود داره (كه البته به ندرت چنين كاربرد هايي پيدا ميشن ) ، ميكرو ها عكس العمل ضعيفي از خودشون نشون ميدن…به عنوان يك مثال نمايش ساده شده اي از انجام عمل nand با استفاده از ميكرو رو در نظر ميگيريم ؛به كار بردن ميكرو براي چنين عملي چندان مرسوم نيست ، اما اين امكان وجود داره . نرم افزار بايد عمليات منطقي اي رو انجام بده كه برنامه ي زبان اسمبلي 8051 براي اين عمل منطقي به اين صورته : loop mov c,p1.4 ; read p1.4 bit in to carry flag anl c.p1.5 ; and with p1.5 anl c,p1.6 ; and with p,1.6 cpl c ; convert to "nand" result mov p1.7,c ; send to p1.7 output bit sjmp loop ; repeat اگه اين برنامه در يك ميكرو 8051 اجرا بشه ، تاخير انتشار از يك transition يا همون گذار ، در ورودي تا استقرار سطح منطقي درست در خروجي دست كم در مقايسه با معادل TTL آن ( transistor-transistor logic ) بسيار طولاني است . بسته به نسبت زماني تغيير در ورودي و تشخيص اين تغيير توسط برنامه ، تاخير بين 3 تا 17 ميكرو ثانيه خواهد بود .در حالي كه تاخير انتشار در معادل TTL از مرتبه ي 10 نانو ثانيه است يعني حدود 1000 بار كمتر .پر واضحه كه در ايجاد توابع منطقي سرعت ميكرو ها با مدار هاي TTL معادل ، قابل مقايسه نيست . در بسياري كاربرد ها به ويژه اونهايي كه با عمل كرد انسان سر و كار دارن ،اين كه تاخير ها به نانو ثانيه اندازه گيريي بشه يا ميكرو و ميلي اهميتي نداره . (وقتي كه فشار روغن اتومبيل افت بيدا ميكنه يا سنسور ربات يه انحراف رو در مسير مي بينه لزومي نداره ظرف چند نانو ثانيه مطلع شيم… ) مثال گيت منطقي nand نشون ميده ميكرو ها مي تونن عمليات منطقي انجام بدن . از اين گذشته هر چي طراحي ها پيچيده تر باشه مزاياي طراحي ميكرو كنترلري بيشتر خودش رو نشون ميده … آموش میکروکنترلر 8051 (قسمت دوم) در این قسمت معماري سخت افزار 8051 رو با نگاهي از بيرون به پايه هاي اون بررسي ميكنيم . خلاصه ي مشخصات اين IC به اين ترتيبه : 1) 4 KB : ROM 2) 128 B : RAM 3) چهار I /O port هشت بيتي 4) رابط سريال يا serial interface 5)64 KB : فضاي حافظه ي خارجي براي كد 6) 64 KB : فضاي حافظه ي خارجي براي داده 7) دو تايمر/ شمارنده ي 16 بيتي ( timer / counter ) 8) Boolean processor يا پردازنده ي بولي 9) 210 مكان بيتي آدرس پذير ( bit – addressable ) 10) انجام عمليات ضرب و تقسيم در 4 ميكرو ثانيه . و اما پايه ها : جمعاً 32 پين يا همون پايه از 40 پين 8051 به عنوان خطوط I / O port ( درگاه ورودي – خروجي ) عمل مي كنند ؛ علاوه بر اين 24 خط از اين خطوط دو منظوره هستند . هر يك از اين خطوط مي تونن به عنوان I/O يا خط كنترل ويا بخشي از address bus ( گذرگاه آدرس ) و يا data bus ( گذرگاه داده ) به كار برن . هر 8 خط يك port يا درگاه ، مي تونن به صورت يك واحد در ارتباط با وسايل موازي مثل چاپگرها و مبدل هاي ديجيتال به آنالوگ بكار برن . و يا هر خط به تنهايي با وسايل تك بيتي مثل سوئيچ ها ، LED ها ، ترانزيستورها ، سيم پيچ ها ، موتور ها و بلند گو ها ارتباط برقرار كند .اما قبل از اين كه وارد جزئيات پايه ها بشيم بهتره در مورد نحوه ي آدرس دهي اطلاعاتي داشته باشيم ؛يه حافظه رو با چهار خانه ي حافظه در نظر بگيريد . خونه هاي اين حافظه رو به اين شكل آدرس دهي ميكنيم : پس اين حافظه با دو تا خط آدرس ، آدرس دهي ميشه ؛ كه هر كدوم از اين خطوط ميتونن مقادير 0 و 1 رو بپذيرند . خطوط آدرس رو با Ai معرفي ميكنيم . پس A1 و A0 خطوط آدرس ما هستن . به A1 بيت بالا و به A0 بيت پايين حافظه گفته ميشه . اين يك نمونه ي ساده بود از حافظه ؛ به همين ترتيب مي شه خونه هاي حافظه هاي بزرگ رو هم آدرس دهي كرد . در اين صورت ما به تعداد بيشتري خط آدرس نياز داريم تا بتونيم خونه ها رو به صورت يكتا آدرس دهي كنيم . به طوري كه با n خط آدرس 2^n خانه ، قابل آدرس دهي هستند. از اون جايي كه 8051 داراي 210 مكان بيتي آدرس پذير است ،براي آدرس دهي اين تعداد خانه ي حافظه به حداقل 8 خط آدرس نياز داريم . و هر يك از اين خطوط به شكل يك پين در ميكرو در مي آن . اما اين 8 خط فقط در مواقع استفاده از حافظه ي داخلي است كه كافي اند . وقتي لازمه از حافظه ي خارجي هم استفاده كنيم به خطوط بيشتري براي آدرس دهي نياز داريم كه در اين حالت از پورت مالتي پلكس شده استفاده مي كنيم ؛ در اين زمينه در توضيحات پورت هاي 0 و 2 توضيحاتي داده شده . Port يا درگاه 0: پورت 0 يك پورت دو منظوره از پين 32 تا 39 تراشه 8051 است . اين پورت ، در طراحي هايي با كمترين اجزاي ممكن به عنوان يه پورت I /O عمومي استفاده ميشه . در طراحي هاي بزرگتر كه از حافظه ي خارجي استفاده مي كنيم ، اين پورت يه address & data bus مالتي پلكس شده است . معني اين جمله اينه كه گاهي لازمه براي جمع و جور كردن ميكرو ، از يه پين ، هم داده منتقل بشه هم آدرس. از طرفي عمل انتقال داده و آدرس هرگز با هم صورت نمي گيرن ؛ به طوري كه هميشه اول آدرس داده ي مورد نظر عبور ميكنه ، بعد اين آدرس ذخيره ميشه ، و سپس ميكرو از روي اون آدرس داده رو انتقال مي ده ؛ پس ما ميتونيم از يه پورت هم به عنوان گذرگاه داده استفاده كنيم و هم به عنوان گذرگاه آدرس . به اين جور گذرگاهي ، گذرگاه مالتي پلكس شده مي گن . پورت 1 : اين درگاه ، پورت اختصاصي I/O روي پين هاي 1 تا 8 است . پين هاي p1.0 تا p1.7 در صورت نياز براي ارتباط با وسايل خارجي به كار مي رن . وظيفه ي ديگه اي براي اين پايه ها در نظر گرفته نشده . هر چند استثناءً در IC ها ي 8032 و 8052 از p1.0 و p1.1 به عنوان خطوط I/O و يا ورودي تايمر سوم استفاده مي شه . پورت 2 : يه پورت دو منظوره كه به عنوان I / O عمومي و يا بايت بالاي address busدر طراحي با حافظه ي كد خارجي external code memory به كار مي ره … اين پورت همچنين در طراحي هايي كه به بيش از 256 بايت از حافظه ي داده ي خارجي ( external data memory ) نياز دارن هم استفاده مي شه . توضيح : فرض كنيد در يك طراحي ، مي خواهيم از external memory استفاده كنيم . گفتيم كه UC (مخفف ميكرو كنترولر ) علاوه بر داده بايد آدرس اون رو هم داشته باشه . ما از پورت 2 به عنوان گذرگاه آدرس استفاده مي كنيم . در واقع ما براي ارتباط ميكرو با هر IC ديگه اي هم به داده نياز داريم هم به آدرس ؛ و البته آدرس ها يكتا هستند . همون طور كه قبلاً گفته شد در اين حالت به 16 خط آدرس نياز داريم كه 8 خط (بايت بالا ) رو پورت 2 تاًمين ميكنه و 8 خط ديگه (بايت پايين ) رو پورت 0 به شكل مالتي پلكس شده . اگه اين خطوط آدرس رو به شكل زير در نظر بگيريم به خطوطA15 تا A8 بايت بالاي آدرس و به خطوط A7 تا A0 بايت پايين گفته مي شه . A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 نتيجه اين كه خطوط آدرسي كه مربوط به بايت بالاي آدرس هستند از طريق پورت 2 مي تونن با خارج در ارتباط باشن . پورت 3 : روي پين هاي 10 تا 17 كه علاوه بر I /O عمومي ، هر يك از اين پايه ها وظايف ديگه اي رو هم در ارتباط با امكانات خاص 8051 دارند . تا اين جا وظبفه ي 32 پين مشخص شد . پين هاي 40 و 20 به ترتيب براي اتصال به منبع تغذيه يا Vcc و زمين يا Vss به كار ميرن . نوسان ساز ( oscillator) ميكرو به پايه هاي 18 و 19 وصل ميشه ؛ و نهايتاً 8051 چهار سيگنال اختصاصي براي كنترل گذرگاه داره كه روي پين هاي 9 , 29 , 30 , 31 قرار مي گيرن . اولين ميكرو كنترلرها در اواسط دهه 1970 ساخته شدند. اين ميكرو كنترلرها در ابتدا
پردازنده هاي ماشين حساب بودند كه داراي حافظه برنامه كوچكي از نوع ROM ، حافظه
داده از نوع RAM و تعدادي درگاه ورودي/خروجي بودند.
با توسعه فناوري سيليكون ، ميكرو كنترلرهاي 8 بيتي قويتري ساخته شدند. در اين ميكرو كنترلرها علاوه بر بهينه شدن دستورالعمل ها، تايمر/شمارنده روي تراشه، امكانات وقفه و كنترل بهينه شده خطوط I/O نيز به آنها اضافه شده است. حافظه موجود بر روي تراشه هنوز هم محدود مي باشد و دربسياري موارد كافي نيست.يكي از پيشرفتهاي قابل توجه در آن زمان، قابليت استفاده از حافظة EPROM قابل پاك شدن با اشعه ماورا بنفش، روي تراشه بود. اين قابليت، زمان طراحي و پياده سازي محصول را بطور محسوسي كاهش داد و نيز براي اولين بار امكان استفاده از ميكرو كنترلر ها را در كاربردهايي كه حجم توليد پاييني دارند، فراهم ساخت.خانواده8051 در اوايل دهه
198۰ توسط شركت اينتل معرفي گرديد.
از آن زمان تاكنون... 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 اين گونه ميكرو كنترلرها را مي توان به صورت ورودي و يا خروجي مورد استفاده قرار داد . معمولاً ، اين گونه خطوط خروجي ، به همراه مقاومتهاي بالا كش بيروني به كار برده مي شوند. خانواده 851 خانواده 8051 يك خانواده ميكرو كامپيوتر (ميكرو كنترلر ) 8 بيتي تك تراشه اي استاندارد است كه بسيار محبوب و عامه پسند مي باشد و توسط سازندگان مختلف با قابليت هاي متفاوت توليد مي گردد. اين آي سي استاندارد اصلي كه اولين عضو اين خانواده مي باشد، 8051 است كه يك ميكرو كنترلر 40 پايه مي باشد. هم اكنون اين آي سي با پيكربندي هاي مختلف موجود مي باشد. 80C51 نوع cmos و كم مصرف اين خانواده است. 8751 داراي حافظه برنامه از نوع EPROM است كه عمدتاً در هنگام پياده سازي به كار برده مي شود. 89c51 نيز داراي حافظه فلش قابل برنامه ريزي و پاك شدن (PEROM) است لذا بدون نياز به پاك كردن با اشعه ماورابنفش ، مي توان حافظه برنامه را برنامه ريزي كرد.8052 عضو بهينه شده اين خانواده مي باشد و حافظه RAM آن بيشتر بوده و تعداد تايمر/شمارنده آن نيز بيشتر است. انواع مختلفي از خانواده 40 پايه وجود دارد كه داراي مبدل هاي آنالوگ به ديجيتال ، مدولاتورهاي عرض پالس و نظاير آن هستند. در بخش پايين خانواده 8051 ، ميكرو كنترلر هاي 20 پايه قرار دارند كه از لحاظ كد ، سازگاري كاملي با انواع 40 پايه دارند و اين ادوات 20 پايه براي كاربردهايي با پيچيدگي كمتر كه نياز به خطوط I/O كمتري دارند و نيز براي كاربردهايي كه بايد مصرف توان كمتري داشته باشند (مثل سيستم هاي قابل حمل)،ساخته شده اند. آي سي هاي AT89C2051 و AT89C1051 (ساخت شركت Atmel)چنين ميكرو كنترلرهايي هستند كه از لحاظ كد سازگاري كاملي با خانواده 8051 دارند و مصرف توان آنها نيز كمتر است. میکرو کنترلر کتاب میکرو کنترلر ۸۰۵۱ از جمله کتب مشهور درباره میکرو کنترلر ۸۰۵۱ و خانواده این میکرو کنترلر هاست . نگارش آن بسیار روان و شیوه ارائه مطالب آن به گونه ای است که با دانستن مبانی دیجیتال و اطلاعاتی درباره زبان برنامه نویسی فرد می تواند به خوبی از آن استفاده کند. این کتاب نوشته جانیس گیلیسپی مزیدی و ترجمه های مختلفی دارد. |
||||||||||||||||||||||
|
+
نوشته شده در جمعه بیست و دوم اردیبهشت 1385ساعت 12:17 توسط Students
|
|
||||||||||||||||||||||
|
|
|
|
|
|
||
|
+
نوشته شده در یکشنبه دهم اردیبهشت 1385ساعت 19:20 توسط Students
|
|
||
|
|
|
|
|
اين مدار صرفا برای اين است که نشان دهيم بدون ميکرو نيز می توان ربات مسيرياب ساخت و صرفا برای آموزش و آشنايی است. |
||
|
+
نوشته شده در یکشنبه دهم اردیبهشت 1385ساعت 18:40 توسط Students
|
|
||