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

מיקרו-בקר 8051 Basic
המיקרו-בקר 8051 הוא בקר מערכת משובץ בגודל 8 ביט שפותח במקור על ידי אינטל, המשלב מעבד, זיכרון, יציאות קלט/פלט, טיימרים וממשקי תקשורת לשבב אחד. הוא מיועד לשלוט במכשירים אלקטרוניים על ידי ביצוע פקודות מתוכנתות ואינטראקציה ישירה עם רכיבי חומרה. בניגוד למעבד מחשב כללי, ה-8051 נבנה במיוחד למשימות בקרה ייעודיות כגון קריאת חיישנים, הנעת תצוגות, ניהול מנועים, טיפול באותות תקשורת וביצוע פעולות עם זמן. מטרתו היא לשמש כ"מוח" של מערכות משובצות, לאפשר שליטה אוטומטית וקבלת החלטות בתוך עיצובים אלקטרוניים קומפקטיים וחסכוניים.
פרטי פינאוט מיקרו-בקר 8051

| מספר פין. | שם סיכה | סוג | תיאור |
|---|---|---|---|
| 1 – 8 | P1.0 – P1.7 | פורט קלט/פלט (פורט 1) | יציאת קלט/פלט דו-כיוונית 8-ביט כללית. אין פונקציות חלופיות ב-8051 הבסיסי. |
| 9 | RST | איפוס | קלט איפוס גבוה פעיל. פולס גבוה מאפס את המיקרו-בקר. |
| 10 – 17 | P3.0 – P3.7 | פורט קלט/פלט (פורט 3) | פורט דו-פונקציונלי. כולל RXD, TXD, INT0, INT1, T0, T1, WR, RD. |
| 18 | XTAL2 | שעון | פלט ממגבר האוסילטור הפנימי. |
| 19 | XTAL1 | שעון | קלט לאוסצילטור הפנימי ולמחולל השעון. |
| 20 | GND | כוח | הפניה לאדמה (0V). |
| 21 – 28 | P2.0 – P2.7 | קלט/פלט / אוטובוס כתובת | קלט/פלט כללי או אוטובוס כתובות מסדר גבוה (A8–A15) בעת שימוש בזיכרון חיצוני. |
| 29 | PSEN | שליטה | הפעלת חנות תוכניות. משמש לקריאת זיכרון תוכנה חיצוני. |
| 30 | ALE/PROG | שליטה | הפעלת מנעול כתובת. מפריד בין כתובת/נתונים בממשק זיכרון חיצוני. |
| 31 | EA/VPP | שליטה | גישה חיצונית מופעלת. בוחר זיכרון תוכנה פנימי או חיצוני. |
| 32 – 39 | P0.0 – P0.7 | קלט/פלט / אוטובוס כתובת/נתונים | אוטובוס כתובת/נתונים מסדר נמוך מרובה (AD0–AD7) או קלט/פלט כללי. |
| 40 | VCC | כוח | +5V ספק כוח. |
ארכיטקטורה של מיקרו-בקר 8051

