در این پست قصد داریم به کمک میکروکنترلر AVR، روشن/خاموش شدن دو LED را به کمک Push-Button کنترل کنیم. کدنویسی این پروژه در نرم افزار کدویژن(CodeVisionavr) و شبیه سازی آن در پروتئوس(Proteus) انجام خواهد شد. در پایان، این پروژه را بصورت عملی پیاده سازی خواهیم کرد.

پیش از شروع کار لازم است با مفهوم و کاربرد مقاومت‌های پول آپ(Pull-up) و پول داون(Pull-down) آشنا شوید. در ویدیو زیر به صورت کامل به این موضوع می‌پردازم:

در این مرحله بخش اول پروژه را کدنویسی  کرده و آن را در پروتئوس شبیه‌سازی می‌کنیم. قصد داریم تا زمانی که دکمه متصل به پایه B0 میکرو فشرده شده است، ال ای دی متصل به پایه A0 روشن بماند و در صورت رها کردن دکمه، ال ای دی هم خاموش شود. در ویدیو زیر با جزئیات به این موضوع پرداخته‌ام:

حال به کدنویسی و شرح بخش دوم پروژه دقت کنید. در این بخش می‌خواهیم با هر بار زدن دکمه متصل به پایه D0، ال ای دی متصل به پایه C0 تغییر وضعیت دهد.(یعنی اگر روشن است، خاموش شود و اگر خاموش است، روشن شود):

بعد از کدنویسی و شبیه سازی پروژه، نوبت به پیاده سازی عملی پروژه می‌رسد که این بخش هم نکات خاص خود را دارد. پیشنهاد میکنم ویدیو زیر را کامل ببینید و پروژه خود را پیاده‌سازی کنید:

کد نوشته شده برای این پروژه:

[code lang=”C”] #include #include void main(void) { DDRA.0=1; // A0 : OUTPUT DDRC.0=1; // C0 : OUTPUT DDRB.0=0; // B0 : INPUT DDRD.0=0; // D0 : INPUT while (1) { if( PINB.0==0 ) { PORTA.0=1; } else { PORTA.0=0; } if( PIND.0==0 ) { delay_ms(200); if(PIND.0==0) { PORTC.0 = ~PORTC.0; while( PIND.0==0 ); } } } } [/code]