25-11-2006, 00:29
|
|
|
חבר מתאריך: 20.10.06
הודעות: 202
|
|
הדרך הכי טובה ליצור השהייה ב-8051...
היא בעזרת פסיקת טיימר..
אתה מגדיר 'דגל' מסוים בתוכנה ומאפס אותו.
עכשיו אתה מגדיר את הטיימר שימנה את הזמן הדרוש לך להשהייה
ושיתן לך פסיקה כאשר הוא מסיים את המנייה.
ברוטינת פסיקה של הטיימר את קובע שהוא יהפוך את ה-דגל, לערך 1.
עכשיו בכל פעם שאתה צריך השהייה, את קובע את הדגל ל-0 ומפעיל
את הטיימר ואז אתה נכנס ללופ בתוכנה שלך אשר מחכה שהדגל יהפוך ל-1,
ברגע שהטיימר מסיים למנות הפסיקה שלו מופעלת והופכת את הדגל ל-1
ואז התוכנית הראשית שלך ממשיכה בפעולה...
מה שמשיגים בשיטה הזו היא השהיית-זמן מדוייקת הניתנת לחישוב,
לעומת-זאת, ביצוע סתמי של לולאות בתוכנה אינו נוח וקשה מאד
לחשב את הזמן המדוייק שיגרם מהלולאת-תוכנה..
בברכה
DigiGil
|