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

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

الصورة الرمزية wleed antar
wleed antar
:: عضو ماسي ::
تاريخ التسجيل: May 2006
الدولة: القاهرة - مصر
المشاركات: 1,524
نشاط [ wleed antar ]
قوة السمعة:146
قديم 24-07-2008, 09:09 AM المشاركة 1   
افتراضي سؤال محيرنى بخصوص pic16f877a ؟ Twitter FaceBook Google+



السلام عليكم ورحمة الله وبركاته
برجاء تفسير عدم استجابة اطراف portA & portE الخاصة بالانالوج اذا حاولت استخدامها كاطراف عادية مثل باقى اطراف المتحكم ، فاذا جعلت portA
خرج وجعلت كافة اطرافة ON فان الطرف A.3 لا يضئ سواء فى الحقيقة أم فى البروتوس ، وبالنسبة ل portE فاذا كان دخل فلا يستجيب اطلاقا فهل هناك تعليمات خاصة بهذان السجلان ؟؟ طبعا الكلام بعيدا عن الانالوج
أما بالنسبة لاستخدام كونفرتر انالوج الى ديجيتال فما التعليمة التى تشير الى بورت E ليكون هو المقصود بدلا من A
وجزاكم الله خيرا


التعديل الأخير تم بواسطة : wleed antar بتاريخ 24-07-2008 الساعة 09:13 AM
اعلانات

زكي شاكر
:: عضو ماسي ::
تاريخ التسجيل: May 2006
الدولة: المغرب
المشاركات: 3,062
نشاط [ زكي شاكر ]
قوة السمعة:183
قديم 24-07-2008, 11:03 AM المشاركة 2   
افتراضي


السلام عليكم
RA3 طرف متعدد الوظائف من بينها امكانية تحديده كمرجعية جهد الحد الاعلى للتحويل التماثلي (+V.ref).
فاذا تم ذلك فانه بالطبع يتحول الى دخل.
وهذا متعلق ايضا بالبورت E الذي هو في الواقع مكمل لقنوات A/D الثمانية التي تبدأ مع RA0 وتنتهي مع RE2 باستثناء RA4 فهي غير معنية بالانالوج.
راجع اذن اعدادات ADCON0 و ADCON1 وتأكد بان خاصية A/D غير مفعلة حتى تتمكن من تحديد الاطراف A كمداخل ومخارج رقمية.
كما ان اعدادات اختيار المدخل الذي تريد من A او E واعداده كمدخل انالوج.. تتم هناك (ADCON0 و ADCON1) لكن لا تنس TRISAو TRISE .
بالتوفيق ان شاء الله..


التعديل الأخير تم بواسطة : زكي شاكر بتاريخ 24-07-2008 الساعة 12:58 PM
اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

زكي شاكر
:: عضو ماسي ::
تاريخ التسجيل: May 2006
الدولة: المغرب
المشاركات: 3,062
نشاط [ زكي شاكر ]
قوة السمعة:183
قديم 24-07-2008, 12:06 PM المشاركة 3   
افتراضي


اكثر دقة:
حتى تتمكن من جعل PORTA و PORTE كمداخل/ مخارج (I/O) عادية (رقميةD)، لابد من وضع القيمة 0110 او 0111 (او مايقابلهما بالهكس) في السجل:
ADCON1
ارجو لك التوفيق..


الصورة الرمزية wleed antar
wleed antar
:: عضو ماسي ::
تاريخ التسجيل: May 2006
الدولة: القاهرة - مصر
المشاركات: 1,524
نشاط [ wleed antar ]
قوة السمعة:146
قديم 24-07-2008, 01:27 PM المشاركة 4   
افتراضي


جزاك الله خيرا على الاهتمام وجارى التجربة


الصورة الرمزية wleed antar
wleed antar
:: عضو ماسي ::
تاريخ التسجيل: May 2006
الدولة: القاهرة - مصر
المشاركات: 1,524
نشاط [ wleed antar ]
قوة السمعة:146
قديم 26-07-2008, 07:08 AM المشاركة 5   
Exclamation


كل شئ تمام الله يبارك لك ويوفقك لما يحب ويرضى
لكن يبقى طرف
porta.4 فى حالة الخرج لا يخرج فما تعليمة هذا الطرف ؟
------------------------------------------------------
وأريد معرفة كيف تجعل أطراف من البورت a أو e خرج أو دخل ديجيتال عادى واذا جعلت البورت عادى فكيف يمكن تخصيص طرف محدد ليكون كنفرتر من انالوج الى ديجيتال من وسط باقى الاطراف الديجيتال ؟؟
فمع التجارب وجدت أن البورت a و e لايفرق معهم تحديد اطراف خرج واخرى دخل مثل اى بورت عادى فاذا قلت اجعل البورت d يساوى a وادخلت فولت على اطراف a تتم العملية حتى ولو كنت محدد a كاطراف خرج ؟؟؟؟
-------------------------------------------------------
شكرا لك على سعة صدرك وجزاك الله خيرا وبالتوفيق


التعديل الأخير تم بواسطة : wleed antar بتاريخ 26-07-2008 الساعة 07:22 AM

زكي شاكر
:: عضو ماسي ::
تاريخ التسجيل: May 2006
الدولة: المغرب
المشاركات: 3,062
نشاط [ زكي شاكر ]
قوة السمعة:183
قديم 26-07-2008, 07:47 AM المشاركة 6   
افتراضي


كل شئ تمام الله يبارك لك ويوفقك لما يحب ويرضى

