وقفه ها
اسلاید 1: وقفههاحسین منتظری کردیدانشکده مهندسی برق و کامپیوتر دانشگاه صنعتی نوشیروانی بابلپاییز 91
اسلاید 2: رئوس مطالب:1-مقدمه2- سازماندهی وقفه 80513- پردازش وقفهها4- طراحی برنامه با وقفهها5- وقفههای درگاه سری6- وقفههای خارجی7- زمانبندی وقفه
اسلاید 3: 1-مقدمهوقفه درخواستی از ریزپردازنده جهت قطع برنامه جاری و پاسخ به یک زیربرنامه بنام زیربرنامه وقفه (ISR) میباشددرخواست وقفه بر دو نوع میباشد: - نرمافزاری - سختافزاریدرخواست وقفه از نظر اولویت: - غیرقابل پوشش (Non-Maskable) - قابل پوشش (Maskable)ریزپردازنده در ابتدای فراخوانی هر دستور، شرایط درخواست وقفه را بررسی میکندبازگشت از سرویس وقفه با یک دستور بازگشت از وقفه
اسلاید 4:
اسلاید 5: 2- سازماندهی وقفه 8051وجود 5 منبع وقفه برای 8051؛ 2 منبع وقفه خارجی، 2 منبع وقفه زمانسنج، و 1 منبع وقفه درگاه سریغیر فعال شدن تمام وقفهها با راهاندازی سیستم و فعال شدن توسط نرمافزارپاسخدهی به زیربرنامه وقفه براساس یک رشته آراء و اولویت وقفه، امکان درخواست همزمان چند وقفه از ریزپردازندهفعالسازی و غیرفعال کردن وقفهامکان فعال کردن یا غیرفعال کردن منابع وقفه با ثبات ویژه IE بصورت بیت آدرسپذیر در آدرس 0A8H وجود بیت جهت تواناسازی جداگانه منابع وقفه و همچنین، تواناسازی کلی وقفههانشاندارکردن دو بیت جهت تواناسازی هر منبع وقفه با دستورات پردازش بیت یا با مقدار دهی ثبات IE با دستور MOV
اسلاید 6: اولویت وقفهامکان برنامهریزی جداگانه هر منبع وقفه به دو سطح از اولویت وقفه از طریق ثبات ویژه IP با بیت آدرسپذیر در مکان 0B8H پاک شدن IP در راهاندازی و قرارگرفتن همه منابع وقفه در سطح پایینامکان پذیرش وقفه جدید در زیربرنامه وقفه درصورتیکه وقفه جدید در سطح بالاتری از اولویت نسبت به وقفه درحال اجرا قرارداشته باشد
اسلاید 7: در 8051 اگر یک ISR با اولویت پایین درحال اجرا باشد، آنگاه وقفه با اولویت بالاتر باعث ایجاد وقفه در این ISR میگردد؛ امکان پذیرش وقفه برای ISR اولویت بالا وجود ندارددرصورت ایجاد دو وقفه بطور همزمان، وقفه با اولویت بالاتر اجرا میشودرشته وقفهترتیب بررسی ایجاد وقفه بصورت: INT0، T0، INT1، T1، و درگاه سری (، T2)
اسلاید 8:
اسلاید 9: 3- پردازش وقفههابا پذیرش وقفه توسط ریزپردازنده مراحل زیر انجام میشود: - تکمیل اجرای دستور جاری - ذخیره مقدار PC در پشته - ذخیره وضعیت فعلی وقفه جاری - مسدود شدن وقفههای هم سطح با وقفه جاری
اسلاید 10: - بارگذاری PC با بردار آدرس ISR جاری - اجرای ISR جاریاتمام یک ISR با دستور RETI که موجب اجرای مراحل زیر میشود - بازیابی مجدد وضعیت وقفه - بارگذاری مجدد PC با مقدار قبلی - اجرای برنامه اصلی از جاییکه وقفه ایجاد شدبردار وقفهآدرس بارگذاری PC بهنگام پذیرش وقفه را بردار وقفه مینامند، آدرس شروع ISR برای منبع درخواست وقفهRST مانند عملوقفه بدلیل ایجادوقفه در برنامهاصلی و بارگذاری PC با آدرس 0000H پاک شدن خودکار پرچم منبع درخواست وقفه توسط سختافزار پساز بارگذاری بردار وقفه، باستثنای TI و RI (TF2 و EXF2)
اسلاید 11: بدلیل قرارداشتن بردارهایوقفه در ابتدای حافظهبرنامه، بکارگیری دستور LJMP Main در شروع هر برنامهای که از زیربرنامه ISR استفاده میکند4- طراحی برنامه با وقفههاکاهش اتلاف وقت ریزپردازنده با استفاده از وقفه و جلوگیری از حلقههای انتظارمزیت وقفه در کاربردهای کنترلگرا جاییکه میکروکنترلر همزمان با قطعات ورودی و خروجی زیادی در ارتباط میباشدشروع برنامههای شامل ISR با قراردادن یک پرشبلند در ابتدای برنامه
اسلاید 12: چارچوب کلی یک برنامه بهمراه ISR
اسلاید 13: زیربرنامههای وقفه کوچکبرنامهای که 8 بایت مکان حافظه بردار وقفه برای آن کافی باشددرصورت استفاده از چند ISR، توجه به عدم همپوشانی کد برنامه سرویسهازیربرنامههای وقفه بزرگبرنامهای که 8 بایت مکان حافظه بردار وقفه برای آن کافی نباشدبطور معمول شروع زیربرنامه وقفه با یک دستور پرش در این وضعیت
اسلاید 14: اگر برنامه اصلی برای پاسخ به وقفه درگاه سری، زمانسنج، و یا ثباتهای وقفه برنامهریزی شود، آنگاه برنامه اصلی تنها شاملHere: SJMP Hereبا ایجاد یک وقفه، خارج شدن برنامه اصلی از حلقه انتظار و پاسخدهی به زیربرنامه وقفهمثال: تولید یک موج مربعی KHz 10 در P1.0 با وقفه زمانسنج صفر
اسلاید 15: مثال: برنامهای جهت تولید دو موج مربعی با فرکانسهای KHz 7 و Hz 500 در P1.7 و P1.6 بنویسید. استفاده از دو زمانسنج صفر و یک بترتیب در حالتهای 2 و 1 جهت تولید موج KHz 7 و Hz 500آمادهسازی زمانسنج یک در زیربرنامه وقفه T1ISR، طی مراحل: 1) توقف زمانسنج، 2) بارگذاری، 3) راهاندازی زمانسنج، و 4) مکمل نمودن P1.6
اسلاید 16:
اسلاید 17: 5- وقفههای درگاه سریدرصورت نشاندارشدن TI یا RI اتفاق میافتد؛ برخلاف وقفه زمانسنج، پرچم وقفه توسط سختافزار پاک نمیشود
اسلاید 18: تعیین منبع وقفه در ISR و سپس، پاک کردن پرچم مربوطه توسط نرمافزارمثال: برنامهای با وقفه جهت انتقال پیوسته کد اسکی (شامل کد کنترل) به یک ترمینال متصل به درگاه سری 8051 بنویسید. نرخ انتقال برابر 1200 است
اسلاید 19: در این مثال، با نرخ انتقال 1200 یک بیت در مدت ms 0/833 = 1200 ÷ 1 ارسال میشود؛ باتوجه به UART 8 بودن درگاه سری، برای 10 بیت مدت ms 8/33 یا 8333 میکروثانیه طول میکشد؛ اجرای ISR در 8 میکروثانیه، لذا 99/9% = 8333 ÷ 8325 از وقت CPU صرف اجرای دستور SJMP $ میشود6- وقفههای خارجیاعمال یک وقفه خارجی به میکروکنترلر با سطح صفر یا لبه منفی به پایههای وقفه INT0 و INT1 در P3 پرچمهای اصلی مولد این وقفهها IE0 و IE1 از TCON، حساس به سطح یا لبه بودن قابل کنترل با IT0 و IT1 از TCON، اگر ITX= 0 باشد آنگاه وقفه خارجی حساس به سطح و در غیر اینصورت حساس به لبهمثال: با استفاده از وقفه 8051، برنامهای جهت کنترل حرارت یک کوره بنویسید. حرارت کوره بایستی در °C 1 ± 20 تثبیت شود. فرض خاموش/روشن شدن کوره با P1.7 انجام میشود و حسگرهای داغ/سرد بودن کوره بترتیب به INT0 و INT1 متصل میباشند.
اسلاید 20:
اسلاید 21:
اسلاید 22: مثال: برنامهای با استفاده از وقفه جهت تولید اخطار ورود بدون اجازه بنویسید. اخطار، یک صدای Hz 400 برای 1 ثانیه در P1.7 تولید میکند و حسگر متصل به INT0 باعث تولید یک لبه منفی میشود.برنامه شامل 3 وقفه: وقفه خارجی صفر برای حسگر درب، وقفه زمانسنج صفر برای تولید صدای Hz 400، و وقفه زمانسنج یک برای تاخیر 1 ثانیهپساز مقداردهی اولیه برخی از ثباتهای ویژه و تواناسازی وقفه خارجی صفر در وضعیت تحریک با لبه منفی، ایجاد وقفه با بازشدن دربوقفه بازشدن درب باعث اجرای EX0ISR و در این زیربرنامه، فعالسازی وقفههای زمانسنجها بترتیب ابتدا زمانسنج صفر و سپس، زمانسنج یکبعد از تواناسازی وقفه زمانسنج صفر، ایجاد اولین وقفه اجباری و رفتن به T0ISR برای مقداردهی اولیه ثباتهای زمانسنج صفر (1 S= 1000000 μS) با بازگشت از T0ISR، رفتن به T1ISR و راهاندازی زمانسنج یک برای تولید یک آهنگ با فرکانس Hz 400 در P1.7
اسلاید 23:
اسلاید 24:
اسلاید 25:
اسلاید 26: 7- زمانبندی وقفهباتوجه به نحوه نمونهبرداری از سیگنال وقفه توسط CPU، وجود یک تاخیر بین زمان مشاهده وقفه تا شروع ISR بنام زمانعکسالعمل؛ میزان زمانعکسالعمل حداقل برابر μS 3/25 برای وقفه سطح صفر تا حداکثر μS 9 برای سطح یک با کریستال MHz 12
نقد و بررسی ها
هیچ نظری برای این پاورپوینت نوشته نشده است.