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

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

الصورة الرمزية عبدالله حجازى
عبدالله حجازى
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2011
الدولة: مصر .. محافظة دمياط
المشاركات: 1,688
نشاط [ عبدالله حجازى ]
قوة السمعة:111
قديم 24-04-2016, 07:33 AM المشاركة 1   
افتراضي ارجو المساعدة بخصوص ;(eeprom_write(1,0 وقيمة متغير Twitter FaceBook Google+



السلام عليكم ورحمه الله ..


اقوم بكتابة برنامج واستخدم فى ذاكرة ( eeprom ) فى المتحكم pic16f877a ....

وعندى متغير قيمته مثلا ك التالى
كود:
  int  X = 3000;
... واريد حفظ هذة القيمه فى ذاكرة eeprom ولكن كما نعلم أن اقصى رقم يمكن حفظة فى ذاكرة eeprom هو 256 ... وهنا انا اريد حفظ قيمه المتغير X وهى 3000 ... فكيف اقوم بذالك الأمر .. ارجو الإفادة ...


وايضااااا عندى اربع متغيرات كيف انسخ قيم الأربع متغيرات ووضعها فى متغير .. أخر ... حاولت بهذة الطريقة ولم تفلح ...
كود:
 X = T + E + A + W + M;
يعنى مثلا انا عندى اربع متغيرلت من نوع
كود:
 int
ومثلا المتغير الأول وهو
كود:
  int  M = 1;
والثانى
كود:
  int A = 2;
والثالث
كود:
 int E = 3;
و الرابع
كود:
 int T = 4;

وهنا قيمه الأربع متغيرات هى 1 , 2 , 3 , 4


اريد انساب هذة القيم الى متغير وليكن مثلا
كود:
 int X ;
اريد هنا أن المتغير X تصبح قيمته تساوى الأربع متغيرات .. يعنى ; X = 1234

كيف اقوم بذالك ..

لأن هستخدم قيمة المتغير X فى حلقة for كالتالى
كود:
 for(k=0;k<x;k++) { delay_ms(1); }
وضعة قيمه المتغير X مكان اللأرقام فى حلقة for ..... لأستخدامها فى تطبيق يحسب الوقت ....

أرجو الإفادة ولك كل الشكر والإحترام



.....تحياتى للجميع ........


التعديل الأخير تم بواسطة : عبدالله حجازى بتاريخ 24-04-2016 الساعة 07:49 AM
اعلانات

مشتاق الله
:: مهندس متميز ::
تاريخ التسجيل: Oct 2015
المشاركات: 620
نشاط [ مشتاق الله ]
قوة السمعة:0
قديم 24-04-2016, 11:42 AM المشاركة 2   
x4


بسم الله الرحمن الرحيم

السلام عليكم و رحمة الله و بركاته



اقوم بكتابة برنامج واستخدم فى ذاكرة ( eeprom ) فى المتحكم pic16f877a ....
وعندى متغير قيمته مثلا ك التالى
كود:
  int  X = 3000;
... واريد حفظ هذة القيمه فى ذاكرة eeprom ولكن كما نعلم أن اقصى رقم يمكن حفظة فى ذاكرة eeprom هو 256 ... وهنا انا اريد حفظ قيمه المتغير X وهى 3000 ... فكيف اقوم بذالك الأمر .. ارجو الإفادة ...

اخى العزيز بخصوص حفظ ال int , ممكن تلجأ للحيلة التالية :

كود:

# include <built_in.h>  
void main() {
    int x=3000;
   // TO write to EEPROM :
     EEPROM_WRITE(0,hi(x));  // WRITE HIGH BYTE TO ADDRESS 0,
     EEPROM_Write(1,lo(x));  // WRITE LOW BYTE TO ADDRESS 1 ,
  
  // for read again from EEPROM :
   x = EEPROM_Read(0)*256+EEPROM_Read(1);
}


اما بالنسبة للجزء الثانى من سؤالك فممكن نلجأ للاسلوب التالى :

X=T*1000+M*100+K*10+D*1 ; //1


اى تجمع احاد و عشرات و مئات و ....

و الله اعلى و اعلم .

و ما توفيقى الا بالله

اللهم اغفر لنا ذنوبنا و اسرافنا فى امرنا
و ثبت اقدامنا و انصرنا على القوم الكافرين



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

الصورة الرمزية عبدالله حجازى
عبدالله حجازى
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2011
الدولة: مصر .. محافظة دمياط
المشاركات: 1,688
نشاط [ عبدالله حجازى ]
قوة السمعة:111
قديم 26-04-2016, 11:24 PM المشاركة 3   
افتراضي السلام عليكم ورحمه الله


بسم الله الرحمن الرحيم

السلام عليكم و رحمة الله و بركاته




اخى العزيز بخصوص حفظ ال int , ممكن تلجأ للحيلة التالية :

كود:

# include <built_in.h>  
void main() {
    int x=3000;
   // TO write to EEPROM :
     EEPROM_WRITE(0,hi(x));  // WRITE HIGH BYTE TO ADDRESS 0,
     EEPROM_Write(1,lo(x));  // WRITE LOW BYTE TO ADDRESS 1 ,
  
  // for read again from EEPROM :
   x = EEPROM_Read(0)*256+EEPROM_Read(1);
}


اما بالنسبة للجزء الثانى من سؤالك فممكن نلجأ للاسلوب التالى :

X=T*1000+M*100+K*10+D*1 ; //1


اى تجمع احاد و عشرات و مئات و ....

و الله اعلى و اعلم .

و ما توفيقى الا بالله

اللهم اغفر لنا ذنوبنا و اسرافنا فى امرنا
و ثبت اقدامنا و انصرنا على القوم الكافرين




اخى لم تنفع مع التجربة .. الا يوجد حل ..


الصورة الرمزية عبدالله حجازى
عبدالله حجازى
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2011
الدولة: مصر .. محافظة دمياط
المشاركات: 1,688
نشاط [ عبدالله حجازى ]
قوة السمعة:111
قديم 26-04-2016, 11:25 PM المشاركة 4   
افتراضي السلام عليكم ورحمه الله


السلام عليكم ورحمه الله

ارجو من لديه فكرة او .. حل ... ان ينفعنا به ..


الصورة الرمزية عبدالله حجازى
عبدالله حجازى
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2011
الدولة: مصر .. محافظة دمياط
المشاركات: 1,688
نشاط [ عبدالله حجازى ]
قوة السمعة:111
قديم 27-04-2016, 11:15 PM المشاركة 5   
افتراضي


السلام عليكم ورحمه الله

أين .. اخوانى فى الله الا يوجد حل لهذا الأمر


مشتاق الله
:: مهندس متميز ::
تاريخ التسجيل: Oct 2015
المشاركات: 620
نشاط [ مشتاق الله ]
قوة السمعة:0
قديم 28-04-2016, 03:19 PM المشاركة 6   
x4


بسم الله الرحمن الرحيم

السلام عليكم و رحمة الله و بركاته

اخى عبد الله حضرتك قلت ان الاجابة لم تنفع , هل السؤالين اجابتهم خطأ؟
مبدئيا اجابة السؤال الثانى سليمة و مجربة , و ممكن ترفع الكود لنراجعه مع بعض .

اما السؤال الاول ان شاء الله اجربه و ارفع لك الكود مع العلم انه ليس به اخطاء .



و ما توفيقى الا بالله

ربنا
لا تجعلنا فتنة للقوم الظالمين و ارنا فيهم اية



الصورة الرمزية عبدالله حجازى
عبدالله حجازى
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2011
الدولة: مصر .. محافظة دمياط
المشاركات: 1,688
نشاط [ عبدالله حجازى ]
قوة السمعة:111
قديم 29-04-2016, 02:31 AM المشاركة 7   
افتراضي


بسم الله الرحمن الرحيم

السلام عليكم و رحمة الله و بركاته

اخى عبد الله حضرتك قلت ان الاجابة لم تنفع , هل السؤالين اجابتهم خطأ؟
مبدئيا اجابة السؤال الثانى سليمة و مجربة , و ممكن ترفع الكود لنراجعه مع بعض .

اما السؤال الاول ان شاء الله اجربه و ارفع لك الكود مع العلم انه ليس به اخطاء .



و ما توفيقى الا بالله

ربنا
لا تجعلنا فتنة للقوم الظالمين و ارنا فيهم اية

اشكرك على اهتمامك اخى الكريم ..

بالنسبه للتجربه ... الإبروم ... انا فعلا حاولت حفظ قيمة المتغير فى ابروم ..

واستخدمة الحيلة ..

ان جعلت لكل شاشة مفتاح للذيادة الأرقام .. واستخدمة أمر شرط لكى لا تتعدى رقم الشاشة عن 10 .. بمعنى كل ما الشاشة توصل لرقم 10 امر الشرط يرجعها الى الصفر ... وهذا ليتم حفظها فى احدى ذاكرة الإبروم .... وايضاااا فعلت ذلك مع باقى الشاشات .. وهنا اصى رقم هتوصل لية أى شاشة من الأربعه .. هو ... 9 ... وهنا من السهل حفظهما فى ذاكرة الإبروم .... واستخدمة أوامر شرطيه لأختبار رقم الشاشات .. مثلا لو كانت الشاشة التابعة لخانة الألاف تساوى 5 .. ايذاااا امر الشرط يجعل قيمه متغير مربوت بحالة الشاشة الى 5000 الاف .. لكى يتم اشتخدامه فى حلقة for .... واليك جزئ من الكود للتوضيح ...
كود:
    //-----   TEMER ( 1 ) TEST   ------//
    if(a1==1){t4=1000;}   if(m1==1){t3=100;}  if(e1==1){t2=10;}
    if(a1==2){t4=2000;}   if(m1==2){t3=200;}  if(e1==2){t2=20;}
    if(a1==3){t4=3000;}   if(m1==3){t3=300;}  if(e1==3){t2=30;}
    if(a1==4){t4=4000;}   if(m1==4){t3=400;}  if(e1==4){t2=40;}
    if(a1==5){t4=5000;}   if(m1==5){t3=500;}  if(e1==5){t2=50;}
    if(a1==6){t4=6000;}   if(m1==6){t3=600;}  if(e1==6){t2=60;}
    if(a1==7){t4=7000;}   if(m1==7){t3=700;}  if(e1==7){t2=70;}
    if(a1==8){t4=8000;}   if(m1==8){t3=800;}  if(e1==8){t2=80;}
    if(a1==9){t4=9000;}   if(m1==9){t3=900;}  if(e1==9){t2=90;}
    t1 = w1 ;




هنا جعلت اوامر الشرط تختبر قيمه الشاشة رقم اربعة .... لو المتغير ( a1 ) = واحد يبقى المتغير ( t4 ) = الف .... طبعااااا انا بستخدم هذة الحيلة لأن ذاكرة الإبروم اقصى رقم تتحمله ... هو 256 ... وهنا عند انقطاع التيار عن الدائرة سيتم قرائة قيمة المتغير a1 من اكرة الإبروم ... وهذا المتغير هو المسؤل عن الشاشة رقم 4 يعنى خانه الألاف لو كان رقم المتغير = مثلا 9 هنا أوامر الشرط الموجودة فى الكود اعلاة ستجعل قيمه المتغير t4 = تسعة الالاف .... وهكذا مع باقى المتغيرات ...



ولكن لو تم قرأة قيم الأربع متغيرات المسؤله عن الأربع شاشات ... وتم جمعهم مع بعض فى متغير واحد .. هيوفر على الكثير .. وهيكون الكود اسهل من هذة الطريقة التى اعمل بها الأن ..


كل الى انا محتاجه هو ..

عندى اربع متغيرات كل متغير مسؤل عن شاشة من الأربع شاشات .. وهنا يوجد شاشة للأحاد وشاشة للعشرات وشاشة للمئات وشاشة للألاف ..


ومثلا كانت قيم الأربع شاشات = 1234 هنا انا محتاج اجمع هذة القيم وانسبها لمتغير جديد ونكون قيمه هذا المتغير ... = 1234 ... أى بمعنى = الف و مئتان و اربعة وثلاثون ... وهذا مهم جداااا لأن هيتم استخدام هذة القيمه فى حلقة for >>


واليك الكود كامل ..

كود:
    # include <built_in.h>
  #define delay delay_ms(1);
//---------------------------------------------------------------//
 unsigned short mask(unsigned short num);
 unsigned int  segment=1,a1=0,m1=0,e1=0,w1=0,x=0,out1=0,count=0;
 unsigned int  t1=0,t2=0,t3=0,t4=0,t5=0,start=1,start_redy=0;
 unsigned int  t6=0,t7=0,t8=0,t9=0,t10=0,t11=0,t12=0,t13=0,t14=0,t15=0;
 unsigned int  t16=0,t17=0,t18=0,t19=0,t20=0,t21=0,t22=0,t23=0,t24=0,t25,te1=0,te2=0,te3=0,te4=0,te5=0;
 //--------------------------------------------------------------------------------------------------------------//
 unsigned int  te6=0,te7=0,te8=0,te9=0,te10=0,te11=0,te12=0,te13=0,te14=0,te15,te16=0,te17=0,te18=0,te19=0,te20=0;
 unsigned int  te21=0,te22=0,te23=0,te24=0,te25=0;
//---------------------------------------------------------------------------------------------------------------//
 void interrupt(){
  porta=1;
  portb=mask(w1);
  delay_ms(1);
  porta=2;
  portb=mask(e1);
  delay_ms(1);
  porta=4;
  portb=mask(m1);
  delay_ms(1);
  porta=8;
  portb=mask(a1);
  delay_ms(1);
  porta=32;
  portb=mask(segment);
  delay_ms(1);

  //**********************************************************//
  if( segment==6 ) { segment=1;  }
  if(   w1==10   ) { w1=0; }
  if(   e1==10   ) { e1=0;  }
  if(   m1==10   ) { m1=0;  }
  if(   a1==10   ) { a1=0; w1=0; e1=0; m1=0; }

 /*if(   t1==10   ) { t1=0; t2++; }
  if(   t2==10   ) { t2=0; t3++; }
  if(   t3==10   ) { t3=0; t4++;  }
  if(   t4==10   ) { t1=0; t2=0; t3=0; t4=0; }*/




    

  //-----------------------------------------------------------//
  INTCON=0b00100000;
  TMR0=0;
 }
//-------------------------------------------------------------------//


// ******************---------------------------******************//

        void TEMR_1()
   {


    for(x=0;x<t1;x++) { delay_ms(1); }
    for(x=0;x<t2;x++) { delay_ms(1); }
    for(x=0;x<t3;x++) { delay_ms(1); }
    for(x=0;x<t4;x++) { delay_ms(1); }

   }

//*******************-------------------------**********************//

       void TEMR_2()
   {
    for(x=0;x<t12;x++) { delay_ms(1); }
    for(x=0;x<t11;x++) { delay_ms(1); }
    for(x=0;x<t10;x++) { delay_ms(1); }
    for(x=0;x<t9;x++)  { delay_ms(1); }

   }
//*******************-------------------------********************//

       void TEMR_3()
   {
     for(x=0;x<16;x++) { delay_ms(1); }
     for(x=0;x<15;x++) { delay_ms(1); }
     for(x=0;x<14;x++) { delay_ms(1); }
     for(x=0;x<13;x++) { delay_ms(1); }


   }
//********************-------------------------*******************//

        void TEMR_4()
   {
     for(x=0;x<728;x++) { delay_ms(1); }
     for(x=0;x<55;x++) { delay_ms(1); }
     for(x=0;x<22;x++) { delay_ms(1); }
     for(x=0;x<33;x++) { delay_ms(1); }

   }
//******************-------------------------*********************//

        void TEMR_5()
   {
     for(x=0;x<1000;x++) { delay_ms(1); }
     for(x=0;x<55;x++) { delay_ms(1); }
     for(x=0;x<2;x++) { delay_ms(1); }
     for(x=0;x<55;x++) { delay_ms(1); }

   }
//********************---------END------------*********************//

//-----------------------------------------------------------------------------------------------------------------------------//
      void eeprom_writ()
   {

    eeprom_write(1,0); delay eeprom_write(2,0 );delay eeprom_write(3,0 );delay eeprom_write(4,0); delay eeprom_write(5,0 );delay
    eeprom_write(6,0); delay eeprom_write(7,0 );delay eeprom_write(8,0 );delay eeprom_write(9,0); delay eeprom_write(10,0);delay
    eeprom_write(11,0);delay eeprom_write(12,0);delay eeprom_write(13,0);delay eeprom_write(14,0);delay eeprom_write(15,0);delay
    eeprom_write(16,0);delay eeprom_write(17,0);delay eeprom_write(18,0);delay eeprom_write(19,0);delay eeprom_write(20,0);delay
    eeprom_write(21,0);delay eeprom_write(22,0);delay eeprom_write(23,0);delay eeprom_write(24,0);delay eeprom_write(25,0);delay
    eeprom_write(26,0);   porte.f0=1;

   }
//-----------------------------------------------------------------------------------------------------------------------------//

     void intst()
  {
  
    OPTION_REG=0b10000101;  INTCON=0b10100000;
    TMR0=217;                     adcon1=0x06;
    trisb=0;     portb=0;   trisd=0;   portd=0;
    trisc=255;   portc=0;   trisa=0;   porta=0;
    trise=0;                           porte=0;
    
  //----------  TEMER ( 1 ) eeprom_read  --------------//
    w1 =eeprom_read(1 );   e1 =eeprom_read(2 );
    m1 =eeprom_read(3 );   a1 =eeprom_read(4 );
  //---------------------------------------------------//
  
  //----------  TEMER ( 2 ) eeprom_read  --------------//
    t5 = eeprom_read(5 );   t6 = eeprom_read(6 );
    t7 = eeprom_read(7 );   t8 = eeprom_read(8 );
 //---------------------------------------------------//
 
 //----------  TEMER ( 2 ) eeprom_read  --------------//
    t13 = eeprom_read(9 );   t14 = eeprom_read(10 );
    t15 = eeprom_read(11 );   t16 = eeprom_read(12 );
 //---------------------------------------------------//
 
 
                 //-----   TEMER ( 1 ) TEST   ------//
    if(a1==1){t4=1000;}   if(m1==1){t3=100;}  if(e1==1){t2=10;}
    if(a1==2){t4=2000;}   if(m1==2){t3=200;}  if(e1==2){t2=20;}
    if(a1==3){t4=3000;}   if(m1==3){t3=300;}  if(e1==3){t2=30;}
    if(a1==4){t4=4000;}   if(m1==4){t3=400;}  if(e1==4){t2=40;}
    if(a1==5){t4=5000;}   if(m1==5){t3=500;}  if(e1==5){t2=50;}
    if(a1==6){t4=6000;}   if(m1==6){t3=600;}  if(e1==6){t2=60;}
    if(a1==7){t4=7000;}   if(m1==7){t3=700;}  if(e1==7){t2=70;}
    if(a1==8){t4=8000;}   if(m1==8){t3=800;}  if(e1==8){t2=80;}
    if(a1==9){t4=9000;}   if(m1==9){t3=900;}  if(e1==9){t2=90;}
    t1 = w1 ;
 //---------------------------------------------------------------//
 
                //-----   TEMER ( 2 ) TEST  ------//
   if(t8==1){t8=1000;}   if(t7==1){t3=100;}  if(t6==1){t2=10;}
   if(t8==2){t4=2000;}   if(t7==2){t3=200;}  if(t6==2){t2=20;}
   if(t8==3){t4=3000;}   if(t7==3){t3=300;}  if(t6==3){t2=30;}
   if(t8==4){t4=4000;}   if(t7==4){t3=400;}  if(t6==4){t2=40;}
   if(t8==5){t4=5000;}   if(t7==5){t3=500;}  if(t6==5){t2=50;}
   if(t8==6){t4=6000;}   if(t7==6){t3=600;}  if(t6==6){t2=60;}
   if(t8==7){t4=7000;}   if(t7==7){t3=700;}  if(t6==7){t2=70;}
   if(t8==8){t4=8000;}   if(t7==8){t3=800;}  if(t6==8){t2=80;}
   if(t8==9){t4=9000;}   if(t7==9){t3=900;}  if(t6==9){t2=90;}
   t12 = t5;
  //-------------------------------------------------------------//
    
               //-----   TEMER ( 3 ) TEST  ------//
   if(t13==1){t13=1000;}   if(t14==1){t14=100;}  if(t15==1){t15=10;}
   if(t13==2){t13=2000;}   if(t14==2){t14=200;}  if(t15==2){t15=20;}
   if(t13==3){t13=3000;}   if(t14==3){t14=300;}  if(t15==3){t15=30;}
   if(t13==4){t13=4000;}   if(t14==4){t14=400;}  if(t15==4){t15=40;}
   if(t13==5){t13=5000;}   if(t14==5){t14=500;}  if(t15==5){t15=50;}
   if(t13==6){t13=6000;}   if(t14==6){t14=600;}  if(t15==6){t15=60;}
   if(t13==7){t13=7000;}   if(t14==7){t14=700;}  if(t15==7){t15=70;}
   if(t13==8){t13=8000;}   if(t14==8){t14=800;}  if(t15==8){t15=80;}
   if(t13==9){t13=9000;}   if(t14==9){t14=900;}  if(t15==9){t15=90;}
//-----------------------------------------------------------------//
 }
 
 
 
//-----------------------------------------------------------------//
     void if_nember()
  {
                 //-----   TEMER ( 1 ) TEST   ------//
    if(a1==1){t4=1000;}   if(m1==1){t3=100;}  if(e1==1){t2=10;}
    if(a1==2){t4=2000;}   if(m1==2){t3=200;}  if(e1==2){t2=20;}
    if(a1==3){t4=3000;}   if(m1==3){t3=300;}  if(e1==3){t2=30;}
    if(a1==4){t4=4000;}   if(m1==4){t3=400;}  if(e1==4){t2=40;}
    if(a1==5){t4=5000;}   if(m1==5){t3=500;}  if(e1==5){t2=50;}
    if(a1==6){t4=6000;}   if(m1==6){t3=600;}  if(e1==6){t2=60;}
    if(a1==7){t4=7000;}   if(m1==7){t3=700;}  if(e1==7){t2=70;}
    if(a1==8){t4=8000;}   if(m1==8){t3=800;}  if(e1==8){t2=80;}
    if(a1==9){t4=9000;}   if(m1==9){t3=900;}  if(e1==9){t2=90;}
    t1 = w1 ;
 //-------------------------------------------------------------//
 


 }
 
 
   void if_nember_2()
  {
 
      //-----   TEMER ( 2 ) TEST  ------//
   if(t8==1){t9=1000;}   if(t7==1){t10=100;}  if(t6==1){t11=10;}
   if(t8==2){t9=2000;}   if(t7==2){t10=200;}  if(t6==2){t11=20;}
   if(t8==3){t9=3000;}   if(t7==3){t10=300;}  if(t6==3){t11=30;}
   if(t8==4){t9=4000;}   if(t7==4){t10=400;}  if(t6==4){t11=40;}
   if(t8==5){t9=5000;}   if(t7==5){t10=500;}  if(t6==5){t11=50;}
   if(t8==6){t9=6000;}   if(t7==6){t10=600;}  if(t6==6){t11=60;}
   if(t8==7){t9=7000;}   if(t7==7){t10=700;}  if(t6==7){t11=70;}
   if(t8==8){t9=8000;}   if(t7==8){t10=800;}  if(t6==8){t11=80;}
   if(t8==9){t9=9000;}   if(t7==9){t10=900;}  if(t6==9){t11=90;}
  //------------------------------------------------------------//
  }
  
  void if_nember_3()
  {

      //-----   TEMER ( 3 ) TEST  ------//
   if(t13==1){t13=1000;}   if(t14==1){t14=100;}  if(t15==1){t15=10;}
   if(t13==2){t13=2000;}   if(t14==2){t14=200;}  if(t15==2){t15=20;}
   if(t13==3){t13=3000;}   if(t14==3){t14=300;}  if(t15==3){t15=30;}
   if(t13==4){t13=4000;}   if(t14==4){t14=400;}  if(t15==4){t15=40;}
   if(t13==5){t13=5000;}   if(t14==5){t14=500;}  if(t15==5){t15=50;}
   if(t13==6){t13=6000;}   if(t14==6){t14=600;}  if(t15==6){t15=60;}
   if(t13==7){t13=7000;}   if(t14==7){t14=700;}  if(t15==7){t15=70;}
   if(t13==8){t13=8000;}   if(t14==8){t14=800;}  if(t15==8){t15=80;}
   if(t13==9){t13=9000;}   if(t14==9){t14=900;}  if(t15==9){t15=90;}
  }
//------------------------------------------------------------//
  
  
  
  
  
        //----(  void main  ) ----//

                void main(){
                intst();
                if_nember();

      //******---- segment1 --*******/

      if(segment ==1) { while(out1==0)

    {
      if_nember();
      
      if( portc.f3==0 ) { segment=2;  out1=1; delay_ms(700);}
      if( portc.f0==0 ) { w1=0; e1=0; m1=0; a1=0;   eeprom_writ();     delay_ms(300);}
      if( portc.f1==0 ) { w1++; t1++; eeprom_write(1,w1); delay_ms(1); delay_ms(300);}
      if( portc.f4==0 ) { e1++; t2++; eeprom_write(2,e1); delay_ms(1); delay_ms(300);}
      if( portc.f5==0 ) { m1++; t3++; eeprom_write(3,m1); delay_ms(1); delay_ms(300);}
      if( portc.f6==0 ) { a1++; t4++; eeprom_write(4,a1); delay_ms(1); delay_ms(300);}
  }
  }

//-------------------------------------------------------------------------------------//

      w1=0; m1=0; e1=0; a1=0; out1=0; x=0;
      if(segment ==2) { while(out1==0)

    {
      if_nember_2();

      if( portc.f3==0 ) { segment=3;  out1=1; delay_ms(700);}
      if( portc.f0==0 ) { w1=0; e1=0; m1=0; a1=0;   eeprom_writ();     delay_ms(300);}
      if( portc.f1==0 ) { w1++; t5++; eeprom_write(5,t5); delay_ms(1); delay_ms(300);}
      if( portc.f4==0 ) { e1++; t6++; eeprom_write(6,t6); delay_ms(1); delay_ms(300);}
      if( portc.f5==0 ) { m1++; t7++; eeprom_write(7,t7); delay_ms(1); delay_ms(300);}
      if( portc.f6==0 ) { a1++; t8++; eeprom_write(8,t8); delay_ms(1); delay_ms(300);}
  }
  }
//--------------------------------------------------------------------------------------//

      w1=0; m1=0; e1=0; a1=0; out1=0; x=0;
      if(segment ==3) { while(out1==0)

    {
      if_nember_3();

      if( portc.f3==0 ) { segment=3;  out1=1; delay_ms(700);}
      if( portc.f0==0 ) { w1=0; e1=0; m1=0; a1=0;   eeprom_writ();     delay_ms(300);}
      if( portc.f1==0 ) { w1++; t16++; eeprom_write(12,t16); delay_ms(1); delay_ms(300);}
      if( portc.f4==0 ) { e1++; t15++; eeprom_write(11,t15); delay_ms(1); delay_ms(300);}
      if( portc.f5==0 ) { m1++; t14++; eeprom_write(10,t14); delay_ms(1); delay_ms(300);}
      if( portc.f6==0 ) { a1++; t13++; eeprom_write(9,t13); delay_ms(1); delay_ms(300);}
  }
  }
//--------------------------------------------------------------------------------------//





        while(1)
  {


    portd = 128; segment=1;   TEMR_1();
    portd = 64;  segment=2;   TEMR_2();
    portd = 32;  segment=3;   TEMR_3();
    portd = 16;  segment=4;   TEMR_4();
    portd = 8;   segment=5;   TEMR_5();
 }
 }
//**********************************----------END-----------*****************************************//

   unsigned short mask(unsigned short num){

   switch (num){
   case 0 : return 0xC0;
   case 1 : return 0xF9;
   case 2 : return 0xA4;
   case 3 : return 0xB0;
   case 4 : return 0x99;
   case 5 : return 0x92;
   case 6 : return 0x82;
   case 7 : return 0xF8;
   case 8 : return 0x80;
   case 9 : return 0x90;

 }
 }
//**********  ^^----------  END PROGRM  --------^^  ***************//





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



تحياتى لك وشكراااا على اهتمامك ....

إضافة رد

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

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

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


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

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