מיפתח התקשורת המקבילי (Parallel port) LPT הקשר לתוכנה

כללי:

אחרי שכל החומרה ברורה לנו ואנו יודעים את רמות המתחים שהמחשב מקבל ומוציא כיצד ניתן דרך תוכנה להורות למחשב לשלוח להדק מסויים רמת מתח מסויימת או לבדוק על אחד מהדקי הכניסה מה היא רמת המתח שהתקבלה?


הממשק תוכנה לחומרה (דריבר):

ככל Visual Basic אינו יודע לפנות ישירות למיפתח. לכן אנו ניעזר בתוכנה חיצונית ל- Visual Basic שמאפשרת גישה לממשק. לתוכנה זו קוראים DLL.

את ה- DLL ניתן למצוא כקובץ בשם port.dll בכל אחד מהדוגמאות שניתן להוריד דרך האתר או בכתובת הבא: http://home.t-online.de/home/B.Kainka .

את הקובץ יש להעתיק לתיקייה הבא:   c:\windows\system  בכל מחשב שמפעיל את המיפתח. אפשרות שניה להעתיק את הקובץ לאותה תיקייה שבה מופעל קובץ ההרצה של התוכנה. אישית אני מעדיף את האפשרות השניה.


כתיבת התוכנה ב- Visual Basic:

לפני כתיבת השורה הראשונה במחשב יש להפנות את התוכנה לקובץ ה- DLL שלנו. הפניה זו מתבצעת דרך הוספת מודול (Module) לחלון הפרויקט של ה- Visual Basic.

באופן הבא:

Declare Sub OUTPORT Lib "Port" (ByVal A%, ByVal b%)

Declare Function INPORT Lib "Port" (ByVal p%) As Integer


קוד זה מגדיר את שמות הפונקציות שכתובות בתוך קובץ ה- DLL ומאפשר לתוכנה שלך לגשת את הפונקציות הנ"ל ולהשתמש בהם כאילו היו חלק מהתוכנית שלך.

אוסף זה של פונקציות (לשם הדיוק פונקציה אחת ושגרה אחת) נכתב על ידי B.Kainka ומאפשר שימוש חינם במודול.

לסיכום ניתן להוריד מהאתר קובץ בשם model_plt.zip שמכיל את כל מה שדרוש כדי להתחיל לכתוב את שורת הקוד הראשונה לתקשורת עם המיפתח המקבילי של המחשב. לתחילת עבודה הפעל את הקובץ lptio.vbp .

מבנה אוגרי ה-
LPT וכתובתם במחשב:

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


אוגרים אלה מאוכסנים בזיכרון של המחשב בכתובות הבאות:

 
אפשרות 1
אפשרות 2
אפשרות 3

אוגר D  (Data)

378

278

3BC

אוגר S  (Status)

379

279

3BD

אוגר C  (Control)

37A

27A

3BE


לפי הטבלה ניתן לראות שלכל אוגר בזיכרון יש 3 אפשרויות לכתובת. ניתן לדעת את הכתובת הזמינה במחשב שלך על ידי לחיצה על המאפיינים של המפתח במחשב שלך. הגישה למאפיינים היא דרך לוח הבקרה, מערכת.



ברוב המחשבים הכתובת היא כמו במחשב שלי: 378H .

טבלה הבאה מתארת את הקשר בין הדקי המפתח  לביט באוגר:

הביט באוגר
מספר ההדק במחבר
כיוון ההדק

C0

1

יציאה

D0

2

יציאה

D1

3

יציאה

D2

4

יציאה

D3

5

יציאה

D4

6

יציאה

D5

7

יציאה

D6

8

יציאה

D7

9

יציאה

S6

10

כניסה

S7

11

כניסה

S5

12

כניסה

S4

13

כניסה

C1

14

יציאה

S3

15

כניסה

C2

16

יציאה

C3

17

יציאה



הערה: שים לב לכך שחלק מהביטים עובדים בלוגיקה הפוכה כמו S7,C3,C1,C0.

לכל הדק יש קשר לתא אחד באוגר לדוגמה: להדק היציאה 2 במפתח (פין 2 במחבר) יש ביט בשם DO באוגר שבכתובת 378H. זאת אומר שאם נכתוב בתוכנה הוראה כמו "שלח לכתובת זיכרון 378H  את המילה (01H) 00000001 " המתח על ההדק D0 יעלה ל- 5V אחרת המתח על ההדק יהיה 0V.

דוגמה נוספת: אם המתח על הדק 12 במפתח (פין 12 במחבר) יהיה 0V  (אדמה) אז המילה באוגר בכתובת 379H יהיה 20H (00100000)

השגרה OUTPORT:

שגרה זו מקבלת שני ערכים הראשון מספר האוגר שיש לכתוב לתוכו והשני המספר שיש להעביר לו. לדוגמה כדי להעלות את רמת המתח בהדק 4 במפתח  ל- 5V יש לכתוב את השורה הבאה: OUTPORT &H378 , &H04 כי השגרה שולחת לאוגר 378H את המילה 04H:

D0

D1

D2

D3

D4

D5

D6

D7

0

0

1

0

0

0

0

0

הערה: בדוגמה זו יש גם שינוי של כל שאר 7 הדקי המוצא לרמה של  0V .

הפונקציה INPORT:

פונקציה זו מקבלת את כתובת האוגר בזיכרון ומחזירה את הערך של האוגר

לדוגמה את נכתוב את השורה: A=INPORT(&H379) המספר שיהיה בתא A יהיה מצב האוגר.


שימוש בתוכנה לשליטה על ה- LPT

כדי לשלוט ביציאות ה- LPT  הדקיםD0-D7  ניתן למשל להשתמש בדוגמה הבאה:
       
 

כדי לשלוט ביציאות ה- LPT  הדקים D0-D7  וגם בכניסות אוגר הבקרה הדקים S3-S7 ניתן להשתמש בדוגמה הבאה:



הורד את התוכנה הבאה לשליטה בסיסית במפתח המקבילי של
המחשב: test_lpt.zip

 


הרמן גדי , מורה לאלקטרוניקה ומחשבים - אורט מגדל העמק Herman Gadi © 2003