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

   

الصورة الرمزية assed
assed
:: عضو فضي ::
تاريخ التسجيل: Jul 2014
الدولة: العراق - بغداد
المشاركات: 1,034
نشاط [ assed ]
قوة السمعة:
قديم 27-05-2017, 09:43 PM المشاركة 17   
افتراضي



السلام عليكم
كل عام وانتم بخير
EECON1
EEDATA
EEADR
حسب فهمي المتواضع هذه سجلات خاصة باليبروم
EECON1
هذا السجل يحوي على الاعدادات الاولية للتحكم في الكتابة والقراءة في الاييبروم

EEDATA

هذا السجل يستخدم لايصال المعطات الى الاييبروم وهوة يضهر في القسم الثاني من برنامج pickit في القسم الاسفل لواجهة البرنامج EEPROM Data

EEADR

يخزن موقع الكتابة او القراءة في موقع اييبروم والبيك 16f84a يحوي على 64 موقع للقراءة والكتابة من 0 الى 63 وهي ايضاً تضهر اسفل واجهة البرنامج الخاص بالحرق pickit 2 عند تحميل ملف الهكس

والله اعلم ....

اعلانات

ماجد عباس محمد
:: نائب المشرف العام
::
تاريخ التسجيل: Jun 2009
الدولة: القاهرة - مصر
المشاركات: 11,652
نشاط [ ماجد عباس محمد ]
قوة السمعة:
قديم 28-05-2017, 11:32 AM المشاركة 18   
افتراضي


السلام عليكم
استاذ ماجد رمضان كريم وكل عام وانتم بخير
انا كنت اقصد
EECON1
EEDATA
EEADR

فهل هذه اعدادات ام انها سجلات ارجو التوضيح !!!
أخى
كل عام و انتم بخير
هذه سجلات تتولى الكتابة فيها بتسلسل محدد بطريقة محددة و إلا فلن تبدأ عملية فعليا عملية الكتابة طبقا لما هو مدون فى الداتا شيت صفحة 16 و طبعا المفترض أن المترجم يراعى ذلك جيدا و قد كنت على وشك أن اكتب لك تحذيرا بهذا الخصوص لولا أن بفضل الله تصفحت 877 ووجدت أن نفس الكود مطبق فيهما بنفس التحذير إذن و كما أكد لاحقا الأخ الفاضل فتح الله عبد العزيز أنهما متطابقان فى هذه الخصوص (الكتابة فى هذه الذاكرة) لذا لم اذكر ذلك
ربما سيكون مجديا أن تكتب فى الذاكرة قيم أولية و تدع المبرمجة وضعها فى الميكرو و عند البرمجة ستتحقق المبرمجة من تدوينها لهذه البيانات و صحتها
إن أفلحت المبرمجة فالعيب فى البرنامج و اقترح عندها أن تستخدم subroutine أو function و تنسخ فيها ما هو مدون فى الداتاشيت صفحة 16 حيث فيها كود بالأسيمبلى للكتابة فقط فى الذاكرة و آخر للكتابة ثم التأكد مما يتيح لك كتابة function تعرفك إن حدث خطأ فى الكتابة
إن فشلت المبرمجة فى الكتابة فى الميكرو ستكون هذه القطعة بها مشكلة

معذرة لن اقترح عليك ما أفعله فى نفسى حيث أشترى أكثر من ميكرو من محال مختلفة و اكتب عليها بالتتابع وهذا يتيح لى أمرين
1- احتفظ وقتيا بآخر نسخة عاملة حتى أصل لبرنامج به إضافات عاملة حتى أكمل البرنامج فأحيانا اضيف شيء يوقف البرنامج كله
2- لا أدرى لماذا لا يدوم ميكرو حتى العدد المدون فى الداتا شيت من إعادة البرمجة، فإن تلف ميكرو لسبب أو لآخر لا أضطر للتوقف حتى أشترى غيره

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

الصورة الرمزية assed
assed
:: عضو فضي ::
تاريخ التسجيل: Jul 2014
الدولة: العراق - بغداد
المشاركات: 1,034
نشاط [ assed ]
قوة السمعة:
قديم 29-05-2017, 01:04 AM المشاركة 19   
افتراضي


