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

   

الصورة الرمزية اكترونى بشري
اكترونى بشري
:: مهندس متواجد ::
تاريخ التسجيل: Apr 2010
الدولة: libya-tripoli
المشاركات: 199
نشاط [ اكترونى بشري ]
قوة السمعة:
قديم 05-11-2012, 11:04 PM المشاركة 9   
افتراضي تفضل اخى الكريم



السلام عليكم

اخي الكترو جرب هذا الكود

كود:
#define sw1 porta.f0
#define led1 portb.f0
#define on 1
#define off 0
#define pressed 0


void main()
{

trisb=0;                   
portb=0;
porta=0;
trisa=0b0000001;


    while(1)
    {
    if(sw1==pressed )
     {led1=on;



   }



 }



}
وهذه طريقه التوصيل



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

اعلانات

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 9,848
نشاط [ حيدر علاج حسن ]
قوة السمعة:
قديم 06-11-2012, 12:04 PM المشاركة 10   
افتراضي


حصل عندي التباس في عمل الكود ...
ممكن توضح المطلوب بالضبط ...

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

الصورة الرمزية اكترونى بشري
اكترونى بشري
:: مهندس متواجد ::
تاريخ التسجيل: Apr 2010
الدولة: libya-tripoli
المشاركات: 199
نشاط [ اكترونى بشري ]
قوة السمعة:
قديم 06-11-2012, 03:00 PM المشاركة 11   
افتراضي بالتوفيق


حصل عندي التباس في عمل الكود ...
ممكن توضح المطلوب بالضبط ...

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


الصورة الرمزية ناصراحمد2
ناصراحمد2
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: EGYPT
المشاركات: 1,315
نشاط [ ناصراحمد2 ]
قوة السمعة:
قديم 06-11-2012, 05:36 PM المشاركة 12   
افتراضي


السلام عليكم ورحمة الله وبركاتة
البرنامج كدة سليم وتمام والبك نفذماامرتة بة
والسبب هنا انك حددت مدة اضائة الليد ب 250 ملى ثانية
وهذة لا تكفى الا ربع ثانية
وبمجرد ان ترفع يدك من على السويتش تنقضى هذة المدة بسرعة لا تتخيلها .

ويعود البرنامج الى نقطة البداية .


والحل هو حزف الديلاى من الكود
الا اذا كنت تريد ان تكون الاضائة لوقت محدد ثم ينطفىء ..............................



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


الصورة الرمزية اكترونى بشري
اكترونى بشري
:: مهندس متواجد ::
تاريخ التسجيل: Apr 2010
الدولة: libya-tripoli
المشاركات: 199
نشاط [ اكترونى بشري ]
قوة السمعة:
قديم 06-11-2012, 06:46 PM المشاركة 13   
افتراضي


السلام عليكم ورحمة الله وبركاتة
البرنامج كدة سليم وتمام والبك نفذماامرتة بة
والسبب هنا انك حددت مدة اضائة الليد ب 250 ملى ثانية
وهذة لا تكفى الا ربع ثانية
وبمجرد ان ترفع يدك من على السويتش تنقضى هذة المدة بسرعة لا تتخيلها .

ويعود البرنامج الى نقطة البداية .


والحل هو حزف الديلاى من الكود
الا اذا كنت تريد ان تكون الاضائة لوقت محدد ثم ينطفىء ..............................



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

وهذا الكود الى طبقت به من جديد
كود:
void main() 
{ char x;
 cmcon=7;
  portb=0;
   trisb=0;
    trisa.f0=1;
 while(1)
 {
  if(porta.f0==0)
 {
  portb=0b11111111;
   } } }


الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 9,848
نشاط [ حيدر علاج حسن ]
قوة السمعة:
قديم 06-11-2012, 07:08 PM المشاركة 14   
افتراضي


هذا الكود يعمل كالتالي :
عند الضغط على المفتاح لا يحصل شيء مالم نرفع يدنا عنه فتشتغل الليدات و تبقى كذلك . و عندما نضغط مرة ثانية ايضا لا يحصل شيء حتى نرفع يدنا عن المفتاح فتنطفيء الليدات ... و هكذا ..

كود:
Void main()
{cmcon=7;
Trisa.f0=1; trisb=0; portb=0;
While(1) {
                        If(porta.f0==0){ while(porta.f0==0){}
                         While(porta.f0)  Portb=0xff;
                         while(porta.f0==0){}
                       While(porta.f0)  Portb=0;}
                         

                  }}


الصورة الرمزية اكترونى بشري
اكترونى بشري
:: مهندس متواجد ::
تاريخ التسجيل: Apr 2010
الدولة: libya-tripoli
المشاركات: 199
نشاط [ اكترونى بشري ]
قوة السمعة:
قديم 06-11-2012, 08:46 PM المشاركة 15   
افتراضي استفسار


هذا الكود يعمل كالتالي :
عند الضغط على المفتاح لا يحصل شيء مالم نرفع يدنا عنه فتشتغل الليدات و تبقى كذلك . و عندما نضغط مرة ثانية ايضا لا يحصل شيء حتى نرفع يدنا عن المفتاح فتنطفيء الليدات ... و هكذا ..

كود:
Void main()
{cmcon=7;
Trisa.f0=1; trisb=0; portb=0;
While(1) {
                        If(porta.f0==0){ while(porta.f0==0){}
                         While(porta.f0)  Portb=0xff;
                         while(porta.f0==0){}
                       While(porta.f0)  Portb=0;}
                         

                  }}

اخ حيدر الكود به خطا عندما اريد عمل بيلد له على الميكرو سي يعطنر ايروور لو تعطنى الملف جاهز يكون افضل
البيك هو 628a
كريستالة داخلية بتردد 4 ميجا
اى شي تانى انا فى انتظرك اخى

وهذى صورة لما يحدث بالضبط اخى حيدر



التعديل الأخير تم بواسطة : اكترونى بشري بتاريخ 06-11-2012 الساعة 08:51 PM السبب: اضافة صورة للمشكلة

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 9,848
نشاط [ حيدر علاج حسن ]
قوة السمعة:
قديم 06-11-2012, 09:15 PM المشاركة 16   
افتراضي


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



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