تهاني ابراهيم

أريد مساعده في مشروع seven segment code

83 ردود في هذا الموضوع

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

أما بعد أتمنى منكم المساعدة

أريد الخطوات للبدء في المشروع

و ماذا يجب علي أن أتعلم لإنجازه من حيث مكونات المشروع المادية

و شكرا جزيلا لكم

أتمنى الرد السريع

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

لقد قمت بنقل نسخه من مشاركتك إلى المنتدى الرئيسي .. حيث أنك تكتبين الآن في منتدى الأدوات

تم تعديل بواسطه ORWA
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

هم تهاني . والآن ماهو هذا المشروع ..

ربما لكي تضمني تفاعل من الأعضاء عليكي أن توضحي مشروعك أكثر

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

اضم صوتى لصوت اخى عروة ارجو التوضيح يمكن نساعد بشئ

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

أعتقد أن الأخت تريد كتابة برنامج يعرض الارقام (أو الوقت) بطريقة الـ 7 قطع، مثل كما في الصورة:

0401ptbfig1.gif

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

السلام عليكم

شكرا لكم على المساعدة في نقل الموضوع

المهم هو كما قال الاخ الكريم هو المشروع لعمل النموذج الذي وضعه أي عمل ساعه

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

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

و شكرا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

للتحكم بالأجهزة الخارجيه (الشاشه ذات القطع السبع المضيئه مثلا) نستطيع إستخدام بعض منافذ الحاسب مثل منفذ الطابعه .

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

http://www.arabteam2000-forum.com/index.php?showtopic=47559

أما بالنسبه للألكترونيات وربط الحاسب بالعالم الخارجي (سؤالك عن الديكودر) فيوجد لها منتدى كامل هنا :

http://www.arabteam2000-forum.com/index.php?showforum=111

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

<span style='color:blue'>مرحبا بك </span><span style='color:orange'> تهاني ابراهي </span><span style='color:blue'>... :D

بالنسبة للمشروع فسينقسم إلى شطرين: hardware و SoftWare...

الخطوة الأولى هي تصميم اللوحة الإلكترونية: طريقة عرضها للساعة, نوع المركبات التي اخترتها, هل ستسستقبل هذه الوحدة معلومات من الحاسب على شكل تسلسلي serial أم على التوازي Parallel؟

كل هذا سيمكنك من اختيار نوع Interface بين الولحة الإلكترونية و ما بين الحاسب, فالحاسب يوفر مجموعة من المنافذ عليك اختيار الأنسب و الأبسط.

فهناك كمنافذ تواصل المعلومات و الأوامر بين الحاسب و اللوحة: Parallel Port, Serial Ports, ISA32bits/ ISA 16bits...usb ....

أسهل هذه الطرق بدون منازع هو منفذ الطابعة Parallel port و ما يسمى باختصار للإسم LPT..

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

هذه بعض الصور للتبيان طريقة ربط 7Segments Display في دارة كهروبية:

هذه الصورة تمكن من إنجاز عداد عشري واحد: العد يأتي ب Serial = clock = horloge

Decodeur_4_vers_7_pour_afficheur_a_7_segments.gif

هذه أسهل دارة كهروبية و أبسطها :Afficheur_7_segments_commande_par_un_decodeur_7447.gif

abcd= العدد الست-عشري (غالبا ما يكون فقط عشريا أي لا يتجاوز 10= 0a$ ).

LT أو lamp test فهي تقوم بإظهار رقم ثمانية عندما تكون هذه الوصلة في الجهد Low .. فالرقم 8 سيمكن من تجربة كل الصمامات الثنائة المتالقة LEDs الموجودة داخل 7Segments Dsplay.

BI يقوم بالعكس, عند استقباله جهد 0 أي Low فإنه يقوم بإطفاءكل الصمامات Led.

RBI يصلح فقط إذا ما قمت بإضافة عداد إخر ....

في المرفقات ملف صممته ب لغة الديلفي يستعرض عداد يعد الثواني ثم الدقائق ثم الساعات على 6 Displays ...

أعذرني فالرسم الذي رسمته جد سيء NotGood.gif

ما عليك فقط هو تغيير الصور الموجودة ب مجلد /digits...

ما هي اللغة التي ستصمم بها برنامجك؟ و نحب ان ررى ما قمت به كلوحة كهروبية

;) </span>

تم تعديل بواسطه ikossan
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

