صفحة: 81

פתרון : בשיטה הראשונה נעשה שימוש במשתנים מסוג סיבית , bit ובשיטה השנייה מועתק מפתח הקלט למשתנה במרחב bdata תוך כדי פנייה ישירות לסיביות של המשתנה הזה . הפתרון בשיטה א : ' 1 . + include < reg 51 . h > 2 . xdata unsigned char Switces –at– 0 x 1000 ; 3 . xdata unsigned char Leds –at– 0 x 2000 ; 4 . bit sw 2 , sw 1 , sw 0 ; 5 . void main () 6 . { 7 . if ( Switches & 0 x 01 ) sw 0 = 1 ; // if ( Switches & 0 x 01 ! = 0 ) 8 . else sw 0 = 0 ; 9 . if ( Switches & 0 x 02 ) sw 1 = 1 ; 10 . else sw 1 = 0 ; 11 . if ( Switches & 0 x 04 ) sw 2 = 1 ; 12 . else sw 2 = 0 ; 13 . if ( sw 0 & sw 1 | sw 0 & sw 2 | sw 1 & sw 2 ) 14 . Leds = Leds | 0 x 80 ; 15 . else 16 . Leds = Leds & ~ 0 x 80 ; 17 . while ( 1 ); 18 . } הסבר : בשורה 4 הוגדרו שלושה משתנים בגודל סיבית כל אחד , המייצגים את שלושת המפסקים . בשורות 12-7 נבדקה כל סיבית במשתנה Switches בנפרד וערכה של כל סיבית הוצב במשתנה סיבית מתאים : הסיבית הימנית ביותר במשתנה , sw 0 הסיבית השנייה מימין במשתנה sw 1 והסיבית השלישית מימין במשתנה . sw 2 בפקודה שבשורה 13 מופיע משפט תנאי ובו ביטוי בוליאני המכיל פעולות : or-ו and . sw 0 › sw 1 › sw 0 › sw 2 › sw 1 › sw 2 אם תוצאת הפעולה הבוליאנית היא , 1 אזי יוצב 1 בסיבית השמאלית ביותר , והנורית תדלוק . אם תוצאת הפעולה הבוליאנית היא , 0 אזי יוצב 0 בסיבית השמאלית , והנורית תכבה .

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

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


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