الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تطبيق بالفيجوال بيسك حول المنفذ المتوازي

مغلقرائج
بدأه visualk في 19 أبريل 2007 · 73 رد · 5,461 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

انا الان بدرس عل منفذ الطابعة المتوازي lpt

استطعت بعون الله وبفظل درووس في هذا المنتدى ان اخرج من البين خمسة فولت

والان انا عاوز بالفيجوال بيسك أن اعرف هل في البين متلا 3 يوجد تيار ولا مفيش

التطبيق هو ده : أنا عايز انقر على زر الكتروني خارجي مرتبط بالمنفذ المتوازي وفي عند الضغط حينتج تيار ويمر للمنفذ ولما يدخل للمنفذ عبر البين 3 البرنامج يحس بيه ويكتب ان الاشارة وصلت .

أرجو منكم تساعدوني ضرروري جدا من فظلكم :lol:

#2

إقرأ الدروس على الرابط التالي جيداً وإذا لك تستفد قل لي:

/index.ph...=0#topicoptions

تم تعديل هذه المشاركة بواسطة عبد العزيز اليوسفي في 19 أبريل 2007 في 01:06

#3

السلام عليكم

أخي عبد العزيز أنا درست هذه الدرووس للاخ هاني حتى شاب رأسي والله لم اجد الحل

أرجو ان تساعدني

أريد ادخال تيار من منبع أو سلك به تيار 5 فولت موصل بمنبع متلا للحاسوب والبرنامج يحس به فيظهر رسالة بان هناك تيار قد دخل

أرجو المساعدة من فظلكم ارجووكم ضرروري جدا

تم تعديل هذه المشاركة بواسطة visualk في 19 أبريل 2007 في 01:34

#4

تفضل اخي العزيز هذا مثال كامل علي التحكم في المنفذ المتوازي ( منفذ الطابعة الخارجي )

-لقد قمت بتصميمه مسبقا وكاتب فيه شرح لكل كود اعلاه , تقدر منه تخرج وتقراي حالة كل بينة علي حالها دون التأثر بالاخرين

اتمنا انه ينال رضاك ..............

والله الموفق

Test_Parallel_Port.rar

تم تعديل هذه المشاركة بواسطة Max bayne في 19 أبريل 2007 في 02:27

#5

السلام عليكم أخ ماكس باين

مجهود أخوي الله يكرمك يا أخي شكرا

ولكن ربما لم تفهم قصدي وهو كالتالي :

أريد أن أدخل التيار الى الحاسوب عبر المنفذ المتوازي عبر بين 3 متلا والبرنامج يشعر به فيقول أن التيار قد دخل فيظهر رسالة متلا

يعني البين 3 يكون فيه 0 فولت وأدخل به سلك مشحون فيصبح به 5 فولت ويشعر به البرنامج

أرجووكم ساعدوني وشكرا

أريد كود بالفيجوال بيسك يقوم بهذا مع الطريقة وشكرا

اقتباس
تقدر منه تخرج وتقراي حالة كل بينة علي حالها دون التأثر بالاخرين

ليس هذا اخي بل أريد ادخال تيار ليس له علاقة بالمنفذ يعني يكون المنفذ المتوازي كله 0 فولت متلا وأدخل سلك به تيار مرتبط بدارة أو بطارية متلا فيدخل التيار الى المنفذ المتوازي عبر السلك المشحون الى بين معين (3 متلا) فيه 0 فولت فيصبح به تيار5 فولت أو ... (يعني البين 3) والبرنام يقول أن البين 3 به تيار .

شكرا أخي أرجو المساعدة

تم تعديل هذه المشاركة بواسطة visualk في 19 أبريل 2007 في 16:08

#6

اخى انت تعرف طبعا ان المكتبة التى تستخدمها Inpout32.dll تعطيق الخرج decimel كل ما تحتاجة ان تقوم بتحويل الخرج الى بينرى هيث سيعطيك عدد ثنائى مكون من 8 بت كل بت تمثل احد الفتحات على منفذ الطابعة من البت Lsb to msb اما اذا كنت تريد شيئا اخر فارجو التوضيح

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#7

أخ visualk

اقتباس
أخي عبد العزيز أنا درست هذه الدرووس للاخ هاني حتى شاب رأسي والله لم اجد الحل

هو أنت شاب راسك ليه ، كان من الأفضل تكتب إلى أين توصلت ، تفضل جرب الكود بعد ما تصرح عن Inp وقلي ماذا حدث معك:

Private Sub Timer1_Timer()
'حالة القطب رقم 3
If Inp(&H378) And 2 = 1 Then
	MsgBox "القطب 3 في حالة 1 منطقي أي تيار موجب"
