دانلود مقاله وقفه ها و سازمان وقفه در 8051
دسته بندي :
مقاله »
مقالات فارسی مختلف
لینک دانلود و خرید پایین توضیحات
دسته بندی : وورد
نوع فایل : word (..doc) ( قابل ويرايش و آماده پرينت )
تعداد صفحه : 36 صفحه
قسمتی از متن word (..doc) :
وقفه ها
1 مقدمه
وقفه ، حالتي است كه باعث متوقف شدن يك برنامه به صورت موقت مي شود ، كه خود توسط يك برنامه ديگر فعال مي گردد . وقفه ها نقش مهمي در طراحي و پياده سازي كاربردهاي ميكروكنترل دارند ; اما مي تواند اجراي يك برنامه به يك درخواست ديگر نيز پاسخ دهد . نبايد تصور كنيم كه سيستم داراي وقفه ، مي تواند بسياري از كارها را همزمان انجام دهد . البته ، CPU نمي تواند در هر لحظه بيش از يك دستور العمل را اجرا كند ; دستور العمل ديگر را اجرا كند و مجدداٌ به دستور اول باز گردد .در هر صورت ، اين عمل شبيه يك زيروال است . CPU برنامه ديگر – زيروال – را اجرا كند و مجدداٌ به دستور اول باز گردد . در هر صورت ،اين عمل شبيه يك زيروال است . CPU برنامه ديگر – زيروال – را اجرا كرده و سپس به برنامه اصلي بر مي گردد . شبيه يك زيروال است .تفاوتي كه در يك سيستم راه اندازي شده با وقفه وجود دارد ، اين است كه وقفه پاسخي به يك [اتفاق] است كه به طور غير همزمان با برنامه اصلي به وقوع مي پيوندد و حالتي نيست ه برنامه اصلي مورد وقفه قرار ميگيرد .
برنامه اي كه مربوط به وقفه مي شود يك روال سرويس وقفه (ISR) يا گرداننده وقفه ناميده مي شود ISR در پاسخ به يكوقفه عمل كرده و معمولاٌ عمليات ورودي يا خروجي را براي يك دستگاه انجام مي دهد . هنگام وقوع وقفه، اجراي برنامة اصلي متوقف شده و به ISR انشعاب صورت مي گيرد ; ISR اجرامي شود و با دستورالعمل [برگشت از وقفه] پايان مي پذيرد و برنامه اصلي ادامه مي يابد . معمولاٌ برنامه اصلي سطح پايه و ISR سطح وقفه ناميده مي شود . اصطلاحات اصلي (سطح پايه ) و فرعي (سطح وقفه) نيزمورد استفاده قرار مي گيند . در شكل 1-6 قسمت (الف) ، اجراي برنامه بدون وقفه ، و در قسمت (ب) اجراي سطح پاي ، در صورت وقوع وقفه اجراي ISR ها در سطح وقفه ، به نمايش در آمده است .
ورود اطلاعات توسط صفحه كليد ، نمونه اي از يك اجاق مايكروويو را در نظر بگيريد . برنامه اوليه(اصلي) ممكن است عنصر تغذيه مايكروويو را براي پخت ، و كاهش يا افزايش زمان پخت راكنترل كند . هنگامي كه كاربر كليدي فشار دهد يك وقفه توليد مي شود ، (سيگنالي كه مي تواند از سطح پائين به بالا رود ) و برنامه اصلي مورد وقفه قرار مي گيرد ، ISR كدهاي صفحه كليد را مي خواند و شرايط پخت را مطابق با آن تغيير مي دهد و با برگشت به برنامه