قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

Programmer
:: مهندس ::
تاريخ التسجيل: Dec 2004
المشاركات: 11
نشاط [ Programmer ]
قوة السمعة:0
قديم 30-12-2004, 06:47 PM المشاركة 1   
افتراضي تعلم التحكم بمنفذ الطابعة بالفيجوال بيسيك Twitter FaceBook Google+



بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
سنتعلم بإذن الله في هذا الموضوع كيفية عمل برنامج باللغة الفيجوال بيسيك للتحكم بمنفذ الطابعة ...
وسنتسخدم لذلك ملف Dll (مكتبة ربط ديناميكية) إسمها Inpout32 (تجد المكتبة مع السورس كود للبرنامج والبرنامج التطبيقي Exe في المرفقات)

أولاً يجب علينا وضع المكتبة Inpout32 في نفس المجلد الذي يحتوي على ملفات المشروع أو البرنامج التنفيذي Exe

بعد ذلك ننشأ وحدة نمطية - Module ونكتب فيها تعريف الدالتين Inp و Out ... حيث أن الدالة Inp تستخدم للإدخال أي لقراءة حالة منفذ الطابعة، اما Out فتستخدم لإخراج النبضات أي التحكم بحالة منفذ الطابعة ...
[align=left]
كود:
Public Declare Function Inp Lib "inpout32.dll" Alias _
"Inp32" (ByVal PortAddress As Integer) As Integer
Public Declare Sub Out Lib "inpout32.dll" Alias _
"Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)
[/align]
أما الآن فنكتب الشيفرة التالية للإخراج:
كود:
[align=left]Out &H378, 2[/align]
حيث أن &H378 هو عنوان منافذ المعطيات وهي تبدأ من 2-9
أما 2 فهي القيمة المراد إخراجها إلى منفذ الطابعة ... لاحظ أننا نكتب قيمة بالنظام العشري والحاسب يتكفل بتحويلها إلى النظام الثنائي وإظهارها على منفذ الطابعة ...

أما للإدخال فنكتب الشيفرة التالي:
كود:
[align=left]lblInp.Caption = Inp(&H378)[/align]
حيث أن &H378 هو عنوان منافذ المعطيات ... و lblInp.Caption هو الـ Label الذي وضعته أنا في المشروع المرفق مع هذا الموضوع ... وتستطيع إستبداله بأي كيان يتقبل الإسناد كمتغير مثلاً ...

أرجوا أن أكون قد أفدتكم ... وأرجوا أن تدعوا لي بالخير ...
أخوكم Programmer ...
تمنياتي للجميع بالتوفيق ...

اعلانات

student
:: مهندس ::
تاريخ التسجيل: Nov 2004
الدولة: الجزائر
المشاركات: 11
نشاط [ student ]
قوة السمعة:0
قديم 31-12-2004, 10:14 AM المشاركة 2   
افتراضي


شكرا لك على هذا الدرس لقد تعلمت الآن عملية البرمجة ولكن هل بإمكاني معرف المكونات للقطع الإلكترونية للتحكم في مصباح كهربائي 220 v
أرجو منكم صورة الدائرة بالتفصيل إن أمكن وجزاكم الله خبرا

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

Programmer
:: مهندس ::
تاريخ التسجيل: Dec 2004
المشاركات: 11
نشاط [ Programmer ]
قوة السمعة:0
قديم 31-12-2004, 10:42 AM المشاركة 3   
افتراضي


لدي الدائرة ولاكنني لم أستطع فهمها 100% إلى الآن
الدائرة تجدها في هذا الموضوع http://www.qariya.com/vb/showthread....&threadid=2554
تمنياتي لك وللجميع بالتوفيق ...


الفقير الى ربه
:: فني الكترونيات ::
تاريخ التسجيل: Sep 2004
المشاركات: 220
نشاط [ الفقير الى ربه ]
قوة السمعة:0
قديم 11-02-2005, 03:28 AM المشاركة 4   
افتراضي


السلام عليكم
هل ممكن التحكم بمنفذ الطابعة آليا بحيث عند توقيت معين يشتغل منفذ وعند توقيت آخر يشتغل منفذ آخر وهكذا ...؟


Programmer
:: مهندس ::
تاريخ التسجيل: Dec 2004
المشاركات: 11
نشاط [ Programmer ]
قوة السمعة:0
قديم 17-02-2005, 06:50 AM المشاركة 5   
افتراضي


وعليكم السلام ورحمة الله وبركاته
بالطبع يمكن ذلك ... وهناك عدة طرق ... إنظر للكود التالي:
كود:
[align=left]Private Sub Command1_Click()
    T = Timer
    Do While (Timer - T <= 2)
        DoEvents
    Loop
    MsgBox "My Wishes ...", vbOKOnly, "Programmer"
End Sub[/align]
الشرح:
ترجع الدالة Timer الوقت الحالي بالثواني فنعمل على تخزين القيمة التي ترجعها في المتغير T ثم نقوم بإستخدام حلقة تكرارية Do While Loop شرطها - Condition هو أن تستمر في التكرار مادام ناتج عملية طرح الوقت الحالي بالثواني مع قيمة المتغير T أصغر أو يساوي الوقت الذي نريده للإنتظار قبل إظهار صندوق الرسالة (الوقت بالثواني) ... ونضع في داخل الحلقة الدالة DoEvents التي تمنع تجمد البرنامج وتسمح بتلقي رسائل الويندوز ... ثم نكتب بعد الحلقة الكود الذي نريد تنفيذه بعد الوقت المحدد ...
تذكر أنه يجب أن نكتب الوقت بالثواني فلو أردنا تنفيذ الكود بعد 7 دقائق مثلاً نكتب: 60*7
مثال آخر: يقوم هذا المثال بإضائة منفذ المعطيات رقم 0 ثم يطفئه بعد 7 ثوان
كود:
[align=left]Private Sub Command1_Click()
    Out &H378, 1
    T = Timer
    Do While (Timer - T <= 7)
        DoEvents
    Loop
    Out &H378, 0
End Sub[/align]
أرجوا أن أكون قد أفدتك ...
تحياتي ...


hazim_Pc
:: مهندس ::
تاريخ التسجيل: Mar 2005
المشاركات: 5
نشاط [ hazim_Pc ]
قوة السمعة:0
قديم 05-04-2005, 09:57 AM المشاركة 6   
افتراضي


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

ممكن واحد من الموجودين يدلني على مكان الكود
وله جزيل الشكر


مفتاح
:: مهندس ::
تاريخ التسجيل: Apr 2005
المشاركات: 4
نشاط [ مفتاح ]
قوة السمعة:0
قديم 22-04-2005, 04:10 PM المشاركة 7   
افتراضي


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


hanikooo
:: مهندس ::
تاريخ التسجيل: Apr 2005
المشاركات: 9
نشاط [ hanikooo ]
قوة السمعة:0
قديم 25-04-2005, 12:01 AM المشاركة 8   
افتراضي


ماهي الدئرة التي استطيع التحكم بها عن طريق منفذ الطابعة

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 12:14 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025