خدمات وبسایت آی‌سی‌تی نیـــک

طراحی و ساخت انواع پروژه‌های الکترونیکی با: میکروکنترلرavr - میکروکنترلرarm - میکروکنترلرpic و آردوینو

مقالات و آموزش‌های رایگان در سطوح پایه و حرفه‌ای برای الکترونیک و آی سی تی - ICT

آموزش برنامه نویسی وقفه های سخت افزار خارجی

منتشر شده در میکروکنترلرpic

امتیاز کاربران

ستاره فعالستاره فعالستاره فعالستاره فعالستاره فعال
 

PIC18 سه وقفه سخت افزاری روی پایه های PORTB.0 و PORTB.1 و PORTB.2 به نام های INT0 و  INT1و INT2 دارد که با فعال شدن این پایه ها میکرو در حال انجام هر کاری که باشد به جدول بردار می پره تا روتین سرویس وقفه رو انجام بده. جدول زیر بیت های پرچم و رجیستر های مربوط به وقفه های خارجی رو نشان میدهد.

INTCON

ادامه مطلب???

 

برای مشخص کردن اینکه هر وقفه حساس به کدام لبه (بالا رونده یا پایین رونده ) باشد از رجیستر INTCON2 استفاده میکنیم که در آن بیت های INTEDG0 و INTEDG1 و INTEDG2وجود دارد که وضعیت این بیت ها مد حساس به لبه پایین رونده یا بالا رونده را مشخص می کند. دقت کنید که پس از هر بار ریست شدن میکروکنترلر، وضعیت این بیت ها در 1 منطقی قرار می گیرد بدین معنی که وقفه های خارجی حساس به لبه بالا رونده می شوند پس اگر میخواهیم وقفه ها حساس به لبه پایین رونده باشند حتما باید آن را به صورت نرم افزاری در وضعیت صفر قرار دهید.

INTEDG

در برنامه زیر فرض میکنیم پایه INT0 به یک مولد پالس وصل شده و PORTB.7 به یک ال ای دی که در صورت فعال شدن وقفه INT0 روشن می شود. وقفه با لبه بالا رونده کار میکند:

#include <p18f458.h>
#define mybit PORTBbits.RB7
void interrupt int0_ISR()
{
if (INT0IE && INT0IF)
{
INT0IF=0;
mybit=1;
}
}
void main()
{
TRISBbits.TRISB7=0;//RB7=OUTPUT
TRISBbits.TRISB0=1;//INT0=input
INTCONbits.INT0F=0;//clear int0
INTCONbits.INT0E=1;//enable int0 interrupt
INTCON2bits.INTEDG0=1;//make it positive edge
INTCONbits.GIE=1;//enable all interrupt
while(1);
}

اجرای برنامه در محیط پروتئوس:

INT0PRO

همانطور که مشاهده می کنید پس از زدن کلید بلافاصله LEd متصل به PB7 روشن می شود.

 

 مطالب مرتبط :

برچسب ها:

Tags: آموزش میکروکنترلر میکروکنترلر pic microcontroller pic رشته الکترونیک آموزش برنامه نویسی وقفه

دیدگاه‌ها  

# محمود 1395-12-09 06:14
سلام
آقای مدیر این سوالات جواب نداره.
با تشکر از سایت و پروژه های خوبتون.
التماس دعا
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
# محمود 1395-12-05 07:29
با سلام
آموزش های mplab x همشه در یک فایل باشد را دارید یا باید همین جز جز بگیریم.
برنامه هایی که آماده کردید را می شود بر اساس boot loader که بشه با usb برنامه ریزیزش کرد قرار بدید. عالی میشه.اگه این کار شدنی باشه فوقالعاده است.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
# محمود 1395-12-01 22:30
با سلام مجدد
ماژول مربوط به dspic سازگار با mplab x باشه میخواستم.کجا میتونم پیدا کنم .
لطفا راهنمایی کنید.
ممنونم
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
# مدیر ارشد 1395-12-02 00:44
از فروشگاه های اینترنتی مثل eca یا wle
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
# محمود 1395-12-01 22:10
با سلام

این mplab x آموزش کاملش کی آماده میشه .
و نیز یک برنامه را برا آی سی 74hc595 بیاورید با تشکر
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
# مدیر ارشد 1395-12-02 00:43
سلام دوست عزیز آموزش های mplab تقریبا تکمیل هستند یک نگاهی به قسمت های دیگه بندازید
اگه وقت بشه برای آی سی مد نظر هم یک برنامه مینویسیم چشم
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
# Niloufar_m_h 1394-05-24 13:09
mamnun az tozihatetun ama in dasturi k migid male barname mikroc pro for oic nist...error migire
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن

4

پشتیبانی و مشاوره 24 ساعته

ictnic2

تماس با ما

  • تلگرام : ICTNIC2@

به ما بپیوندید

ما را در صفحات اجتماعی دنبال نمایید...

کاربران ثبت نامی

تا این لحظه تعداد

2415 نفر

در وبسایت تخصصی ictnic

ثبت نام و از خدمات ما استفاده می کنند.

ما را در آپارات دنبال کنید

aparat logo fa color black 275x100