و فوق كل ذى علم عليم

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

عفوا :unsure: ..

7DigitDisplay.zip

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

جهد رائع أخي مراد . زادك الله علما .

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

بارك الله فيك أخي مراد.......

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

شكرا جزيلا لكم

و أريد أن أسأل الاخ الكريم ekossan

نعم أريد عمله على التوازي (الطابعه)

لكن سؤالي هو عن الديكودر و هل يوجد له أنواع الرسمه الموضحه لديك يوجد بها 4 مدخلات للديكودر و 7 مخرجات و لكن المشرف عندما شرح لي المبدأ قال أن المخرجات = 2 أس المدخلات

أي اذا أخذنا 4 مدخلات سيكون لدينا 16 مخرج

و أريد أن أسأل اذا ممكت تعطيني الكود بالباسكال لأني لا أفهم الدلفي كثيرا

و ما معنى الامر

port[$38A] :=9

مثلا 9 ماذا يعني

أتمنى الرد السريع

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

شكرا جزيلا لكم

و أريد أن أسأل الاخ الكريم ekossan

نعم أريد عمله على التوازي (الطابعه)

لكن سؤالي هو عن الديكودر و هل يوجد له أنواع الرسمه الموضحه لديك يوجد بها 4 مدخلات للديكودر و 7 مخرجات و لكن المشرف عندما شرح لي المبدأ قال أن المخرجات = 2 أس المدخلات

أي اذا أخذنا 4 مدخلات سيكون لدينا 16 مخرج

و أريد أن أسأل اذا ممكت تعطيني الكود بالباسكال لأني لا أفهم الدلفي كثيرا

و ما معنى الامر

port[$38A] :=9

مثلا 9 ماذا يعني

أتمنى الرد السريع

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

التشفير في الإلكترونيات: التشفير في عالم BIt يمكن تقسيمن إلى صنفين : Encoder و Decoder.

وتوجد لخبطة كبيرة في استعمال المصطلحات, المهم أن Encoder يقوم بالتشفير و Decoder يقوم بعكس هده العملية. فلكل Encoder d يوجد له Decoder يوافقه .

يمكن اعتبارها كعلب سوداء(لايهمنا ما يوجد بداخلها المهم هي الوضيفة التي يقوم بها :lol: ) ..

لها مداخل و لها مخارج.

القاعدة الأساسية في Encoder أو Decoder هي أنه إذا كان له n حالة مختلفة, فإن عدد المداخل اللازمة للتعبير عن هذه الحالات المختلفة m حيث: n=2^m...

أما عن عدد Bit كمخارج فححد ولا حرج من بت واحد إلى ما أردت من البتات bits :D .

نجد في سوق المركبات الإلكترونية مجموعة من هذه Encoders لكل وضيفة محددة, مثلا:

BCD to Binary: يقوم بالتحويل من الأعداد الشفرة بالعشري إلى أعداد ثنائية صرفة. 4مداخل--> 4 lمخارج

Decimal to binary: أو ما يعرف أيضا ب Multiplexer يقوم بالتحويل من النظام العشري إلى النظم الثنائي. 9 مداخل--> 4 مخارج

Binary to 7segments: يقوم بالتحويل من النظام الثنائي إلى شيفرة تصلح لعرض الرقم المدخل بالبيناري على شاشة ذات 7 قطع.. 4مداخل--> 7 lمخارج أو أكثر.....

.....

منفذ الطابعة في الحاسوب يكون له عنوان adress , من خلالها يمكنك إرسال أو استقبال Bytes من أو نحو العالم الخرجي للحاسوب.

غالبا ما تكون هذا العنوان 38Ah بالنظام ست-عشري أو 378 بالنظام العشري.

بالنسبة للبرنامج المكتوب بلغة الباسكال القديمة , يعني الأصدارة رقم 7.01 و التي سبقتها:

التعليمة port[$38A] :=9 تقوم بإرسال البايت 9 إلى عنوان المنفذ 38A$

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

لا عليك سنقوم بتقديم الدوال المناسبة حتي تحت نظام ديلفي دون الرجوع إلى البرمجة ب Borland pascal 7.0 ;) ...

هذا نمودج أخر قمت بتعديل صور 7SegmentsDisplay فيه.. يقوم بعرض الوقت الحلي للحاسوب.

(h)

DigitalDisplay of Time.rar.zip

تم تعديل بواسطه ikossan
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

