עבור לתוכן

בקשה| הסבר על אופן פעולתו של אוגר הSCON (בשפת C)

Featured Replies

פורסם

^כמו שכתוב בכותרת אני פשוט חייב הסבר על אופן פעולתו (בעברית אם אפשר כי מצאתי באנגלית אבל לא הצלחתי להבין כלום :\)

*בנוסף הודה מאוד אם מישו יוכל גם להביא לי דוגמא של תוכנית בה השתמשו בSCON

*בבקשה אני חייב את זה למחרר

תודה רבה רבה רבה לעוזרים בבקשה תעזרו לי!

פורסם

רגיסטר SCON אחראי על התקשורת הטורית במיקרו בקר.

רגיסטר SBUF הוא בעצם שם אחד לשני אוגרים שמכיל נתון לשליחה או קבלה בהתאם.

סביות

0\RI-עולה ל1 כאשר מתקבל נתון ומפעילה פסיקה אם הפסיקה של התקשורת הטורית מאופשרת.

1\TI-עולה ל1 כאשר מסתיימת שליחת נתון ומפעילה פסיקה אם הפסיקה של התקשורת הטורית מאופשרת.

2\RB8 - הסיבית התשיעית בקליטה כאשר מגודר מצב 9 סביות מידע.

3\TR8 - הסיבית התשיעית בשליחה כאשר מוגדר מצב 9 סביות מידע.

4\REN - סיבית מיסוך לקליטה(כאשר היא ב0 אין קליטה.

5\SM2 - מאפשר עבודה עם שני מיקרו מחשבים(בפעל כשSM2 פעיל אז רק כאשר הביט התשיעי שווה 1 ידלק RI כלומר תרשם קבלה).

6\SM1- סיבית ברירת מצב 1.

7\SM0-סיבית ברירת מצב 0.

PCON הביט השמיני ברגיסטר

מכפיל את קצב השידור אם הוא דלוק.

המצבים האפשריים:

מצב 0 SM0=0 SM1=0- גודל נתון 8 ביט, קצב שידור הוא תדר גביש חלקי 12.

מצב 1 SM0=1 SM1=0 - גודל נתון 8 ביט, קצב שידור נקבע על ידי טיימר 1 במצב עבודה 2(טעינה מחדש אוטומאטית). בפעול יש לאתחל את הטיימר כך ש:

TH1 = 256 - (clk)/(384 *Baud)

-CLK

.תדר השעון של המיקרו

-BAUD

קצב שידור רצוי.

מצב 2

SM0=0

SM1=1

גודל נתון 9 סביות.

.קצב שידור הוא תדר שעון חלקי 64

מצב 4

SM0 = 1

SM1 = 1

גודל נתון 9 סביות.

קצב שידור כמו מצב 1.

לגבי תכנה,יש לאתחל את האוגרים הנדרשים(TCON,SCON(.

להציב את הערך שחישבנו לתוך

TH1

אם צריך.

להפעיל את הטיימר.

לאחר מכן ניתן לשלוח על ידי השמת ערך ל

SBUF

או לקרוא מSBUF

על מנת לקלוט.

ניתן לשלוח בעזרת

POLLING

כלומר לאחר שליחה נעבור בלולאת

WHILE(!TI)

שתגרום להשהייה עד לגמר השליחה.

בכדי לקלוט נרשום

WHILE(!RI)

ולאחר מכן נוכל לגשת ל

SBUF

ולשלוף את הנתון.

יש אפשרות לעבוד עם פסיקות תחפש באינטרט.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים