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

Microcontrol..IC..أو أي شيء يساعدني في طلبي هذا؟@@

مغلق
بدأه طالب الخبرة في 29 يونيو 2004 · 30 رد · 5,876 مشاهدة · في التحكم الصناعي وربط الحاسب بالعالم الخارجي
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

حياكم الله أخواني الكرام..ايش الأخبار؟

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

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

أنا أريد المزيد من المخارج.. كيف؟

أبغى عدد أكبر من 8 أكبر أكبر...

فقيل لي جرب الـ IC أو المايكروكنترول أو غيرها .. ما عندي علم فيها للأسف!

ودي أعرف كيف تعمل هذه الأجهزة بالضبط؟؟

ولكن الفكرة المسبقة لدي وعن الغرض الذي أريده هو كالتالي:

أن أقوم بتوصيل قطعة ( سواء IC, PIC Or Microcontrol ) إلى منفذ الطابعة..

وتحتوي هذه القطعة على عدد كبير من الأرجل ( على افتراض 255 رجل معدنية "لتوصيل الدارات والتحكم عن طريقها")

وأقوم بتوصيل داراتي الـ255 إلى هذه القطعة فكل دارة لها ساق خاصة بها..

وعن طريق الكمبيوتر أقوم باضافة أمر للطابعة ( على مثال 166 ) فيقوم بتشغيل الدارة الموصولة بالقطعة ( سواء IC, PIC Or Microcontrol ) عن الرجل 166.. وهكذا!!

قد تكون الفكرة أصعب من كذا..

ولكن ودي تساعدونا لعملها ...

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

وونتظر ردودكم على أحر من الجمر

أخوكم طالب الخبرة

#2

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

بل الفكره أبسط من هذا فبامكانك باستخدام الديكودر فقط وفليب فلوب من نوع D أن تتحكم في 255 جهاز وأكثر اذا استخدمت باقي مخارج منفذ الطابعه التي تصلح للكتابه. وطبعا أنا لا أعرف ديكودر يأخذ 8 ويخرج 256 ولكن يمكنك تجميعه بالديكودر 4 الى 16 ورقمه 74154 .وهذا فقط من منفذ الطابعه ويمكنك ايضا استخدام المنفذ المتوالي للتحكم في أي عدد تود التحكم فيه.

#4

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

مشكور يالغالي Asm4all ألف شكر على ردك وما تقصر...

والله يبشرك بالخير.. وان شاء الله تكون سهلة..

ولكن اسمح لي لم أفهم قصدك بفلب فلوب وغيرها.. اذا ممكن توضح أكثر يالغالي..

وما المقصود بالديكودر؟؟ هل هو قطعة معينة أم ماذا؟

وكيف أقوم بارسال أمر تشغيل أحد الدارات المتصلة؟

وهل يتم شراء هذا الديكودر أم صناعته؟ وكم سعره تقريبا؟

وننتظر ردك يالغالي في أقرب فرصة

أخوك طالب الخبرة

#5

كل من الفليب فلوب والديكودر فهو IC رخيص الثمن فالديكودر ثمنه لا يتعدى بالمصري (7.5 جنيه ) أي مايعادل دولار تقريبا والفليب فلوب عباره عن وحدة ذاكره لتخزين الحاله وتوجد كل أربع وحدات في IC وثمنها تقريبا نصف دولار والدائره بسيطه يمكن تجميعها بسهوله وبأذن الله أبعث لك مخطط يوضح تركيب القطع أما للتعامل معها واعطائها الأوامر فكما كنت ستتعامل مع الميكروكنترولر سوف تتعامل معها أي فقط تعطيها الرقم فتقوم بتغيير حالة الجهاز الموصل على الرجل التي تحمل نفس الرقم

#6

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

مشكور أخوي Asm4all على تعاونك وسرعة ردك..

تقريبا فهمت مقصدك من الـIC..

ولكن ما المقصد من ذاكرة التخزين ( فليب فلوب ) ما عملها؟

وبالنسبة للدارة التي تتكلم عنها... هل تتحكم بـ255 أمر ودارة كهربائية؟

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

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

وأستطيع أمرها بالفيجوال بيسك مثلا بالأمر التالي:

Out &H378, 123

فيقوم بتشغيل الدارة المتصلة مع الساق 123؟؟

اذا فالعملية بسيطة باذن الله...

ويالغالي بالنسبة لقولك ((ايضا استخدام المنفذ المتوالي للتحكم في أي عدد تود التحكم فيه.)) فهل تقصد هنا منفذ الطابعة أيضا؟

وننتظر ردك يالغالي على أحر من الجمر وردود الأخوان الكرام...

أخوووووووكم طالب الخبرة

#7

كما قلت ال IC الديكودر يأخذ 4 بت فقط ويخرج 16 بت ولكن بتجميع مجموعه بسيطه منه يمكم أخذ ال 8 بت واخراج 256 مخرج وتقوم باعطائه أمر بأي لغه فيفتح لك الجهاز الذي تريده .

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

#8

مشكور يالغالي Asm4all على ردك السريع..

((كما قلت ال IC الديكودر يأخذ 4 بت فقط ويخرج 16 بت ))

يعني بشكل بسيط عندي 8 بت أستطيع ان أخرج 32 بت..صحيح؟

طيب يالغالي هل من شرح لطريقة توصيل عدد كبير من الاجهزة ( مثل 256 ؟ )

وهل العملية ( الديكودر والفليب فلوب ) كلها عملية توصيل.. من غير برمجة؟

حيث فقط أقوم بتنفيذ الأوامر بشكل طبيعي عن طريق الكمبيوتر؟

(( هو منفذ الماوس السيريال )) هل تقصد منفذ الماوس العادي ( المشابه لمنفذ الكيبورد ) أم تقصد منفذ الـ USB "سيريال بورت" ؟؟

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

واذا ممكن فكرة بسيطة كيف يمكن تخطي عدد الـ 256 أمر إلى أكثر.. ( بس ودي أفهم الفكرة ولن أطبقها حاليا ولكن كفكرة... )

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

ومشكور وما قصرت

أخوك طالب الخبرة

#9

اخى طالب الخبرة لاتقلق هناك حل بالمتوازي والمتسلسل (RS232). وهذا المخرج المتسلسل الذي يتحدث عنه اخي احمد ليس USB وليس هو مدخل الماوس PS2 ولكن الماوسات القديمة كانت تستعمله وهو مخرج ذو 9 اسلاك او 25 سلك من فئة ذكر. الكمبيوترات الدفترية الحديثة بعضها لايوجد له هذا المخرج ولكن بالامكان اضافته كما بالامكان الانتباه الى هذه النقطة عند شراء كمبيوتر دفترى جديد. التسلسلى سيعنى على طول استخدام ميكروكنترولر وهذا يتطلب معرفة به وهو ليس صعب على من لديه معلومات اساسية في الالكترونيات.

39_22.gif

تزود من التقوى فإنك لا تدري *** إذا جن ليل هل تعيش إلى الفجر

فكم من فتى أمسى وأصبح ضاحكاً *** وقد نسجت أكفانه وهو لا يدري

لقراءة القرآن الكريم و سماعه و تفسيره ........

ماذا يعني انني مسلم سني؟

قصة غريبة

ConflictResolution.gif

#10

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

حياك الله أخوي الكريم عماد الخليل.. ومشكور على الرد..

بالنسبة للمنفذ اللي تتكلم عنه.. أتوقع يمكنك استخدام منفذ الطابعة كبديل له ( تعودت عليه ;)) صحيح؟

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

المطلوب هو ديكودر.. IC.. وهذا الديكودر لا يحتاج إلى برمجة بل مجرد عملية تركيب على منفذ LPT والقيام بالأوامر بالشكل التالي:

Out &H378, 1
Out &H378, 75
Out &H378, 90
Out &H378, 133
Out &H378, 165
Out &H378, 211
Out &H378, 243
Out &H378, 255

وهكذا..

وكل أمر يشغل الدارة المتصلة بالرجل الخاصة بها..

يعني كل ما علي هو شراء هذا الديكودر وتركيب الدارات عليه حسب الأرجل الـ256..

هل هي بهذه السهولة؟

وأنتظر شرحكم في أقرب فرصة..

شاااااااكرا لكم تعاونكم

أخوكم طالب الخبرة

#11

:)

#12

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

الى الأخ ( طالب الخبره) تحيه طيبه وبعد...

مرفق اليك صوره توضح الدائره وهي مجمعه ولكن لم أستطع تجميعها كاملة لأن حجم ال IC أكبر من مساحة الصفحه الخاصه بالرسم ولكن يمكنك تركيب الباقي كما تم تركيب الأجزاء المركبه في الصوره.

أولا ) تلاحظ أن الدخل هنا هو المنفذ 888 أو 378h من منفذ الطابعه وتم توصيلهم بدخل الديكودر 4*16 عددهم في الصوره 5 ولكن العدد الكامل 17 باقي 12 قطعه تركيبها يشبه تركيب القطع ال 4 المتصلين مع بعضهم في الدخل ويشتركوا معهم في الدخل أيضا وتلاحظ وجود قدمين اخيرتين في كل IC متصلتين مع بعضهما وتتصل بخرج الديكودر الأول بحيث كل IC يأخذ رجل حسب ترتيبه

والفكره هي أن كل IC يخرج 16 وأنا أحتاج 256 = 16 * 16 أي أحتاج 16 IC كما أحتاج IC آخر لعملية الاختيار بينهم يكون المجموع 17

فاذا أخرجت القيمه 09h من المنفذ فان الديكودر الأول يقرأ 0 فيخرج صفر على مخرجه الأول و باقي المخارج تأخذ 1 وبهذا يعمل من ال 16 ديكودر الآخرين الديكودر الأول والباقي لا يعمل

فيقرأ الديكودر الرقم 9 ويخرجه على القدم 9 من الخرج 0 وباقي الخرج يأخذ 1 وبهذا تجد الخرج هو رقم 9 . بينما لو أخرجت 39h فان الديكودر الأول يقرأ 3 فيخرج 0 على القدم الرابعه التى معناها 3 فيعمل الديكودر الرابع ( فنحن نبدأ من الصفر ) ويقرأ القيمه 9 ويخرجها لك ولو نظرت الى القدم الفعاله الآن ستجدها هي القدم التاسعه من الديكودر الرابع معناه القدم رقم 57 = 39h وهكذا.

أما الفليب فلوب فلم أجد IC T Type فنستخدم JK Flip Flop ونوصل ال J مع k ليعمل ك T وهنا تم توصيل الدخل الى مدخل ال clock puls وهنا استخدمت أربع قطع كل قطعتين في IC وستحتاج لكل مخرج الى قطعه ( الدائره أصبحت عاليه التكلفه بعض الشيء وشكلها عقد :) ) ولكن سهلة التجميع وأنت تعرف فائدتها.

اذا احتجت أي توضيح أو استفسار فاطرح الأسئله للنقاش.

أحمد سميح مصر

PLT.zip

#13

تشكر يااحمد على الدائرة وهذه تعليقاتى عليها:

1- حيث انك ربطت J,K,CLR فانك تقصد جعله T FLIPFLOP ويكون الجميع على حالة ال HIGH، ولكن اضافة مقاومة بينها وبين VCC وربط الجميع بها لتكون مقاومة واحدة للجميع وذلك لضمان الدخل HIGH في جميع الاحوال سيكون اضمن للعمل وهى تكلفة لاتذكر.

2- نعم الدائرة ستعمل وتغير المخرج فى كل ارسال ولكن سيكون تغيرا واحدا في كل ارسال.

3- المشكلة التى اتوقعها هى انك لن تضمن الحالة عند بدأ التشغيل يعنى اي خرج ممكن يكون HIGH او LOW وطبعا بامكانك تغيير الحالة ولكن لن تعرف الحالة بالتاكيد.

4- لابد ان يعلم اخونا طالب الخبرة انه لابد من اضافة وحدة الطاقة ثابتة 5 فولت وبعض المكثفات لضمان الاستقرار.

واخيرا الدائرة ستعمل وجهد ممتاز اخي احمد. ولى سؤال هنا لك، هل فكرت باستخدام SHIFT REGISTER لعمل نفس الوظيفة هل هى ممكنة حقيقة هذا مايدور ببالى مارايك بالفكرة؟

ثم انى ارى تصاميمك جميلة فلماذا تضعها كملف مضغوط ؟ استخدم هذا الرابط وهو تابع لهذا المنتدى لتحميل تصميمك كصورة ولاتجعلها BMP لان حجمها سيكون كبيرا بل استخدم GIF او JPG ومن تعاملاتى وجدت GIF انسب للتصاميم الالكترونية ثم بعد التحميل تضغط IMG في اعلى الرسالة وتضع الرابط الذي ظهر لك عند تحميل الصورة فيبدو تصميمك هكذا :

Ahmad_8to256.GIF

39_22.gif

تزود من التقوى فإنك لا تدري *** إذا جن ليل هل تعيش إلى الفجر

فكم من فتى أمسى وأصبح ضاحكاً *** وقد نسجت أكفانه وهو لا يدري

لقراءة القرآن الكريم و سماعه و تفسيره ........

ماذا يعني انني مسلم سني؟

قصة غريبة

ConflictResolution.gif

#14

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

مشكور مشكور مشكور ألف ألف شكر يالغالي Asm4all...

بالفعل عمل جبار وما تقصر يالغالي..

واعذرنا اذا تعبناك معانا.. شرح رائع ورسم ممتاز جدا جدا..

وجزاك الله الف خير..

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

