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

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

eng-hassan
:: مهندس ::
تاريخ التسجيل: Apr 2011
الدولة: Makkah
المشاركات: 41
نشاط [ eng-hassan ]
قوة السمعة:0
قديم 02-09-2011, 07:10 AM المشاركة 1   
ha مشكلة مع PIC16F877A Twitter FaceBook Google+



السلام عليكم ورحمة الله وبركاته
عندما كتبت برنامج بسيط لاضاءة ليد واحد باستخدام السويتش على PIC16F84A
عمل البرنامج بدون اي مشاكل ولكن عندما استخدمت نفس البرنامج ونفس التوصيل على PIC16F877A حدثت المشكلة وبقي الليد مضيء سواءا ضغطت على السويتش او لم تضغط والبرنامج هو


void main()
{ TRISA=0B00011111; TRISB=0;
loop:
if (PORTA.F0==0) PORTB.F0=1;
else PORTB.F0=0;
goto loop;
}



وهذه الصور:






وهذي المشكلة عطلتني كثير لاني كاتب برنامج كبير و مطبقو على PIC16F84A
وشغال وخايف انو ما يطبق على PIC16F877A
فهل هناك تعديلات يجب اضافتها الى البرنامج ليعمل بشكل افضل ؟

اعلانات

zezo010
:: مهندس ::
تاريخ التسجيل: Oct 2008
الدولة: مصــــــــ Egypt ــــــــر
المشاركات: 31
نشاط [ zezo010 ]
قوة السمعة:0
قديم 02-09-2011, 07:43 AM المشاركة 2   
افتراضي


اعتقد ان الدخل سيتغير فى 77 لأنها تختلف عن 84 حيث ان لها دخلين

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

charaf
:: مهندس متواجد ::
تاريخ التسجيل: Nov 2010
المشاركات: 127
نشاط [ charaf ]
قوة السمعة:0
قديم 02-09-2011, 07:59 AM المشاركة 3   
افتراضي


you should writ that after void main()
adcon1=0x07
that mean make all pins digital do that


eng-hassan
:: مهندس ::
تاريخ التسجيل: Apr 2011
الدولة: Makkah
المشاركات: 41
نشاط [ eng-hassan ]
قوة السمعة:0
قديم 02-09-2011, 10:39 AM المشاركة 4   
افتراضي


you should writ that after void main()
adcon1=0x07
that mean make all pins digital do that
جربتها مافي فائدة للاسف .....


eng-hassan
:: مهندس ::
تاريخ التسجيل: Apr 2011
الدولة: Makkah
المشاركات: 41
نشاط [ eng-hassan ]
قوة السمعة:0
قديم 03-09-2011, 01:57 AM المشاركة 5   
افتراضي


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


hamdysoltan
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2010
المشاركات: 151
نشاط [ hamdysoltan ]
قوة السمعة:0
قديم 03-09-2011, 05:33 PM المشاركة 6   
افتراضي


ياجماعة الخير ساعدوني يعني مشكلة زي هذي اتوقع انها بسبطة عليكم ايش هذا ..
والله يا بشمهندس انى جربت البرنامج عندى واشتغل فا يعنى اللى هقولك عليه
بسى هو ان الامر adcon1=0x07; يكون مكتوب واتاكد من بروتس بانك اخترت نفس الكريستالة اللى اخترتها فى الميكرو سى وحط الامر اللى هو portb =0 اللى هو بيمثلى القيمة اابتدائية قبل while واتمنى بقى انه يشتغل زى ما اشتغل عندى


almoflehy
:: مهندس جيد ::
تاريخ التسجيل: Apr 2007
الدولة: YEMEN
المشاركات: 252
نشاط [ almoflehy ]
قوة السمعة:0
قديم 04-09-2011, 12:13 AM المشاركة 7   
افتراضي


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

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

كود:
void main() 
{

adcon1=0x07;
TRISA=0B00011111; TRISB=0; PORTB=0;
loop:
if (PORTA.F0==0) PORTB.F0=1;
else PORTB.F0=0;
goto loop;

}
بالتوفيق..


eng-hassan
:: مهندس ::
تاريخ التسجيل: Apr 2011
الدولة: Makkah
المشاركات: 41
نشاط [ eng-hassan ]
قوة السمعة:0
قديم 04-09-2011, 01:20 PM المشاركة 8   
افتراضي


الف شكر لكما على هذه المساعدة وان شاء تحتسب لكما في ميزان حسناتكم جريتها مرة ثانية واشتغلت

إضافة رد

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

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

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


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

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