כל מהנדס אלקטרוניקה אוהב לשבור דברים אלקטרוניים ולחקור מה קיים בתוכו. לאחרונה פתחתי טלוויזיית LED ומצאתי בתוכה שבב ARM. משתמשים במיקרו-בקרים מבוססי ARM בשימוש רב בסוגים שונים של מוצרים ומערכות משובצים. הם כוללים תכונות מתקדמות רבות שהופכות אותם לחזקים ועדיפים על מיקרו-בקרים אחרים כמו 8051, AVR ו- PIC. LPC2148 הוא אחד המיקרו-בקר המבוסס על ARM הנפוץ ביותר, לכן ניצור סדרה של מדריכי LPC2148 ופרויקטים ונשתף במאמרים הבאים. להלן ההדרכה הראשונה בסדרה זו המכסה את תחילת העבודה עם LPC2148 ותכנת אותה להבהוב לד.
אז במדריך זה נכיר אודות ARM7 Stick - LPC2148 ונלמד כיצד לתכנת אותו בעזרת תוכנת Keil uVision וקסם פלאש. אנו נתכנת את LPC2148 שלנו להבהוב עם נורית LED.
מיקרו-בקר ARM
שלב 17: כעת בכרטיסיית הפלט סמן יצירת קובץ Hex ואז לחץ על 'אישור'
שלב 18: כעת לחץ על סמל BUILD או לחץ על F7 כדי ליצור קובץ hex.
שלב 19: כעת נוצר קובץ ה- hex ונוכל לרשום אותו בתחתית. כמו כמו תמונה זו למטה כפי שהיא מציינת קובץ hex נוצר.
שלב 20: עכשיו הגיע הזמן להבהב את קובץ ה- hex ל- ARM7 Stick. אז פתחו את פלאש מג'יק
כלי הקסם של פלאש מופיע כנ"ל.
להלן השלבים להבהוב של ה- ARM LPC2148:
- בחר את LPC2148
- תן את מספר יציאת ה- COM בהתאם למנהל ההתקנים (שלי היה COM7)
- תן קצב שידור כ 38400
- מתנד כ 12 מגה-הרץ
- סמן "מחק חסימות המשמשות את הקושחה"
- כעת בחר את נתיב קובץ ה- hex
- סמן את האימות לאחר תכנות תיבת הסימון.
- ולחץ על התחל
לאחר שהבהב בהצלחה תוך שניות, סיים (בצבע ירוק) מופיע בתחתית כפי שמוצג בתמונה למטה
עכשיו אתה יכול לראות שהנורית מתחילה להבהב על לוח הלחם
הסבר קידוד
הקוד המלא להבהוב LED עם LPC2148 מופיע להלן. הקוד הוא פשוט וניתן להבין אותו בקלות.
קובץ כותרת זה כולל את כל הקבצים עבור סדרת LPC214x של מיקרו-בקרים.
#לִכלוֹל
מכיוון שחיברנו את הפלט ל- P0.10 הוא משתמש ברישום IODIR והופך את הפין Port 0 Pin 10 לפלט.
IO0DIR = (1 << 10);
רישום זה מכוון את ה- P0.10 ל- HIGH שהופך את ה- LED דולק.
IO0SET = (1 << 10);
רישום זה מנקה את ה- P0.10 ל- LED הנמוך לכיבוי
IO0CLR = (1 << 10);
ההצהרות להלן קיימות תוך כדי לולאה כדי לבצע את הקוד ברציפות
ואילו (1) { IO0SET = (1 << 10); עיכוב_מס (1000); IO0CLR = (1 << 10); עיכוב_מס (1000); }
פונקציות Delay_ms משמשות ליצירת זמן עיכוב בין SET ו- CLR כדי להבהב את ה- LED במרווח של שנייה אחת.
הקוד המלא עם סרטון הדגמה מופיע להלן.