السلام عليكم

انا خلود نواف التي قد بعثت لك يا اخ ikossan في منتدى arab developer ان موضوع الاخت تهاني ومشروعها مشابه تماما لمشروعي ولقد استفدت كثيرا من هذه الزاويه ولكن اريد ان اسالك هل بامكانك اعطاءنا موقع او لمحة عن لغة الاسمبلي التي تكننا من كتابة كود ال seven segment عن طريق باسكال وانا كماا قلت لك من قبل بعثت لك الكود بلغة باسكال على ايميلك ارجو منك ان تراه لان لدي عدة اساله عليه اذا تكرمت وان تجيبني عليه وكما فهمت ايضا انه يوجد ديكودر يستقبل 4 مدخلات ويخرج 7 مخرجات وما هو الافضل لنا ان نستخدم ديكودر 4 مدخلات ويعطينا 16 مخرج ام 4 مدخلات ويعطينا 7 مخرجات كما اريدك ان تشرح لنا بالتدريج عن اساسيات الهاردوير للساعة ماذا سنستخدم زما فائدة كل جزء وما وظيفته وكيف يتم ربطه بالحاسوب الرجاء ان تشرح لنا بالتدريج حتى نتمكن من فهم المادة بشكل افضل

ولك جزيل الشكر

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

باين أني ما فرقت بين الأخت خلود والأخت تهانيNonCompris.gif ..

