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

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

الصورة الرمزية أبو زكووور
أبو زكووور
:: عضو فضي ::
تاريخ التسجيل: Mar 2009
الدولة: سوريا العروبة
المشاركات: 436
نشاط [ أبو زكووور ]
قوة السمعة:81
قديم 21-05-2009, 10:54 PM المشاركة 1   
attension طلب مساعدة في الميكرو سي Twitter FaceBook Google+



السلام عليكم أيها الإخوة مشرفين و أعضاء
و شكراً لمساهماتكم و نقاشاتكم
و تحية خاصة للأستاذ زكي شاكر و الأستاذ حيدر ...
أحتاج لمساعدتكم في موضوع إستعصى عليَّ كثيراً
و لم أستطيع التوصل لأكثر من هذا


http://filaty.com/f/905/69410/AH.rar.html



أريد من المتحكم PIC16F84 أن يعطيني الحالات المنطقية التالية على البورتات
B0 B1 B2 B3 B4 B5
عند البداية تكون حالة البورتات 000000
عند الضغط على المفتاح SW1 و مع إستمرار الضغط فقط
تبدأ المخارج بالوميض بالتدريج على هذا النحو
000000
000001
000011
000111
001111
011111
111111
و تتوقف عن الحركة عند رفع الضغط عن SW1
و تستمر من نفس المكان عند إعادة الضغط
و تتوقف الحركة عندما تكون الحالة 111111 مهما كانت حالة SW1
أما عند الضغط على SW2 ومع إستمرار الضغط فقط
ينقص عدد المخارج المومضة بالتدريج من أي وضعية تكون عليها المخارج
مع التوقف عن النقصان عند الحالة 000000 مهما كانت حالة SW2

شكراً جزيلاً لكم أيها الإخوة و بوركت جهودكم .


التعديل الأخير تم بواسطة : أبو زكووور بتاريخ 22-05-2009 الساعة 03:48 PM
اعلانات

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:395
قديم 22-05-2009, 09:32 PM المشاركة 2   
افتراضي


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


كود:
char n[10]={0,1,3,7,15,31,63},i; void main() { trisa.f0=1;trisa.f1=1;trisb=0;portb=0; loop: while(porta.f0==0 && i<6) { i++; portb=n[i];delay_ms(500); } while(porta.f1==0 && i>0) { i--; portb=n[i];delay_ms(500); } goto loop; }

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

الصورة الرمزية أبو زكووور
أبو زكووور
:: عضو فضي ::
تاريخ التسجيل: Mar 2009
الدولة: سوريا العروبة
المشاركات: 436
نشاط [ أبو زكووور ]
قوة السمعة:81
قديم 22-05-2009, 09:36 PM المشاركة 3   
attension السلام عليكم


شكراً جزيلاً أخي حيدر
بارك الله فيك جزاك الله كل الخير في الدنيا و في الآخرة إنشاء الله ...
سوف أعمل به فوراً
السلام عليكم


الصورة الرمزية أبو زكووور
أبو زكووور
:: عضو فضي ::
تاريخ التسجيل: Mar 2009
الدولة: سوريا العروبة
المشاركات: 436
نشاط [ أبو زكووور ]
قوة السمعة:81
قديم 22-05-2009, 09:49 PM المشاركة 4   
attension السلام عليكم


شكرا لك أخي حيدر مرة أخرى
وضعت الكود على البروتوس هنالك مشكلة
البورتات تعمل دون الضغط على أي مفتاح
يجب عند الضغط على SW1 البورتات المومضة يزداد عددها ( فقط عند الضغط ) حتى تومض جميعها
كذلك الأمر بالنسبة عند الضغط على SW2
البورتات المومضة ينقص عددها حتى تنطفيء جميعها
أرجوا ملاحظة هذه المشكلة
شكرا لك أخي حيدر .


الصورة الرمزية أبو زكووور
أبو زكووور
:: عضو فضي ::
تاريخ التسجيل: Mar 2009
الدولة: سوريا العروبة
المشاركات: 436
نشاط [ أبو زكووور ]
قوة السمعة:81
قديم 22-05-2009, 09:54 PM المشاركة 5   
attension السلام عليكم


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


كود:
char n[10]={0,1,3,7,15,31,63},i;
void main()
{
trisb=0b11000000;
portb=0b11000000;
loop:
while(portb.f6==0 && i<6)
                        {
                        i++;
                        portb=n[i];delay_ms(500);
                        }
while(portb.f7==0 && i>0)
                        {
                        i--;
                        portb=n[i];delay_ms(500);
                        }
goto loop;
}


الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:395
قديم 22-05-2009, 09:55 PM المشاركة 6   
افتراضي


الله يبارك بيك واتمنى لك التوفيق ان شاء الله تعالى

حيدر علاج حسن

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:395
قديم 22-05-2009, 10:06 PM المشاركة 7   
افتراضي


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

حيدر علاج حسن

الصورة الرمزية أبو زكووور
أبو زكووور
:: عضو فضي ::
تاريخ التسجيل: Mar 2009
الدولة: سوريا العروبة
المشاركات: 436
نشاط [ أبو زكووور ]
قوة السمعة:81
قديم 22-05-2009, 10:21 PM المشاركة 8   
attension السلام عليكم


اخي ابو زكور
لاجل الفائدة فقط . انا جربت الكود قبل ان اضعه هنا . تأكد فقط . وبالاخص انك لم تجري تغييرا جذريا . ارجو ان تجربه وتخبرني .
السلام عليكم
أخي حيدر التعديل فقط على توزيع البورتات
في ملف البروتوس الذي قمت أنا برفعه
إستخدمت فيه البورتات B فقط
المخارج على B0 B1 B2 B3 B4 B5
المفاتيح على B6 B7
التعديل كان فقط على توزيع البورتات كما تلاحظ
أما بالنسبة لباقي الكود فهو متقن و ممتاز
شكراً شكراً لك .
إذا سمحت عندي طلب آخر على نفس المشروع
أريد أن أظهر على البورتات A0 A1 A2 A4
رقم آخر مخرج مومض ثنائيا
عندما يكون البورت B = 000000
يكون البورت A = 0000
عندما يكون البورت B = 000001
يكون البورت A = 0001
عندما يكون البورت B = 000011
يكون البورت A = 0010
وهكذا حتى آخر رقم
شكرا لك أخي حيدر

إضافة رد

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

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

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


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

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