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

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

مثبّترائج
بدأه hanysaad في 31 يوليو 2005 · 267 رد · 142,590 مشاهدة · في قسم الدروس والمواضيع الهامة
مشاركة: واتساب X فيسبوك تيليجرام
#226

أهلاً بك

اقتباس
وتشرح لي كيفية استخدام ال TIMER في ادخال الايعازات الخاصة بمخرج الطابعة ؟

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

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

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

أنا قصدت أن الريليات المشغلة للمبات لا تعطيك أداء جيد عند سرعة الحركة لأن عملها تحريضي ويتطلب وقت للفصل والوصل

#227

السلام عليكم

انا قمت بتصنيع لوحة ضوئية اعلانية مكونة من 8 صفوف افقية و24 صف عمودي من المصابيح وقمت ببرمجة eprom للسيطرة على المصابيح الثمانية من في العمود الاول ومن ثم اربط الاعمدة الباقية عن طريق مجموعة من ال shift register وقد نجحت في هذا والحمد لله والذي ارغب فيه هو الاستعاضة عن ال eprom ببرنامج في الفجوال بيسك يقوم بالسيطرة على الصف العمودي الاول المكون من 8 مصابيح

واشكرك مرة ثانية على الاهتمام

#228

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

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

parallel ports.rar

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

#229

السلام عليكم

اخي العزيز

ارجو ان لا اكون قد اثقلت عليك بكثرة الاسئلة

انا هاوي او مبتدئ في مجال البرمجة بلغة الفيجوال بيسك ولهذا قدتكون اسئلتي غير مفهومة لديك

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

الثمانية وقد ادى الغرض المطلوب منه ولكن مع كثرة الايعازات (وهذا هو المطلوب) يزداد البرنامج تعقيد

ويتطلب جهد كبير والذي ارجوه من حضرتك مساعدتي في في صنع برنامج اسهل واقل تعقيد ويمكن تغييرارقام

او قيم منفذ الطابعة والوقت الفاصل بين كل ايعاز واخر وارفق لك البرنامج لكي تعطيني ملاحظاتك عليه

#230

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

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

لأنني من زمن رأيت الموضوع ولكن لم أقرأه وبحمد الله تمت قراءته الآن

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

الأسئلة مفهومة بس غير كاملة ،أخاف أجاوبك ويطلع الجواب غير المقصود

اقتباس
ولكن مع كثرة الايعازات (وهذا هو المطلوب) يزداد البرنامج تعقيد ويتطلب جهد كبير
إذا كنت بتقصد بذلك التايمر ما عم لحق أي ضبطه على 1 ميلي ثانية

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

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

صنع برنامج كامل صعب شوي وخاصة أنك تريد جريدة إلكترونية كما فهمت وذلك لعدم وجود الوقت الكافي لذلك.

وإذا أردت تعديل برنامجك أو أي إستفسار له فأنا جاهز بحسب إستطاعتي فيه

وهناك أعضاء كثيرون سيساعدوك بإذن الله

#231

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

أرجو ألا أكون قد وصلت متأخرا جدا

أنا حملت كل صفحات الشرح و المرفقات و إن شاء الله بمجرد أن أقرئها سوف أعرض عليكم تطبيق عملى لن تستطيعوا مقاومته

و بالمناسبة هل يعلم الأخ هانى كيفية التحكم فى عدد كبير فى الأجهزة فوق 12 أو 24

للعلم حتى تتحكم بععد أكبر من 8 أجهزة لابد من دارة خارجية و فى حالة وجود دارة خارجية تستطيع أن تتحكم فى أى عدد من الأجهزة

لا إله إلا الله محمد رسول الله

アッラー以外に神はなし。ムハンマドはアッラーの使徒である

#232

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

أخي أبو مقاتل مشكور على دخولك الموضوع ،أكيد حتفيدنا بخبرتك

اقتباس
أرجو ألا أكون قد وصلت متأخرا جدا

الموضوع من عام 2005 وهو متجدد بإستمرار والأخ هاني يحتاج لبعض التشجيع لإتمام موضوعه

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

