אינציקלופדיה של רדיו אלקטרוניקה והנדסת חשמל מודול ניפוי באגים עבור מיקרו-בקרים מסדרת MCS51. אנציקלופדיה של רדיו אלקטרוניקה והנדסת חשמל אנציקלופדיה של רדיו אלקטרוניקה והנדסת חשמל / מיקרו-בקרים הפיתוח של מכשירים המבוססים על מיקרו-בקרים (MCUs), ככלל, מתבצע על פי תוכנית פשוטה: ה-MCU בחיבור טיפוסי "נשקל" עם הציוד ההיקפי הנחוץ, ואז התוכנה נכתבת. במקרה זה יש להשתמש בכלים שונים שדואגים לעבודה השוטפת ומשאירים למתכנת לפתור בעיות יצירתיות. המכשיר המתואר להלן הוא "מוצר מוגמר למחצה" של מערכת מיקרו-בקר, כלי לניפוי באגים שלה ומושא מחקר בו זמנית. הוא מיועד לרכישת מיומנויות תכנות וניפוי באגים עבור תוכניות MCS51, אך יכול לשמש גם כדגם של מערכת אמיתית, המאפשר לך לנפות באגים בתוכנת יישום יחד עם אובייקט הבקרה. אם יש מודול כזה, ייחסך המפתח את הצורך להשתמש לעתים קרובות במתכנת או באמולטור ROM, שאינם נגישים לרבים בשל העלות הגבוהה שלהם. התרשים הסכמטי של מודול ניפוי הבאגים עבור המיקרו-בקר מסדרת MCS51 מוצג באיור. רוב הצמתים מיוצרים על פי מעגלים סטנדרטיים, והתקן הממשק עם היציאה הטורית של מחשב אישי (PC) מושאל מההתקן המתואר במאמר של S. Kulehov ו- Yu Zaumenny "מתכנת שבב ROM" (" רדיו", 1995, מס' 10, עמ' 22 -25). ניתן לחבר התקנים היקפיים שונים לפינים הפנויים של יציאות P1 ו-P3 של המיקרו-בקר DD1 (הם מסתיימים בחצים בתרשים). תקע XP1 מחובר באמצעות כבל לשקע של אחת היציאות הטוריות של המחשב שמתחתיו יפעל המודול. לאחר הפעלת מתח האספקה, הקבל C3 נטען דרך הנגד R1. לפי אות האיפוס RES שנוצר על ידי אלמנט DD3.4, MK DD1 עובר למצב ההתחלתי שלו ומבצע פעולות הכנה, כולל הגדרת הרמה הלוגית ל-1 בכל הפינים של יציאה P3. הטריגר ברכיבים DD3.1, DD3.2 נמצא במצב שבו אות המוצא שלו מגדיר את חלוקת הזיכרון בצורה כזו שאזור הכתובות 0-7FFFH של זיכרון התוכנית תופס ROM (DD5), ו-8000H-0FFFFH תופס RAM ( DD6). תוכנית המוניטור הממוקמת ב-ROM מבוצעת. על ידי הקלדת פקודות צג במקלדת המחשב, המפעיל יכול לעבוד עם ה-RAM והציוד ההיקפי של המודול. כדי להעביר את הטריגר למצב אחר, יש צורך לשלוח את הפקודה RESET Monitor המתוארת להלן ממחשב הבקרה, שקובע את האות MOD=0. הכתובות של ה-RAM וה-ROM של זיכרון התוכנית מוחלפות והתוכנית, שהוכנסה קודם לכן על ידי המפעיל ל-RAM של המודול, מתחילה לעבוד. זה מאפשר לך לחקות את פעולתו של מכשיר אמיתי ולבדוק תוכניות שתורגמו לכתובות זיכרון נמוכות, למשל, מוכנות לכתיבה ל-ROM. הלחצן SB1 משמש לאיפוס ה-MK למצבו המקורי מבלי לשנות את הקצאת הזיכרון. ניתן להפעיל מחדש את הצג רק על ידי לחיצה על לחצן SB2 או כיבוי והדלקה של המתח. זה מאפשר לתוכניות שניתוק באגים לפעול באופן חופשי עם המצב של יציאת P3 (לדוגמה, כאשר עובדים עם ציוד היקפי), ללא חשש משינוי בטעות בהקצאת זיכרון. LED HL1 משמש כאמצעי הפשוט ביותר להצגת מידע והוא שימושי מאוד, במיוחד אם אין קשר למחשב מסיבה זו או אחרת. לאחר הפעלת המתח, הוא מהבהב בתדירות של כ-1 הרץ, מה שמציין שהצג פועל. דיודת הזנר מגנה על המכשיר מפני קוטביות הפוכה או מתח יתר של ספק הכוח +5 V. תוכנית המוניטור (טבלה 1) מספקת שליטה על המודול והאינטראקציה שלו דרך היציאה הטורית RS-232C עם מחשב, שממנו מועברות פקודות ונתונים הדרושים לעבודה על משימה מסוימת. דרך אותה יציאה, המחשב מקבל ומציג את תוצאות פעולת המודול על המסך שלו. המחשב חייב להפעיל את תוכנית התקשורת "Telemax" מהמעטפת הנפוצה של Norton Commander 5.0, "Hyper Terminal" מ-Windows 95 OSR2 או דומה אחרת. כמוצא אחרון, אתה יכול להסתדר בלי תוכנית מיוחדת, פשוט לשלוח קבצים עם נתונים מוכנים ליציאה הטורית של המחשב באמצעות פקודת MS DOS. בעת הגדרת תוכנית התקשורת, עליך למחוק את קווי האתחול של המודם, להגדיר את מצבי "הד מקומי" ו"שידור CR/LF", ובמידת הצורך, לבחור במסוף ANSI ובטבלת קודי ASCII. מצב ההפעלה של היציאה הטורית צריך להיות כדלקמן: מהירות - 4800 Baud, מספר סיביות לכל תו - 8, בקרת זוגיות מושבתת, מספר סיביות עצירה - 1. אם הכל תקין, הטקסט שהוקלד במקלדת המחשב יהיה נשלח למודול ניפוי הבאגים, ותגובותיו - יוצגו על המסך. ניתן להקליד פקודות צג במקלדת אותיות גדולות וקטנות כאחד. כל התווים חייבים להיות בקידוד ASCII. מקש [BackSpace] מוחק את התו שהוזן לאחרונה ממאגר מודול ניפוי הבאגים. כל פקודה מורכבת משם ואופרנד. סוף שם מסומן באמצעות תו מפריד: רווח, טאב, הזנת שורה או החזרת כרכרה. להלן נסמן אותו באופן קונבנציונלי בקו תחתון (_), אך אתה יכול להזין כל אחד מהאמור לעיל. לאחר קבלת המפריד, המוניטור משווה את ארבעת התווים הראשונים שהתקבלו בעבר הממוקמים במאגר עם התוכן של טבלת הפקודות ב-ROM. לאחר שמצא התאמה, הוא זוכר את הכתובת של מטפל הפקודות מאותה טבלה ומתחיל לקבל אופרנד - מספר הקסדצימלי אחד או יותר. בואו נסכים שהכתובות של אחד ושני בתים של הזיכרון הפנימי והחיצוני של ה-MK יסומנו XX ו-XXXX, בהתאמה, אורך הבלוק - YYYY, נתונים אחרים - ZZ או ZZZZ. לדוגמה, XXXX,YYYY הוא בלוק של זיכרון נתונים חיצוני שמתחיל בכתובת XXXX, באורך YYYY בתים. יש לכלול את כל האפסים המובילים. האופרנד חייב להסתיים גם במפריד, שעם קבלתו מתחיל מטפל הפקודות. מתעלם ממפריד שהוזן למאגר ריק. RESET_ ZZZZ_ - מצב הקצאת הזיכרון השני מופעל, ה-MK מוחזר למצבו המקורי, השליטה מועברת לכתובת ZZZZ. לפעולה רגילה של הפקודה, נדרש זיכרון RAM עובד. DATA_ XXXX:_ ZZ_ [ZZ_][XXXX:_ZZ_ [ZZ_]._ - מידע מוזן לתאים עוקבים של זיכרון הנתונים החיצוני, החל מהכתובת XXXX. אין צורך להזין סוגריים מרובעים; הם רק מציינים שמספר האופרנדים ZZ_ יכול להיות שרירותי. הזנת הנתונים מסתיימת בסמל נקודה. בשולחן איור 2 מציג דוגמה לשימוש בפקודות DATA ו-RESET כדי להזין תוכנית פשוטה ל-RAM ולהפעיל אותה. READ_XX_ או READ_XXXX_ - מילה (שני בתים רצופים) נקראת מתאי זיכרון של RAM נתונים פנימיים או חיצוניים. התוצאה בצורת מספר הקסדצימלי (בייט בכתובת הגבוהה ביותר תחילה) מועברת ליציאה הטורית. WRITE_XX,ZZ_, WRITE_XX,ZZZZ_, WRITE_XXXX,ZZ_ או WRITE_XXXX,ZZZZ_ - בייט ZZ או המילה ZZZZ נכתבים לכתובת XX או XXXX. שימו לב שהוראות ה-READ וה-WRITE מיושמות באמצעות כתובת עקיפה, כך שהן לא יכולות לעבוד עם אוגרי פונקציות מיוחדות. כדי לגשת לרשמים, יש לכתוב נהלי החלפה עם כתובת ישירה במיוחד עבור כל אחד מהם. דוגמה לכך תהיה מטפל הפקודות SPEED. אם למודול יש MCU עם 256 בתים של זיכרון RAM פנימי, הפקודות READ ו-WRITE יוכלו לעבוד עם 128 בתים נוספים שלו בכתובות 80H-0FFH. LOAD_XXXX,YYYY_ - מלא במידע שהתקבל דרך היציאה הטורית, בלוק זיכרון נתונים חיצוני. SAVE_XXXX,YYYY_ - התוכן של בלוק זיכרון הנתונים החיצוני מועבר ליציאה הטורית. CALL_ZZZZ_ - תת-השגרה שמתחילה בכתובת ZZZZ נקראת. כדי לחזור למוניטור, עליו להסתיים בפקודת RET. הפסקות מושבתות בזמן שתת-השגרה פועלת. CHECK_XXXX,YYYY_ - סכום הבדיקה מחושב - הבתים הנמוכים של סכום כל הבתים של בלוק זיכרון הנתונים החיצוני. FILL_XXXX,YYYY,ZZ_ - אזור זיכרון הנתונים החיצוני מלא בבייט ZZ וסכום הבדיקה שלו מחושב. COPY_XXXX,YYYY,ZZZZ_ או COPY_PXXXX,YYYY,ZZZZ_ - בלוק זיכרון הנתונים החיצוני מועתק לכתובת ZZZZ. התו P מציין שהאזור המועתק נמצא בזיכרון התוכנית. במקביל, מחושב סכום הבדיקה. TEST_XXXX,YYYY_ - יכולת השירות של בלוק ה-RAM החיצוני נבדקת. אם אין שגיאות, ההודעה "אישור" מוצגת, אחרת "XXXX: YY<>ZZ", כאשר XXXX היא הכתובת של התא הפגום, YY הוא הערך שנכתב אליו, ו-ZZ הוא הערך שנקרא. הפקודה אינה הורסת את תוכן ה-RAM. SPEED_ZZ_ או SPEED_ZZ+_ - משנה את מהירות חילופי הנתונים דרך היציאה הטורית. כברירת מחדל, הוא 4800 Baud (נקבע על ידי בייט התוכנית Monitor בכתובת 2DH). ערך השווה לאופרנד ZZ ממוקם באוגר TH1 של המיקרו-בקר וקובע את מהירות הפעולה של מקלט המשדר שלו. סימן פלוס באופרנד גורם להכפלת המהירות על ידי הגדרת הביט PCON.7. היציאה הטורית של המחשב יכולה לפעול בקצבי שידור של 110, 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600 ומעלה. היכולת להגדיר בצורה מדויקת למדי את היציאה הטורית של MCU מסדרת MSC51 במהירויות שצוינו תלויה בתדירות מהוד הקוורץ בשימוש. לדוגמה, אם זה 12 מגה-הרץ, ניתן להגדיר את היציאה ל-300, 600, 1200, 2400 ו-4800 באוד עם הפקודה SPEED עם האופרנדים 98, CC, E6, F3 ו-F3+ בהתאמה. באמצעות מהוד 11 מגה-הרץ, ניתן היה להשיג מהירות של 9600 באוד. עם זאת, בעת העברת קבצים, הח"כ כנראה לא יוכל לעבד נתונים המגיעים במהירות גבוהה מדי. ניתן להרחיב ולהוסיף את מערך הפקודות המתואר מבלי לתרגם מחדש את המוניטור ואפילו מבלי למחוק את ה-ROM. מטפל הפקודות החדש ממוקם באזור הפנוי שלו. שם הפקודה (ארבעת התווים הראשונים באותיות רישיות) נכתבת החל מכתובת 5ABH, ואחריה כתובת המטפל של שני בתים ובית 0FFH. על המטפל להסתיים במעבר לכתובת 23FH. כל הכתובות של תא יחיד בתים המוזכרות להלן מתייחסות ל-RAM הפנימי של ה-MK. המוניטור משתמש בבנקי רישום 0 ו-2, כמו גם בתאים 20H-3FH. הערימה גדלה מכתובת 50H. כאשר אינו מקבל ומעבד פקודות, המיקרו-בקר מבצע ברציפות תת-שגרת הממוקמת ב-ROM בכתובת המצוינת בתאים 35H ו-36H. כברירת מחדל זה 063H. תת-שגרה זו, משנה מעת לעת את מצב פריקת ה-P3.4, נדלקת ומכבה את נורית HL1. תדירות ההבהוב תלויה בתוכן תא ה-3DH. אם ביט זה מיועד לשמש למטרות אחרות, יש להנפיק את הפקודה WRITE_35,006A_. התאים 37H ו-38H מכילים את הכתובת של המטפל בפסיקות היציאה הטורית, המשמש למעשה כעמוד השדרה של המוניטור וקובע את תגובתו לפקודות המפעיל. כברירת מחדל, נכתב כאן 0, מה שמתאים לקריאה למטפל הסטנדרטי שנמצא ב-ROM בכתובת 081H. על ידי כתיבת קוד שאינו 3 לכתובת 0BH, אתה יכול להפעיל את פונקציית "הד". המוניטור ישלח בחזרה את כל הנתונים שהתקבלו דרך היציאה הטורית. זה יאפשר לך לכבות את "הד מקומי" בתוכנית התקשורת, ובמידת הצורך לשמור את כל הפקודות שנשלחות למודול איתור הבאגים ואת התגובות שלהן בקובץ טקסט. המספר בכתובת 3AH מציין את ההשהיה בין קבלת פקודה על ידי המוניטור לבין התגובה אליה, אשר נחוצה כדי להעביר חלק מתוכניות תקשורת משידור לקבלה (זה לא נדרש עבור "טלמקס"). זה שווה למשך ההפסקה בשניות כפול 50. אחת התוצאות של הפקודות הפועלות על בלוקי זיכרון (LOAD, SAVE, CHECK, FILL, COPY) היא סכום הבלוק המוצב בתא 39H. ניתן להשתמש בו כדי לפקח על הביצוע הנכון של הפקודות המפורטות. הצג יכול לקבל ישירות קבצים בפורמט Intel HEX שנוצרו על ידי מרכיבים רבים. מספיק לשלוח קובץ כזה ליציאה הטורית של המחשב באמצעות תוכנת תקשורת או פשוט עם הפקודה MSDOS COPY <שם קובץ> COM2. יש להגדיר את היציאה בשימוש מראש (במקרה זה COM2) עם הפקודה MODE COM2:4800,N,8,1. המידע ייכתב לזיכרון הנתונים החיצוני של מודול איתור הבאגים, ואם סכומי הבדיקה אינם תואמים, תונפק הודעה מתאימה. כל שורה בקובץ Intel HEX מתחילה בנקודתיים, ואחריה ללא רווחים בתים הקסדצימליים הדו ספרתיים הבאים:
קובץ HEX מסתיים תמיד בשורה המכילה אפס נתונים ובתי כתובות אחרי נקודתיים, ואחריו דגל שורה אחרונה (01) וסכום ביקורת השווה ל-FF. טבלה 3 מציגה דוגמה לקובץ כזה המכיל את אותם נתונים שהוזנו על ידי הפקודה Monitor DATA לפי טבלה 2. מחבר: V. Ogleznev, Izhevsk ראה מאמרים אחרים סעיף מיקרו-בקרים. תקרא ותכתוב שימושי הערות על מאמר זה. חדשות אחרונות של מדע וטכנולוגיה, אלקטרוניקה חדשה: עור מלאכותי לחיקוי מגע
15.04.2024 פסולת חתולים של Petgugu Global
15.04.2024 האטרקטיביות של גברים אכפתיים
14.04.2024
עוד חדשות מעניינות: ▪ מוליך למחצה רב עוצמה בעובי אטום אחד ▪ הולכי רגל בטוחים יותר עם מכוניות רובוט עדכון חדשות של מדע וטכנולוגיה, אלקטרוניקה חדשה
חומרים מעניינים של הספרייה הטכנית החופשית: ▪ קטע של חומרי ריגול באתר. בחירת מאמרים ▪ מאמר גל הלם. יסודות חיים בטוחים ▪ כתבה איזו מדינה קיבלה במשך זמן רב את רוב ההכנסות ממכירת בולי דואר? תשובה מפורטת ▪ מאמר אורז קמח ודגנים. הוראה סטנדרטית בנושא הגנת העבודה ▪ מאמר מחלק תדרים עם מקדם חלוקה מתכוונן. אנציקלופדיה של רדיו אלקטרוניקה והנדסת חשמל ▪ מאמר מפסק אוטומטי. אנציקלופדיה של רדיו אלקטרוניקה והנדסת חשמל כל השפות של דף זה בית | הספרייה | מאמרים | <font><font>מפת אתר</font></font> | ביקורות על האתר www.diagram.com.ua |