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

التحكم بمنفذ الطابعة ؟

مغلق
بدأه Red star في 30 مارس 2003 · 5 رد · 866 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لمحة ســـريعة عن التحكم بواسطة منفذ الطابعة

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

منفذ الطابعة يتكون من 25 ابرة ان صح التعبير,

الابرة الثانية (D1) يعني DATA 1 و هي الابرة الاولى التي تنتقل من خلالها المعلومات, و كما نعلم ان المعلومات كلها بالديجيتال , اي صفر وواحد و لا وجود للعدد العشري هنا

مجموع عدد الابر التي تنتقل خلالها المعلومات او الارقام الثنائية هي ثمانية , بتدأ ب D1 و تنتهي ب D8.

المعلومات تكون بصيغة 0 أو 1 ,بمعنى اخر , صح ام خطأ

ملاحظة : عند تشغيل الكمبيوتر فان الابر الثمانية بشكل افتراضي تخرج في كل واحدة منها 5 فولت.

نستطيع ان نشغل و نغلق 8 اجهزة دفعة واحدة موصلة بمنفذ الطابعة! اذا اردنا ان نشغل و نغلق مثلا جهازاً واحداً فقط, فلن نحتاج الا لابرة واحدة لتحقق مانريد , فعند ارسال 5 فولت سيشتغل الجهاز و عند ارسال صفر فولت سيغلق الجهاز.

تعليمات الأســمبلي المســتخدمـة

التعليمة الأســـاســية هــي :

asm

mov dx,$378

mov ax,$0

out dx,ax

end;

هذه التعليمة التي تتيحها معظم لغات البرمجة ومن ضمنها الديــلفي والتي تســـمح بأن نكتـــب داخلها تعليمات الأســـمبلي

مباشــرةً دون خطـــــــــأ .

mov dx,$378

وهي تمثل نقل رقم منفذ الطابعة الى المسجل DX لوضعه في

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

اذا كان الرقم بين 0 – 255 .

أما اشارة $ فهي تحول الرقم الى هيكســـى .

mov ax,$0

وهي تحميل رقم الــ pin في المسجل ax ليتم

ليتم ارســاله الى المنفذ المذكــــور .

out dx,ax

وهي ارسال الأمر الى خرج البوابة الموجود عنوانها

في الـــــ DX ( لا تؤثــر على الأعلام ) .

End ;

هي التعليمة التي تنهي كتابة التعليمات بلغة الأســمبلي

والعودة الى الكتابة بالغة العالية المســــتوى

نأمل أن ينال الاعجاب ! ! !! ! !

أخــوكم :

ريد ســـتار .

#2

بسم الله الرحمن الرحيم

(f)

شكراً أخي على هذه المعلومات القيمة ....ولكن هل تدلنا على طريقة

نستفيد منها مثلاً ..عملي أكثر ومشكور جداً;)

#3

قــريباً انـشـاء الله . . . (f)(f)(f)

#4

شكرا لك أخي Red star على هذا الشرح الرائع ولكن لدي سؤال أرجو منك مساعدتي :

كيف يمكن ربط تعليمات الأسمبلي مع كائنات الديلفي بمعنى آخر لدي الكود التالي :

asm

mov AL,00000001B;

mov DX,0378h;

out DX,AL;

end;

وهو يقوم بتشغيل القطب 2 من منافذ الطابعة وسؤالي هو كيف يمكنيني الإستغناء عن التعليمة 00000001B وذلك بوضع كائن Edit بحيث يقوم المستخدم بكتابة الكود الذي يريده سواء 00000001B أو غيره ثم الضغط على زر فيضيئ المصباح المرتبط بالمنفذ حسب الكود الذي كتبه المستخدم

وشكرا لك .

#5

اســـف على التأخير .. . .

لكن الاجابة هي مثل تعريف أي متحول اضافي في الديلفي ..

#6

أخي لدي سؤالين وهما :

1- ماهو نوع المتحول

2- هل يمكن أن أستبدل العبارة التالية ( 00000001B ) باسم المتحول الذي عرفته

وشكرا لك .

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

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