السلام عليكم
أخي عبدالله جرب هذا الكود
https://www.4shared.com/rar/ETagEHGpei/COED.html


الصورة الرمزية عبدالله حجازى
عبدالله حجازى
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2011
الدولة: مصر .. محافظة دمياط
المشاركات: 1,682
نشاط [ عبدالله حجازى ]
قوة السمعة:
قديم 29-05-2017, 08:03 AM المشاركة 20   
افتراضي اللهم انفعنا بما علمتنا وعلمنا ما ينفعنا وزدنا علما


مشكور جداااا علي اهتمامك ...

جربت الكود وكانت النتيجه تخريف وبينات غير صحيحه ...

وهذا كان ناتج نظرااااا لعدم عمل تهيئه لذاكرة الإبروم ...

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

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

وهكذا حليت مشكله البينات الغير صحيحه القادمه من ذاكرة الإبروم ..

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

ايضاااا كان يوجد ملاحظه علي الكود ... انت وضعت أمر الإنتظار قبل الكتابه علي ذاكرة الإبروم داخل الحلقه الشرطيه .. والأصح هو وضع أمر الإنتظار بعد أمر الكتابه علي ذاكرة الإبروم .. هذا لأن ذواكر الإبروم بطيقه قليلا وتحتاج الي 10 ميكرو سانيه لكي تكتب عليها أو تقرأ منها ..


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

مع انني تعاملت بكل سهوله مع المتحكم " pic16f877a " وتمت الكتابه والقرأه من ذاكرة الإبروم بكل سهوله ... لا اعلم أين المشكله ..

الله المستعان .. والصبر من عند الله ..


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


الصورة الرمزية assed
assed
:: عضو فضي ::
تاريخ التسجيل: Jul 2014
الدولة: العراق - بغداد
المشاركات: 1,034
نشاط [ assed ]
قوة السمعة:
قديم 29-05-2017, 11:18 AM المشاركة 21   
افتراضي


مشكور جداااا علي اهتمامك ...

جربت الكود وكانت النتيجه تخريف وبينات غير صحيحه ...

وهذا كان ناتج نظرااااا لعدم عمل تهيئه لذاكرة الإبروم ...

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

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

وهكذا حليت مشكله البينات الغير صحيحه القادمه من ذاكرة الإبروم ..

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

ايضاااا كان يوجد ملاحظه علي الكود ... انت وضعت أمر الإنتظار قبل الكتابه علي ذاكرة الإبروم داخل الحلقه الشرطيه .. والأصح هو وضع أمر الإنتظار بعد أمر الكتابه علي ذاكرة الإبروم .. هذا لأن ذواكر الإبروم بطيقه قليلا وتحتاج الي 10 ميكرو سانيه لكي تكتب عليها أو تقرأ منها ..


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

مع انني تعاملت بكل سهوله مع المتحكم " pic16f877a " وتمت الكتابه والقرأه من ذاكرة الإبروم بكل سهوله ... لا اعلم أين المشكله ..

الله المستعان .. والصبر من عند الله ..


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

تسند قيمة صفر كعنوان ام بداية المتغير ((i)) ان كان للمتغير i فالبرنامج فيه جملة شرطية اذا كان I = 0
كود:
 if(i==0)
      {i=1;   eeprom_write(0, i);  Delay_ms(250);}
بالنسبة لوضعي الانتظار اول الجملة الشرطية هي لتقليل سرعة استجابة البرنامج للأمر مما يجعله يكتب رقمين بضغطة واحدة .... واعتقد بما انها جملة شرطية لايؤثر الانتظار ان كان اولها أو اخرها .

لا تنزعج أخ عبدالله فالحياة تجارب


محمد إلياس
:: مهندس جيد ::
تاريخ التسجيل: Jan 2017
المشاركات: 229
نشاط [ محمد إلياس ]
قوة السمعة:
قديم 29-05-2017, 04:42 PM المشاركة 22   
افتراضي


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

2- في نفس الدائرة بعض مقاومات الحماية غير وموجودة
هل هي فقط دائرة محاكاة ؟
3- إذا كانت برمجة الايبروم الداخلي ل Pic 16F877a تتم بنجاح يمكن أن تجرب نفس الكود عليه لتحدد أين المشكلة؟ في البيك 16F84a أم في الكود ؟
طبعا مع إضافة الأمر:
;ADCON1=6
في بداية البرنامج.


الصورة الرمزية عبدالله حجازى
عبدالله حجازى
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2011
الدولة: مصر .. محافظة دمياط
المشاركات: 1,682
نشاط [ عبدالله حجازى ]
قوة السمعة:
قديم 30-05-2017, 04:00 AM المشاركة 23   
افتراضي اللهم انفعنا بما علمتنا وعلمنا ما ينفعنا وزدنا علما


وعليكم السلام اخ عبدالله حجازي
باين هذا المتحكم ناوي مش على خير منسيك حتى السلام . هههههههه

تسند قيمة صفر كعنوان ام بداية المتغير ((i)) ان كان للمتغير i فالبرنامج فيه جملة شرطية اذا كان I = 0
كود:
 if(i==0)
      {i=1;   eeprom_write(0, i);  Delay_ms(250);}
بالنسبة لوضعي الانتظار اول الجملة الشرطية هي لتقليل سرعة استجابة البرنامج للأمر مما يجعله يكتب رقمين بضغطة واحدة .... واعتقد بما انها جملة شرطية لايؤثر الانتظار ان كان اولها أو اخرها .

لا تنزعج أخ عبدالله فالحياة تجارب

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

شكرااا لك أخي الكريم ..


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


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

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

لأنه شرط أساسي في التعامل مع ذاكرة الإبروم هو وضع أمر انتظار لا يقل عن 5 ميكرو سانيه بعد أي عمله كتابه أو قرأه من ذاكرة الإبروم ..


تحياتي لك أخي الكريم


الصورة الرمزية عبدالله حجازى
عبدالله حجازى
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2011
الدولة: مصر .. محافظة دمياط
المشاركات: 1,682
نشاط [ عبدالله حجازى ]
قوة السمعة:
قديم 30-05-2017, 04:12 AM المشاركة 24   
افتراضي اللهم انفعنا بما علمتنا وعلمنا ما ينفعنا وزدنا علما


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

2- في نفس الدائرة بعض مقاومات الحماية غير وموجودة
هل هي فقط دائرة محاكاة ؟
3- إذا كانت برمجة الايبروم الداخلي ل Pic 16F877a تتم بنجاح يمكن أن تجرب نفس الكود عليه لتحدد أين المشكلة؟ في البيك 16F84a أم في الكود ؟
طبعا مع إضافة الأمر:
;ADCON1=6
في بداية البرنامج.


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

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

لكي نحل هذه المشكله اليك الأتي ..

كود:
   eeprom_write(0, 0);
ضع هذا الأمر بعد الداله الأساسيه في البرنامج وهو أمر كتابه علي ذاكرة الإبروم واسناد القيمه صفر للعنوان صفر .. وهذا ما اعنيه من تهيئه العنوان اللذي نريد التعامل معه في ذاكرة الإبروم ..

بعد ما تضع هذا الأمر
كود:
    eeprom_write(0,0);
في البرنامج ترجم البرنامج وشغل برنامج المحكاه .. وبعد ذالك اذهب الي الكود وألغي هذا الأمر
كود:
 eeprom_write(0, 0);
وايضاااا أعمل ترجمه للبرنامج واذهب الي برنامج المحكاه وشغله مرة أخري ولاحظ أن مشكله التخريف هذه اختفت هذااا لأن ذاكرة الإبروم من الممكن أن يكون مسجل عليها قيم قديمه من قبل المصنعين بهدف اختبار المنتج .. ولهذا يجب اسناد القيمه صفر لجميع العناوين المستخدمه في ذاكره الإبروم ...ونترجم البرنامج وبعد ذالك نلغي أمر كتابه القيمه صفر لكي نبدأ في التعامل مع ذاكرة الإبروم ..

بالنسبه للدائره نعم هي للمحكاه فقط ويجب وضع مقومات تحديد التيار لل 7سيجمينت ...

تحياتي لك ....


التعديل الأخير تم بواسطة : عبدالله حجازى بتاريخ 30-05-2017 الساعة 04:44 AM


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