Else   'If Inp(&H378) And 2 = 0
	MsgBox "القطب 3 في حالة 0 منطقي أي تيار سالب"
End If
End Sub
#8

شكرا على الكود اخي سوف أجربه وأعطيك النتائج

أريد أن أسئل سؤال من فظلكم

هل يمكن ادخال تيار للحاسوب عبر المنفذ المتوازي عبر بين معين 3 متلا

كمتال سلك مرتبط ببطارية ادن السلك يصبح به تيار أيضا فندخله عبر البين 3 الذي به 0 فولت فيصبح 5 فولت

هل هذه التجربة صحيحة أرجو التأكيد

من فظلكم من فظلكم

#9

صحيحة بس متنساش الارضى

لكن تعديل بسيط على كلام الاخ عبد العزيز

انت قلت انك ستقوم بادخال الدخل على العملية منطقية And مع 2

من جدول الحقيقة Truth table الخاص بال And

And 1 ,1=1

And 1,0=0

And0,0 = 0

اذا نستنتج اذا اردنا اختبار البت 3 مثلا ولين ما تم ادخالة على المنفذ هو 4d اى 4 عشرى

اذا الرقم سيكون بالثنائى عرض 8 بت

00000100

اى اننا يجب ان نصمم له ماسك

00000100

وبذالك عند ادخال الرقمين على دائرة And

اذا

00000100

And

00000100

______________=

00000100

اى الرقم 4 بالعشرى

حسنا فنفترض انه تم ادخال 3 مثلا على المنفذ ستكون بالثنائى

00000011

عند اجراء عملية And مع 4

سيكون الناتج 0

حسنا اذا ادخلنا 5 عشرى

اى 00000101

مع And بالرقم 4 سيكون الناتج 00000100 اى 4d

4 عشرى

اذا تعديل بسيط على الكود السابق

Private Sub Timer1_Timer()
'حالة القطب رقم 3
If Inp(&H378) And 4 = 4 Then
	MsgBox "القطب 3 في حالة 1 منطقي أي تيار موجب"
Else   'If Inp(&H378) And 4 = 0
	MsgBox "القطب 3 في حالة 0 منطقي أي تيار سالب"
End If
End Sub

مع احترامى طبعا لك اخى عبد العزيز فانت من اساتزة المنتدى

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#10

السلام عليكم أخي

شكرا على هذا التوضيح

ولكن لدي استفسار

اقتباس
حسنا فنفترض انه تم ادخال 3 مثلا على المنفذ ستكون بالثنائى

00000011

ماذا تقصد لو سمحت بادخال 3 أتعني 3 فولت أو ماذا ؟ ارجو التوضيح

#11

اخي منا رافق ليك المثال السابق وفيه عامل انه في حالة وصول تيار الي بينة معينة هتلاقي اسم البينة بيتلون باللون الاحمر وده بيدل علي وجود تياراما في حالة عدم وجود تيار هتلاقي البينة او اسمها باللون الاسمر وبيدل علي عدم وجود تيار فيها وانتا لو بصيت علي بينات الادخال ووصلت اي سلك فيه طاقة وليكن بطارية الي اي بينة ادخال هتلاقي اسم البينة اتحول الي اللون الاحمر وده دليل علي دخول تيار اليها ولو وقفت علي اي حرف الخاص بالبينة هتلقيه كاتب لك اسمها ومكنها كمان ...........

والله الموفق

#12

Max byne

فكرتنى بردك على طربوش المختار كان جرئ شوية لكن فى الجون :lol: وانت مشفتش الموضوع التانى :)

اقتباس
ماذا تقصد لو سمحت بادخال 3 أتعني 3 فولت أو ماذا ؟ ارجو التوضيح

اخى عندما نتحدث عن البيانات فلا نعرف الا قيمتين High و Low يعنى سيبك من الفولت التيار والقيم بتاعتهم اما هتدخل 5 او 0

اما الثلاثة التى اتحدث عنها فهذا رقم يتم ادخاله على منفذ الطابعة وعند تحليله الى النظام الثنائى سيكون 00000011

اى انك ستطبق جهد H على البن الولى والثانية اما الباقى ستطبق جهد Low وبذلك سيقرا الكمبيوتر الرقم ثلاثة

من الواضح اخى انك لم تفهم حتى الان الانظمة العددية والتعامل معها ارجوا ان تعيد البحث فيها وانا تحت امرك وباقى الاعضاء المحترمين

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#13