لكنها باين أني تورطت في الخير :( ..

جيد وجميل أنكما مشتركتين في نفس الفكرة , لنعد للموضوع.

سنبدأ في شرح الموضوع تدريجيا و رب يعينني عليه :s .

أول شيء هي البدأ بخطاطة نضع فيها أهم الأقسام التي ستتكون منها اللوحة الإلكترونية the synoptic ... يعني بمصطلح برمجي:8 سنقوم بوضع الخواريزمية الإلكترونة للهاردوير... الأفكار كثيرة و الحلول متعددة, لكن يجب علينا في اعتماد الحل أن نركز على نقطتين: يجب أن يكون المشروع أقل تكلفة, النقطة الثانية يجب أن يكون الجهد المبذول و الوقت لإنجاز المشروع أقل ما يمكن.

سأعطي نمودج عن رؤيتي للنمودج:

سأحاول أن أوفر من عدد Encoders التي تحول الكود الثنائي-العشري BCD إلى كود موافق ل 7Segments display..

سأستعمل واحدا فقط لكل شاشة مضيئة :rolleyes: ..وسأشبك كل مداخل الشاشات: a,b,c,d,e,f,g مع بعضها : أي أربط كل a لكل الشاشات الأربع مع بعضها, و نفش الشيء أعمله لكل b للشاشات الأربع و هكذا للباقي الأرجل cdef و g..

ستقولين لي أن الشاشات ستضيئ كلها بنفس الرقم لأن مداخل الشاشت ستكون لها نفس الجهد !!!

هنا يكمن السر في عرض الرقم الصحيح لكل شاشة بدون لخبطة: سأرسل رقم الآحاد للدقائق لكل الشاشات, ثم أنزع التغدية الكهربائية عن شاشة العشرات للدقائق و عن شاشة الآحا د للساعت و كذلك العشرات لشاشة الساعات. حيث ستكون في هذه اللحظة فقط شاشة الآحاد لللدقائق هي الوحيدة التي تستمد التغدية, فتضيئ بينما تنطفىء الشاشات الثلاث الأخريات.

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

فلا ترى العين إلا أن الشاشات مضيئة جميعها وفي كل شاشة الرقم المناسب لها...

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

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

هذا رسم توضيحي لما أردت شرحه..

post-15-1107925814_thumb.gif

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

مرحبا أخ ikossan

شكرا الك على هالملاحظه

صح أنا و خلود مشتركين في هذا المشروع و نحن سويا نجمع معلومات عن المشروع

لكن لم أكن أعلم أنها مشتركه معي في نفس المنتدى

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

و إن شاء الله بفضل الله و بفضلك اذا استمريت معنا في الموضوع سوف ننجره ان شاء الله

و اتحملنا الله يعينك

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

السلام عليكم

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

المخطط(الرسمة اللي حضرتك واضعها في الرد) موافقة تماما للشيء اللي بدنا نعمله تماما تماما وهذا اشي جيد بالنسبه النا

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

هس انا وتهاني مستعدات ابدا معنا بالخطوه الولى شو نعمل؟؟؟؟؟؟؟؟؟

احكيلنا الخطوة الاولى عشان ننفذها واحنا متشجعات كثيرا للموضوع ومتحمسات وحضرتك رفعت معنوياتنا كثييييييييييييييييير :lol:

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

وفقك الله :rolleyes:

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

شكرا ikossan

حتى لايقال أنني لم أشارك ..

سأضع مشاركات قديمه لي عن التحكم الآلي بإستخدام الحاسب أظن أنها مفيدة جدا جدا للمشروع

الملف المرفق يحوي على 5 عروض powerPoint لأتمنى أن يفيد

PPT.zip

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

السلام عليكم

شكرا لك يا اخ عروه على المادة التي بعثتهاا لنا ولكن واجهتنا مشاكل في فهم بعض الاشياء في اللغة مثلا mov في الكود ما فائدته الرجاء اذا كان لديك مادة موضحة ان تبعثها لنا

ولك جزيل الشكر

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

السلام عليكم

mov هى من اساسيات لغه الاسمبلى, هذا الامر يقوم بنقلى محتوى مسجل إلى مسجل اخى, او نقل محتوى الذاكره إلى مسجل.

على سبيل المثال:

mov eax,ebx

هذا الامر يقوم بنقل محتوى المسجل ebx إلى المسجل eax معى العلم بان المسجل ebx يحتفط بمحتواه.

فمثلاُ لو كان ebx يحتوى على الرقم 5 فبعد عملية mov السابقه يصبح قيمة المسجل eax العدد 5 وكذالك المسجل ebx يحتوى العدد 5.

والسلام

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

بسم الله و على بركته نبدأ

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

ماذا أقول أستاذ ما شاء الله عليك

Prof.gif

ساشرح برنامج الديلفي الذي أرفقته في آخر مشاركة .

هذا البرنامج فقط يقرأ الوقت الموجود داخل الحاسوب, ثم يقوم بتحويل هذا الرقم إلى عدد الثواني حتى يسهل تفكيكه إلى وحدات و عشرات لكل من الثواني و الدقائق و الساعات.

توجد دالة في ديلفي تسمى Now()

هذه الدالة عند استدعائها ترجع لنا عددا حقيقيا Real

يحتوي على عدد الأيام (التاريخ) التي مرت منذ 12/30/1899 في جزئه الصحيح, وعلى الساعات (الوقت) التي في جزئه العشري. يعني لما أستدعى هذه الدالة فلا يهمني فيها إلا جزءها العشري Fractional..

مثلا لو أنها أعطتني خارجا ك35065،75 الذي يوافق يومه 1/1/1996 فالعدد العشري الذي يساوي 0.75 هو الذي يعبر عن الوقت وهو جزء من اليوم.

لكي نحوله إلى ساعات يجب ان نضربه في 24(ساعة) و الخارج هو 18 يعني أن الوقت هو تمام الساعة السادسة مساءا.

مثال آخر وليكن جزء العشري هو 0,4690625

سنضربه في 24 الحاصل هو 11 والجزئ العشري لهذه االعملية هو 0,2575..

ثم نقوم بالضرب في 60 لنحصل عل عدد الدقائق: أي 15 و الجزء العشري هو 0,45. نعاود الضرب في 60 لنحصل على عدد الثواني و هو 27..

أي في النهاية سيكون الوقت هو 11س15دق27ث...

هذا الكلام يخص كيفية استخلاص الوقت في ويندوز.

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

أحصل على هذ العدد بضرب الجزء العشري في 24 ثم في 60 ثم في 60. فيكون الحاصل هو ما أريد اي عدد الثواني..

جميل لكن لكي أستطيع إرسال الوقت إلى منفذ الطابعة يجب أن افكك العدد الذي على شكل hh::mm:ss

إلى أرقام كل رقم يعبر على الآحاد و العشرات لكل من الثواني و الدقائق و الساعات..

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

type
TDisplay =record
  UnitsSecond:Integer;      //Data display Units of Seconds
  TensSecond:Integer;       //Data display Tens of Seconds
  UnitsMinute: Integer;     //Data display Units of Minutes
  TensMinute: Integer;      //Data display Tens of Minutes
  UnitsHour: Integer;       //Data display Units of Hours
  TensHour: Integer;        //Data display Tens of Hours
end;

الإجرائية التي تقوم بتفكيك العدد الذي يعبر عن عدد الثواني إلى أرقام وحدات و عشرات و تدوين كل رقم في الحقل المناسب له في الريكورد هي :

procedure TForm1.DecToSixteenBase(Value: Integer; var Display: TDisplay);
begin
with Display do
 begin
   TensHour:= value div 36000;  //for tens of hours: 10h= 10 *60 min= 10 *60 *60 seconds..
   value:= Value mod 36000;
   UnitsHour:= value div 3600;  //for tens of hours: 1h= 60 min= 60 *60 seconds..
   value:= Value mod 3600;

   TensMinute:= value div 600;  //....
   value:= Value mod 600;
   UnitsMinute:= value div 60;  //...
   value:= Value mod 60;

   TensSecond:= value div 10;
   UnitsSecond:= Value mod 10;
 end;
end;

تستقبل هذه الإجرائية باراميتراين الأول و هو Value

الذي يحتوي على عدد الثواني. و الباراميتر الثاني الذي مرر باستخدام الكلمة Var

هو الريكورد التي ستسجل الآحاد و العشرات. لكل عنصلر من عناصر الشاشة

لستخلاص عدد الساعات يجب أن نقسم على عدد الثواني الموجودة في ساعة واحدة و هي 60*60=3600 سنحصل عل عدد الساعات.. و لكي نقسم هذا العدد بدوره إلى آحاد و عشرات نقسم على 10 لستخلاص العشرات و الباقي هو عدد الوحدات.. وهكذا بالنسبة لدقائق و الثواني..

....

الشيفرة تحتوي على مؤقت, عند مرور المدة التي نحددها( مثلا نصف ثانية 500ms ) ستنفذ إجرائية المنسوبة لهذا المؤقت..

فعلى رأس كل نصف ثانية سيستدعي البرنامج هذه الإجرائية:

procedure TForm1.Timer1Timer(Sender: TObject);
begin
counter:= trunc( frac(now()) * 3600 *24);
Counter:= Counter mod (3600*24); // 1 day = 24hours00minuts00seconds
DecToSixteenBase(Counter,display);

//------------------------------------------------------------------------------------------------
//  to do for sending the tens ands units of the record to the paralel port
//-------------------------------------------------------------------------------------------------

Image1.Picture.LoadFromFile('.\digits\LCD_'
     + IntToStr(display.UnitsSecond) +'.bmp');
Image2.Picture.LoadFromFile('.\digits\LCD_'
     + IntToStr(display.TensSecond) +'.bmp');
Image3.Picture.LoadFromFile('.\digits\LCD_'
     + IntToStr(display.UnitsMinute) +'.bmp');
Image4.Picture.LoadFromFile('.\digits\LCD_'
     + IntToStr(display.TensMinute) +'.bmp');
Image5.Picture.LoadFromFile('.\digits\LCD_'
     + IntToStr(display.UnitsHour) +'.bmp');
Image6.Picture.LoadFromFile('.\digits\LCD_'
     + IntToStr(display.TensHour) +'.bmp');
end;

تبدأ هذه الإجرائية بالستخلاص الوقت بالدالة التي ذكرتها أعلاه و هي Now

أقوم باستأصال الجزء العشري ب Frac()

ثم اضرب الكل في العدد 60*60=3600 لأحصل في الأخير على العدد الإجمالي من الثواني التي مرت خلال اليوم كله ابتداءا من منتصف الليل..

أختم ب تطبيق الدالة TRunc

لكي يبقى العدد صحيح طبيعي للأسجله في المتغير counter..

بعدها أستدعي دالة التفكيك من عدد به الثواني إلى ريكرد بها الساعات و الدقائق و الثواني مجزئة في آحاد و عشرات..

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

..

هذه نبذة عن عمل البرنامج.

تم تعديل بواسطه ikossan
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

كما قلت الجزء المختص بإرسال المعلومات الضرورية للوحة الإلكترونية لكي تقوم بعرض الوقت في 4 شاشات مضيئة من صنف 7 قطع, يتوقف على طريقة إنشاء اللوحة و ارتباطها بمنفذ الطابعة...

أنتظر أن تعطوني أفكاركم : كيف ترون تصميم اللوحة.

أنا عملت نمودج أولي و أتمني أن تعطوني أنتم كذلك نمودج أو Synoptique للوحة ؟

(h)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .