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

   

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 9,848
نشاط [ حيدر علاج حسن ]
قوة السمعة:
قديم 21-12-2009, 01:53 AM المشاركة 1337   
افتراضي



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


هذة مشاركة عامة لجميع الاخوة

وهى ناتج تجربة وللتاكد منها قمت بتجارب كثيرة جدا وتغيير الميكرو نفسة ثم تغيير الاى سى المساعد ((اقصد هنا 74hcxxx))

وهذة ال xxx معناها انى قمت بالاختبارات على اكثر من مسجل ازاحة


اما النتيجة وهذا مااردت ان تعرفوة جميعا وتنتبهوا الية وخاصة من يقوم منكم بمشاريع فعلية


النتيجة هى كالاتى :


الاغلبية هنا يعلمون ان مسجل الازاحة ياخذ تعليماتة من خلال البورت a

باعطاء المدخل porta.f0 data

واعطاء المدخل porta.f1 clk


النتيجة هى كالتالى يقوم ال porta بوظائفة بشكل ممتاز 100%


ويستمر لفترة قد تختلف فى الزيادة او النقصان من مشروع الى اخر

وبعد فترة ترفض porta اعطاء البيانات او اخراجها


وبما ان مسجلات الازاحة لها اهمية تشغيل المشروع فيتوقف المشروع بالكامل


وهذا ماحدث معى عند اجراء اختبارات مدة تشغيل لمشروع (led matrix)


وقد قمت بتنفيذة على ارض الواقع كما شاهدتم فى موضوعى (لفظ الجلالة بال led matrix )


وبناء على ذلك احببت ان اضع لكم هذة النصيحة لا تثقوا كثيرا فى porta

ولا اخفى عنكم فانا لا اعلم السبب فى ذلك

ولكن احببت ان لا يقع احدكم فى هذا الخطا

وخاصة من يقومون بمشاريع واقعية او مشاريع تخرج وهكذا

تخيلوا عند تقديم المشروع .............يتوقف المشروع عن العمل هههههههههه




والحل :

على جميع من يتعاملون مع المشاريع على ارض الواقع
ان يستبدلو الميكرو 16f84a بالميكرو 16f877a

وايضا استبدال استخدام بورت a باى بورت اخر

((قد يلاحظ بعضكم صدق هذا الكلام حتى انة احيانا فى البريتوس ترفض بورت a تنفيذ1 الاوامر )

اللهم قد بلغت اللهم فاشهد

اخي ناصر .
دائما تجنب استخدام a4 كخرج .
اما البقية فانت حر في التعامل معها .

اعلانات

الصورة الرمزية ناصراحمد2
ناصراحمد2
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: EGYPT
المشاركات: 1,315
نشاط [ ناصراحمد2 ]
قوة السمعة:
قديم 21-12-2009, 02:27 AM المشاركة 1338   
افتراضي


اخي ناصر .
دائما تجنب استخدام a4 كخرج .
اما البقية فانت حر في التعامل معها .
السلام عليكم ورحمة الله وبركاتة

كيف حالك اخى حيدر

اتمنى ان تزور موضوع لفظ الجلالة

وتقارن بين حجم ملف الهكس الاخير وماقبلة

وتقوم بتجربتة لانة بحمد الله تم اختصار الكود بشكل كبير


+++++++++++++++++++++++++++++++++++++++++++


اما بخصوص بورتa


فانا لم اتعامل مع رقم4 نهائى

وانا اتكلم على البورت بالكامل


وهذا عن تجربة


وعلى كل من يشاهد مشاركتى لة الحرية

فى الاخذ بها او رفضها





بالتوفيق للجميع ان شاء الله

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

نبيل د
:: مهندس ::
تاريخ التسجيل: Mar 2008
المشاركات: 27
نشاط [ نبيل د ]
قوة السمعة:
قديم 21-12-2009, 01:27 PM المشاركة 1339   
افتراضي


طبيعي جدا ان لا يقرأ سوى 255
والسبب واضح و بسيط
لاحظ :
k هنا unsigned int أي يمكن أن يحمل الى غاية العدد 65536
ولكن write_buffer هو unsigned char

هنا ماهو الحل السطرين الاول والثاني
unsigned int Read_buffer[64];.....................0
unsigned int Write_buffer[64];....................0
السلام عليكم
بارك الله فيك يا اخي lahoioui لقد استبدلت char ب int لكن البرنامج لا يعمل
هل يمكن ان يكون الخطا في برنامج الفيجوال بيسك(برنامج الكمبيوتر)


نبيل د
:: مهندس ::
تاريخ التسجيل: Mar 2008
المشاركات: 27
نشاط [ نبيل د ]
قوة السمعة:
قديم 21-12-2009, 01:51 PM المشاركة 1340   
افتراضي


بعد اذن الاخ lahoioui
اخى نبيل ما المشكلة تحديدا هل تستطيع عمل compile من غير اخطاء ام ان الخرج غير سليم (وفى هذه الحالة ما هو الخرج )
وما الذى تود فعله خاصة فى هذا الجزء من الكود
كود:
TRISB = 0xFF;......................................0
TRISD = 0xFF;......................................0
k =PORTB;..........................................0
k =k<<8;...........................................0
k =k+PORTD;........................................0
انا فى انتظارك
السلام عليكم
شكرا لك اخي robota على الاهتمام نعم استطيع عمل compile من غير اخطاء اما المطلوب فانا اريد قراءة قيم ارجل البيك(16 رجل portb&portd) وارسالها الى الكمبيوتر عبر usb لكن اقصى قيمة تظهر في برنامج الفيجوال هي 255 اما وظيفة هدا الجزء من الكود وضع portb و portd في متغير واحد و هو k
لقد حاولت وضع صورة برنامج الفيجوال لكن لم اعرف طريقة ادراج صورة في هده الصفحة وهو برنامج ماخود من كتاب Advanced PIC Microcontroller Projects in C مع بعض التعديلات


الصورة الرمزية king5star
king5star
:: مهندس جيد ::
تاريخ التسجيل: Jun 2008
الدولة: Alexandria, Egypt
المشاركات: 238
نشاط [ king5star ]
قوة السمعة:
قديم 21-12-2009, 02:43 PM المشاركة 1341   
افتراضي


مهندس أحمد سمير هل من الممكن ان تشرح لى كيفية تفعيل المحارج الخاصة
بـ( pic16f628a) لان مساحتة اكبر الضعف من (pic16f84) والذاكرة الاحتياطية اكبر وعدد المخارج اكبر حبث ان RA = 8 RB = 8 ومدمج معه فى التركيب الداخلى المذبذب الخاص بيه وهو بقيمة 4MHZ وارخص فى السعر ولذلك قام بتغيرهم وتفعيلهم للمخرج A5 /A6 ولكن يجب تفعيلهم من برنامج MikroC

ووفقك الله دائماً


وهذا رسم توضيحى للمتحكم



وهذه مقارنه بين المتحكمين لتوضبح الاختلاف

أضغط هنا لمشاهدة المقارنه




التعديل الأخير تم بواسطة : king5star بتاريخ 21-12-2009 الساعة 02:49 PM

الصورة الرمزية king5star
king5star
:: مهندس جيد ::
تاريخ التسجيل: Jun 2008
الدولة: Alexandria, Egypt
المشاركات: 238
نشاط [ king5star ]
قوة السمعة:
قديم 21-12-2009, 02:53 PM المشاركة 1342   
افتراضي


مهندس أحمد سمير هل من الممكن ان تشرح لى كيفية تفعيل المحارج الخاصة
بـ( pic16f628a) لان مساحتة اكبر الضعف من (pic16f84) والذاكرة الاحتياطية اكبر وعدد المخارج اكبر حبث ان RA = 8 RB = 8 ومدمج معه فى التركيب الداخلى المذبذب الخاص بيه وهو بقيمة 4MHZ وارخص فى السعر ولذلك قام بتغيرهم وتفعيلهم للمخرج A5 /A6 ولكن يجب تفعيلهم من برنامج MikroC

ووفقك الله دائماً

وهذا رسم توضيحى للمتحكم



وهذه مقارنه بين المتحكمين لتوضبح الاختلاف

أضغط هنا لمشاهدة المقارنه


lahoioui
:: مهندس متواجد ::
تاريخ التسجيل: May 2009
المشاركات: 177
نشاط [ lahoioui ]
قوة السمعة:
قديم 21-12-2009, 03:37 PM المشاركة 1343   
افتراضي


اخي ناصر .
دائما تجنب استخدام a4 كخرج .
اما البقية فانت حر في التعامل معها .
نعم هذا راجع لتركيبة ال pic من الداخل لكن يمكن أن نستعمل ال RA4 كخرج بشكل عادي باظافة مقاومR الى ال VDD كما سوف أوضح
لاحظ الارجل من RA0 الى RA3



هنا الارجل من RA0 الى RA3 يمكن أن تخرج القيمة 0 أو القيمة 1

لكن لاحظ تركيبة ال RA4 من الداخل



هذا يسمى transistor a colecteur ouvert

ونحتاج هذا الشكل في تطبيقات عديدة
فماذا نعمل هنا لنجعله يعمل كالباقي نضيف مقاومة R من رجل ال pic الى +(vdd)

ملاحظة :

معروف أن رجل ال pic يمكن أن تعطي 20ma كخرج موجب
أذا كانت الدارة المربوطة مع رجل ال pic لا تستهلك تيار كأن تكون مسجل أو ic
نستعمل مقاومة R=10k كافية
لكن اذا كانت غير ذلك وأردنا أن نحصل على نفس خرج ال pic هنا نجعل المقاومة
R=270 أوم فقط لنحصل على 19ma


التعديل الأخير تم بواسطة : lahoioui بتاريخ 21-12-2009 الساعة 06:38 PM

lahoioui
:: مهندس متواجد ::
تاريخ التسجيل: May 2009
المشاركات: 177
نشاط [ lahoioui ]
قوة السمعة:
قديم 21-12-2009, 09:44 PM المشاركة 1344   
افتراضي


السلام عليكم
يجب تعريف المتغير K كالاتى
كود:
unsigned long k;
بالتوفيق
لماذا long يا أخي robota ما int كفاية بزاف (كثير)
int تعني 16bits هنا المتغير يمكن أن يحمل 2 أس 16 عدد أي 65535 مع 0 المجموع 65536 رقم . هذا اذا كان المتغير موضوع ليحمل أعداد موجبة فقط
اما اذا كان المتغير موضوع ليحمل أعداد موجبة أو سالبة هنا نحتاج الى bit في البداية لوضع الاشارة فيبقى لدينا 15bits فقط أي يمكن أن يحمل 2 أس 15 من الاعداد وهو 32766 مع ال0 أي 32767 عدد يمكن وضعه في هذا المتغير
long تعني 32bits
char تعني 1byte أي 8bits هو لا يحمل سوى 255 عدد فقط مع 0
أي 256 عدد
نقصد بكلمة عدد هنا ترميز أي مثلا 00000001 يعتبر ترميز على 8bits أو 1byte
فهذا يمثل 1 في النظام العشري لكن نحن يمكن أن نعتبره يمثل 1 أو a مثلا
حسب نوع الترميز المستعمل
مثلا code ascil هو أحد أنواع الترميز


التعديل الأخير تم بواسطة : lahoioui بتاريخ 22-12-2009 الساعة 02:48 PM


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