بالفعل بماأنني أتعامل مع البوابات المنطقية الإلكترونية صار خطأ سهو حطيت 2 و 2 = 1 ، فلازم يكون 2 و2 = 2 ، ثم أن هذا الكود نسخته من مشاركة سابقة لي ،فهذا يعني أنني سأعدلها أيضاً ، فشكراً على التنيبه أخي حريف

إذاً الكود يجب أن يكون :

If Inp(&H378) And 2 = 2 Then

أخي visualk نحن نتكلم عن مدخل واحد فقط وهو الرقم 3

أخي حريف الدخل 3 هو ثاني مدخل من مدخل الطابعة Data وسيكون 10 بالثنائي وليس 11

#14

لا اخى عد من الاول

الصفر العشرى=00000000

الواحد= 00000001

الاثنين = 00000010

الثلاثة = 00000011

هذا والله اعلم

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#16
اقتباس
ههههههههههه طربوش المخ تاااااار ( ) ...........

:lol: :lol: :lol: :lol:

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#17

شكرا أخواني والله ما قصرتوا

اقتباس
من الواضح اخى انك لم تفهم حتى الان الانظمة العددية والتعامل معها ارجوا ان تعيد البحث فيها وانا تحت امرك وباقى الاعضاء المحترمين

نعم شكرا على الملاحظة سوف احاول الفهم مشكوور

اقتباس
أخي حريف الدخل 3 هو ثاني مدخل من مدخل الطابعة Data وسيكون 10 بالثنائي وليس 11
اقتباس
الصفر العشرى=00000000

الواحد= 00000001

الاثنين = 00000010

الثلاثة = 00000011

هذا والله اعلم

أرجو تأكيد الجواب من فظلكم

اقتباس
سلك فيه طاقة وليكن بطارية الي اي بينة ادخال هتلاقي اسم البينة اتحول الي اللون الاحمر وده دليل علي دخول تيار اليها ولو وقفت علي اي حرف الخاص بالبينة هتلقيه كاتب لك اسمها ومكنها كمان ...........

- نعم أخي مشكوور في الحقيقة لم ألاحظ لو ممكن تحط صورة من فظلك

تم تعديل هذه المشاركة بواسطة visualk في 20 أبريل 2007 في 16:16

#18
اقتباس
لا اخى عد من الاول

الصفر العشرى=00000000

الواحد= 00000001

الاثنين = 00000010

الثلاثة = 00000011

هذا والله اعلم

أخي حريف مداخل ال Data هم 8 مداخل يمكن تسميتهم من D0 حتى D7 ، وتبدأ من القطب 2 حتى 9

فالاخ visualk طلب التحكم بالقطب 3 ، أي سيكون D1 ، هذا يؤدي إلى أنه يريد التحكم بالمدخل الثاني أي 00000010 = 2 بالعشري

(بينما لو أراد التحكم بالمدخل الثالث D2 أي القطب 4 فستكون حالة مداخل ال Data عند العمل 00000100)

الاخ visualk نستطيع أن نكتب :

If Inp(&H378) = 2 Then

ولكن هذا سيؤدي إلى التعامل مع القطب (pin) رقم 3 فقط وستكون باقي الأقطاب السبعة لل Data تساوي الصفر

أما لو أردنا كتابة الكود على الشكل التالي:

If Inp(&H378) And 2 = 2 Then

فهذا يؤدي للتعامل مع القطب (pin) رقم 3 بغض النظر عن قيمة باقي الأقطاب

ولو أردنا كتابة الكود بطريقة أفضل فنكتب :

Private Sub Timer1_Timer()
'حالة القطب رقم 3
If Inp(&H378) And 2 = 0 Then
	MsgBox "القطب 3 في حالة 0 منطقي أي تيار سالب"
Else   'If Inp(&H378) And 2 <> 0
MsgBox "القطب 3 في حالة 1 منطقي أي تيار موجب"
End If
End Sub

تم تعديل هذه المشاركة بواسطة عبد العزيز اليوسفي في 20 أبريل 2007 في 17:36

#19

مشكوورين اخواني على كل هذه المساعدة أنا بقالي فقط التطبيق ولو وجدت مشاكل لن أتردد لكتابته هنا

مشكوورين

#20
اقتباس
أخي حريف مداخل ال Data هم 8 مداخل يمكن تسميتهم من D0 حتى D7 ، وتبدأ من القطب 2 حتى 9

فالاخ visualk طلب التحكم بالقطب 3 ، أي سيكون D1 ، هذا يؤدي إلى أنه يريد التحكم بالمدخل الثاني أي 00000010 = 2 بالعشري

