سلام .این برنامه باید به طور پیش فرض دو عدد را با هم جمع کند اگر دکمه زده شد تفریق و با هر بار زدن دکمه بین این دو حالت سوییچ کند. اعداد با دیپ سوییچ گرفته می شود .این برنامه کاملا آسونه ولی مشکل من اجرای برنامه روی برده.گاهی با زدن دکمه حالتش یک لحظه عوش می شه ولی دوباره به حالت قبلی بر میگرده در حالی که من میخوام تو حالت جدید بمونه،از نطر زمانی این برنامه رو چه طوری اصلاح کنم؟
کد:
[left] #include <mega32.h> #include <delay.h> int x=0; void main(void) { PORTA=0x00; DDRA=0xFF; PORTB=0xFF; DDRB=0x00; PORTC=0xFF; DDRC=0x00; PORTD=0xFF; DDRD=0x00; while (1) { if(!PINC.0) x=~x; if(!x) { PORTA=PINB+PIND; delay_ms(2000); } else if(x) { PORTA=PINB-PIND; delay_ms(2000); } }; } [/left]
دیدگاه