hanysaad

سلسلة دروس لشرح التعامل والتحكم بالparallel port

268 ردود في هذا الموضوع

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

بمناسبة ترقيتى ساقدم لكم هدية متواضعة ارجو ان تنال اعجابكم وهى عبارة عن سلسلة دروس لشرح التعامل مع الparallel port وكيفية التحكم فى الاجهزة من خلاله (يمكن التحكم فى 12 جهاز مختلفين فى ان واحد)

وان شاء الله سيكون الشرح مدعم بالامثلة والصور لشرح تكوينه ووظائف كل pin فيه .

و قبل البدء فى الموضوع اريد ان اتوجه بالشكر والتقدير لصديقى العزيز / محمد حسين , الذى وضعنى على بداية الطريق فى هذا الموضوع , والذى كان له الفضل الاول - بعد الله سبحانه و تعالى - فى تعلمى ودراستى لهذا الموضوع الشيق ولفت نظرى اليه,,,

وان شاء الله هو سيكمل الجزء الخاص بالالكترونيات فى نهاية الموضوع,,,

وان شاء الله تعالى اول درس قريبا,,,

روابط الدروس للتسهيل على من يبحث عن درس معين :

الدرس الاول :مقدمة فى انظمة الاعداد

الدرس الثانى : مقدمة عن ال parallel port

الدرس الثالث : التعامل مع ال parallel port من خلال الفيجوال بيسيك , الجزء الاول : مقدمة

الدرس الثالث : الجزء الثانى :كيفية التعامل مع pin واحدة فقط ( Masking : And ,Or ,Xor ,Not)

الدرس الثالث : الجزء الثالث : كيفية قراءة جهد خارجى مطبق على ال parallel port ( Bi - Directional Mode )

تم تعديل بواسطه hanysaad
-1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

و انا اول المنتظرين و المتشوقين للموضوع ...لذلك استعجل في البدء

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

وأنــــا ثانى المنتظرين لهذه الدروس ... :)

0

شارك هذا الرد


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

الف مبروك وعقبال عضو جديد :lol:

ساقدم لكم هدية متواضعة ارجو ان تنال اعجابكم وهى عبارة عن سلسلة دروس لشرح التعامل مع الparallel port

لا اظن انها متواضعة فهي مهمة جدااااااااا

شكرا لك مقدما وذلك لاني للاسف لن ارى دروسك الا بعد عام وذلك بسبب الثانوية العامة

وفقك الله

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

الف مبرووووك أخي الكريم وعقبال الإشراف

ومنتظرين دروسك التي شوقتنا عليها من البداية

نحن بالإنتظار

تحياتي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

السلام عليكم

انا اسف جدا على التأخير اخوانى الكرام

ساضع اليوم ان شاء الله اول درس فى هذا الموضوع

الاخ hishamnasr والاخ Mr_ZAD

شكرا لكم على الاهتمام والمتابعة

الاخ abu sabreen

الله يبارك فيك

شكرا لك مقدما وذلك لاني للاسف لن ارى دروسك الا بعد عام وذلك بسبب الثانوية العامة

