سلام بر همگی
من برنامه ای نوشتم که وقتی وقفه خارجی صفر اتفاق میفته، یک led رو یک ثانیه روشن و یک ثانیه خاموش کنه. ولی تو پروتئوس که تست کردم کار نمیکنه. میتونین راهنماییم کنین که مشکل برنامه من چیه؟
برای ایجاد لبه بالارونده روی پایه INT0 ، یه مقاومت pull down گذاشتم و یک کلید که بین Vcc و پایه INT0 قرار داره. وقتی کلید رو فشار میدم هیچ اتفاقی نمیفته. ممنون میشم اگه راهنماییم کنین.
من برنامه ای نوشتم که وقتی وقفه خارجی صفر اتفاق میفته، یک led رو یک ثانیه روشن و یک ثانیه خاموش کنه. ولی تو پروتئوس که تست کردم کار نمیکنه. میتونین راهنماییم کنین که مشکل برنامه من چیه؟
کد:
#include <mega32.h> #include <delay.h> void main(){ DDRB=0xFF; PORTB=0x00; GICR|=0x40; MCUCR=0x03; MCUCSR=0x00; GICR=40; #asm("sei") while(1); } interrupt [2] void ext_int0(void) { #asm("cli"); PORTB=0x01; delay_ms(1000); PORTB=0x00; delay_ms(1000); #asm("sei"); }
دیدگاه