الحمد لله الذي جعلك أخي الكريم تصل الى الحل.. وشكرا على دعائك الصالح.
porta.4 فى حالة الخرج لا يخرج فما تعليمة هذا الطرف ؟
لا يحتاج لتعليمة وانما لاجراء "الكتروني " معين:
RA4 في حالة اعداده كخروج ، يتحول الى open drain أي الخروج يصبح وكأنه طرف ترانزيستور Mosشاغر فيحتاج بالضرورة الى مقاومة تسمى Pull-up
لاشعال الليد متلا ب RA4 توصل كاتود الليد ب RA4 وانود الليد بالطرف الاول لقاومة عادية (330 اوم مثلا) وطرفها الاخر ب +5فولت.
بهذا يصبح drain الترانزيستور بداخل البيك محملا بالمقاومة والليد فتكتمل الدارة الكهربائية.
الصورة توضح اهمية مقاومة Pull-up :

فاذا قلت اجعل البورت d يساوى a وادخلت فولت على اطراف a تتم العملية حتى ولو كنت محدد a كاطراف خرج ؟؟؟؟
اخي الكريم لم افهم ماذا تقصد ب d يساوى a ؟


التعديل الأخير تم بواسطة : زكي شاكر بتاريخ 26-07-2008 الساعة 07:53 AM

الصورة الرمزية wleed antar
wleed antar
:: عضو ماسي ::
تاريخ التسجيل: May 2006
الدولة: القاهرة - مصر
المشاركات: 1,524
نشاط [ wleed antar ]
قوة السمعة:146
قديم 26-07-2008, 01:38 PM المشاركة 7   
Exclamation


جزاك الله خيرا على المعلومة وجعل ذلك فى ميزان حسناتك
--------------------------------
الذى اقصده ان اجعل البورت D يساوى البورت A فاذا كان RA.0 = ON فان الطرف المقابل RD.0 يضئ الليد وهكذا

:main
trisa = $FF
trisd = 0
while true
portd = porta
wend
.end
لكن لايفرق معى اذن بورت a دخل ام خرج فلايحدث اى تغير ابدا (trisa = (xx فكيف نحدد اطراف لتكون خرج واطراف لتكون دخل وكيف اجعل طرف محدد هو وحده انالوج الى ديجيتال ؟


زكي شاكر
:: عضو ماسي ::
تاريخ التسجيل: May 2006
الدولة: المغرب
المشاركات: 3,062
نشاط [ زكي شاكر ]
قوة السمعة:183
قديم 26-07-2008, 06:24 PM المشاركة 8   
Smile اعدادت محول A/D


اخي الكريم:
لإعداد المداخل والمخارج عند استعمال وظيفة التحويل A/D للبيك 16f877a تحتاج للتحكم في السجلات الاتية:
.................................................. ..........
1/TRISA و/ أو TRISE :
لتحدد المداخل والمخارج بصفة عامة ..
.................................................. ..........
2/ ADCON1 :
لتحدد المدخل هل هو تماثلي أم رقمي ام مدخل مرجعي VREF (لكن هناك بعض القيود).
تتم هذه الإعدادات في هذا السجل وذلك بإعطاء القيم المناسبة لبيتاته الأربع bit0,bit1,bit2,bit3
وهي: PCFG0PCFG1PCFG2PCFG3

ومن خلال بيانات الجدول ستلاحظ انه ليست هناك حرية مطلقة في تحديد وظيفة مدخل بمعزل عن المداخل الآخرى.. ومن هنا كانت الصعوبة التي واجهتك، ربما..

.................................................. ...
3/ ADCON0 :
لتختار القناة التماثلية التي تريد، من بين 8 قنوات التماثلية RA0…RE2، (باستثناء RA4 المحددة رقمية اجباريا).
ملاحظة: محول البيك لا يتعامل دفعة واحدة مع القنوات.. بل واحدة بعد الأخرى. فاذا كنت تريد استعمال أكثر من قناة إدخال تماثلي، عليك أن تحدد الترتيب الذي يناسبك.
تتم هذه الإعدادات في السجل وبالضبط :
البيتات bits : 5-4-3 ، Channel Select bits: CHS0 - CHS1 - CHS2

................................................
تلخيص الإعدادات في الجدول: FIGURE 11-1: A/D BLOCK DIAGRAM

..............................................
الواقع ان المشتغل بالاسمبلي يمر من كل هذه المراحل وغيرها.. فهناك إعدادات أخرى لإكمال عملية التحويل (يمكن الاطلاع عليها في الداتا شيت لكل بيك).
لكن المشتغل بالاسمبلي من جهة أخرى، لا يفعل ذلك كل مرة، بل يحتفظ ببرامج صغيرة تؤدي مهام متنوعة ، يسمى الواحد منها Routine.
وعند الحاجة وبعد إجراء تعديلات طفيفة عليها.. ينادي عليها بالتعليمة include او يدمجها في برنامجه الجديد.

أظن ان كومبيلر البيك بيزك الذي تشتغل عليه يقوم ربما، بالكثير منها ويعفيك من الخوض في تفاصيلها.


أتمنى ان اكون قد وفقت في توضيح الفكرة وان لا أكون قد أطلت عليك.. وارجو لك التوفيق ان شاء الله..





التعديل الأخير تم بواسطة : زكي شاكر بتاريخ 26-07-2008 الساعة 09:24 PM السبب: إضافة جداول توضيحية
إضافة رد

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

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

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


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

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