سلام دوستان من برنامه ای نوشتم که با لبه پایین رونده یک ال ای دی رو روشن کنه و بعد یک ثانیه خاموش شه.ولی یک بار با تغییر سطح روشن میکنه و بعد یک ثانیه خاموش. و بار دیگر با لبه پایین روشن و سپس خاموش.یعنی تو هر بار پالس دادن دوبار وقفه انجام میشه به نظر مشکل کجاست؟؟؟
اطلاعیه
Collapse
No announcement yet.
مشکل در ایجاد لبه در زیر روال وقفه
Collapse
X
-
پاسخ : مشکل در ایجاد لبه در زیر روال وقفه
#include <mega32a.h>
#include <delay.h>
void main(){
DDRB=(1<<DDB1)|(1<<DDB2);
PORTB=(0<<PORTB1)|(0<<PORTB2);
PORTD=(1<<PORTD2);
GICR=(1<<INT0);
MCUCR=(1<<ISC01);
#asm("sei"
while (1);
}
interrupt [EXT_INT0] void external_INT0_isr()
{
DDRB=(1<<DDB1)|(1<<DDB2);
PORTB=(1<<PORTB1);
delay_ms(1000);
PORTB=(0<<PORTB1);
}
دیدگاه
دیدگاه