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

كيف يمكن إضافة 1 أو طرحه من لوحة أرقام ذات 7 شرائح ؟

مغلق
بدأه الإلكترونية في 18 فبراير 2007 · 6 رد · 1,028 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أعمل حالياً على بناء برنامج ولكن الجزء الذي تحيرت فيه كثيراً هو كالتالي

لدي لوحة أرقام مكونة من 7 شرائح , كل شريحة موصولة بمدخل وعلي كتابة تعريف تكوين الأرقام ( يعني عند تكوين العدد صفر مثلاً يجب أن أعرف الشرائح التي يجب أن تعمل لكي تكون هذا العدد )

هذا الجزء مقدور وأستطعت تعريف جميع الأرقام والشرائح من 1 إلى 9

ولكن عمل البرنامج والجزء الذي تحيرت فيه هو كيفية الإنتقال من العدد 1 إلى 2 مثلاً

يعني إذا أردت إضافة 1 إلى لوحة الأرقام كيف أكتب الكود اللازم للإنتقال من تعريف العدد 1 إلى تعريف العدد الذي يليه

علماً بأن الإضافة لن تكون إلا 1 أو أطرح 1 وليس أكثر

للتوضيح أكثر لدي لوحة الأرقام التالية :

http://img-europe.electrocomponents.com/im.../L587377-01.gif

الأطراف من

a وحتى g

يجب أن أعرفها في البرنامج لتكوين الرقم

مثلاً العدد 0 يكون بفتح الأطراف من

a وحتى f

وإغلاق الطرف

g

الحيرة التي وقت فيها , هي عند إضافة 1 للبرنامج المفروض تنتقل الشاشة من 0 إلى 1 أو من 1 إلى 2

وكذلك بالنسبة لطرح 1 أي الإنتقال من 3 إلى 2 مثلاً

كيف أستطيع عمل ذلك ؟

ساعدوني

الله يوفقكم

#2

/index.php?showtopic=83632

/index.php?showtopic=56447

إستعمل متغيرين من نوع byte , الأول للعدد بكود decimal و الثاني للكود المقبل له ب 7 segments

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

الملف المرفق مبرمج بلغة ديلفي لكنه يعطيك فكرة عن طريقة التعامل معه برمجيا:

/index.ph...st&id=25768

تم تعديل هذه المشاركة بواسطة ikossan في 18 فبراير 2007 في 22:16

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

يا صاحب الهم إن الهم منفرج.....................أبشر بخير فإن الفارج الله.

اليأس يقطع أحيانا بصاحبه..........................لا تيأس فإن الكافي الله.

الله يحدث بعد العسر ميسرة.........................لا تفزعن فإن الصانع الله.

إذا بليت فثق بالله وارض به...................فإن الذي يكشف البلوى هو الله.

و الله ما لك غير الله من أحد.......................فحسبك الله في كل لك الله

أخوكم مراد

27_06_06_05_21_41_1151410901logo_adl_wal_ihsan.jpg

#3

شكراً أخي إيكوسان , بارك الله فيك

ولكن , أنا لا أفهم في أي لغة أخرى غير لغة الـ C++

كل ما أريده هو كيفيه إضافة 1 إلى الشاشة أو طرح 1 من الشاشة إذا تحقق الشرط الموجود في دالة If

علماً بأني عرفت جميع الشرائح من a وحتى g كما في الجدول :

http://www.arabteam2000.com/picload/pics_1...7segmenttbl.JPG

ولكن المشكلة هي كيفية إضافة 1 لكي ينتقل العدد من 3 إلى 4 مثلاً .. والعكس بالنسبة للطرح

لو كان الأمر مجرد برنامج يضيف الرقم 1 إلى العدد الموجود لكان الأمر سهل

ولكن الصعوبة تكمن في إني أريد تحقيقة فعلياً على أعداد تكون معرفة على شرائح الـ LEDs التابعة لها

يعني لو أردت إضافة 1 إلى العدد 4 مثلاً .. فإنه يلزمني أن أنتقل من تعريف شرائح العدد 4 إلى شرائح العدد 5

وكذلك بالنسبة للنقصان

شكراً لكم

#4

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

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

يا صاحب الهم إن الهم منفرج.....................أبشر بخير فإن الفارج الله.

اليأس يقطع أحيانا بصاحبه..........................لا تيأس فإن الكافي الله.

الله يحدث بعد العسر ميسرة.........................لا تفزعن فإن الصانع الله.

إذا بليت فثق بالله وارض به...................فإن الذي يكشف البلوى هو الله.

و الله ما لك غير الله من أحد.......................فحسبك الله في كل لك الله

أخوكم مراد

27_06_06_05_21_41_1151410901logo_adl_wal_ihsan.jpg

#5

أنا لم أكتب البرنامج حالياً ولكني أجمع معلومات لكي أستطيع كتابته

هل أستطيع عمل التالي :

أن أعرف دالة أسمها Xi حيث i تأخد القيم من 1 إلى 9 ( 9 أقصى عدد يمكن عرضة في شاشة واحدة وأنا في الحقيقة لن أستخدم أكثر من شاشة )

ثم أعرف الأعداد كالتالي

العدد 0 أرمز له بالرمز X0

X0== f0=1,f1=1f2=1,f3=1,f4=1,f5=1

ثم العدد 1 كالتالي

x1=f1=1f2=1

وهكذا ..

ثم أضع الشرط If إذا تحقق هذا الشرط أكتب

xi+1

وكذلك بالنسبة للشرط الثاني للدالة If إذا تحقق أكتب :

xi-1

علماً بأن f1,f2,f3 .... إلخ

هي البورتات الموصولة بـ IC ( متحكم صغير - ميكروكونترولر ) مع كل طرف من أطراف شاشة العرض السبعة

الغرض من الذي كتبته فوق هو حين يتحقق الشرط if ( الأول مثلاً ) سوف تنتقل الأعداد من تعريف x2 مثلاً إلى تعريف x3 وينفذه على شاشة الأرقام يعني لو كان الرقم الموجود على الشاشة قبل تحقيق الشرط هو العدد 2 .. وبعد تحقيق الشرط سوف ينتقل إلى 3 ( ولهذا وضعت الشرط xi+1 )

هل فكرتي في بناء البرنامج صحيحة ؟

#6

شكراً إيمان ..

وأنتظر رد من خبراء C++

شكراً

#7

عملت على مشروع مماثل من قبل في لغه سي..

وفي ذلك الوقت كنا نضيف المكتبه conio.h

و dos.h

من اجل استخدام الاوامر التاليه

outp(port code, number);

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

اما الرقم .. اكتبيه في الهيكسا.. (HEX) مثال.. اذا كنت اود ان انير الرقم 5 اذا سأكتب في مكان النمبر الرقم 0x5b

اما اذا اردت ان انير هذا الرقم لفتره 5 ثواني فاكتب الامر delay(5000); لان الامر ديلي يستقبل المده في الميلي ثانيه فخمسه الاف تعتبر عن 5 ثواني ...

لاطفاء الاضواء يجب ادخال الرقم 0 مكان النمبر في الامر اوت بي..

القصه سهله للغايه ..

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…