להלן הבלוקים האדריכליים המרכזיים של 8051 ואיך כל אחד מהם פועל.
יחידת עיבוד מרכזית (CPU)
המעבד הוא הליבה של מיקרו-בקר 8051 ואחראי על ביצוע פקודות, ביצוע פעולות חישוביות ולוגיות, ותיאום כל הפעילויות הפנימיות. הוא כולל את יחידת הלוגיקה האריתמטית (ALU), מצבר, רגיסטר B, מילת מצב תוכנית (PSW), מונה תוכניות (PC), מצביע נתונים (DPTR) ומצביע מחסנית (SP). המעבד מעבד נתוני 8 ביט ושולט בפענוח פקודות, תזמון וזרימת נתונים בין הזיכרון להיקפיים. כל פעולה שמבוצעת על ידי המיקרו-בקר מנוהלת דרך יחידת עיבוד מרכזית זו.
זיכרון תוכנית (זיכרון קוד)
זיכרון התוכנית שומר את ההוראות שהמיקרו-בקר מפעיל. ב-8051 הקלאסי, הוא בדרך כלל כולל 4 KB של ROM פנימי, ששומר על פקודות מאוחסנות גם כאשר החשמל מנותק. הארכיטקטורה מאפשרת גם הרחבה של עד 64 KB של זיכרון תוכנה חיצוני. מכיוון שה-8051 פועל לפי ארכיטקטורת הרווארד, זיכרון התוכנית נפרד מזיכרון הנתונים, ומבטיח ביצוע פקודות מסודר ויעילות משופרת.
זיכרון נתונים (RAM)
זיכרון נתונים משמש לאחסון זמני במהלך ביצוע התוכנית. ה-8051 הסטנדרטי כולל 128 בתים של זיכרון RAM פנימי, המחולק לבנקים של רשומות, זיכרון ביט-כתובת, זיכרון RAM כללי ומרחב מחסנית. זיכרון זה שומר משתנים, תוצאות ביניים ונתוני תפעול בזמן שהתוכנית פועלת. זיכרון נתונים חיצוני יכול גם להיות מורחב עד 64 KB אם נדרש ליישומים גדולים יותר.
יציאות קלט/פלט (קלט/פלט)
ה-8051 מכיל ארבעה פורטי קלט/פלט מקביליים 8 ביט: פורט 0, פורט 1, פורט 2 ויציאה 3. יציאות אלו מאפשרות למיקרו-בקר להתחבר ישירות למכשירים חיצוניים כגון חיישנים, תצוגות, מתגים ומנועים. חלק מהפורטים כוללים גם פונקציות חלופיות. לדוגמה, פורט 0 ויציאה 2 יכולים לשמש כאוטובוסי כתובת ונתונים לגישה לזיכרון חיצוני, בעוד שפורט 3 מספק פונקציות מיוחדות כמו תקשורת סריאלית והפרעות חיצוניות. עיצוב פורט גמיש זה הופך את ה-8051 למתאים ליישומי ממשק חומרה שונים.
טיימרים/נגדים
ה-8051 כולל שני טיימרים/מונים של 16 ביט: טיימר 0 וטיימר 1. טיימרים אלו משמשים ליצירת עיכובי זמן, מדידת מרווחי זמן, ספירת אירועים חיצוניים והפקת קצבי באוד לתקשורת סדרתית. הם משפרים את יעילות המערכת על ידי טיפול בפעולות תזמון בחומרה, ומאפשרים למעבד לבצע משימות נוספות בו-זמנית.
מערכת בקרת הפרעות
מערכת ההפרעות מאפשרת ל-8051 להשהות זמנית את המשימה הנוכחית כדי להגיב לאירועים בעלי עדיפות גבוהה יותר. המיקרו-בקר תומך בחמישה מקורות הפרעות, כולל שתי הפרעות חיצוניות, שתי הפרעות טיימר, והפרעת תקשורת סריאלית אחת. כאשר מתרחשת הפרעה, המעבד קופץ אוטומטית לשגרת שירות מוגדרת מראש וממשיך את התוכנית הראשית לאחר השלמה. תכונה זו משפרת את התגובה ביישומים בזמן אמת.
ממשק תקשורת סדרתי
ה-8051 כולל מערכת UART (מקלט/משדר אסינכרוני אוניברסלי) מובנית בדופלקס מלא לתקשורת נתונים סדרתית. הוא מאפשר למיקרו-בקר לשדר ולקבל נתונים דרך פינים ייעודיים ל-TXD ו-RXD. תכונה זו משמשת באופן נרחב לתקשורת עם מחשבים, מודולי תקשורת ומיקרו-בקרים אחרים.
מעגל מתנד ושעון
מעגל המתנד מספק את אות השעון הנדרש לביצוע פקודות ולהפעלת ההיקפיים. ה-8051 משתמש בחיבורי גבישים חיצוניים דרך פיני XTAL1 ו-XTAL2 ליצירת פולסים יציבים של שעון. פולסי השעון הללו מסנכרן את כל הפעולות הפנימיות וקובעים את מהירות ביצוע ההוראות.
מערכת אוטובוסים פנימית
מערכת האוטובוס הפנימית מחברת בין המעבד, הזיכרון וההיקפיים בתוך המיקרו-בקר. הוא כולל אוטובוס נתונים בגודל 8 ביט, אוטובוס כתובת של 16 ביט, ואותות בקרה. אוטובוס הנתונים מעביר נתונים, אוטובוס הכתובת בוחר מיקומי זיכרון, וקווי הבקרה מנהלים את פעולות הקריאה/כתיבה. מבנה האוטובוס המאורגן הזה מבטיח תקשורת חלקה בין רכיבים פנימיים.
איך להתחבר ל-LED עם מיקרו-בקר 8051
התרשים למטה מציג מעגל ממשק LED בסיסי עם מיקרו-בקר 8051. אחד מפיני הקלט/פלט הכלליים (P1.0) משמש לשליטה בנורית LED דרך נגד מגביל זרם של 220Ω. הנגד מגן על ה-LED מפני זרם עודף ומונע נזק גם לנלד וגם לפין המיקרו-בקר. כאשר פין היציאה P1.0 מוגדר ל-HIGH (לוגיקה 1), זרם זורם מהמיקרו-בקר דרך הנגד וה-LED להארקה, וגורם לנורית ה-LED לזהור. כאשר הפין מוגדר ל-LOW (לוגיקה 0), זרימת הזרם נעצרת והנורית נכבית. זה מדגים שליטה דיגיטלית פשוטה בפלט באמצעות 8051.

