16-02-2008, 15:39
|
|
|
חבר מתאריך: 20.10.06
הודעות: 202
|
|
אתחול רגיסטרים הקשורים בפסיקות...
על-מנת לאתחל את הסיביות הרצויות, הכי פשוט זה לכתוב ערך מתאים אל רגיסטרי הפסיקות.
הרגיסטר הקובע את אפשרות הפסיקות הוא IE והעדיפות נקבעת על-ידי IP, חפש את המשמעות של כל סיבית ברגיסטרים הללו בדפי-נתונים של ה8051 וכתוב ערך מתאים אל הרגיסטר הרצוי.
לדוגמא, אם נניח הסיבית EA (אפשור פסיקות כללי) היא ה-MSB ברגיסטר IE ואתה רוצה שיהיה בה '1' (כלומר מאופשרת), אז אתה צריך להדליק את הסיבית הזו, הדרך הפשוטה ביותר היא על-ידי ביצוע פעולת OR עם הערך 0x80 (בייט אשר הסיבית MSB בו דלוקה).
כלומר, אם אתה כותב בשפת C, אתה אמור לכתוב משהו כזה:
IE |= 0x80
אם אתה כותב באסמבלי, אתה אמור לכתוב משהו כזה:
ANL IE,80H
אם אתה מנסה לפנות ישירות אל הסיביות הרצויות לך (לדוגמא IE = 1) אז אתה צריך להיות מודע לכך שלא כל הסיביות בסביבה של 8051 ניתנות לפניה ישירה, יש כאלו שכן ויש כאלו שאתה צריך לכתוב אל הרגיסטר (SFR) שבו הן ממוקמות על-מנת לשנות את ערכן..
בברכה
DigiGil
_____________________________________
_- סיוע בהשלמת פרויקט-גמר להנדסאים -_
(האתר digigil.com נסגר)
|