انت ناوى تسيبنا بدرى كده ليه؟؟؟ :(

بالفعل المنتدى سينقصه الكثير فى غيابك وسنفتقدك كثيرا والله انت ومشاركاتك المتميزة دائما :(

عموما ربنا يوفقك وان شاء الله تحصل على 99.999% فى الثانوية العامة (وانت عارف انا الرقم ده مشهور عندنا جدا فى الوطن العربى فى حاجة تانى انت عارفها طبعا :D )

بس ابقى حاول تزورنا وتنور المنتدى ولو على فترات لاننا لا نستطيع تحمل غيابك الكامل

الاخ nasser50001

الله يبارك فيك

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

وان شاء الله ساضع اول درس اليوم كما قلت

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

السلام عليكم

الدرس الاول :

ان شاء الله سيكون هذا الدرس عن النظام العشري و الثنائي و التحويل بينهم لاننى لا استطيع ان اتحدث عن الparallel port قبل ان تكونوا ملمين بهذه النقطة وهذا الدرس منقول من منتدى الموسوعة العربية للكمبيوتر والانترنت مع بعض التصرف والتعديلات

النظام العشري

نسخدم النظام هذا يوميا في حياتنا و في اغلب امورنا و هو بكل بساطة نظام الارقام على الاساس العشري و يحتوي على :

0 1 2 3 4 5 6 7 8 9

عدد مكونات النظام العشري هو عشرة ارقام , و هذا هو سبب تسميته بهذا الاسم حيث انه يكبر بعد كل عشرة ارقام, مثل بسيط هو التالي:

0

1

2

3

4

5

6

7

8

9

10

11

لاحظتم الاختلاف بين ال9 و ال10 , حيث انه عندما انتهينا من الارقام ( اخر رقم هو 9) رجعنا للرقم الاول و هو صفر و اضفنا واحد بجواره, و لو واصلنا العد لوصلنا الى ال19 و ثم نرجع الرقم 9 الى صفر و نضيف واحد الى الرقم 1 فيصبح الرقم 20 و هكذا دواليك.

النظام الثنائي

كما قلنا ان النظام العشري يعتمد على اساس عشرة ارقام , فارقم الثنائي يعتمد على رقمين فقط و هما صفر وواحد

1 0

و بنفس الطريقة , عند الانتهاء من الارقام نضيف الرقم صفر و نزيد واحد , كما هو الحال

0

1

10

11

100

101

110

111

نلاحظ ان النظام يتكون من رقمين فقط , صفر وواحد نبدا بالصفر ثم واحد ثم نضيف واحد مكانالصفر و نضيف واحد بجوار الرقم عند انتهاء الارقام ( في حالتنا انتهاء الارقام هما صفر وواحد)

ملاحظة مهمة:

الرقم التالي 101100 في النظام الثنائي لا يلفظ ب مئة وعشرة الالاف و مئة! بل يلفظ كالتالي:

واحد صفر واحد واحد صفر صفر

و القاعدة هي : عندما نصل الى رقم صاحب الترتيب الذي يساوي اساس نظام العد ( في حالتنا هنا النظام الثنائي مثلا) نقوم بوضع الرقم صفر في الخانة الحالية و نضيف الرقم واحد في الجهة التالية له.

الآن بعد ان عرفنا ما هو النظام العشري و النظام الثنائي , سنقوم بالتحويل بينهم .

التحويل من النظام الثنائي الى العشري

اولا, لنتكلم عن النظام العشري, مثلا الرقم 134 يتكون من التالي :

= 10 ^0 ضرب 4 + 10^1 ضرب 3 + 10^2 ضرب 1

= 4 + 30 + 100

= 134

اليست الطريقة صحيحة؟

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

التحويل الى الرقم الثنائي شبيه جدا , و بما ان اساس النظان الثنائي هو 2 فنستبدل الرقم 10 ب 2 , لنأخذ رقما معيناً لنحوله, فليكن الرقم 111 مثلا

111

= 2^0 ضرب 1 + 2^1 ضرب 1 + 2^2 ضرب 1

= 1 + 2 + 4

= 7

جميل! الرقم 111 ( واحد واحد واحد) يساوي 7 في النظام العشري.

لنجرب رقماً اخر و ليكن 1010101

1010101

= 2^0 ضرب 1 + 2^1 ضرب 0 + 2^2 ضرب 1 + 2^3 ضرب صفر + 2^4 ضرب واحد + 2^5 ضرب صفر + 2^6 ضرب واحد

= 1 + 0 + 4 + 0 + 16 + 0 + 64

= 85

التحويل من النظام العشري الى الثنائي

الطريقة اسهل هنا, لنأخذ مثلا الرقم 400 , لتحويله نقسمه على 2 , فاذا كانت الناتج يحتوي على كسور فيكون الرقم الاول من الرقم الثنائي هو 1 و اذا لم يتحوي على كسور فيكون الرقم صفر

يعني :

400 / 2 = 200 , اذن الرقم الاول هو صفر

200 / 2 = 100 , صفر

100 / 2 = 50 , صفر ايضا

50 / 2 = 25 , صفر

25 / 2 = 12 , واحد

12 / 2 = 6 , صفر

6 / 2 = 3 , صفر

3 / 2 = 1 , واحد

1 / 2 = 0 , واحد

يصبح الناتج هو = 110010000

تبدأ من الاسفل و تصعد للاعلى .

بهذا نكون قد انتهينا من شرح هذه النقطة

وعلى فكرة من يرى ان عملية التحويل بين النظامين صعبة الى حد ما فيمكنه ان يستخدم الالة الحاسبةالخاصة بالويندوز لاجراء هذه التحويلات بعد تحويلها للscientific mode

ولكن كان لابد من هذا الشرح لتكونوا ملمين بالموضوع

سؤال يطرح نفسه: ما علاقة هذا الموضوع بالparallel port؟؟

باختصار شديد الparallel port مكون من 25 pin مقسمين بطريقة معينة (ساشرحها بالتفصيل فى الدرس القادم) يوجد منهم 8pin يسموا بالData port

كل pin تأخذالقيمة 1 او 0

1 معناها ان هذه الpin عليها جهد مقداره حوالى 5 فولت

0 معناها ان هذه الpin ليس عليها فولت (تقريبا)

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

فى هذه الحالة لا يمكن التعامل مع الpin الاولى ( او اى pin) منفردة بل لابد من التعامل ع ال8 pin فى نفس الوقت

لذلك نضطر الى ارسال قيمة ثنائية الى parallel port كالتالى00000001 وهى تساوى 1 بالعشرى ايضا

ماذا لو كنا نريد تشغيل الاجهزة 1و5و8واطفاء الباقين

فى هذه الحالة نريد ارسال قيمة ثنائية تساوى 10010001 وهذه القيمة تساوى 145 بالنظام العشرى وهكذا

دوال للتحويل بين انظمة الاعداد المختلفة

اولا : دالة للتحويل من النظام العشرى الى النظام الثنائى Decimal to Binary

'A quick and easy function to return the binary value for a number, without any preceding "0"s.  This function returns a string with the binary number. 

Public Function dec2bin(mynum As Variant) As String
Dim loopcounter As Integer
If mynum >= 2 ^ 31 Then
dec2bin = "Too big"
Exit Function
End If
Do
If (mynum And 2 ^ loopcounter) = 2 ^ loopcounter Then
dec2bin = "1" & dec2bin
Else
dec2bin = "0" & dec2bin
End If
loopcounter = loopcounter + 1
Loop Until 2 ^ loopcounter > mynum
End Function

دالة ثانية للتحويل Decimal Integer to Binary String

'just put this function any where and pass a a number from 0 to 65535. You can pass higher that I think, but the function only pads the resulting string to 8 digit string or 16 digit string. anyway here it is:

Function dec2bin(N As Long) As String
ell:
If N > 0 Then
a = a + CStr(N Mod 2)
N = N \ 2
GoTo ell
End If
a = StrReverse(a)
g = Len(a)
If g < 8 Then
t = String$(8 - Len(a), "0")
a = t + a
End If
If g > 8 Then
t = String$(16 - Len(a), "0")
a = t + a
End If
dec2bin = a
End Function

دالة ثالثة للتحويل Decimal to Binary ايضا

Private Sub Command1_Click()
MsgBox Dec2Bin(1024)
End Sub

Function Dec2Bin(ByVal n As Long) As String
Do Until n = 0
   If (n Mod 2) Then Dec2Bin = "1" & Dec2Bin Else Dec2Bin = "0" & Dec2Bin
   n = n \ 2
Loop
End Function

ثانيا : دالة للتحويل من Binary to Decimal

'A simple function to convert Binary numbers to Decimal numbers.

Function Bin2Dec(Num As String) As Long
 Dim n As Integer
    n = Len(Num) - 1      a = n
    Do While n > -1
       x = Mid(Num, ((a + 1) - n), 1)
       Bin2Dec = IIf((x = "1"), Bin2Dec + (2 ^ (n)), Bin2Dec)
       n = n - 1
    Loop
End Function

ومرفق مثالين للتحويل بين انضمة الاعداد المختلفة

والى اللقاء فى الدرس القادم ان شاء الله

base conv.zip

Simple Scientific Calculator.rar

2

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

والله ياهانى مش عارف اقول ايه على الشرح الاكتر من رائع ده

ممتااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااز

ربنا يوفقك ومستنيين باقى الدروس يافعال :rolleyes:

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

السلام عليكم

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

وان شاء الله يكون هذا الموضوع مرجع شامل للتعامل مع ال parallel port لتعم الفائدة والمنفعة

وان شاء الله من الان هاحاول ان اضع درس كل 3 ايام وساضع فى كل درس تطبيقات عملية بسيطة على قدر الامكان لكى تحاولوا تطبيقها لان هذا الموضوع بالذات ما ينفعش نظرى

والى القاء فى الدرس القادم ان شاء الله وهو عن parallel port configuration

او وظائف كل مجموعة pin فى ال parallel port

والسلام عليكم

تم تعديل بواسطه hanysaad
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

ممتاااااااااااااااااااااااز أخي هاني

درووس رائعة جدا ... بارك الله فيك وزادك من علمة وجعله في موازين حسناتك

واضم صوتي لصوتك بأهمية التثبيت للموضوع

تحياتي لك

اخوك ناصر

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

موضوع جامد فعلاً ... و منتظرة منك القادم بفارغ الصبر ... :)

بنت اليمن ،،

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

اخ هاني اسمح لي ان اهنئك على موضوع الجديد والذي لمسني فيه التالي :

1. قوة الموضوع.

2. التنظيم والترتيب.

3. الشرح المميز.

بالفعل المنتدى سينقصه الكثير فى غيابك وسنفتقدك كثيرا والله انت ومشاركاتك المتميزة دائما

والله انت وكافة الاعضاء حتوحشوني قوي اما بالنسبة للمشاركات المتميزة فانت ما شاء الله بتكفي وبتوفي.

عموما ربنا يوفقك وان شاء الله تحصل على 99.999% فى الثانوية العامة (وانت عارف انا الرقم ده مشهور عندنا جدا فى الوطن العربى فى حاجة تانى انت عارفها طبعا  )

انت كلامك صحيح بالنسبة لمعظم الدول العربية ولكن ليس الاردن :wacko: حيث انه من المعروف عنا اننا الدولة الاصعب والاقوى في

نظام الثانوية العامة واحنا الي بجيب عنا 98 % بكون افلاطون زمانه (h) .

بس ابقى حاول تزورنا وتنور المنتدى ولو على فترات لاننا لا نستطيع تحمل غيابك الكامل

ان شاء الله

وعلى العموم الله يعينك على تكملة الدروس

وبالمناسبة انا اطلعت على اول درس لك وع انني كنت اعتقد العكس :rolleyes:

والسلام

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

السلام عليكم

الاخ seaprince46

شكرا على متابعتك وانا سعيد لمتابعتك للموضوع

الاخ nasser50001

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

الاخت بنت اليمن

شكرا جزيلا على رأيك وانا سعيد جدا لمتابعتك الموضوع

وارجو من الله انا يوفقنى ان اكون عند حسن ظنكم جميعا

الاخ abu sabreen

شكرا جزيلا على رأيك

وربنا يوفقك وتجيب 98% وتبقى افلاطون زمانك ان شاء الله :D

ان شاء الله سا ضع الدرس القادم غذا او بعد غد على اقصى تقدير

واعذرونى لان الدرس القادم بالتحديد يعتبر اصعب ما فى الموضوع ويحتاج الى اعداد جيد

تم تعديل بواسطه hanysaad
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

وشكرا جزيلا للمشرفين على تثبيت الموضوع

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

السلام عليكم

اولا انا اسف جدا على التأخير ولكن سترون بانفسكم ان هذا الدرس كان يحتاج الى مجهود كبير :blink:

عموما ها هو الدرس الثانى

وفى انتظار الاسئلة وارائكم

07_08_05_11_34_51_1123439691_.jpg]

