תצוגה היא חלק חשוב מאוד מכל יישום מערכת משובץ שכן היא מסייעת למשתמשים לדעת את מצב המערכת ומציגה גם את הפלט או כל הודעת אזהרה שנוצרת על ידי המערכת. ישנם סוגים רבים של צגים המשמשים באלקטרוניקה כמו תצוגת 7 קטעים, תצוגת LCD, תצוגת מסך מגע TFT, תצוגת LED וכו '.
בהדרכה הקודמת שלנו כבר שילבנו 16x2 LCD עם ARM7-LPC2148. היום במדריך זה נתממש תצוגה בת 7 קטעים עם ARM7-LPC2148. לפני שנפרט לפרטים, נראה כיצד לשלוט במודול בן 7 הקטעים כדי להציג מספר תווים כלשהו.
תצוגה בת 7 קטעים
7 תצוגות קטע הן בין יחידות התצוגה הפשוטות ביותר להצגת המספרים והתווים. הוא משמש בדרך כלל להצגת מספרים ובעל תאורה בהירה יותר ובנייה פשוטה יותר מאשר תצוגת מטריצה נקודה. ובגלל תאורה בהירה יותר, ניתן לצפות בפלט ממרחק גדול יותר מאשר LCD. כפי שמוצג בתמונה לעיל של תצוגה בת 7 קטעים, היא מורכבת מ- 8 נוריות, כל נורית משמשת להארת קטע אחד של היחידה וה- 8thLED משמש להארת DOT בתצוגת 7 קטעים. 8thLED משמש כאשר משתמשים בשני מודולים עם 7 קטעים או יותר, למשל להצגה (0.1). מודול יחיד משמש להצגת ספרה או תו בודד. כדי להציג יותר מדמות או תו אחת, משתמשים במספר 7 קטעים.
סיכות של 7-קטע תצוגה
ישנם 10 פינים, בהם 8 פינים משמשים להפניית a, b, c, d, e, f, g ו- h / dp, שני הפינים האמצעיים הם אנודה / קתודה משותפת של כל נוריות ה- LED. האנודה / הקתודה הנפוצה הללו מקוצרת באופן פנימי ולכן עלינו לחבר סיכת COM אחת בלבד
בהתאם לחיבור אנו מסווגים 7 מגזרים בשני סוגים:
קתודה משותפת
בכך כל המסופים השליליים (קתודה) של כל 8 נוריות ה- LED מחוברים יחד (ראה תרשים למטה), הנקראים COM. וכל המסופים החיוביים נשארים לבד או מחוברים לסיכות המיקרו-בקר. אם אנו משתמשים במיקרו-בקר אנו מגדירים את ההיגיון HIGH כדי להאיר את הפרט ומגדירים LOW לכיבוי LED.
אנודה נפוצה
בכך כל המסופים החיוביים (האנודות) של כל 8 נוריות ה- LED מחוברים יחד, הנקראים COM. וכל התרמיות השליליות נשארות לבד או מחוברות לסיכות המיקרו-בקר. אם אנו משתמשים במיקרו-בקר אנו מגדירים את ההיגיון LOW כדי להאיר את הספציפי ומגדירים את ההיגיון High כדי לכבות את ה- LED.
אז בהתאם לערך הסיכה, ניתן להפעיל או לכבות קטע מסוים או שורה של 7 קטעים כדי להציג את המספר או האלף-בית הרצויים. לדוגמא כדי להציג 0 ספרות עלינו להגדיר סיכות ABCDEF כ HIGH ורק G כ LOW. מכיוון שנוריות ה- ABCDEF דולקות ו- G כבוי, זה מהווה את הספרה 0 במודול בן 7 קטעים. (זה לקתודה משותפת, לאנודה משותפת זה הפוך).
להלן הטבלה מציגה את ערכי HEX ואת הספרה המתאימה בהתאם לסיכות LPC2148 לתצורת קתודה משותפת.
סִפְרָה |
ערכי HEX עבור LPC2148 |
א |
ב |
ג |
ד |
ה |
F |
ז |
0 |
0xF3 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0x12 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
2 |
0x163 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
3 |
0x133 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
4 |
0x192 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
5 |
0x1B1 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
6 |
0x1F1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
7 |
0x13 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
8 |
0x1F3 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
9 |
0x1B3 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
חשוב: בטבלה שלמעלה נתתי את ערכי ה- HEX על פי הפינים בהם השתמשתי ב- LPC2148, בדוק את תרשים המעגל שלמטה. אתה יכול להשתמש בכל הסיכות שאתה רוצה אך לשנות ערכי hex בהתאם לכך.
למידע נוסף על תצוגה בת 7 קטעים, עברו על הקישור. בדוק גם ממשקי תצוגה של 7 קטעים עם מיקרו-בקרים אחרים:
- ממשק תצוגת 7 קטעים עם פטל פי
- ממשק תצוגת 7 קטעים עם מיקרו-בקר PIC
- ממשק תצוגת 7 קטעים עם ארדואינו
- ממשק תצוגת 7 קטעים עם מיקרו-בקר 8051
- 0-99 דלפק באמצעות מיקרו בקר AVR
חומרים נדרשים
חוּמרָה
- ARM7-LPC2148
- מודול תצוגת שבעה קטעים (ספרה אחת)
- קרש לחם
- חוטי חיבור
תוֹכנָה
- Keil uVision5
- פלאש קסם
תרשים מעגל
לצורך התממשקות 7 קטעים עם LPC2148, אין צורך ברכיב חיצוני כפי שמוצג בתרשים המעגל להלן:
הטבלה שלהלן מציגה את חיבורי המעגל בין מודול 7 מגזרים ל- LPC2148
שבעה סיכות מודול קטע |
LPC2148 סיכות |
א |
P0.0 |
ב |
P0.1 |
ג |
P0.4 |
ד |
P0.5 |
ה |
P0.6 |
F |
P0.7 |
ז |
P0.8 |
מְשׁוּתָף |
GND |
תכנות ARM7 LPC2148
למדנו כיצד לתכנת ARM7-LPC2148 באמצעות Keil במדריך הקודם שלנו. אנו משתמשים באותו Keil uVision 5 כאן כדי לכתוב את הקוד וליצור קובץ hex, ואז להעלות את קובץ ה- hex ל- LPC2148 באמצעות כלי הקסם פלאש. אנו משתמשים בכבל USB להפעלת והעלאת קוד ל- LPC2148
קוד מלא עם הסבר וידאו ניתן בסוף הדרכה זו. כאן אנו מסבירים כמה חלקים חשובים בקוד.
ראשית עלינו לכלול את קובץ הכותרת עבור המיקרו-בקר מסדרת LPC214x
#לִכלוֹל
לאחר מכן הגדר את הפינים כפלט
IO0DIR = IO0DIR-0xffffffff
זה מגדיר את הפינים P0.0 ל- P0.31 כפלט, אך נשתמש בסיכות (P0.0, P0.1, P0.4, P0.5, P0.6, P0.7 ו- P0.8) בלבד.
לאחר מכן הגדר את הסיכות מסוימות ב- LOGIC HIGH או LOW לפי הספרה המספרית שתוצג. כאן נציג ערכים מ (0 עד 9). נשתמש במערך שמורכב מערכי HEX לערכים 0 עד 9.
לא חתום int a = {0xf3,0x12,0x163,0x133,0x192,0x1b1,0x1f1,0x13,0x1f3,0x1b3};
ערכים יוצגו ברציפות כאשר הקוד הוחדר תוך כדי לולאה
ואילו (1) { עבור (i = 0; i <= 9; i ++) { IO0SET = IO0SET-a; // מגדיר סיכות מקבילות עיכוב גבוה (9000); // פונקציית עיכוב שיחות IO0CLR = IO0CLR-a; // מגדיר סיכות מתאימות LOW } }
כאן IOSET ו- IOCLR משמשים להגדרת סיכות HIGH ו- LOW בהתאמה. כפי שהשתמשנו בסיכות PORT0 כך יש לנו IO0SET & IO0CLR .
עבור לולאה משמש להגדלת ה- i בכל איטרציה ובכל פעם כאשר אני מתגבר, 7 קטע מגדיל גם את הספרה המוצגת עליו.
פונקציית עיכוב משמשת ליצירת זמן עיכוב בין SET ו- CLR
עיכוב חלל (int k) // פונקציה לביצוע עיכוב { int i, j; עבור (i = 0; i
הקוד המלא ותיאור סרטון העבודה מופיע להלן. בדוק כאן גם את כל הפרויקטים הקשורים לתצוגה בת 7 מגזרים.