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

   

الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,673
نشاط [ حسن هادي محمود ]
قوة السمعة:
قديم 20-03-2014, 09:14 PM المشاركة 57   
Thumbs up



أريد اوضحلك أمر مهم جدا
سقن سكمنت عندك مرتبه بهذا الشكل
السنه-الشهر-اليوم-الاسبوع-ساعات-الدقائق-الثواني
بس داله او مكتبه DS1307 لها ترتيب مختلف وهو
كود:
setting_DS1307[2]=hours;
               setting_DS1307[1]=minutes;
               setting_DS1307[0]=seconds;
               setting_DS1307[4]=day;
               setting_DS1307[3]=week;
               setting_DS1307[5]=month;
               setting_DS1307[6]=year;
يعني مصفوفه setting_DS1307 لها ترتيب ثابت مشكله كيف حل مشكله عدم انتظام
طبعا أنت مضطر تغير بمكتبه DS1307 حتى تصبح مرتبه أشلون
لاحظ انت اولا لما تضغط على ضبط راح تطلعلك السنه وبعدين شهر وبعدين اليوم وبعدين اسبوع وبعدين ساعه ومن ثم دقائق ومن ثم ثواني
لهذا لابد من ضبط داله set_DS1307
كود:
static void set_DS1307(unsigned  char set_switch,unsigned  char inc_dec_system_12_24)
 {
   if(set_switch==0)// start value
              {
               setting_DS1307[2]=hours;
               setting_DS1307[1]=minutes;
               setting_DS1307[0]=seconds;
               setting_DS1307[4]=day;
               setting_DS1307[3]=week;
               setting_DS1307[5]=month;
               setting_DS1307[6]=year;
              }
   if(set_switch==8)//write new data to DS1307
                   {
                     if(inc_dec_system_12_24==24)kw_12_24=24;
                     else if(inc_dec_system_12_24==12)kw_12_24=12;
                     Show_Time(setting_DS1307[2],setting_DS1307[1],setting_DS1307[0],setting_DS1307[4],
                               setting_DS1307[3],setting_DS1307[5],setting_DS1307[6],0);
                   }
   if (inc_dec_system_12_24==0) // inc switch
                       {
                        setting_DS1307[set_switch-1]++;
                        if(setting_DS1307[2]>=24)setting_DS1307[2]=23;// houres
                        if(setting_DS1307[1]>=60)setting_DS1307[1]=59;// minute
                        if(setting_DS1307[0]>=60)setting_DS1307[0]=59;// second ,
                        if(setting_DS1307[4]>=32)setting_DS1307[4]=31;// days
                        if(setting_DS1307[3]>=8)setting_DS1307[3]=7;// week
                        if(setting_DS1307[5]>=13)setting_DS1307[5]=12;// month
                        if(setting_DS1307[6]>=99)setting_DS1307[6]=99;// year
                       }
   if (inc_dec_system_12_24==1) // dec switch
                         {
                          if(setting_DS1307[set_switch-1]>0)setting_DS1307[set_switch-1]--;
                          if(setting_DS1307[4]==0)setting_DS1307[4]=1;// days
                          if(setting_DS1307[3]==0)setting_DS1307[3]=1;// week
                          if(setting_DS1307[5]==0)setting_DS1307[5]=1;// month
                         }

}
اين صار تغير
الجواب فقط في مواقع مصفوفه setting_DS1307
======================================
بالبدايه خليت set=7 يعني بداله set_DS1307 بيكون [setting_DS1307[6 مخصص للسنه وعليه ترتب البقيه للعلم setting_DS1307 هي مصفوفه للسنه
[setting_DS1307[5 للشهر وهكذا
ولكن مهلا اهم تعديل هو كود بلون أحمر لاني داله show_time مرتبه وعليه تضع كل شيئ في مكانه لان show_time
مرتبه ساعات -دقائق-ثواني -يوم -اسبوع-شهر-سنه

يعني بأختصار أخي داله set_DS1307 ترتب حسب ماتريد أنت

أخي لاتتردد في كود حتى تفهمه بشكل جيد

اعلانات

hamadalla31
:: مهندس متميز ::
تاريخ التسجيل: Mar 2009
المشاركات: 585
نشاط [ hamadalla31 ]
قوة السمعة:
قديم 20-03-2014, 10:05 PM المشاركة 58   
x6 بارك الله لك اخي الكريم واعزك وفتح لك كل ابواب الخير


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


جزاكم الله بكل خير استاذي الكريم وزادكم الله من فضله وعلمه واكرمك في الدارين
ان شاء الله اذاكر كم المعلومات القيمة واحفظها ثم اطلب المزيد من المعلومات بارك الله لك

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

ابو وسام 1980
:: مهندس ::
تاريخ التسجيل: Sep 2016
المشاركات: 5
نشاط [ ابو وسام 1980 ]
قوة السمعة:
قديم 05-11-2016, 01:50 PM المشاركة 59   
افتراضي


السلام عليكم حسن هادي محمود ممكن شرح طريقة اضافة اوقات الصلاة وعرضها حسب التاريخ



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