03-07-2013, 20:27
|
|
|
חבר מתאריך: 20.10.06
הודעות: 202
|
|
תשובות
יש שיטה מקובלת להפעלת מספר יחידות של 7SEG והיא נקראת "ריבוב".
אתה אמור לחבר את 7 הכניסות של כל מקטעי הלד במקביל, כלומר אתה צריך לשם כך, רק 7 רגלי IO של המיקרובקר.
את רגלי ה-Common של ה-7SEG (התצוגה יכולה להיות Common Anode או Common Cathode), אתה צריך לחבר ליציאה של דוחף זרם מתאים (Buffer,Latch או דומה), לחילופין, אתה יכול לחבר אותה לדרלינגטון מבוקר, כמו למשל הרכיב ULN2003. התשובה היא כללית, כי זה תלוי בסוג רכיב ה-7SEG הספציפי בו תשתמש..
לבסוף, עם יתר כמות רגלי ה-IO של המיקרובקר, אתה שולט על פעולת דוחף הזרם, כך שרק יחידת 7SEG אחת בלבד מאופשרת, בכל רגע נתון.
אתה צריך לכתוב תוכנה מתאימה, שמעלה את הנתון המתאים להצגה ב-7SEG ואז מפעילה את ה-7SEG הרצוי, אחרי זמן-מה, מפסיקה את ה-7SEG ומפעילה אחר וכך הלאה וחוזר חלילה..
אם עושים זאת מספיק מהר, אך לא מהר מדי, זה נראה כאילו כל התצוגות פועלות במקביל.
זה אולי נשמע מעט מסובך בתחילה, אבל זו השיטה שכל התצוגות 7SEG במכשירים מסחריים עובדות. זה גם חוסך בקווי IO של המיקרובקר וגם חוסך הספק (לא כל הלדים דלוקים במקביל).
תשובה לשאלה השניה:
ישנן מספר שיטות לפתרון בעיות מהסוג הזה, כולן קשורות בטכניקות של תכנות.
שיטה אחת היא בעזרת פסיקת טיימר ומונה. נניח אתה מגדיר שבכל חצי שניה, תהיה פסיקת טיימר. בתוך רוטינת הטיפול בפסיקה (ISR), אתה מגדיל מונה. אם המונה הגיע לערך מסוים (נניח 20), אתה מדליק את הלד, אם המונה הגיע לערך אחר (נניח 40), אתה מכבה את הלד ומאפס את המונה. אותו העיקרון ניתן לאימוץ גם אם יש לך כמות גדולה יותר של אירועים שונים..
שיטה אחרת היא בעזרת "מכונת מצבים" ולולאה.
אתה מתחיל ממצב מסוים ומתקדם בתוך הלולאה. כשאתה מגיע לשלב שדרושה גם השהיה וגם בדיקת הלחצן, אתה מבצע השהיה קצרה מאד, בודק את הלחצן ומגיב בהתאם. אם אין שינוי בלחצן, אתה לא משנה מצב במכונה ולפיכך בפעם הבאה שתחזור בתוך הלולאה, עדיין תהיה בהשהיה (קצרה) ושוב תבדוק את הלחצן. שים מונה בשלב של ההשהיה וכשעובר די זמן, תעבור למצב הבא במכונה, כך שבאיטרציה הבאה (הפעם הבאה שהלולאה תחזור על עצמה), כבר תהיה בשלב שאחרי ההשהייה..
שיטות בתכנות למיקרובקרים, דורשות אימון. אחרי שמכירים מספר שיטות בסיסיות ורוכשים ניסיון, נעשה קל יותר, לפתור מגוון רחב של בעיות בעלות מכנה משותף..
בברכה,
דיגיגיל
_____________________________________
_- סיוע בהשלמת פרויקט-גמר להנדסאים -_
(האתר digigil.com נסגר)
נערך לאחרונה ע"י DigiGil בתאריך 03-07-2013 בשעה 20:32.
|