تم تعديل بواسطه hanysaad
1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

الاخ hanysaad اولا الشكر لك على هذا الموضوع و ثانيا الا ترى ان هذا الدرس ينتمي كذلك الى قسم "التحكم الصناعي وربط الحاسب بالعالم الخارجي" و ربما اكثر من ال VB ؟ على كل اذا رايت نقل الموضوع الى ذلك القسم سيتم الاستفادة بشكل اكبر و ساقوم بتثبيته كذلك ليكون واضحا لمن دخل القسم بدل ان يكون مخفيا هنا و خلي مشرفي قسم ال VB :(

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

السلام عليكم

الاخ عماد الخليل

شكرا جزيلا على مرورك وعلى اهتمامك بالموضوع

الا ترى ان هذا الدرس ينتمي كذلك الى قسم "التحكم الصناعي وربط الحاسب بالعالم الخارجي" و ربما اكثر من ال VB ؟ على كل اذا رايت نقل الموضوع الى ذلك القسم سيتم الاستفادة بشكل اكبر و ساقوم بتثبيته كذلك ليكون واضحا لمن دخل القسم بدل ان يكون مخفيا هنا و خلي مشرفي قسم ال VB 

اولا : فى الواقع اخى المشرف انا زرت هذا المنتدى من قبل ورأيت فيه دروس فى نفس الموضوع و لكن اكثر تقدما (واستفدت منها كثيرا) فاعتقدت ان هذا الموضوع سيكون تافه بالنسبة لهم

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

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

وعموما القسمين وكلنا اخوات :D وننتمى للفريق العربى للبرمجة :)