המעגל כולל גם רכיבים תומכים חיוניים לתפעול תקין של מיקרו-בקר. מעגל איפוס הכולל קבל (10μF) ונגד מבטיח שה-8051 מתחיל נכון כאשר הוא מופעל. המתנד הגבישי (11.0592 MHz) עם שני קבלים של 33pF מספק את אות השעון הנדרש לביצוע ההוראות. נגדי משיכה שמחוברים ליציאה 0 מבטיחים רמות לוגיות יציבות כאשר משתמשים בהם כקווי קלט/פלט. יחד, רכיבים אלו יוצרים מערכת ממשק LED מלאה ופונקציונלית באמצעות מיקרו-בקרי 8051.
מפרטי מיקרו-בקר 8051
| קטגוריה | מפרט | פרטים |
|---|---|---|
| ארכיטקטורת מעבד | מעבד 8-ביט | מעבד נתוני 8 ביט; כולל רישום מצבר (A) ו-B |
| זיכרון תוכנית | ROM פנימי | 8 KB פלאש (גרסאות 8051 משופרות טיפוסיות); ניתן להרחבה עד 64 KB זיכרון חיצוני |
| זיכרון נתונים | זיכרון RAM פנימי | 256 בתים בסך הכל (128 בתים RAM כללי + 128 בתים שטח SFR) |
| זיכרון RAM כללי (00H–7FH) | 128 בתים | כולל 4 בנקים של רשומות (R0–R7), אזור כתובת ביט, וזיכרון RAM כללי |
| רשומות פונקציה מיוחדת (80H–FFH) | 128 בתים | שולט בטיימרים, פורט סיריאלי, יציאות קלט/פלט, הפרעות ופונקציות מערכת |
| בנקים רשומים | 4 בנקים | כל בנק מכיל 8 רגיסטרים כלליים (R0–R7) |
| מצביע ערימה (SP) | 8-ביט | מצביעים על מיקום הערימה בזיכרון |
| מונה תוכניות (PC) | 16-ביט | מחזיק את כתובת ההוראה הבאה |
| מצביע נתונים (DPTR) | 16-ביט | משמש לכתובת זיכרון חיצוני (DPH & DPL) |
| יציאות קלט/פלט | 32 פיני קלט/פלט | מאורגן ל-4 פורטים: P0, P1, P2, P3 (8 ביטים כל אחד) |
| טיימרים/מונים | 2 × 16-ביט | טיימר 0 וטיימר 1 ליצירת עיכובים וספירת אירועים |
| הפרעות | 5 מקורות הפרעה | 2 חיצוני (INT0, INT1) + 3 פנימי (Timer0, Timer1, סידור) |
| תקשורת סדרתית | UART דו-כיווני מלא | הפרדו קווי שליחה (שידור) ו-Rx (קבלה) |
| אוסצילטור | מעגל מתנד על השבב | נדרש גביש חיצוני ליצירת שעון |
| אוטובוס כתובות | 16-ביט | תומך בזיכרון חיצוני של עד 64 KB |
| אוטובוס נתונים | 8-ביט | מעביר נתונים פנימית וחיצונית |
| רשומות בקרה | ריבוי | כולל PCON, SCON, TMOD, TCON, IE, IP ואחרים |
| מצב הפעלה | אדריכלות הרווארד | מרחבי זיכרון תוכנה ונתונים נפרדים |
יישומים של מיקרו-בקר 8051
• מערכות אוטומציה תעשייתית - מיקרו-בקר 8051 משמש לשליטה במנועים, ממסרים וחיישנים בקווי ייצור אוטומטיים ובמערכות בקרת מכונות.
• מכשירי חשמל ביתיים - הוא מנהל תזמון, ויסות טמפרטורה ועיבוד קלט המשתמש במכשירים כמו מכונות כביסה ומיקרוגל.
• מערכות בקרה משובצות - מיקרו-בקר 8051 משמש כבקר הליבה ביישומים משובצים ייעודיים הדורשים פעולה יציבה וניתנת לחיזוי.
• פרויקטים רובוטיים - הוא קורא נתוני חיישנים ושולט במפעילים, מה שהופך אותו מתאים לפרויקטים קטנים של רובוטיקה ואוטומציה.
• אלקטרוניקה לצרכן - מיקרו-בקר 8051 משולב לעיתים קרובות בצעצועים אלקטרוניים, שלטים רחוקים ושעונים דיגיטליים לשליטה באותות ועיבוד לוגי.
• מערכות תקשורת - היא תומכת בתקשורת סריאלית לצורך ממשק עם מחשבים, מודולי תקשורת ומיקרו-בקרים נוספים.
• מכשירים רפואיים - מיקרו-בקר 8051 משמש בציוד ניטור פשוט ואבחון בעוצמה נמוכה.
• יישומי רכב - הוא מטפל בפונקציות בקרה בסיסיות כגון ניהול תצוגות וניטור חיישנים ברכבים.
• מערכות אבטחה - מיקרו-בקר 8051 מיושם במערכות אזעקה, מנעולים מבוססי מקלדת ומכשירי בקרת גישה.
• פרויקטים חינוכיים והכשרתיים - הוא משמש באופן נרחב במעבדות אקדמיות ללימוד יסודות תכנות מיקרו-בקרים ועיצוב מערכות משובצות.
מיקרו-בקר 8051 מול מיקרופרוססור 8085
| מאפיין | מיקרו-בקר 8051 | מיקרופרוססור 8085 |
|---|---|---|
| סוג | מיקרו-בקר | מיקרופרוססור |
| אדריכלות | ארכיטקטורת הרווארד (קוד נפרד וזיכרון נתונים) | ארכיטקטורת פון נוימן (זיכרון משותף לקוד ונתונים) |
| רוחב נתונים | 8-ביט | 8-ביט |
| מעבד | מעבד משולב ב-8 ביט עם אביזרים על השבב | מעבד 8 ביט בלבד (ללא אביזרים מובנים) |
| זיכרון תוכנית | בדרך כלל ROM פנימי בנפח 4KB–8KB (ניתן להרחבה ל-64KB חיצוני) | אין ROM פנימי (דורש זיכרון חיצוני) |
| זיכרון נתונים | זיכרון RAM פנימי 128–256 בתים (ניתן להרחבה) | אין זיכרון RAM פנימי (דורש זיכרון RAM חיצוני) |
| יציאות קלט/פלט | 32 קווי קלט/פלט מובנים (4 פורטים) | אין יציאות קלט/פלט מובנות (דורש שבבי ממשק חיצוניים) |
| טיימרים/מונים | 2 טיימרים × 16 ביט | אין טיימרים פנימיים (נדרשים טיימרים חיצוניים) |
| הפרעות | 5 מקורות הפרעה | 5 קלטי הפרעה (TRAP, RST 7.5, 6.5, 5.5, INTR) |
| תקשורת סדרתית | UART מובנה עם דו-כיוווני מלא | אין פורט סידורי מובנה |
| אוסצילטור | מעגל אוסצילטור על השבב | נדרש מחולל שעון חיצוני |
| ערימה | מחסנית פנימית בתוך זיכרון RAM | מחסנית מנוהלת בזיכרון RAM חיצוני |
| אוטובוס כתובות | 16-ביט (תומך בזיכרון חיצוני של עד 64KB) | 16 ביט (תומך בזיכרון עד 64KB) |
| אוטובוס נתונים | 8-ביט | 8-ביט |
| אינטגרציה היקפית | משולב מאוד (טיימרים, סדרה, קלט/פלט, הפרעות) | אינטגרציה מינימלית (מעבד בלבד) |
| רכיבים חיצוניים נדרשים | פחות רכיבים חיצוניים | דורש מספר ICs חיצוניים לתמיכה |
| צריכת חשמל | נמוך | גבוה יותר בהשוואה למערכות מבוססות מיקרו-בקר |
| מוקד יישום | מערכות משובצות ויישומי בקרה | מחשוב כללי ופיתוח מערכות |
| מורכבות | עיצוב מערכת פשוט, קומפקטי | עיצוב מערכות מורכב יותר |
| עלות | עלות מערכת כוללת נמוכה יותר | עלות מערכת גבוהה יותר עקב רכיבים חיצוניים |
| מקרי שימוש טיפוסיים | מכשירי חשמל ביתיים, רובוטיקה, אוטומציה, מכשירים משובצים | מערכות מחשב מוקדמות, ערכות אימון, מערכות מבוססות מעבד |
| שנת ההצגה | 1980 (על ידי אינטל) | 1976 (על ידי אינטל) |
8051 יתרונות ומגבלות
8051 יתרונות
• ארכיטקטורה פשוטה וקלה להבנה
• מעבד, זיכרון RAM, ROM, טיימרים ויציאות קלט/פלט משולבים על שבב אחד
• עלות נמוכה וזמינה באופן נרחב
• צריכת חשמל נמוכה
• תמיכה מובנית בתקשורת סריאלית
• מקורות הפרעות מרובים ליישומים בזמן אמת
• תמיכה בזיכרון חיצוני ניתן להרחבה (עד 64KB)
• מערכת אקולוגית רחבה של כלי פיתוח ומשאבי למידה
• יציב ואמין למשימות בקרה משובצות
מגבלות 8051
• זיכרון RAM פנימי מוגבל וזיכרון תוכנית
• עיבוד 8 ביט מגביל את יכולת החישוב
• מהירות עיבוד נמוכה יותר בהשוואה למיקרו-בקרים מודרניים
• אין ADC או DAC מובנים בגרסאות הבסיסיות
• היקפי מוגבלים בהשוואה ל-MCUs מתקדמים (למשל, ARM, AVR)
• דורש רכיבים חיצוניים ליישומים מורכבים
• לא אידיאלי למערכות ביצועים גבוהות או עתירות נתונים
• ארכיטקטורה מיושנת בהשוואה לבקרים מודרניים של 32 ביט
סיכום
עם ארכיטקטורת הרווארד של 8051 מיקרו-בקר, מעבד משולב, מבנה זיכרון מאורגן, פורטים מתוכנתים לקלט/פלט, טיימרים, מערכת הפרעות ותמיכה בתקשורת סריאלית, הוא מספק פתרון שלם ויעיל ליישומי בקרה ייעודיים. בעוד שמיקרו-בקרים מודרניים מציעים ביצועים גבוהים יותר ואביזרים מתקדמים יותר, ה-8051 נשאר בעל ערך בזכות פשטותו, עלותו הנמוכה, האמינות והחשיבות החינוכית החזקה שלו.
שאלות נפוצות [שאלות נפוצות]
שאלה 1. אילו שפות תכנות משמשות למיקרו-בקר 8051?
ה-8051 מתוכנת בדרך כלל ב-C משובצת ובשפת אסמבלי (Assembly). Embedded C נמצא בשימוש נרחב בשל ניפוי שגיאות וניידות קלות יותר, בעוד ש-Assembly מציע שליטה מדויקת ברמת החומרה.
שאלה 2. אילו כלי תוכנה הם הטובים ביותר לתכנות ה-8051?
כלים פופולריים כוללים את Keil μVision, Proteus (לסימולציה) ו-SDCC (מהדר Small Device C). קייל היא סביבת הפיתוח המקצועי הנפוצה ביותר.
Q3. מהו תדר השעון המרבי של ה-8051?
ה-8051 הקלאסי פועל בדרך כלל עד 12 מגה-הרץ, בעוד שגרסאות מודרניות משודרגות יכולות לפעול במהירויות גבוהות בהרבה בהתאם ליצרן.
Q4. האם ה-8051 יכול להתחבר לחיישנים ומודולים מודרניים?
כן, ה-8051 יכול להתחבר לחיישנים מודרניים באמצעות קלט/פלט דיגיטלי, UART, SPI (באמצעות תוכנה) ו-I2C (מעגלים משולבים חיצוניים), אם כי ייתכן שיידרש רכיבי ממשק נוספים.
Q5. איך ה-8051 מופעל, ומה מתח הפעולה שלו?
ה-8051 הסטנדרטי פועל ב-+5V. עם זאת, חלק מנגזרות מודרניות תומכות במתחים נמוכים יותר, כמו 3.3V ליישומים בעלי צריכת חשמל נמוכה.
שאלה 6. מהם הווריאנטים הנפוצים של משפחת 8051 הזמינים כיום?
גרסאות פופולריות כוללות מיקרו-בקרים תואמי 8051 AT89C51, AT89S52 ואחרים מיצרנים שונים המציעים זיכרון ותכונות נוספות.
Q7. איך ה-8051 שונה ממיקרו-בקרים מודרניים כמו ARM Cortex-M?
ה-8051 הוא בקר 8 ביט המיועד למשימות בקרה פשוטות, בעוד שמכשירי ARM Cortex-M הם מעבדים של 32 ביט עם מהירות גבוהה יותר, התקנים מתקדמים וקיבולת זיכרון גבוהה יותר.