טיימרים ומונים ב- 8051 מיקרו-בקר ויישומיו

נסה את הכלי שלנו לביטול בעיות





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

יש שני טיימרים ודלפקים של 16 סיביות מיקרו-בקר 8051 : טיימר 0 וטיימר 1. שני הטיימרים כוללים רישום של 16 סיביות בו מאוחסן הבייט התחתון ב- TL והבייט הגבוה מאוחסן ב- TH. טיימר יכול לשמש כמונה וכן להפעלת תזמון שתלוי במקור של פעימות השעון למונים.




טיימרים ודלפקים

טיימרים ודלפקים

מונים וטיימרים במיקרו-בקר 8051 מכילים שני רושמי פונקציות מיוחדים: TMOD (Register Mode Timer) ו- TCON (Timer Control Register), המשמשים להפעלה ולהגדרה טיימרים ודלפקים .



בקרת מצב טיימר (TMOD): TMOD הוא פנקס של 8 סיביות המשמש לבחירת טיימר או מונה ומצב טיימרים. 4 סיביות תחתונות משמשות להפעלת בקרה של טיימר 0 או מונה 0, וארבעה סיביות שנותרו משמשות להפעלת בקרת טיימר 1 או מונה 1. רישום זה קיים במרשם SFR, הכתובת לרישום SFR היא 89.

בקרת מצב טיימר (TMOD)

בקרת מצב טיימר (TMOD)

שַׁעַר: אם סיבית השער מוגדרת ל- '0', נוכל להתחיל ולעצור את טיימר 'התוכנה' באותו אופן. אם השער מוגדר ל- '1', נוכל לבצע טיימר חומרה.

C / T: אם ביט ה- C / T הוא '1', הוא פועל כמצב נגד, ובדומה לכך כאשר הוא מוגדר C +
= / T ביט הוא '0' הוא פועל כמצב טיימר.


ביטים לבחירת מצב: M1 ו- M0 הם ביטים לבחירת מצב המשמשים לבחירת פעולות הטיימר. ישנם ארבעה מצבים להפעלת הטיימרים.

מצב 0: זהו מצב של 13 סיביות שמשמעותו שפעולת הטיימר מסתיימת בפולסים '8192'.

מצב 1: זהו מצב a16 סיביות, כלומר פעולת הטיימר מסתיימת בפולסי שעון מרביים ש- '65535'.

מצב 2: מצב זה הוא מצב טעינה אוטומטי של 8 סיביות, כלומר פעולת הטיימר מסתיימת עם פעימות שעון '256' בלבד.

מצב 3: מצב זה הוא מצב פיצול טיימר, כלומר ערכי הטעינה ב- T0 ומפעילים את T1 באופן אוטומטי.

ביטים לבחירת מצב

ביטים לבחירת מצב

בחירת מצב ערכים של טיימרים ומונה ב- 8051

ערכי בחירת מצב של טיימרים ומונים

ערכי בחירת מצב של טיימרים ומונים

רישום בקרת טיימר (TCON): TCON הוא רישום נוסף המשמש לבקרת פעולות של מונים וטיימרים במיקרו-בקרים. זהו רישום של 8 סיביות שבו ארבעה סיביות עליונות אחראיות על טיימרים ומונים והסיביות התחתונות אחראיות להפרעות.

רישום בקרת טיימר (TCON)

רישום בקרת טיימר (TCON)

TF1: ה- TF1 מייצג ביט דגל 'טיימר 1'. בכל חישוב עיכוב הזמן בטיימר 1, TH1 ו- TL1 מגיעים לערך המקסימלי שהוא 'FFFF' באופן אוטומטי.

EX: בעוד (TF1 == 1)

בכל פעם ש- TF1 = 1, נקה את מעט הדגל ועצר את הטיימר.

TR1: ה- TR1 מייצג זמן התחלה או עצירה של טיימר 1. הפעלת טיימר זו יכולה להיות באמצעות הוראות תוכנה או באמצעות שיטת חומרה.

EX: שער = 0 (התחל טיימר 1 באמצעות הוראות תוכנה)
TR1 = 1 (טיימר התחל)

TF0: ה- TF0 מייצג ביט-דגל 'timer0'. בכל חישוב עיכוב הזמן בטיימר 1, ה- TH0 וה- TL0 מגיעים לערך מרבי שהוא 'FFFF' באופן אוטומטי.

EX: בעוד (TF0 == 1)
בכל פעם ש- TF0 = 1, נקה את סיבית הדגל והפסיק את הטיימר.

TR0: ה- TR0 מייצג התחלה או עצירה של 'טיימר 0', הפעלת טיימר זו יכולה להיות באמצעות הוראות תוכנה או באמצעות שיטת חומרה.

EX: שער = 0 (התחל טיימר 1 באמצעות הוראות תוכנה)
TR0 = 1 (טיימר התחל)

חישובי עיכוב זמן עבור מיקרו-בקר 8051

מיקרו-בקר 8051 עובד בתדר 11.0592 מגה-הרץ.

תדר 11.0592MHz = 12 פוליות

דופק שעון אחד = 11.0592MHz / 12

F = 0.921 מגהרץ

עיכוב זמן = 1 / F.

T = 1 / 0.92MHz

T = 1.080506 us (למחזור '1')

1000us = 1MS

1000ms = 1 שניות

נוהל לחישוב תוכנית העיכוב

1. ראשית עלינו לטעון את ערך הרישום TMOD עבור 'Timer0' ו- 'Timer1' במצבים שונים. לדוגמא, אם אנו רוצים להפעיל טיימר 1 במצב 1 עליו להיות מוגדר כ- 'TMOD = 0x10'.

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

דוגמה: 500us עיכוב זמן

500us / 1.080806us

461 פעימות

P = 65535-461

P = 65074

65074 משובץ עשרוני משושה = FE32

TH1 = 0xFE

TL1 = 0x32

3. הפעל את הטיימר 1 'TR1 = 1'

4. עקוב אחר סיבית הדגל 'בעוד (TF1 == 1)'

5. נקה את ביט הדגל “TF1 = 0”

6. נקה את הטיימר 'TR1 = 0'

תוכניות לדוגמא:

תוכנית- 1

תוכנית- 1

תכנית- 2

תכנית- 2

תוכנית- 3

תוכנית- 3

מונים בשנת 8051

אנו יכולים להשתמש במונה על ידי שמירה על קצת C / T גבוה, כלומר לוגיקה '1' במרשם ה- TMOD. להבנה טובה יותר, נתנו תוכנית אחת המשתמשת בטיימר 1 כמונה. כאן נוריות הנוריות מחוברות לנמל 8051 2, והמתג לטיימר 1 סיכה P3.5 ולכן, אם לוחצים על המתג, הערך ייספר. אחרת, חיישן מחובר חיצוני לסיכת הנגד הזו כקלט מבצע פעולת ספירה זו.

תוכנית דלפק

תוכנית דלפק

יישומים של טיימרים ומונים בשנת 8051

מונה דיגיטלי עם 8051

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

מונה דיגיטלי עם 8051

מונה דיגיטלי עם 8051

מעגל עיכוב זמן באמצעות מיקרו-בקר 8051

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

מעגל עיכוב זמן

מעגל עיכוב זמן

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

נקודות זיכוי: