قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

MAAASD
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2012
المشاركات: 93
نشاط [ MAAASD ]
قوة السمعة:0
قديم 07-09-2012, 05:57 PM المشاركة 1   
x4 مشروع ساعة رقمية (تم التجربة) Twitter FaceBook Google+



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

كنت فكرت قبل كدة اني اعمل مشروع الساعة الرقمية باستخدام سته قطع من
سفن سيجمنت وكتبت وصف مبدئي للمشروع قي الموضوع ده
http://www.qariya.com/vb/showthread.php?t=114506
وكنت مستني التجربة علي الهاردوير لان التجربة علي برنامج Proteus
مش شغالة كويس والسبب مش خطأ في الكود ولكن البرنامج Proteus لا يستطيع عرض السيفن سيجمنت بالسرعة المطلوبة وده ممكن يكون بسبب سرعة البروسيسور بتاع اللاب توب وكارت الشاشة انا قولت التفاصيل دي في الموضوع اللي فوق وقولت شرح لطريقة العمل

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

في البداية حاولوا تقروا الموضوع ده بسرعة بس متعملوش دونلود للفايلات اللي فيه علشان تم تعديلها وهحط الرابط الجديد هنا
ده رابط الموضوع القديم
http://www.qariya.com/vb/showthread.php?t=114506

بعض التوضيحات

-مستخدم اتنين من السفن سيجمنت لعرض الثواني واتنين للدقايق واتنين للساعات
-كل السفن سيجمنت متوصلين بنفس اسلاك الداتا وهم
segA الي segG
واسلاك الداتا دي جاية من serial in parallel out shift register
اللي هو بدوره متوصل بالبيك عن طريق
c0=clock
c1=serial data

-علي الرغم من ان كل السفن سيجمنت ليهم نفس اسلاك الداتا لكنهم كل واحدة ليها enable مختلف وهو البين اللي بتتوصل بالGnd
لاني مستخدم common cathode

-معني كدة اني محتاج 6 بينات مختلفة للتحكم في عرض كل السفن سيجمنت
وهناخدهم من البيك من c2 وc3 و.......الي c7

-في حالة اني عايز مثلاً اشغل اول سيفن سيجمنت فقط اللي هيا ليها enable هو c2 هعمل
trisc.f2=0;
portc.f2=0;
لانها بتشتغل لما تتوصل بجهد صفر
ولو مش عايزها تشتغل هعمل
trisc.f2=1;
يعني عرفته علي انه دخل وبالتالي السفن سيجمنت هتشوفه كأنه مش متوصل

-لان كل السيفن سيجمنت متوصلين بنفس اسلاك الداتا يبقي هنشغل واحدة فقط في الانتربت الواحد ونطفي باقي السيفن سيجمنت
وفي الانتربت اللي بعده هنشغل واحده غيرها ونطفي الباقيين وهكذا....والعملية دي هتتم بسرعة جداً لدرجة ان العين مش هتلاحظ ان واحدة فقط من السفن سيجمنت هي اللي شغالة ولكن هتشوقهم كلهم شغالين مع بعض والطريقة دي اسمها multiplexing

-لتنفيذ الهدف السابق ولحساب الوقت هنستخدم timer0
-في البداية كنت مختار ال prescale =1:2 وده معناه ان هيحصل 3906 انتربت تقريباً في الثانية الواحدة وده عدد كبير جداً وزمن الانتربت الواحد قليل جداً
ونظراً لان كود الانتربت كان كبير شوية خفت يكون زمن تنفيذه اكبر من الزمن اللي هيستغرقة الانتربت الواحد اللي هو 256 مايكروثانية (باستخدام prescale =1:2)
وعلشان كدة قررت ازود ال prescale شوية (1:16) علشان اضمن ان زمن تنفيذ الانتربت الواحد هيكون اكبر من زمن تنفيذ كود الانتربت وبالتالي مش هيحصل تداخل بين كذا انتربت
ده زمن الانتربت الواحد مع اختيار prescale =1:16

Interrupt Period= 4/(8MHz)*16*256=2.048 ms

-مينفعش تزود ال prescale اوي لدرجة انك تبوظ ال multiplexing لان ساعتها هتلاحظ ان السفن سيجمنت حركتها بقت ملحوظة بالعين المجردة يعني هتلاحظ انها بتنور وتطفي بالتتالي (بتبربش ) واحنا مش عايزين كدة