تقصد حتماً ستضع دارة إن كان جهاز أو أكثر وذلك لتشغيل الحمل المطلوب

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

بالإنتظار ،وبالنسبة للتحكم بأكثر من 12 جهاز سأناقشك به عندما تعرضه.

سأدرج موضوع للأخ ikossan متعلق بالتحكم ب 8 أجهزة ، للإفادة :

/index.php?showtopic=100826

وهذا أيضاً مرتبط بالموضوع:

/index.php?showtopic=93491

#233

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

اقتباس
و بالمناسبة هل يعلم الأخ هانى كيفية التحكم فى عدد كبير فى الأجهزة فوق 12 أو 24

يمكنك التحكم فى عدد اكثر من 12 و 24 ولكنك ستتخلى عن مبدا ان كل فتحة بيطلع منها خط لكل جهاز وستستخدم دوائر موائمة وايضا معالج خارجى فى الغالب motorola 8086 او 8088 ستقوم باخراج اشارات كل منها تحمل رقم معين وستكون هذة عبارة عن شفرات بلغة التجميع للتحكم فى المعالج واو يتم وضع دائرة مقارن وهى احد انواع الدوائر المنتقية انا اشارك فى احد المشروعات التى تعتمد على هذا المجال فاقوم بعمل واجهة لهم على جهاز الكمبيوتر

ارجو من الاخ هانى ان يكمل فما زال فى الموضوع بقية ولم ينتهى حتى الان فالتحكم اعمق من مجرد توصيل 8 اجهزة توصيل متوازى للتحكم فى كل جهاز على حدة فقد التشغيل والغلق on off

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

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

#234

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

الأمرلا يحتاج الى معالج خارجى المسألة كلها DECODER & ENCODER

و شوية قلابات على شوية بوابات

اقتباس
تقصد حتماً ستضع دارة إن كان جهاز أو أكثر وذلك لتشغيل الحمل المطلوب

أنا لا أقصدى أخى مسألة الحمل فمسألة الحمل موضوع أخر تماما

أنا أقصد أن الأمر لن يعتمد على الأبر الثمانية و فقط كما قال الأخ و لكن يمتد الى ما هو أكبر من ذلك بكثير للغاية

و أنا لم ألم منه إلا القليل للغاية

لا إله إلا الله محمد رسول الله

アッラー以外に神はなし。ムハンマドはアッラーの使徒である

#235
اقتباس
السلام عليكم و رحمه الله و بركاته

الأمرلا يحتاج الى معالج خارجى المسألة كلها DECODER & ENCODER

و شوية قلابات على شوية بوابات

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

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

اما اذا كانت العمليات هى فتح واغلاق وعمل مستويات للتشغيل مثل دوران محرك بسرعات مخترفة فستحتاج مثلا شاشة 7 SEGMENT DISPLAY وبعض البوابات المنتقية والقلابات والدوائر المتكاملية الخاصة بالحماية OVER LOAD

انا لا اقصد بدوائر الموائمة هى دوائر الحماية فقط بل هى التى ستقوم بفهم اشارات الحاسب وتحويلها الى مستويات جهد مختلفة لتشغيل الاجهزة التناظرية :unsure: :wacko: :blink:

تم تعديل هذه المشاركة بواسطة حريف برمجة في 8 مارس 2007 في 21:54

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

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

#236

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

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

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

و كل مكوناتها موجودة فى الأسواق بإذن الله

و هى آمنه للغاية إن شاء الله

المهم لقد إستخدمت حاسب قديم "pro ibm 66mhz,64mb ram"

و QBASIC

أرجو لمن لدية أى كتاب يشرح اوامر الqbasic أن يوافيانا به

تم تعديل هذه المشاركة بواسطة أبو مُقاتل في 14 مارس 2007 في 12:00

لا إله إلا الله محمد رسول الله

アッラー以外に神はなし。ムハンマドはアッラーの使徒である

#237

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

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

قبل الدخول الى هذا الموضوع كنت قد تحكمت بشاشة LCD من خلال Parallel Port باستخدام C#

واردت قراءة البنز الداخلة الى البورت

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

عندي بعض المشاكل وسأسلكم عنها بعد يومين ان شاء الله

ولكم كل الشكر

My_Sign.jpg
#238

السلام عليكم

عندي مشكلة عند القراءة من البورت

كتبت الكود التالي: (على C#)

public class PortAccessO
{
	[DllImport("inpout32.dll", EntryPoint="Out32")]
	public static extern void Output(int adress, int value);

}


public class PortAccessI
{
	[DllImport("inpout32.dll", EntryPoint="Inp32")]
	public static extern int Input(int adress);
}

			PortAccessO.Output(0x37A, 0x0);
			PortAccessO.Output(0x378, 0xC);
			PortAccessO.Output(0x37A, 0x20);

				int data = PortAccessI.Input(0x378);
					MessageBox.Show(data.ToString());

لكن المشكلة انه دائما يعطي 255

قمت بالتأكد من التوصيلات حيث انني وصلت اسلاك data على DIP Switch ومن الطرف الاخر للـDIP مع 5 فولت

وصلت أيضا Busy مع الارضي (0) وكذلك الاسلاك من 18-25 ولم يعمل

علما انني خرجت data على البورت و ظهرت بشكل صحيح

قمت بتغيير Settings للبورت من BIOS وجربت Bi-Directional ولم يعمل ثم جربت EPP و ECP وأيضا لم يعمل

برأيكم ما المشكلة؟؟؟؟؟؟ وما الحل؟؟؟؟ في انتظار حل للمشكلة في أقرب وقت

My_Sign.jpg
#239

parallel port control

السلام عليكم

طبعا دي اول مشاركة لي واتمني ان تفيد

أولا : status port وليس data هو الذي يجب ان تستخدمه

ثانيا: يجب ملاحظة ان هذا البورت active low اي ان ربطك له بواسطة dip swithes مع الطرف 5 فولت يحتاج لمراجعة

و شكراُ

#240

أشكر مشاركتك أخي خالد

اقتباس
أولا : status port وليس data هو الذي يجب ان تستخدمه

لماذا مادام الـData يدعم الاتجاهين؟؟

اقتباس
ثانيا: يجب ملاحظة ان هذا البورت active low اي ان ربطك له بواسطة dip swithes مع الطرف 5 فولت يحتاج لمراجعة

معلومة جديدة...... هل تقصد أنه يجب ربطه مع الصفر بدلا من 5؟؟؟

My_Sign.jpg
#241

السلام عليكم،

على حد علمي ان data prot (العنوان الاساسي : مثلا 888 "عشري") و الـ control port (العنوان الاساسي + 2 مثلاً: 890 "عشري") لهما اتجاه واحد فقط Output أما الـ Status ( العنوان الاساسي + 1: في هذه الحالة 889 "عشري" أحادي الاتجاه أيضاً Input وهو الذي يجب استخدامه .

بالنسبة للربط مع 5 فولت : اذا استخدمت مقاومات مناسبة pull-up مع المفاتيح و الارضي لا توجد مشكلة

هنالك برنامج ظريف اسمه parallel monitor يمكن الاستعانه به أثناء التجارب الاولية

و الله أعلم

#242

شكرا لك أخي خالد، لكن ليس شرطا استخدام Status.... أريد استخدامها لكن لا تكفي لوحدها..... لذلك انا مضطر لاستخدام شيء اضافي

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

Parallel Port Viewer (Java)

Description:

This program allows you to view and control parallel port on hardware level.

Features:

* It is possible to change each bit in Data Register, Status Register and Control Register.

* It is possible to view and control when 5 Volts exist on the pins of parallel port DB-25 connector.

In order to use this program on Windows NT/2000/XP you need to install the driver for parallel port.

There are three steps of installation.

1. Put UserPort.sys to \WINDOWS\system32\drivers\

2. Put parport.dll to \WINDOWS\system32\

3. Run UserPort.exe. Configure as showed in the picture below, then press Update afterward press Start.

That's all.

Lpt_Port_Config.gif

ParallelPortViever.gif

Requires JAVAٌ VM

Download the software

My_Sign.jpg
#243

السلام عليكم

بارك الله فيك، والله دي معلومة جديدة ، وقيمة جداً جداً

سوف أحاول تجربتها

وجزاك الله خيراً

#244

السلام عليكم

نعم أخ ابراهيم،،

الطريقة ناجحة 100 %

بعد شوية تعديل في الـ bios إلى SPP ثنائي الإتجاه عمل البرنامج بصورة جيدة

استخدمت وصلة jumper فقط للتوصيل مع الارضي

لم اتمكن من استخدام البرنامج parallel port viewer بسبب ان jvm عندي لا تعمل (لم اعرف السبب)

استخدمت دوال IO العادية (كما في الطريقة التي استخدمتها أنت)

بعد البحث في google وجدت ان بت 5 و بت 2 في control port يستخدمان للتحكم في الاتجاه (1 للادخال)

جزاكم الله خير

والله الموفق

#245
اقتباس
استخدمت دوال IO العادية (كما في الطريقة التي استخدمتها أنت)

لم تنفع معي الطريقة التي وضعتها ولم تنفع معي أي طريقة، حتى أن اليـأس وصلي بي أن أقوم بتوصيل 5V و الارضي مع البورت مباشرة بدون(Buffer)، و لكن دون فائدة

أرجو رجاء حارا ممن لديه كود يعمل بشكل سليم في عملية الادخال ان يرسله لي وأن يبعث لي بالضبط ما هي الـPINS التي وصلها وبماذا وصلها لانني أصبت باحباط شديد ، لي أكثر من 10 أيام أحاول لكن دون جدوى :( :s :blink: :wacko:

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

My_Sign.jpg
#246

رجاء رجاء رجاء اريد المساعدة

استخدمت 74244 ثم 74245 ثم 74374 ، وصلت مخرج كل واحدة مع DataPins :Pin1-Pin9 للـParallel Port ووصلت أيضا GND لكن لم تعمل كـ(Input).......... لماذا؟؟؟؟ هل يجب توصيل شيء آخر؟؟؟؟؟؟

My_Sign.jpg
#247

يا شباب .. الموضوع متميز جدا .. وأشكر الأخ هاني والأخوة المشاركين ..

مطلوب مثال بسيط عن التحكم بالبورت بلغة سي شارب دوت نت 2005 اللي عارف لا يبخل الله يحفظكم ..

نرجوا السرعة ..

إحنا متأخرين في مشروع التخرج عاشان هذا الموضوع .

كن جميلاً ترى الوجود جميلا

#248

شكراً لك أخي الكريم على الشرح الوافي و الممتع

جزاك الله ألف خير .. و جعلك ذخراً لنا و للعلم

لكن من الواجب علينا نحن المبرمجين و المطورين العرب الإشتراك في صياغة و كتابة

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

نسأل الله العلي العظيم أن يوفقنا في علمنا و عملنا

شكراً لك مرة أخرى و إلى الأمام إن شاء الله

مع خالص حبي و إحترامي

أخوك ZERIAB

50610597.gif

68195903.png

43618215.gif

#249

السلام عليكم :

يا جماعة هل يمكن استخدام ملف inpout32.dll في التعامل مع المنفذ التسلسلي (Serial Port) أي منفذ الكوم (COM)

وشكرا جزيلا

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

#250

السلام عليكم

و مرحبا بكل الاعضاء الجدد فى الموضوع , وشكرا جزيلا على مروركم و مشاركاتكم

واعتذر عن غيابى عن الموضوع لانشغالى الشديد فى الايام السابقة,,,,

بالنسبة لسؤال الاخ X-Ware

اقتباس
يا جماعة هل يمكن استخدام ملف inpout32.dll في التعامل مع المنفذ التسلسلي (Serial Port) أي منفذ الكوم (COM)

لا يمكن , لان هذا ال Dll مخصص للتعامل مع ال Parallel port

يمكنك استخدام اداه MsCom (ستجدها موجودة فى ادوات الفيجوال بيسيك) للتعامل مع السيريال بورت,,,,

Hany Saad Mostafa

ITI (Information Technology Institute) l

SD Dept.-Teaching Assistant

---

اسألكم الدعاء بظهر الغيب

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