بخشی از پاورپوینت
--- پاورپوینت شامل تصاویر میباشد ----
اسلاید 1 :
External Interrupts:
میکروATmega 16 دارای سه منبع وقفه خارجی می باشد:
1-External interrupt 0 (INT0)
2-External interrupt 1 (INT1)
3-External interrupt 2 (INT2)
اسلاید 2 :
MCUCR
نوع تریگر شدن هریک از وقفه های خارجی صفر و یک بوسیله این رجیستر تعیین می شود.
اسلاید 3 :
MCUCSR :
نوع تریگر شدن وقفه 2 با استفاده از ست کردن بیت 6 این رجیستر تعیین میشود.
اسلاید 4 :
مثال: برنامه ای بنویسد که یک LED متصل به پورت B را در هر ثانیه یک بار روشن و خاموش کند و در صورت فعال شدن وقفه صفر همین کار را برای LED متصل به پورت A یک بار انجام دهد .
اسلاید 5 :
پین صفرم پورت A و B با ید خروجی تعریف شود.
بیت فعال ساز عمومی وقفه ها باید یک شود.
بیت فعال ساز وقفه صفر باید یک شود.
وقفه صفر باید حساس به لبه ی پایین رونده تنظیم شود.
تابع اجرای وقفه صفر باید نوشته شود.
برنامه اصلی در حلقه بی نهایت نوشته شود
برنامه مربوط به وقفه در تابع وقفه نوشته شود
اسلاید 6 :
interrupt[2]isr_int0()
PORTA.0=1;
delay_ms(1000);
PORTA.0=0;
void main(void)
DDRA.0=1;
DDRB.0=1;
PORTD.2=1;
اسلاید 7 :
#asm ("SEI")
GICR= 0b01000000;
MCUCR=0b00000010;
while(1)
{
PORTB.0=1;
delay_ms(500);
PORTB.0=0;
delay_ms(500);
اسلاید 8 :
#asm ("SEI") //SREG=0x80;
GICR= 0b01000000;
MCUCR=0b00000010;
while(1)
PORTB.0=1;
delay_ms(500);
PORTB.0=0;
delay_ms(500);
interrupt[2]isr_int0()
PORTA.0=1;
delay_ms(1000);
PORTA.0=0;
void main(void)
DDRA.0=1;
DDRB.0=1;
PORTD.2=1;
اسلاید 9 :
تمرین :یک اشکار ساز عبور از صفر برای یک ولتاژ ورودی آنالوگ طراحی کنید . زمانی که سیگنال ورودی از صفر عبور میکند وقفه ای فعال شود و در آن وقفه پین صفر از پورت A به مدت چند ثانیه یک شود.
اسلاید 10 :
برنامه ای بنویسید که هر پالس یایین رونده که به پایه وقفه صفر اعمال می شود را بشمارد و تعداد شمارش ها را بر روی سه 7segment نمایش دهد.