رابعا : انا اوافق تماما على وضع نسخة اخرى من الموضوع (وليس نقله) فى قسم "التحكم الصناعي وربط الحاسب بالعالم الخارجي" وعلى اتم الاستعداد لمتابعته فى القسمين (لان الهذف الاساسى هو افادة اكبر عدد ممكن من الاخوة) واشكرك كثيرا على عرضك تثبيت الموضوع

فى الواقع لا ادرى هل تستطيع انت وضع نسخة اخرى من الموضوع فى منتداكم(بالامكانيات المتاحة لك كمشرف) ام المفروض انى ابدأ موضوع جديد فى منتداكم وانقل فيه الشرح؟

عموما انا مستعد لاى من الحلين فقط رد عليا وانا سأقوم بعمل ما تطلبه وكما قلت انا على اتم الاستعداد لمتابعة الموضوع فى القسمين

وفى انتظار ردك :rolleyes:

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

شكرا جزيلا اخى عماد الخليل على ردك السريع

ان شاء الله ساقوم بذلك الان

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

الله عليك يا أخ hanysaad وجزاك الله كل خير وزادك بسطة في العلم ونفع بك عامة المسلمين لدي سؤال كيف اضبط اعدادات البيوس

والتحكم بالparallel portلكي اتمكن من استقبال وارسال البيانات عبر وصلة انفرارد لجهاز الموبايل

