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

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

sunsong
:: مهندس متواجد ::
تاريخ التسجيل: May 2011
المشاركات: 99
نشاط [ sunsong ]
قوة السمعة:0
قديم 12-10-2011, 08:12 PM المشاركة 1   
افتراضي مساعدة بخصوص البرمجة 7 segment Twitter FaceBook Google+



انا مبتدأ فى مجال الميكروكنتلر و لدى 7 segment موصول بالبورت b واريد كتابة برنامج يقوم بالتالى
عند الضغط على الSwitch الموصول بRA0 يقوم بالعد من 0 الى 15
عند الضغط على الSwitch الموصول بRA1 يقوم بالعد من 15 الى 0
عند الضغط على الSwitch الموصول بRA2 يقوم بعد الاعداد الزوجية
عند الضغط على الSwitch الموصول RA3 يقوم بعد الاعداد الفردية
بعد عمل الدارة على الProteus قمت بكاتبة كود للامر الاول لكن الswitch لا يستجيب و ال 7 segment يظهر اشياء غريبة
http://www.mediafire.com/?u1e5ldh0ld1qd38

كود:
void main() {
trisa=1;
trisb=0;
portb=0;
while(1){
   if(porta.f0==1)
   portb++;
   delay_ms(100);
   if(portb==15)
   portb=0;
   delay_ms(100);
}
}

اعلانات

الصورة الرمزية mahmosha
mahmosha
:: مهندس جيد ::
تاريخ التسجيل: Sep 2011
الدولة: مصر
المشاركات: 213
نشاط [ mahmosha ]
قوة السمعة:0
قديم 12-10-2011, 10:57 PM المشاركة 2   
ha


انا مبتدأ فى مجال الميكروكنتلر و لدى 7 segment موصول بالبورت b واريد كتابة برنامج يقوم بالتالى
عند الضغط على الSwitch الموصول بRA0 يقوم بالعد من 0 الى 15
عند الضغط على الSwitch الموصول بRA1 يقوم بالعد من 15 الى 0
عند الضغط على الSwitch الموصول بRA2 يقوم بعد الاعداد الزوجية
عند الضغط على الSwitch الموصول RA3 يقوم بعد الاعداد الفردية
بعد عمل الدارة على الProteus قمت بكاتبة كود للامر الاول لكن الswitch لا يستجيب و ال 7 segment يظهر اشياء غريبة
http://www.mediafire.com/?u1e5ldh0ld1qd38

كود:
void main() {
trisa=1;
trisb=0;
portb=0;
while(1){
   if(porta.f0==1)
   portb++;
   delay_ms(100);
   if(portb==15)
   portb=0;
   delay_ms(100);
}
}
السلام عليكم
اخي السفن سجمنت مبيشتغلش كده
انتا لو عايز تشغلو كده تبقي محتاج المتكامله 7447 عشان تعرف تشغلها
او لو انتا عايزها من غير متكامله
يبقي انا احب اقولك ان كل خرج في ال 7 سيجمنت له شغله
اضائه ليد او +5 او ارضي
و لازم تكون عارف كل سنه بتنور انهي ليد
يعني لكتابه الرقم 1 م علي 1 سيفن سيجمنت
عليك كتابه الكود الاتي بعد تعريف top_left
Bottom left
او تعريفهم باي شي اخر باستخدام Define
و سيكون الكود كالاتي
كود:
void One(){
top_left=1;
Bottom_left=1;
}Void Main(){
one;}
ماذا يفعل هذا الكود؟؟
علي افتراض ان الليد العلوي علي الشمال في السفن سجمنت متصل بالبورت RB0
فسنقوم بكتابه
#defiine top_left Portb.f0
اذا عند كتابه الامر
top_left=1;
تنير الليد العلويه
و هكذا مع كل سن
و اتمني ان اكود افدتك و اي حاجه تاني عايز تعرفها اسئل و انا موجود
السلام عليكم
محمد

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

sunsong
:: مهندس متواجد ::
تاريخ التسجيل: May 2011
المشاركات: 99
نشاط [ sunsong ]
قوة السمعة:0
قديم 13-10-2011, 11:26 AM المشاركة 3   
افتراضي


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


الصورة الرمزية mahmosha
mahmosha
:: مهندس جيد ::
تاريخ التسجيل: Sep 2011
الدولة: مصر
المشاركات: 213
نشاط [ mahmosha ]
قوة السمعة:0
قديم 13-10-2011, 01:28 PM المشاركة 4   
افتراضي


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


sunsong
:: مهندس متواجد ::
تاريخ التسجيل: May 2011
المشاركات: 99
نشاط [ sunsong ]
قوة السمعة:0
قديم 13-10-2011, 04:45 PM المشاركة 5   
افتراضي


هذا هو المخطط على الISIS وارجوا المساعدة فى البرمجة
http://i53.tinypic.com/2625m6v.jpg


الصورة الرمزية mahmosha
mahmosha
:: مهندس جيد ::
تاريخ التسجيل: Sep 2011
الدولة: مصر
المشاركات: 213
نشاط [ mahmosha ]
قوة السمعة:0
قديم 13-10-2011, 05:14 PM المشاركة 6   
افتراضي


هذا هو المخطط على الISIS وارجوا المساعدة فى البرمجة
http://i53.tinypic.com/2625m6v.jpg
اخي انتا موصل السوتشات كده ليه ما اكيد موش هتستجيب
السويتش بيقبي جزئ متوصل موجب و التاني متوصل بالبك
جرب تاني و اولي
و ادي ملف المحاكاه و الكود كامل و ملف المشروع
و هذا من الاستاذ الكبير احمد سمير فايد
http://www.mediafire.com/?af0xqfcsoyfg021


التعديل الأخير تم بواسطة : mahmosha بتاريخ 13-10-2011 الساعة 05:25 PM

somood
:: مهندس جيد ::
تاريخ التسجيل: Jan 2011
الدولة: نابلس
المشاركات: 222
نشاط [ somood ]
قوة السمعة:0
قديم 13-10-2011, 05:25 PM المشاركة 7   
افتراضي


اخي الحبيب برنامج معناه انه اذا كان المفتاح الموصول على F0 غير مضغوط نفذ الاوامر التالية ... وذلك لأن PORTA.F0 في الحالة الطبيعية تكون قيمته تساوي 1 وعند الضغط عليه يصبح 0
وعليك كتابة
كود:
if(PORTA.F0==0){
}
او ان تبقي الكود كما هو وتقوب بعكس توصيل المفاتيح كما ذكر الاخ mahmosha


sunsong
:: مهندس متواجد ::
تاريخ التسجيل: May 2011
المشاركات: 99
نشاط [ sunsong ]
قوة السمعة:0
قديم 13-10-2011, 05:54 PM المشاركة 8   
افتراضي


طيب اخى غيرت الدارة والسويتش يعمل تمام لكن المشكلة هى الارقام الغريبة يعنى بعد 9 المفروض يظهر الA,B,.. المشكلة برمجية.
شكرا مرة اخرى على المساعدة

إضافة رد

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

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

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


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

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