המיקרובקר AT89S52

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


היכרות עם ה-AT89S52

ה-AT89S52 מבוסס על ה-8051 הותיק, אך הוא בקר מתקדם יותר, בהשוואה למקור.  פשוט יותר, נוח ומהיר יותר לפתח איתו. קל לשנות את התוכנית (הקוד) שהוא מריץ. הוא בעל תכונות משופרות. זול יחסית ומתאים לפיתוח פרויקט-גמר וגם לפרויקטי חובבים בבית. התכונות הבסיסיות של ה-AT89S52, כוללות:

  • תאימות של סט הפקודות, אל המיקרובקר 8051.
  • מכיל זיכרון תוכנית (ROM), מסוג Flash, בנפח של 8KB. ניתן לתכנות מחדש, מספר פעמים רב. אין עוד צורך כבעבר, לחבר זיכרון חיצוני.
  • מכיל זיכרון מידע (RAM), בנפח 256 בתים.
  • בעל 32 קווי I/O, שיכולים לשמש להתממשקות אל העולם החיצון.
  • בעל שלושה טיימרים/מונים, ברוחב 16 ביט כל-אחד.AT89S52 MCU
  • תמיכה בפסיקות, מ-8 מקורות שונים.
  • כולל התקן תקשורת טורית (UART).
  • תומך במצבי הנמכת-הספק.
  • מחזור-מכונה יחיד, נמשך 12 מחזורי-שעון, בדומה ל-8051 המקורי.

 

 

 

 

המיקרובקר AT89S52 - נושאים מתקדמים

מלבד התכונות הבסיסיות, שאינן שונות בהרבה מאלו שהיו גם ב-8051 המקורי, התווספו ל-AT89S52 תכונות חדשות, מתקדמות יותר. בין התכונות החדשות, ניתן למנות את הדברים הבאים:

  • נעילת זיכרון - ניתן לתכנת את הבקר, כך שלא ניתן יהיה לקרוא עוד את הקוד ששמור, בתוך זיכרון הפלאש הפנימי שבו. תכונה זו מאפשרת הגנה על הקוד, במקרה שהמפתח אינו מעוניין שתהיה אפשרות למישהו אחר, לבדוק מה בדיוק עושה הקוד, שרץ במיקרובקר.
  • יציאה ממצב הנמכת-הספק, בעזרת פסיקה - תכונה זו נוחה למדי, במקרים בהם משתמשים ביכולת הנמכת-ההספק של הבקר. ניתן לצאת ממצב הנמכת-הספק ולחזור לרוץ בקוד הראשי, על-ידי יצירת פסיקה כלשהי.
  • טיימר כלב-שמירה - זהו טיימר נוסף על הטיימרים הרגילים של הבקר. הטיימר מממש מנגנון, המכונה "כלב שמירה" (Watchdog) ומאפשר למתכנת המערכת, להגדיר שאם התוכנה נתקעת לזמן ארוך מדי, מסיבה כלשהי (באג למשל), המערכת תבצע אתחול (Reset) לעצמה והתוכנית תתחיל לרוץ מחדש. המנגנון הזה מאפשר ליצור מעגלים אלקטרונים, שאינם נתקעים לתמיד, גם אם הם נתקלים בבעיה.
  • מצביע-נתונים (DPTR) כפול - תכונה זו מאפשרת ביצוע פעולות קריאה/כתיבה בזיכרון הנתונים (Data), במהירות ובנוחות גדולות יותר, מאשר שימוש ב-DPTR יחיד בלבד, כמו שהיה ב-8051 המקורי.
  • דגל כיבוי-כח / אתחול מחדש - זוהי סיבית שנקבעת ל-"1" בהפעלת הבקר (אספקת המתח אליו). אחר-כך, המתכנת יכול  לשנות את מצבה כרצונו. ביצוע אתחול (Reset), אינו משנה את מצבה של הסיבית. מנגנון זה, מאפשר למתכנת, לדעת האם התבצעו כיבוי והדלקה מחדש, מאז הפעם האחרונה, שהבקר הגיע לנקודה מסוימת בקוד.
  • יכולת ISP .ISP היא שיטה של תכנות מחדש של המיקרובקר, ללא צורך להוציאו ממקומו במעגל. שיטה זו מאפשרת לתכנת אותו בפעם הראשונה, ב"קוד התחלתי" כלשהו ואז להכניסו למעגל עבורו הוא מיועד ואם בעתיד יש צורך לשנות את התוכנית שרצה בבקר (למשל לצורך עדכון או הוספת תכונות חדשות או לתיקון באגים), אז אין הכרח לשלוף את הבקר ממקומו. אם הוכנה תשתית מתאימה מראש (מימוש חומרתי פשוט), ניתן לתכנת מחדש את הבקר, תוך שהוא נשאר במעגל האלקטרוני.

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