- EEPROM ב- PIC16F877A:
- תרשים מעגל והסבר:
- סימולציה של שימוש ב- PIC EEPROM:
- תכנות PIC עבור EEPROM:
- עובד:
במדריך זה נלמד כמה קל לשמור נתונים באמצעות ה- EEPROM הקיים במיקרו-בקר PIC16F877A. ברוב הפרויקטים בזמן אמת ייתכן שנצטרך לשמור כמה נתונים שאסור למחוק אותם גם כאשר החשמל מכובה. זה אולי נשמע כמו תהליך מסובך, אך בעזרת XC8 Compiler ניתן לבצע משימה זו על ידי שימוש בשורת קוד אחת בלבד. אם הנתונים גדולים מבחינת בתים מגה, אנו יכולים לממשק התקן אחסון כמו כרטיס SD ולאחסן את הנתונים עליהם. אך אנו יכולים להימנע מאותם תהליכים מעייפים אם הנתונים קטנים, פשוט נוכל להשתמש ב- EEPROM הקיים במיקרו-בקר PIC כדי לשמור את הנתונים שלנו ולאחזר אותם בכל עת שתרצה.
זה הדרכה PIC EEPROM הוא חלק מרצף של הדרכות מיקרו PIC שבו התחלנו מרמה בסיסית מאוד. אם לא למדת את ההדרכות הקודמות, עדיף שתסתכל עליהן כעת, מכיוון שמדריך זה מניח שאתה מכיר את ממשק LCD עם מיקרו-בקר PIC ושימוש ב- ADC עם מיקרו-בקר PIC.
EEPROM ב- PIC16F877A:
EEPROM מייצג "זיכרון לקריאה בלבד למחיקה אלקטרונית ומתוכנת". כפי שהשם מרמז זהו זיכרון הקיים בתוך מיקרו-בקר PIC בו אנו יכולים לכתוב / לקרוא נתונים על ידי תכנות זה לשם כך. הנתונים שנשמרים בכך יימחקו רק אם מוזכר לעשות זאת בתוכנית. כמות שטח האחסון הזמינה ב- EEPROM משתנה בכל מיקרו-בקר; הפרטים יופיעו בגליון הנתונים כרגיל. במקרה שלנו עבור PIC16F877A השטח הזמין הוא 256 בתים כאמור בגיליון הנתונים של המפרט שלו. עכשיו בואו נראה כיצד נוכל להשתמש ב 256 בתים אלה לקריאת / כתיבת נתונים באמצעות התקנה ניסיונית פשוטה.
תרשים מעגל והסבר:
תרשים המעגל לפרויקט מוצג לעיל. ממשקנו LCD כדי לדמיין את הנתונים שנשמרים ומאוחזרים. פוטנציומטר רגיל מחובר לערוץ AN4 אנלוגי ולכן הזן מתח משתנה, מתח משתנה זה ישמש כנתונים שיש לשמור ב- EEPROM. השתמשנו גם בלחיצת כפתור ב- RB0, כאשר לוחצים על כפתור זה הנתונים מהערוץ האנלוגי יישמרו ב- EEPROM.
ניתן ליצור חיבור זה על קרש לחם. תרשים הפינים של מיקרו PIC מוצג בטבלה שלהלן.
S. לא: |
מספר סיכה |
שם סיכה |
מחובר ל |
1 |
21 |
RD2 |
RS של LCD |
2 |
22 |
RD3 |
E של LCD |
3 |
27 |
RD4 |
D4 של LCD |
4 |
28 |
RD5 |
D5 של LCD |
5 |
29 |
RD6 |
D6 של LCD |
6 |
30 |
RD7 |
D7 של LCD |
7 |
33 |
RBO / INT |
לחץ על הכפתור |
8 |
7 |
AN4 |
פוטנציומטר |
סימולציה של שימוש ב- PIC EEPROM:
פרויקט זה כולל גם סימולציה שתוכננה באמצעות Proteus, ובאמצעותה אנו יכולים לדמות את עבודת הפרויקט ללא חומרה כלשהי. התוכנית לסימולציה זו ניתנת בסוף הדרכה זו. אתה יכול פשוט להשתמש בקובץ Hex מכאן ולדמות את כל התהליך.
במהלך הסימולציה תוכלו לדמיין את ערך ה- ADC הנוכחי ואת הנתונים השמורים ב- EEPROM על גבי מסך ה- LCD. כדי לשמור את ערך ה- ADC הנוכחי ב- EEPROM פשוט לחץ על המתג המחובר ל- RB0 והוא יישמר. תמונת מצב של הסימולציה מוצגת למטה.
תכנות PIC עבור EEPROM:
הקוד השלם להדרכה זו ניתן בסוף הדרכה זו. בתוכנית שלנו עלינו לקרוא את הערכים ממודול ADC וכאשר לוחצים על כפתור עלינו לשמור ערך זה ב- EEPROM שלנו. מכיוון שכבר למדנו על ADCs ועל ממשקי LCD, אסביר עוד את הקוד לשמירה ואחזור נתונים מ- EEPROM.
על פי גליון הנתונים "למכשירים אלה יש 4 או 8 מילים של תוכנית פלאש, עם טווח כתובות בין 0000 ל -1FFFh עבור PIC16F877A". המשמעות היא שלכל שטח אחסון של EEPROM יש כתובת שדרכה ניתן לגשת אליה וב- MCU שלנו הכתובת מתחילה מ 0000 עד 1FFFh.
כדי לשמור נתונים בתוך כתובת EEPROM מסוימת פשוט השתמש בשורה למטה.
eeprom_write (0, adc);
כאן "adc" הוא משתנה מסוג מספר שלם בו נמצאים הנתונים שיש לשמור. ו- "0" היא הכתובת של ה- EEPROM עליה נשמרים הנתונים שלנו. התחביר "eeprom_write" מסופק על ידי תואם ה- XC8 שלנו, ולכן המהדרים יטופלו אוטומטית על ידי המהדר.
כדי לאחזר נתונים שכבר מאוחסנים ב- EEPROM ולשמור אותם במשתנה ניתן להשתמש בשורת הקוד הבאה.
Sadc = (int) eeprom_read (0);
הנה, "Sadc" הוא המשתנה בו יישמרו הנתונים מ- EEPROM. ו- "0" היא הכתובת של EEPROM שממנה אנו שולפים את הנתונים. התחביר "eeprom_read" מסופק על ידי תואם ה- XC8 שלנו, ולכן המהדרים יטופלו אוטומטית על ידי המהדר. הנתונים השמורים ב- EEPROM יהיו בסוג הקסדצימלי. לפיכך אנו ממירים אותם לסוג שלם על ידי קידומת a (int) לפני התחביר.
עובד:
ברגע שנבין כיצד הקוד עובד ונתכונן עם החומרה נוכל לבדוק קוד. העלה את הקוד למיקרו-בקר PIC שלך והפעל את ההתקנה. אם הכל עובד כצפוי, אתה אמור לראות את ערכי ה- ADC הנוכחיים המוצגים ב- LCD. כעת תוכל ללחוץ על הכפתור כדי לשמור את ערך ה- ADC ב- EEPROM. עכשיו אתה בודק אם הערך נשמר על ידי כיבוי המערכת כולה והפעלתו שוב. כאשר מופעל אתה אמור לראות את הערך שנשמר בעבר על גבי מסך ה- LCD.
העבודה המלאה של פרויקט זה לשימוש ב- PIC Microcontroller EEPROM מוצגת בסרטון להלן. מקווה שהבנתם את ההדרכה ונהניתם לעשות זאת. אם יש לך ספקות אתה יכול לכתוב אותם בסעיף ההערות למטה או לפרסם אותם בפורומים שלנו.