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

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

الصورة الرمزية mustafa'
mustafa'
:: مهندس متواجد ::
تاريخ التسجيل: Sep 2010
المشاركات: 57
نشاط [ mustafa' ]
قوة السمعة:0
قديم 06-04-2012, 10:38 PM المشاركة 1   
افتراضي سؤال بسيط حول micro c Twitter FaceBook Google+



البرنامج الاول ماخوذ من كتاب الاستاذ احمد سمير هو كالتالي:
كود:
void main()
{TRISB=0; PORTB=0;
loop:
PORTB=0B00000001; delay_ms(500); // L0 ON
PORTB=0B00000011; delay_ms(500); //L0,L1 ON
PORTB=0B00000111; delay_ms(500); //L0,L1,L2 ONPORTB=0B00001111; delay_ms(500); //L0,L1,L2,L3 ON
PORTB=0B00011111; delay_ms(500); //L0,L1,L2,L3,L4 ON
PORTB=0B00111111; delay_ms(500); //L0,L1,L2,L3,L4,L5 ON
PORTB=0B01111111; delay_ms(500); //L0,L1,L2,L3,L4,L5,L6 ON
PORTB=0B11111111; delay_ms(500); // L0,L1,L2,L3,L4,L5,L6,L7 ON
PORTB=0B00000000; delay_ms(500); // ALL LEDs OFF
و لكن لاحظت بان كل رقم هو عبارة عن الرقم الذي يسبقه مضروب ب 2+1 ب decimal
0b00000001=1
0b00000011=3...................3 =1*2+1
0b00000111=7...............7=3*2+1
وهكذا فكتبت هذا الكود
كود:
void main()
 {char a,a1,a2,a3,a4,a5,a6,a7;
  trisb=0;
       a=1*1;
      a1=a*2+1;
      a2=a1*2+1;
      a3=a2*2+1;        
      a4=a3*2+1;
      a5=a4*2+1;
      a6=a5*2+1;
      a7=a6*2+1;
loop: portb=0;     delay_ms(500);
      portb=a;    delay_ms(500);
      portb=a1;    delay_ms(500);
      portb=a2;     delay_ms(500);
      portb=a3;      delay_ms(500);
      portb=a4;    delay_ms(500);
      portb=a5;     delay_ms(500);
      portb=a6;      delay_ms(500);
      portb=a7;      delay_ms(500);            goto loop;
         }
ولكن ليس هذا ما اريده ما احاول عمله هو احضار محصلة العملية السابقة و ضربها ب 2+1 تلقائيا من دون اي تكرار . هل بالامكان عمل هذا ؟ وشكراُ

اعلانات

sunsong
:: مهندس متواجد ::
تاريخ التسجيل: May 2011
المشاركات: 99
نشاط [ sunsong ]
قوة السمعة:0
قديم 06-04-2012, 11:08 PM المشاركة 2   
افتراضي


نعم أخى يمكنك ذالك ببساطة، إليك التطبيق...
http://www.mediafire.com/?eg3awhl2b585n04

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

الصورة الرمزية mustafa'
mustafa'
:: مهندس متواجد ::
تاريخ التسجيل: Sep 2010
المشاركات: 57
نشاط [ mustafa' ]
قوة السمعة:0
قديم 07-04-2012, 11:00 AM المشاركة 3   
x3


شكراً جزيلاً

إضافة رد

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

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

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


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

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