כללי:
מפתח LPT סטנדרטי
מספק לנו 5 כניסות ישירות למחשב. ניתן על יד אוגר הזזה להוסיף עוד כניסות. כמות
הכניסות תהיה יחסית לאורך אוגר ההזזה. בפרויקט אדגים שימוש באוגר הזזה מסוג 74LS165
בן שמונה כניסות מקביליות ויציאה אחת טורית. הפרויקט משמש כבסיס לפרויקטים נוספים.
שלבי
העבודה:
1.
בנה את המעגל האלקטרוני הבא:
הסבר
המעגל:
רגל 1
נועלת את המילה המקבילית בתוך אוגר ההזזה אות נעילה זה מסופק מהמחשב בעזרת הדק
6 במפתח משמע, ביט D4 באוגר
378H.
רגל 2 משמשת כאות שעון עבור האוגר. כל עלית שעון ברגל זו והאוגר יזיז את המילה
ביט אחד. אות זה מסופק מהמחשב בעזרת הדק 5 במפתח משמע, ביט D3 באוגר 378H.
רגל 9 היא אות המוצא של האוגר. עבור כל עליה של שעון מבצע האוגר הזזה אחת ימינה
ומוציא בהתאם את המידע הרלונטי בהדק המוצא. ראה תרשים אותות בהמשך, אות זה מסופק
למחשב דרך הדק 11 במפתח משמע, ביט D7 באוגר 379H.
לפי תרשים האותות ניתן לראות שירידה באות Shift/Load גורמת
לנעילת המידע באוגר. כמו כן עבור כל עליה של אות Clock הביט הבא מהכניסה עובר ליציאה לפי הסדר של H ל- A.
2.
הורד את הקובץ model_lpt.zip
3.
הפעל את הקובץ
.
4.
גש לחלון הטופס והוסף לו את הפקדים הבאים:
5. גש לכתיבת
לחלון הקוד של Form1 וכתוב בו את הקוד הבא:
Dim NUM As Byte
Private Sub Command1_Click()
x = 0
While (x = 0)
DoEvents
OUTPORT &H378,
&H10
OUTPORT &H378,
&H0
OUTPORT &H378,
&H10
NUM = 0
For i = 0 To
8
OUTPORT &H378,
&H10
OUTPORT &H378,
&H18
OUTPORT &H378,
&H10
If INPORT(&H379)
= 31615 Then
NUM = NUM And
&H7F
NUM = NUM * 2
Else
NUM = NUM And
&H7F
NUM = (NUM * 2) + 1
End If
Next i
Label1.Caption = NUM
Wend
End Sub
Private Sub Command2_Click()
x = 1
End Sub
הסבר
התוכנית:
נגדיר בתחילת
התוכנית משתנה בשם NUM בגודל של בית אחד אשר ישמש אותנו לקלוט את מצב המידע
מאוגר ההזזה.
התוכנית
כוללת לולאה אין סופית אשר קולטת באופן מחזורי את המילה מאוגר ההזזה. עצירת הלולאה
מתבצעת בעזרת הפקודה DoEvents
שמאפשרת קיום אירועים בנוסף לביצוע הלולאה, נוסף על כך ניתן לעצור את הלולאה
על ידי לחיצה על לחצן Command2 שמבטל את התנאי לקיום הלולאה.
ניתן לכתוב את קטע התוכנית לקליטת המספר מאוגר הזזה גם בעזרת Timer אך שימוש ב- Timer מונע
אפשרות להצגת האותות (נעילה, שעון ומוצא) בעזרת סקופ.
קליטת המידע מאוגר ההזזה מתחילה בשליחה של פולס ירידה בעזרת ביט D4 של אוגר 378H.
בשלב הבא אנו מפעילים לולאה של 8 מחזורים, כל מחזור נותן פולס עליה של שעון ובדיקת
הקלט בעזרת הפקודה: INPORT(&H379)
אם המספר שהגיע שווה ל- 31615
(7B7F) זאת אומרת שניכנס אפס אזי
המשתנה NUM מקבל את הערך 0 אחרת הוא מקבל את הערך
1 .
כל ביט חדש שמגיע במהלך 8 המחזורים נצבר במשתנה NUM על ידי כפל ב- 2 והוספת הביט שהגיע.
בדיקת
המוצאים:
הפעל את
התוכנה או הורד מהאתר את הקובץ LptSirialIn.zip והפעל אותו.
בדוק בעזרת
סקופ את האותות ברגל 1 ו- 2 של הרכיב U5 והשווה אותו לתרשים הבא:
בתמונה הבאה ניתן לראות את פולס הנעילה (האות העליון) שאחריו מופיע 8 פולסי שעון
(האות התחתון).
כדי לבדוק
את אוגר ההזזה ספק אדמה לכל אחד מהרגלים 3 עד 6 ו- 10 עד 14 של הרכיב U5 ובדוק שלכל רגל שמסופק לה אדמה ישתנה
המספר בחלון התוכנה.
הרחבה
הפרויקט לשילוב A/D לדגימת אות אנלוגי למחשב.
בנה את
המעגל הבא:
אין שינוי בתוכנית הדגימה של אוגר ההזזה.
|