عرفت الوصلة بشكل سليم وانا على ثقة بان اعدادات البيوس بحاجة لضبط لاني جربت الوصلة على جهاز أخر برنامج البيوس فيه مختلف واشتغلت 100%علما بان نظام البيوس لدي هو Phonix&Award

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

السلام عليكم

اخى h3m3d3

شكرا جزيلا على رأيك

بالنسبة لموضوع الinfra red فى الواقع ما اعرفش ايه الmode الخاص بها لانى ماجربتش الموضوع ده خالص

بس جرب mode SPP او اى mode فيه SPP مثل SPP+EPP

او جرب شوف الmode المضبوط عليها الجهاز الاخر

على فكرة لو الجهاز عندك قديم شوية ممكن يكون ما يدعمش هذه الخاصية

شوف وابقى قللى عملت ايه

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

السلام عليكم

ايه يا جماعة ؟ فين الردود والتفاعل؟؟؟ :(

الدرس مش عاجبكم؟؟؟ :wacko:

قبل اكمال باقى الدروس لازم اشوف ارائكم فى الدرس ومدى استيعابكم له

ولو الشرح مش واضح :blink: قولوا

فى انتظاركم :rolleyes:

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

هو الشرح وحش للدرجة دى؟؟ :wacko:

يا جماعة ردوا عليا بأى رد وانا على استعداد لاعادة شرح اى جزئية مرات ومرات

:rolleyes: :rolleyes: :rolleyes:

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

الشرح مش وحش لكن الموضوع هو اللى صعب ياهانى , ماتستعجلش على الردود :rolleyes:

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .