כמו תמיד בחיים, ברגע שהחלטתי להתעמק ב-ATtiny85, הנסיבות המשתנות משכו אותי לכיוונים נוספים. סדרת פוסטים חדשה זו תוקדש להיכרות עם מיקרו-בקר נוסף, הפעם ממשפחת PIC של חברת Microchip – אחת השחקניות הוותיקות, הגדולות והמוכרות בשוק. לעתים קרובות שומעים שהטכנולוגיה והארכיטקטורה של PIC הן מיושנות, או פחות נוחות משל מיקרו-בקרים מודרניים יותר, אך הפיקים – גם אלה הקטנים והפשוטים – עדיין נפוצים מאד, זולים ושימושיים, ותמיד טוב לשמור על אופציות פתוחות.
בפוסט זה אדבר על הכלים והרכיבים שבהם אשתמש, ואתחיל במיקרו-בקר עצמו…
הג'וק
הדגם הספציפי שבחרתי, שמופיע בתמונה למעלה, הוא PIC12F675. זהו מיקרו-בקר 8 ביט עם שמונה רגליים, 1.75 קילובייט זיכרון Flash לקוד, 64 בייטים של RAM, זיכרון EEPROM של 128 בייטים, שני טיימרים ואפשרות להמרת מתחים אנלוגיים לערכים דיגיטליים (ADC). מבחינת הפרמטרים הללו, המיקרו-בקר הזה מקביל קצת ל-ATtiny25 של Atmel. בחרתי בו כי הוא פשוט יחסית, וגם זול מאד – עם קצת מזל אפשר להשיג עשרה כאלה באיביי בשישה דולרים ואפילו פחות. במה שאלמד עליו אפשר יהיה להשתמש מאוחר יותר, עם שינויים קלים (בשאיפה), בדגמי PIC משוכללים ומתקדמים יותר.
סביבת הפיתוח
סביבת הפיתוח הרשמית של Microchip, נכון להיום, היא MPLAB X שזמינה גם לחלונות וגם ללינוקס. אני עובד כרגע עם גרסה 2.05 לחלונות. סביבת פיתוח זו מסוגלת לעבוד עם מספר רב של מהדרים (קומפיילרים), שאף אחד מהם אינו כלול בהורדה: צריך לבחור ולהתקין אותם בנפרד. אני בחרתי בקומפיילר של Microchip ל-8 ביט, שנקרא XC8 ושאותו אפשר להוריד מהדף הזה. דוגמאות הקוד שאתן בסדרת פוסטים זו יותאמו ל-XC8, אז למי שרוצה ללמוד מהן מומלץ להתקין אותו. בכל מקרה, זיכרו שאפשר להתקין במחשב יותר מקומפיילר אחד ולבחור במי שרוצים לכל פרויקט.
סביבת הפיתוח MPLAB X והקומפיילר XC8 הם חינמיים, אם כי הגרסה החינמית של הקומפיילר מבצעת אופטימיזציות בסיסיות בלבד של הקוד. מי שחייב קוד זריז וקומפקטי יותר מוזמן להשקיע כ-500 או 1000 דולרים בגרסת Standard או Pro, עם ביצועים משופרים בהתאם. בזמן התקנת הקומפיילר ניתנת אפשרות לבחור בגרסת Evaluation ל-60 יום של אופטימיזציה מלאה, או לממש את התקופה הזו מאוחר יותר, לבחירתכם.
הצורב
כמו עם כל מיקרו-בקר "עצמאי", גם כאן נצטרך צורב. הצורב הרשמי והעדכני של Microchip נכון לכתיבת שורות אלה הוא PICkit 3. לי יש את המהדורה הקודמת, PICkit 2, שאינה תומכת בדגמי PIC החדשים אבל מתאימה בהחלט ל-PIC12F675. שני צורבים אלה, וכן כלים רשמיים משוכללים ויקרים יותר, נתמכים על ידי סביבת הפיתוח. PICkit 1 הוותיק אינו נתמך בה, אך אפשר לצרוב בעזרתו קובצי HEX (הקוד המקומפל) באמצעות תוכנה חיצונית.
כמובן, לא חסרים בשוק גם חיקויים סיניים של הצורבים הללו. לא ניסיתי אף אחד מהם ואין לי מושג אם הם עובדים או נתמכים.
מוכנים?
בשני הפוסטים הבאים אדגים בפירוט תכנות של יישום Blink פשוט על ה-PIC12F675, אותו תוכלו לנסות לבד כדי לוודא ששרשרת כלי הפיתוח שלכם ל-PIC מותקנת כראוי ועובדת. לאחר מכן ניכנס לעומק המיקרו-בקר עצמו.