صفحة: 162

+ include < reg 51 . h > לחצן ימני sbit rsw = P 1-0 ; // נורה שמאלית sbit llamp = P 3-7 ; // מונה להשהיה עבור תופעת הריטוטים unsigned char cnt ; // void main () { הצג מצב מפסק התחלתי llamp = rsw ; // לולאה אינסופית while ( 1 ) // { המתן ללחיצה while (! rsw ); // llamp = rsw ; מפסק לחוץ llamp = 1 ; // אורך השהיה cnt = 200 ; // do { אם מפסק לחוץ עדכן מונה if ( rsw ) cnt-- ; // אם חזר לאפס ( ריטוט ) אתחל מונה מחדש else cnt = 200 ; // חזור כל עוד קיים ריטוט } while ( cnt > 0 ); // המתן לשחרור while ( rsw ); // llamp = rsw ; מפסק משוחרר llamp = 0 ; // אורך השהיה cnt = 200 ; // do { אם מפסק משוחרר עדכן מונה if (! rsw ) cnt-- ; // אם חזר לאחד ( ריטוט ) אתחל מונה מחדש else cnt = 200 ; // חזור כל עוד קיים ריטוט } while ( cnt > 0 ); // } } הסבר : ברגע שבו התכנית מזהה שינוי במצב הלחצן מתחיל תהליך של מדידת זמן . הזמן הדרוש להתייצבותו של לחצן במצב כלשהו משתנה מלחצן ללחצן , לכן משך ההשהיה שנקבע להתייצבותו של לחצן אחד לא יתאים ללחצן אחר . הפתרון שבדוגמה דומה במהותו למערכת חד-יציב המתחילה במדידת זמן ברגע שחל שינוי במצב .

מטח : המרכז לטכנולוגיה חינוכית

ישראל. משרד החינוך


 لمشاهدة موقع كوتار بأفضل صورة وباستمرار