در ادامه مجموعه آموزش های میکروکنترلر PIC توسط کامپایلر CCS C ، در این قسمت به نحوه ی برنامه نویسی برای وقفه های خارجی میکروکنترلر که کاربرد زیادی در سرعت بخشیدن به عملکرد برنامه دارد می پردازیم.
برای مثال نیز از برنامه ی راه اندازی سون سگمنت که در جلسه دوم توضیح دادیم استفاده می کنیم و با اضافه کردن دو کلید، با استفاده از وقفه خارجی مقدار عدد روی سون سگمنت را افزایش یا کاهش می دهیم.
شکل زیر مدار لازم را برای شبیه سازی را نشان می دهد. کلید Up به پایه RB1 یا وقفه شماره 1 برای افزایش عدد روی سون سگمنت و کلید Down به پایه ی RB2 به وقفه شماره 2 متصل شده است و برای کاهش عدد روی سون سگمنت به کار می رود.
تنظیمات انتخاب میکروکنترلر و تنظیم کلاک را مطابق جلسات قبل انجام می دهیم. مشابه برنامه جلسه دوم، تنظیمات پایه های I/O را مطابق شکل زیر انجام می دهیم.
سپس از سمت چپ وارد بخش Interrupts می شویم و تیک مربوط به وقفه های شماره 1 و وقفه شماره 2 را فعال می کنیم.
با زدن دکمه create project کدهای پروژه شامل کدهای بخش های روتین وقفه شماره 1 و 2 تولید می شود. کدهای زیر را که مشابه کدهای جلسه دوم است وارد می کنیم.
تفاوت اصلی این برنامه با برنامه جلسه دوم در چگونگی مطلع شدن از فشرده شدن کلید می باشد. در برنامه جلسه دوم در حلقه ی while دائما بررسی می کنیم تا اگر کلید فشرده شد، کدهای لازم اجرا شود ولی در این برنامه نیازی به این بررسی وجود ندارد و در صورت فشرده شدن کلیدها، روند اجرای برنامه به بخش متناسب با وقفه ایجاد شده منتقل می شود و کدهای نوشته شده برای فشرده شدن کلید اجرا می شود.
برنامه را کامپایل کرده و در محیط نرم افزار پروتئوس شبیه سازی می کنیم.
سوال: حساسیت وقفه (حساس به سطح یا حساس به لبه) چگونه است؟
امیدوارم این بخش هم برای شما مفید باشد. اگر سوالی داشتید در بخش نظرات مطرح کنید.
اگر این نوشته برایتان مفید بود لطفا کامنت بنویسید.