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

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

mtm4song
:: مهندس متميز ::
تاريخ التسجيل: Jun 2009
المشاركات: 635
نشاط [ mtm4song ]
قوة السمعة:0
قديم 05-02-2014, 12:02 PM المشاركة 1   
افتراضي مشكلة فى تطبيق بسيط جدا عملي 7 سيجمنت Twitter FaceBook Google+



تطبيق بسيط جدا على احد تجارب عمليا على بيك 16F84A
موصل معاة 7 سيجمن انود مع بورت B
-----------------------------------------------------------------------
الكود
كود:
void segment(char kk){
if(kk == 0)portb = 0xc0;
if(kk == 1)portb = 0xf9;
if(kk == 2)portb = 0xA4;
if(kk == 3)portb = 0xB0;
if(kk == 4)portb = 0x99;
if(kk == 5)portb = 0x92;
if(kk == 6)portb = 0x82;
if(kk == 7)portb = 0xF8;
if(kk == 8)portb = 0x80;
if(kk == 9)portb = 0x90;
}
void main() {char x;
trisb=0;
for(;;){
for(x=0;x<=9;x++){segment(x); delay_ms(1000);}
}
}
---------------------------------
الدايرة على البروتوس شغال تمام جدا
عمليا
الدايرة بتعد من 0 الى 4 فقط وترجع تاني تعد من 0 الى 4 وهكذا ؟
اية السر
لو عكست الارقام
بمعني لو خليت العد تنزليا ال7سيجمن بتعد من 9 الى 6 فقط
وترجع تاني من 9 الى 6 وهكذا
مع انو هوة نفس الكود شغال على البروتوس تمام ؟
؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

اعلانات

الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:136
قديم 05-02-2014, 01:28 PM المشاركة 2   
افتراضي


تطبيق بسيط جدا على احد تجارب عمليا على بيك 16F84A
موصل معاة 7 سيجمن انود مع بورت B
-----------------------------------------------------------------------
الكود
كود:
void segment(char kk){
if(kk == 0)portb = 0xc0;
if(kk == 1)portb = 0xf9;
if(kk == 2)portb = 0xA4;
if(kk == 3)portb = 0xB0;
if(kk == 4)portb = 0x99;
if(kk == 5)portb = 0x92;
if(kk == 6)portb = 0x82;
if(kk == 7)portb = 0xF8;
if(kk == 8)portb = 0x80;
if(kk == 9)portb = 0x90;
}
void main() {char x;
trisb=0;
for(;;){
for(x=0;x<=9;x++){segment(x); delay_ms(1000);}
}
}
---------------------------------
الدايرة على البروتوس شغال تمام جدا
عمليا
الدايرة بتعد من 0 الى 4 فقط وترجع تاني تعد من 0 الى 4 وهكذا ؟
اية السر
لو عكست الارقام
بمعني لو خليت العد تنزليا ال7سيجمن بتعد من 9 الى 6 فقط
وترجع تاني من 9 الى 6 وهكذا
مع انو هوة نفس الكود شغال على البروتوس تمام ؟
؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
السلام عليكم
اخي كريم انا لاارى اي مشكله
لكن اليك بنصيحه التاليه
استخدم (while(1 بدلا من(;; )for
استخدم else في داله segment

كود:
void segment(char kk)
 {
  if(kk == 0)portb = 0xc0;
  else if(kk == 1)portb = 0xf9;
  else if(kk == 2)portb = 0xA4;
  else if(kk == 3)portb = 0xB0;
  else if(kk == 4)portb = 0x99;
  else if(kk == 5)portb = 0x92;
  else if(kk == 6)portb = 0x82;
  else if(kk == 7)portb = 0xF8;
  else if(kk == 8)portb = 0x80;
  else if(kk == 9)portb = 0x90;
 }

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

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

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

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


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

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