פסיקות

ארכיטקטורה

חומרה

ניהול זכרון

טיימרים/מונים

סוגי מיעון

UART

WATCHDOG

תוכנה

פסיקות

בין האוגרים המיוחדים קיימים אוגרים הקשורים בפסיקות. מצב פסיקה (INTERRUPT) הוא מצב בו מתבקש ה-CPU להפסיק לרוץ על התכנית בה הוא נמצא, ולפנות לתכנית אחרת. תכנית זו נקראת תכנית פסיקה.

בקשת הפסיקה יכולה להתקבל במספר צורות. מערכות חיצוניות ל-CPU יכולות להתחבר ל2- קווים הנכנסים אל ה-CPU ובעזרתם להודיע ל-CPU על בקשת הפסיקה. בקשה כזו נקראת EXTERNAL INTERRUPT. אפשרות שניה, ע"י אחד משני קוצבי הזמן. ברגע שהם מסיימים למנות את המספר שנאמר להם למנות (ולאחר שהופעלו כמובן), הם מבצעים בקשת פסיקה. אפשרות שלישית, במקרה של תקשורת טורית, דרך הפורט הטורי הנמצא ב-CPU .

עם קבלת הפסיקה, מסיים ה-CPU את ההוראה שהוא נמצא בה. הוא מאחסן את תוכן מונה התכנית, המצביע על כתובת ההוראה הבאה בתור. אחסון זה נעשה כדי שבסיום תכנית הפסיקה, יוכל לחזור ולהמשיך בתכנית בה הוא נמצא. לאחר האחסון הוא פונה לאזור הפניות שבתכנית המוניטור. באזור זה רשומות פקודות הפניה לתכניות הפסיקה השונות. הוא פונה לכתובת המתאימה, לבקשת הפסיקה שהתקבלה ומשם הוא מופנה לתכנית הפסיקה הרצויה.

מיקום ההפניות הוא כדלקמן :

0000H

RESET

0003H

EXTERNAL INTERRUPT 0

000BH

TIMER 0 OVERFLOW

0013H

EXTERNAL INTERRUPT 1

001BH

TIMER 0 OVERFLOW

0023H

SERIAL PORT

יש לדאוג שבכתובות אלו תימצאנה הפניות של תכניות הפסיקות השונות. צריך לזכור, שאזור זה נמצא ב-ROM המערכת.

בזמן הפניה לתכנית הפסיקה או לתכנית משנה, מאחסן ה-CPU את תוכן מונה התכנית. אחסון תוכן זה יעשה באזור RAM הנקרא מחסנית. זהו זיכרון באזור ה-RAM הפנימי. כדי לדעת היכן בדיוק לאחסן, נעזר ה-CPU באוגר הנקרא מצביע מחסנית (SP - STACK POINTER). אוגר זה נמצא בין האוגרים המיוחדים שב-RAM הפנימי. הוא מצביע על כתובת בתוך ה-RAM הפנימי.

כאשר מסתעף ה-CPU לתכנית משנה או לתכנית פסיקה, לפני ההסתעפות הוא מקדם את ה-SP ב1-. בכתובת ש-SP מצביע עליה הוא מאחסן את PCL. שוב הוא מקדם את SP ב1- והפעם מאחסן את PCH, כך הוא שומר ב2- בתים האחרונים את הכתובת אליה הוא צריך לחזור בסיום הפסיקה. SP נשאר להצביע על הנתון האחרון שאוחסן במחסנית.

טעינת הנתונים חזרה נעשית בסדר הפוך לאחסון, לפי אחרון נכנס, ראשון יצא, כמו במחסנית של רובה. במחסנית משתמשים גם לאחסון נתונים בצורה ארעית.

בזמן אתחול ה-CPU, מקבל SP את הערך 07. כלומר, דחיפת נתונים למחסנית תיעשה החל מתא 08. אזור זה הוא באזור BANK 1 של האוגרים R0-R7. אם עלולה להיווצר בעיה, יש לקבוע את SP לערך אחר.

ניתן לחסום בקשות פסיקה מסוימות או לקבוע סדר עדיפויות במקרה של קבלת יותר מבקשת פסיקה אחת בו זמנית. קביעת החסימה (הנקראת מיסוך - MASK ) וסדר העדיפויות נקבע ע"י האוגרים IP ו-IE.

בקרת הפסיקות :

אוגר IE :

EX0

ET0

EX1

ET1

ES

ET2

X

EA

כאשר סיבית באוגר IE נמצאת ב-"0", היא חוסמת את הכניסה הרלוונטית לגביה.

סיבית EA: חוסמת את כל הפסיקות, ולא משנה מה מצב שאר סיביות האוגר. כדי לאפשר פסיקה, צריך להעלות ל-"1" את הסיבית המתאימה לאותה הפסיקה וכן להעלות ל-"1", את סיבית EA.

סיבית EX0: מאפשרת או חוסמת את בקשת הפסיקה החיצונית המגיעה מהרגל החיצונית INT0.

סיבית ET0 :מאפשרת או חוסמת את בקשת הפסיקה המגיעה מ-TIMER0.

סיבית EX1 :מאפשרת או חוסמת את בקשת הפסיקה החיצונית המגיעה מהרגל החיצונית INT1.

סיבית ET1 :מאפשרת או חוסמת את בקשת הפסיקה המגיעה מ-TIMER1.

סיבית ES :מאפשרת או חוסמת את בקשת הפסיקה המגיעה מהפורט הטורי של ה-UART.

אוגר IP :

PX0 PT0 PX1 PT1 PS PT2 X X

ב- 8051 קיימות שתי רמות עדיפות לפסיקה. כל אחד ממקורות הפסיקה ניתן לסיווג ברמת עדיפות גבוהה או נמוכה, ע"י כתיבה לאוגר IP.

קביעת סיבית "1" בסיבית עדיפות פסיקה מסוימת, מעבירה אותה לרמת עדיפות גבוהה. יתכנו מספר פסיקות באותה רמת עדיפות (גבוהה או נמוכה). במקרה כזה העדיפות היא בהתאם לסדר הסיביות. PX0 בעלת העדיפות הגבוהה ביותר ו- PS בעלת העדיפות הנמוכה ביותר.

סיביות 0 עד 6 מתייחסות בהתאמה לפסיקות שאופשרו באוגר IE.

Valid HTML 4.01!