-مينفعش كمان تقلل ال prescale اوي لدرجة ان زمن الانتربت يكون اقل من الزمن اللي هيستغرقة تنفيذ كود الانتربت (مينفعش تقلل عن prescale 1:4)

طريقة ضبط الوقت

-اول ما توصل البيك بالباور هتلاقيه عارض اصفار علي كل السيفن سيجمنت ومستنيك تدوس علي الpush button المتوصل ب a0 (دوس وشيل ايدك )
وبكدة يبقي انت دخلت ال hours mode

-الخطوة اللي بعد كدة هي انك تدوس علي a0 (وتفضل مثبت ايدك عليه) وبالتالي هتلاقي ال سفن سيجمنت بتاعة الساعات عمالة تتزود تلقائياً ولما توصل للرقم اللي انت عايزه شيل ايدك من علي a0 وبعدين اضغط علي a1 وشيل ايدك ...وده للخروج من ال hours mode

-البيك دلوقتي مستنيك تدوس علي a0 وتشيل ايدك علشان يدخل minutes mode

-كرر نفس الخطوات لضبط الدقائق ولاتنسي ان تضغط علي a1 (وشيل ايدك )
بعد الانتهاء من ضبط الدقائق ...وده للخروج من ال minutes mode
وبكدة الساعة هتشتغل

-اثناء عمل الساعة لو عايز تضبط الوقت ...اضغط علي MCLR

الملفات في الرابط التالي
http://www.4shared.com/zip/loiWXb5a/..._Version1.html

ملحوظة

المشروع لا يعمل علي برنامج Proteus لكنه يعمل بشكل سليم علي الهاردوير

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

شكراً والسلام عليكم


اعلانات

hunter27
:: مهندس جيد ::
تاريخ التسجيل: Jul 2012
الدولة: المغرب
المشاركات: 284
نشاط [ hunter27 ]
قوة السمعة:0
قديم 07-09-2012, 10:09 PM المشاركة 2   
افتراضي


السلام عليكم

موضوع رائع اخي وطرح يستحق المتابعة

شكرا لك

دمت بكل خير

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

الصورة الرمزية funky112233
funky112233
:: عضو ذهبي ::
تاريخ التسجيل: Aug 2009
المشاركات: 666
نشاط [ funky112233 ]
قوة السمعة:93
قديم 08-09-2012, 05:54 AM المشاركة 3   
افتراضي


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

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

بارك الله فيك


MAAASD
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2012
المشاركات: 93
نشاط [ MAAASD ]
قوة السمعة:0
قديم 08-09-2012, 06:11 AM المشاركة 4   
افتراضي


السلام عليكم

موضوع رائع اخي وطرح يستحق المتابعة

شكرا لك

دمت بكل خير
شكراً علي ردك الجميل جزاك الله خيراً


MAAASD
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2012
المشاركات: 93
نشاط [ MAAASD ]
قوة السمعة:0
قديم 08-09-2012, 06:12 AM المشاركة 5   
افتراضي


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

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

بارك الله فيك
جزانا واياكم ...ويارب ناس كتير تستفيد
شكراً


MAAASD
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2012
المشاركات: 93
نشاط [ MAAASD ]
قوة السمعة:0
قديم 12-10-2013, 10:09 PM المشاركة 6   
win


السلام عليكم
اولا
ازيكم يا جماعه انا مفتقدكم جدا والموقع بتاعكم افادني كتير جدا ربنا يكرمكم
وكل عام وانتم بخير
ثانيا
ده لينك تاني للمشروع علشان القديم مش شغال لان فيه بشمهندس طلبه مني
هنااااااااااااااااااااااا
بالتوفيق ان شاء الله


magdy_3
:: مهندس متميز ::
تاريخ التسجيل: Aug 2006
الدولة: Philippines
المشاركات: 343
نشاط [ magdy_3 ]
قوة السمعة:0
قديم 16-10-2013, 06:36 PM المشاركة 7   
افتراضي


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


MAAASD
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2012
المشاركات: 93
نشاط [ MAAASD ]
قوة السمعة:0
قديم 16-10-2013, 10:22 PM المشاركة 8   
افتراضي


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

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 03:19 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025