( الدائره أصبحت عاليه التكلفه بعض الشيء ).. لو بدأت فيها يالغالي كم تتوقع يوصل سعرها ككل؟؟ 100-200-300 ريال؟؟ يعني تقريبا !!

وبالنسبة لهذه الدارة العملاقة.. هل بالامكان تشغيل عنصرين معا في أمر واحد؟

باقي بس أجلس عليه مدة أعرف الأمر أين يتم تنفذه في هذه الدارة العملاقة..

يعني لو أعطيته الأمر 123 أين راح يشغل الامر.. في أي ساق من الموجود..

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

وجزاك الله الف خير..

وودي تتابع آخر هذا الرد في تغيير بسيط ان شاء الله..

حياك الله أخوي الكريم عماد الخليل..ايش الاخبار؟

أنا هذه اللي توقعته : ( 2- نعم الدائرة ستعمل وتغير المخرج فى كل ارسال ولكن سيكون تغيرا واحدا في كل ارسال.)

وما مقصدك يالغالي في ( 3- المشكلة التى اتوقعها هى انك لن تضمن الحالة عند بدأ التشغيل يعنى اي خرج ممكن يكون HIGH او LOW وطبعا بامكانك تغيير الحالة ولكن لن تعرف الحالة بالتاكيد. )

وسؤال هنا : ( 4- لابد ان يعلم اخونا طالب الخبرة انه لابد من اضافة وحدة الطاقة ثابتة 5 فولت وبعض المكثفات لضمان الاستقرار.) هل هذا بسبب كبر الدارة؟

------------------------------------------------------------------------------------------------

في النهاية.. أشكركم ألف شكر على تعاونكم وتعبكم معانا وبالفعل ما قصرتم..

ولكن أنا بما أني مبتدأ في العملية ككل..

وبعد ما رأيت حجم الدارة الكبير..

أقترح أن أبدأ في أبسط عملية في زيادة عدد مخارج منفذ الطابعة..

وحسب كلامك فالديكودر الواحد يحول 4 إلى 16

إذا في البداية سوف أستخدم 2 ديكودر ليصل عدد المخارج إلى 32..

واذا نجحت العملية سوف أقوم بعمل هذه الدارة الهائلة والتي ما قصر الغالي Asm4all شرحها بشكل رائع جدا جدا..

وش رايكم؟؟ هل أبدأ في أول خطوة؟

طيب أول استفسار في هذه الخطوة.. كما نعلم فالأمر العادي يكون كالتالي:

Out &H378, 1

بعد توصيل الـ 2 ديكودر... كيف يكون الأمر لتشغيل اللمبة الولى ( على افتراض أني سوف أقوم بايصال ما يقارب 32 لمبة للتجربة في البداية )

ودي أشغل اللمبة الأول؟ 2؟ 3؟ 10؟ 32؟ كيف يكون الأمر لعمل هذا علما أن عدد الديكودر سيكون 2 بداية..

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

واذا سمحتوا.. هل لي بقائمة للمطلوب توفّره في أول تجربة ( 2 ديكودر )..

ما نوع الديكور وماذا أجلب ايضا لكي أقوم بشراءها والقيام بالتجربة..

شااااكرا لكم تعاونكم وبالفعل ما قصرتم

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

أخوكم طالب الخبرة

#15

اخي طالب الخبرة افضل انتظار اخى احمد للتعليق.

39_22.gif

تزود من التقوى فإنك لا تدري *** إذا جن ليل هل تعيش إلى الفجر

فكم من فتى أمسى وأصبح ضاحكاً *** وقد نسجت أكفانه وهو لا يدري

لقراءة القرآن الكريم و سماعه و تفسيره ........

ماذا يعني انني مسلم سني؟

قصة غريبة

ConflictResolution.gif

#16
طالب الخبرة كتب:
وما مقصدك يالغالي في ( 3- المشكلة التى اتوقعها هى انك لن تضمن الحالة عند بدأ التشغيل يعنى اي خرج ممكن يكون HIGH او LOW وطبعا بامكانك تغيير الحالة ولكن لن تعرف الحالة بالتاكيد. )

وسؤال هنا : ( 4- لابد ان يعلم اخونا طالب الخبرة انه لابد من اضافة وحدة الطاقة ثابتة 5 فولت وبعض المكثفات لضمان الاستقرار.) هل هذا بسبب كبر الدارة؟

وبعد ما رأيت حجم الدارة الكبير..

أقترح أن أبدأ في أبسط عملية في زيادة عدد مخارج منفذ الطابعة..

وحسب كلامك فالديكودر الواحد يحول 4 إلى 16

إذا في البداية سوف أستخدم 2 ديكودر ليصل عدد المخارج إلى 32..

