|
עמוד:302
הסבר : על מנת לחשב את סיבית הזוגיות בדקנו כל אחת מהסיביות של התו ' 9 ' באמצעות 1 " נע" שמאלה ( מתחילים בערך . ( one = 0 x 01 בכל זיהוי של 1 בתו ' 9 ' קידמנו את המונה . cnt כאשר המשתנה one מתאפס , הלולאה מסתיימת . השארית מן החלוקה של המונה 2-ב cnt נותנת את ערך סיבית הזוגיות . שימו לב למידת הסרבול בחישוב סיבית הזוגיות ביחס לפתרון המוצע בשפת-הסף . 2 נציג פתרון המשתמש בשילוב הוראות בשפת -סף : + include < REGX 51 . h > תכנית ראשית void main () // { הגדרת אופן פעולה 2 למונה TMOD = 0 x 20 ; // 1 ערך טעינה אוטומטית TH 1 = 0 xFD ; // ערך התחלתי למונה TL 1 = 0 xFD ; // 1 הפעלת מונה TR 1 = 1 ; // 1 קביעת אופן פעולה 3 למפתח הטורי SCON = 0 xC 0 ; // הכפלת קצב השידור PCON = 0 x 80 ; // TMOD = 1 קביעת הדגל מאפשרת הפעלה ראשונה TI = 1 ; // */ קטע חישוב סיבית זוגיות /* + pragma asm MOV A , + ' 9 ' MOV C , P MOV TB 8 , C + pragma endasm */ סוף קטע חישוב סיבית זוגיות /* while ( TI == 0 ); SBUF = ' 9 ' ; TI = 0 ; לולאה אינסופית while ( 1 ); // } 2 להגדרות האפשור של שילוב שפת-סף בשפת C ראו נספח . 'א
|
|