(بينما لو أراد التحكم بالمدخل الثالث D2 أي القطب 4 فستكون حالة مداخل ال Data عند العمل 00000100)

اخى عبد العزيز انا لست بهذا الغباء :lol:

انا فقط بدات العد من 1 وليس صفر اى D1 & D2 & D3 To D8

اقتباس
فالاخ visualk طلب التحكم بالقطب 3 ، أي سيكون D1 ، هذا يؤدي إلى أنه يريد التحكم بالمدخل الثاني أي 00000010 = 2 بالعشري

انت تقول اخى انه يريد التحكم بالقطب الثالث فكيف سيكون D1 !!!! ,منطقيا سيكون D3 اذا بدانا العد من الصفر فسيكون الرقم بالثنائى 00001000 وهذا يكافئ 8 عشرى وليس 2 اى ان عملية ال AND ستتم مع 8 وليس 2 ارجوا ان تكون قد وصلت اخى

اخى Visualk شكلك هتوقعنى انا والاخ عبد العزيز فى معركة كمعارك قريش :lol: ارجوا منك ان توضح بالرسم اى منفذ بالضبط تريد اختباره

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#21

أنا لم ألمح أوأقل أنك غبي والعياذ بالله

معذرة إذا فهمت ذلك

الاخ Visualk يطلب إلى الآن وفي سؤاله الاول وهو قال "منفذ الطابعة المتوازي lpt" والبن 3 ويقصد مداخل منفذ الطابعة بشكل عام (25 قطب)

ولم يذكر عنوان Data

والبن (القطب) 3 هو ثاني مدخل من الData

اقتباس
انت تقول اخى انه يريد التحكم بالقطب الثالث فكيف سيكون D1 !!!! ,منطقيا سيكون D3 اذا بدانا العد من الصفر فسيكون الرقم بالثنائى 00001000 وهذا يكافئ 8 عشرى وليس 2 اى ان عملية ال AND ستتم مع 8 وليس 2 ارجوا ان تكون قد وصلت اخى

المدخل D1 هو ثاني مدخل من عنوان ال Data فأنت تعد برأيك من القطب رقم 1 بشكل عام لمنفذ الطابعة(25 قطب) بينما المدخل الثاني لل Data سيكون الثاني فسيكون 00000010 وهو القطب رقم 3 بشكل عام لمنفذ الطابعة وهو الذي طلبه Visualk

اقتباس
منطقيا سيكون D3 اذا بدانا العد من الصفر فسيكون الرقم بالثنائى 00001000

ربما لم أفهم عليك ،ممكن توضح ،ربما صار سوء تفاهم

تم تعديل هذه المشاركة بواسطة عبد العزيز اليوسفي في 21 أبريل 2007 في 12:08

#22

السلام عليكم

اقتباس
الاخ Visualk يطلب إلى الآن وفي سؤاله الاول وهو قال "منفذ الطابعة المتوازي lpt" والبن 3 ويقصد مداخل منفذ الطابعة بشكل عام (25 قطب)

ولم يذكر عنوان Data

والبن (القطب) 3 هو ثاني مدخل من الData

نعم صحيح أخي هذا ما قصدت

ادا الكود الأول صحيح أليس كذلك ؟

اقتباس
اخى Visualk شكلك هتوقعنى انا والاخ عبد العزيز فى معركة كمعارك قريش ارجوا منك ان توضح بالرسم اى منفذ بالضبط تريد اختباره

عفوا اخواني ولكن أنا قصدت ال D2

أي القطب رقم 3 بشكل عام لمنفذ الطابعة

تم تعديل هذه المشاركة بواسطة visualk في 21 أبريل 2007 في 12:25

#24
اقتباس
عفوا اخواني ولكن أنا قصدت ال D2

حسنا اخى لذلك كلام الاخ عبد العزيز صحيح لكن انا اعتقدت انك تريد التعامل مع الجزء الخاص بالبيانات 8 بت لكن لم اعرف انك تتحدث عن منفذ الطباعة بشكل عام ارجوا منك اخى ان تفهم ما كنا نتجادل فيه وتعرف ما تفعله دالة AND

اقتباس
أنا لم ألمح أوأقل أنك غبي والعياذ بالله

اخ عبد العزيز والله انا اعرف هذا هذة مزحة ليس اكثر

اقتباس
الأخ visualk صار للموضوع يومين ولم تجرب الكود إلا الآن ؟؟

اذا كان كذلك فلا تعليق

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#25

أنا عندي مشكل بالحاسوب هذا فقط علي عمل فورمات له

هذا الموضوع مغلق.

مواضيع مشابهة