واذا نجحت العملية سوف أقوم بعمل هذه الدارة الهائلة والتي ما قصر الغالي Asm4all شرحها بشكل رائع جدا جدا..

وش رايكم؟؟ هل أبدأ في أول خطوة؟

طيب أول استفسار في هذه الخطوة.. كما نعلم فالأمر  العادي يكون كالتالي:

Out &H378, 1

بعد توصيل الـ 2 ديكودر... كيف يكون الأمر لتشغيل اللمبة الولى ( على افتراض أني سوف أقوم بايصال ما يقارب 32 لمبة للتجربة في البداية )

ودي أشغل اللمبة الأول؟ 2؟ 3؟ 10؟ 32؟ كيف يكون الأمر لعمل هذا علما أن عدد الديكودر سيكون 2 بداية..

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

واذا سمحتوا.. هل لي بقائمة للمطلوب توفّره في أول تجربة ( 2 ديكودر )..

ما نوع الديكور وماذا أجلب ايضا لكي أقوم بشراءها والقيام بالتجربة..

أخوكم طالب الخبرة

اخي العزيز طالب الخبرة آسف لتعطيلك ارجو ان تكون عملت شيئ في هذه الفترة يبدو ان اخونا احمد مشغول هذه الايام لذا ساجيبك بالممكن :

الذي اتوقعه هو حالة في البداية عند بدأ التشغيل لكل مخرج اما HIGH او LOW وذلك بسبب ان الحاسب عندما يعمل ستتغير حالة المخارج صعودا ونزولا واثناء هذه الفترة سيكون جهازك يعمل وكل تغير سيغير من الخرج بحسب التغير ان كان عشوائيا فالتغير بحسبه. هنالك حل لاتقلق فقط قم بتطبيق الدائرة واخبرنا بنتائجك. بخصوص دائرة الطاقة فهذا امر طبيعي ستحتاج لها بالتاكيد وبالنسبة للمكثفات فهي MF.1 في البداية بامكانك عدم استخدامها لتبسيط التجربة ولكن اذا اسقريت عليها واحببت تثبيتها كدائرة فتضيف المكثف المذكور بجانب كل IC .

نعم ابدا بالابسط 2 ديكودر كافي وزيادة للتاكد وتكون العناوين من 0 الى 31 والامر كما ذكرت

Out &H378, 1

يقوم بعكس حالة الخرج.

ماستحتاجه في هذه المرحلة

74154 عدد 3

7473 عدد 16

CONNECTOR تناسب المتوازى (مخرج الطابعة) عدد 1

CONNECTOR تناسب مخارجك

ولا تنسى ان الخرج هو TTL يعنى ليس لتشغبل جهاز بشكل مباشر.

مع تحياتى.

تم تعديل هذه المشاركة بواسطة عماد الخليل في 4 يوليو 2004 في 20:55

39_22.gif

تزود من التقوى فإنك لا تدري *** إذا جن ليل هل تعيش إلى الفجر

فكم من فتى أمسى وأصبح ضاحكاً *** وقد نسجت أكفانه وهو لا يدري

لقراءة القرآن الكريم و سماعه و تفسيره ........

ماذا يعني انني مسلم سني؟

قصة غريبة

ConflictResolution.gif

#17

آسف على التأخير يا شباب ..

كما قال الأخ عماد كنت مشغولا فعلا ولم أكن أمام الكمبيوتر بأكمله لمدة 8 أيام . ..

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

#18

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

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

تعليق على التعليق الأول للأخ عماد :

1 ) أشكرك على تذكيري بأمر المقاومات لثاني مره والتي أنساها كثيرا أثناء تصميم الدوائر وهذا لأني أعتمد في التصميم على الناحيه المنطقيه وكثيرا ما أنسى الناحيه العمليه . وأرجو ا المداومه على تذكيري كي أنتبه لها بعد ذلك.

2 ) عند بدأ تشغيل الحاسب يتولد نبضات عشوائيه مما يقوم بتغيير حالة المفاتيح بصوره غير مرغوب فيها و هذا طالما أننا لا نستخدم طرق لحماية النظام من هذه الاشارات العشوائيه ولكن لحل مثل هذه المشكله يمكن وضع مفتاح ENABLE للنظام نقوم بتفعيله بعد بدأ البرنامج واعداده ( مثلا بدلا من توصيل الديكودر مع ال LPT مباشره يمكن أخذ الثمانيه أطراف الى دخل لثمانيه and gate والنأخذ الخرج ونوصله بالديكودر . والمدخل الثاني من كل and gate توصل معا بمفتاح واحد لادخال صفر أو واحد ).

كما قلت هذا حل بسيط ولكنه يدوي(غير آلي ) بعض الشيء . ولكن كما أعتقد فملك التحكم وملك المنافذ في الكمبيوتر هو المنفذ التسلسلي فبمنتهى البساطه تحل مثل هذه المشاكل من خلال الكود فقط مع الفوائد العديده للمنفذ التسلسلي.

3 ) لا استطيع أن أتخيل النقطه التي يمكن استبدالها بال SHIFT REGISTER ؟ ففي أي حاله نحن نحتاج الى 255 خرج فكيف تود تجميع ال SHIFT REGISTER لأداء الوظيفه ؟ أرجو توضيح الفكره لكي تعم الفائده.

تعليق على الأخ طالب الخبره:

1 ) بالنسبه للسعر قطع الدائره كامله اذا أردت تجميعها فانه سوف تكون أقل من 100 دولار .

2 ) الأمر الواحد يغير حالة مفتاح واحد ولكن يمكنك بالبرنامج أن تبعث بسلسلة أوامر دفعه واحده ( متسلسله طبعا ولكن بسرعة الكمبيوتر ) فتقوم بتغيير حالة اكثر من مفتاح في نفس الوقت.

3 ) مصدر الطاقه 5 فولت الذي اخبركبه أخ عماد كان لتغذية ال IC كالديكودر وال FlipFlop أما المكثفات فهي لتلافي الترددات الهارمونيه المتولده كضوضاء (رغم عنا) فالمكثفات تعمل كمرحلة تقويم واستقرار للفولتات.

تعليق على الأخ عماد:

أشكرك على انتظارك لي وأعتزر على التأخير.

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

1 ) بم أن الأخ طالب الخبره يريد الدائره ليكمل عليها فيما بعد فهذه هي الطريقه الصحيحه للتركيب أما اذا كنت تود الاكتفاء ب 32 مفتاح فانه يمكن اختصار ديكودر فلا نحتاج أكثر من 2 ديكودر و inverter واحد فقط بالاضافه الى ال JK -F.F .

2 ) المكثف بال uF بالمايكرو فاراد و MF تعني ميجافاراد وهو غير موجود على وجه الأرض .

3 ) بالنسبه للأمر فاني أري أنه للتأكد من الدقه في العمل فاننا نرسل الامر على النحو التالي :

out	&h378,&h01
out	&h378,&h00

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

ولتغيير أكثر من مفتاح في لحظه واحده نرسل سلسله بارقام المفاتيح مثل 3و6و10 و 17 :

out	&h378,&h03
out	&h378,&h06
out	&h378,&h0A
out	&h378,&h11
out	&h378,&h00

تم تعديل هذه المشاركة بواسطة Asm4all في 11 يوليو 2004 في 08:28

#19

ماريك بهذه القطعة - UCN5841A - يا احمد؟ ان شاء الله تعجبك. تنفع ولا ما تنفع ؟

UCN5841A_1272004626480.3181116.gif

39_22.gif

تزود من التقوى فإنك لا تدري *** إذا جن ليل هل تعيش إلى الفجر

فكم من فتى أمسى وأصبح ضاحكاً *** وقد نسجت أكفانه وهو لا يدري

لقراءة القرآن الكريم و سماعه و تفسيره ........

ماذا يعني انني مسلم سني؟

قصة غريبة

ConflictResolution.gif

#20

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

أهلين وسهلين أخي عماد والغالي Asm4all.. ان شاء الله موجودين معنا باقي :)

بالفعل أفدتونا بالردود السابق مع تأخري في الرد لأسباب خاصة توقفت فيها عن تنفيذ الفكرة وتأجيلها. ولآن عدنا لنكمل المشوار وان شاء الله تكونون معنا :)

ولنكمل الموشار مرة أخرى:

أخوي Asm4all.. في الكود التالي:

out &h378,&h03
out &h378,&h06
out &h378,&h0A
out &h378,&h11
out &h378,&h00

لماذا استخدمنا التعداد الست عشري بدلا من العد الثنائي؟؟؟

أود أن استخدم العد الثنائي .. هل من مشكلة؟

طبعا أنا الآن أود كما سبق وذكرت البدء في تحويل 8 إلى 32 خرج عن طريق الديكور 4 > 16

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

أود في البداية أن أقوم بتركيب 2 ديكودر.. 4 > 16 ..

طريقة الأوامر اللي أود تنفيذها وأود التأكد هل هي صحيحة أم لا هي:

أن أقوم بعمل جدول يقوم بالعد من 0 إلى 32

وأقوم بعمل جدول بجانبه يقوم بتحويل الأعداد من 0 إلى 32 إلى أعداد ثناية ( 0,1 )

واذا أردت أن أقوم بتشغيل الخرج 20 مثلا أقوم بكتابة الرقم الثنائي للعد عشرين وتنفيذه في البرنامج... فيشغل لي الخرج 20..

هل العميلة تعمل بهذا الشكل؟؟

ما المقصود بالـ inverter ؟

وسؤال مهم جدا جدا : ما هو الفليب فلوب وما هي أنواعه ( سبق وسألته سابقا ولكن أود أن يكون بشرح أكثر تفصيلا وأسهل للفهم ).. هل هو الذي يقوم بإعطائي الحالة الموجودة للخرج الآن؟؟ واذا ممكن تفصيل أكثر وعن أنواعه والفرق بينها!!

وأخيرا : هل من محل تدلوني عليه في الرياض يبيع هذه القطع؟؟ لأنه اذا لم تتوفر راح أفكر أشتريها من النت وننتظر اذا عندكم مواقع تنصحون بها!!

وعلى فكرة.. أن أنوي أن أبدأ بالتعامل مع البروسيسير :)

حيث أني منذ فترة تأخري عن الموضوع وأنا في بحث على الانترنت عن معلومات مشابه!!

وأعجبتني طريقة عمل البروسيسور والـ Gates وطريقة عملها والنقاط الممكن الاستفادة منها!! ..

هل توافقوني الرأي.. هل تنصحون بشيء معين للبدء فيه؟؟

واعذرونا على تأخرنا بالرد

وننتظر ردودكم

أخوكم طالب الخبرة

#21

:)

#22

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

1. الأخ "طالب الخبرة" في شغلة يبدو إنك مش واخد بالك منها وهي أنك لا تستطيع تشغيل أكثر من جهاز واحد في نفس الوقت يعني في كل الـ 256 جهاز حيكون شغال جهاز واحد على الأكثر في أي وقت و ما بأعتقد إنه هذا اللي بدك إياه.

السبب : في الفليب فلوب المرسومة عندما يكون الدخل 0 فإن الخرج 0 لأن R =0

عندما يصبح الدخل 1 فإن J=K=1 ينعكس الخرج و يصبح 1

وعند تحديد أي خرج ثاني فإن الجميع يكونون أصفار.

2. الـ IC 7473 بتعمل لاتش بس لـ 2 بت ولكن 74573 بتعمل لاتش لـ 8 بت و أسهل و نفس السعر تقريباً يعني أفضل بتفكير هندسي.

3. هل تعلم أن المخرج c في الطابعة و عنوانه 37A يتكون من 4 بت يعني بيصير عندك 12 بت مخارج

4. أفضل إستخدام في رأيي هو وصل ال4 بت من المخرج C علي 4-16 ديكودر و مخارج الداتا الـ8 توصلهم علي كل لاتش من الـ 16 لاتش (تستطيع إستخدام من 1 حتى 16 لاتش حسب الحاجة) أي يكون عندك 128 مخرج تستطيع تشغيل و إطفاء كل بت على حدة وبدون علاقة بالباقي (يعني ممكن يكونوا ال128 شغالين في نفس الوقت).

و سامحونا .

#23

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

مشكور أخوي حزين على طول ألف شكر على ردك وما تقصر..

وبالفعل أن لاحظت أنه لا يمكن تشغيل سوى جهاز واحد من الـ 256 جهاز!!

لذلك أردت القيام بعمل ووضع ديكودر للتحويل إلى 32 فقط!!

وبهذا أستطيع التحكم بأربعة أجهزة معا.. صحيح؟؟ ( ما راجعت العدد بالضبط !! )

واذا تسمح يالغالي ما فهمت قصدك في :

((

3. هل تعلم أن المخرج c في الطابعة و عنوانه 37A يتكون من 4 بت يعني بيصير عندك 12 بت مخارج

4. أفضل إستخدام في رأيي هو وصل ال4 بت من المخرج C علي 4-16 ديكودر و مخارج الداتا الـ8 توصلهم علي كل لاتش من الـ 16 لاتش (تستطيع إستخدام من 1 حتى 16 لاتش حسب الحاجة) أي يكون عندك 128 مخرج تستطيع تشغيل و إطفاء كل بت على حدة وبدون علاقة بالباقي (يعني ممكن يكونوا ال128 شغالين في نفس الوقت).

))

فإذا ممكن شرح بسيط وما هو المخرج C ??

شاكرا لك تعاونك يالغالي

أخوك طالب الخبرة

#24

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

اقتباس
وبالفعل أن لاحظت أنه لا يمكن تشغيل سوى جهاز واحد من الـ 256 جهاز!!

لذلك أردت القيام بعمل ووضع ديكودر للتحويل إلى 32 فقط!!

وبهذا أستطيع التحكم بأربعة أجهزة معا.. صحيح؟؟ ( ما راجعت العدد بالضبط !! )

خطأ , كونك استخدمت ديكودر للتحكم مباشرة بالأجهزة معناه إنه حيكون عندك بس جهاز واحد شغال في وقت معين لأنه الديكودر في أي مرحلة يكون فقط أحد مخارجه شغال.

اقتباس
واذا تسمح يالغالي ما فهمت قصدك في :

((

3. هل تعلم أن المخرج c في الطابعة و عنوانه 37A يتكون من 4 بت يعني بيصير عندك 12 بت مخارج

http://members.lycos.co.uk/squrban/parallel.gif

المخرج C كما في الصورة (C0 C1 C2 C3) يتكون من 4 بت مخارج و عنوانهم 37A يعني يمكن ضمهم إلى مخرج الداتا ال8بت يصبح عندك 12 بت مخارج و زي ما بتكتب لمخرج الداتا :

outp(0x378,value);

بمكانك الإرسال إلى المخرج C على العنوان 37A ولكن لاحظ أن كلاً من C0 C1 C3 معكوسة لذلك يلزمك تعديل بسيط في الكود:

value = value^11;  //value xor 00001011 => invert bits C0 C1 C3
outp(0x37A,value);

اقتباس
4. أفضل إستخدام في رأيي هو وصل ال4 بت من المخرج C علي 4-16 ديكودر و مخارج الداتا الـ8 توصلهم علي كل لاتش من الـ 16 لاتش (تستطيع إستخدام من 1 حتى 16 لاتش حسب الحاجة) أي يكون عندك 128 مخرج تستطيع تشغيل و إطفاء كل بت على حدة وبدون علاقة بالباقي (يعني ممكن يكونوا ال128 شغالين في نفس الوقت).

أتمنى أن تكون الصورة في الأسفل واضحة:

لاحظ أن الديكودر فعال على طول (g1=g2=0) يعن لازم يكون واحد من المخارج شغال لذلك تم الإستغناء عن المخرج الأخير (15) و بالتالي يصبح العدد الأقصى للأجهزة هو 120 و ليس 128 (مش هالفرق) و يمكن استخدام الكود التالي لشغيل الدائرة.

value[0] = 0;
value[1] = 0;
value[2] = 0;
.
.
.
//reset the outputs
for (i=0;i<16;i++){
    outp(378,value); // 8 bit zeros
    outp(37A , i^11);   //the address goes to port C and xor to handle inverted bits
    delay(1);                // 1 ms delay (may be not necessary)
    outp(37A,15^11); // move the sellection to the unused output (15)
}

//to turn on the output # 14 we says that 14/8 = 1; 14%8 = 6 
// then the chip #1 (second chip) and 6th bit
//to tern the 6th bit  on without chage athers we simply OR the 8bits with 01000000
//to tern the 6th bit off we and the 8bits with 10111111


//turn on the 14th output
value[1]=value[1]|64; //64 = 01000000
outp(378,value); 
outp(37A , 1^11);   //the address (14/8)
delay(1);                // 1 ms delay (may be not necessary)
outp(37A,15^11); // move the sellection to the unused output (15)

//turn off the 14th output
value[1]=value[1]&191; //191 = 10111111
outp(378,value); 
outp(37A , 1^11);   //the address (14/8)
delay(1);                // 1 ms delay (may be not necessary)
outp(37A,15^11); // move the sellection to the unused output (15)

أتمنى تكون وصلت.

وسامحونا.

post-111-1096932476_thumb.gif

#25

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

مشكور أخوي حزين على طول ألف شكر على ردك وما تقصر..

وبالفعل اعذرني على الخطأ البسيط.. والتعديل:

بما أننا سنستخدم 2 ديكودر اذا يمكننا تشغيل جهازين فقط في وقت واحد!!

والان إلى الأسئلة :) :

1 - ما المقصود باللاتش؟

2 - اذا استخدمنا منافذ c.. وأصبح لدينا 12 بت مع المخارج الثمانية.. كيف أتحكم بـ 120 جهاز كل على حدة؟؟

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

يعني كيف أتحكم بـ 12 بت للتحكم بـ 120 جهاز كل على حدة مع امكانية تشغيل أكثر من جهاز في نفس الوقت؟؟

وننتظر ردك يالغالي

واعذرنا على الاطالة

شاااكرا لك تعاونك

أخوك طالب الخبرة

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

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