اطلاعیه

Collapse
No announcement yet.

گیر کردن رله هنگام متصل شدن برق به مدار

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    #46
    پاسخ : گیر کردن رله هنگام متصل شدن برق به مدار

    نوشته اصلی توسط mahdi8866
    خب خدا رو شکر حالا که حل شد یکار دیگه بکنیم بیایم دستور روشن شدن رله رو بعد دستور بازر بنویسیم
    مشکل از این بود که ما موقعی که پین مربوط رله رو 0 میکردیم با اجرا شدن شرط IF در حلقه دوم بلا فاصله پین رله 1 میشد و 3 ثانیه هم بازر روشن میشد
    حالا جای دستور 1 شدن رله رو بعد بازر میذارم و بازر هم با همون 3 ثانیه صوت کشیدن پس شما کد زیر تست کن ببین این چطوره
    اگه کد زیر با همون بازر 3 ثانیه درست کار کرد که هیچی وگرنه همون کد قبل رو استفاده کن

    [code=c]


    #include <mega8.h>
    #include <delay.h>
    #include <stdio.h>
    #include <i2c.h>
    #include <ds1307.h>
    #include <alcd.h>
    #define b_down PIND.1
    #define b_up PIND.2
    #define b_set PIND.0
    #define b_set_down PIND.3
    #define relay PORTB.7
    #define buzzer PORTC.0
    //__________________________________________________ __________
    void main(){
    char lcd_buffer1[16];

    unsigned char hr,min,sec,status=0,value=0,roz=0;
    unsigned char week,year,month,day;
    unsigned char en_hr=0,en_min=0,en_sec=0;
    unsigned char st_hr=0,st_min=0,st_sec=0;
    unsigned char en_year=0,en_month=0,en_day=0;
    unsigned char st_year=0,st_month=0,st_day=0;
    unsigned int main_year;
    DDRB.7=1;
    relay = 0;
    DDRC=0xFF;
    PORTD=0XFF;
    i2c_init();
    lcd_init(16);
    rtc_init(0,0,0);

    if(b_set == 0)
    {
    rtc_set_time(0,0,0);
    rtc_set_date(0,8,7,15);
    lcd_putsf("Successfully!"
    while(1)
    {
    }
    }

    delay_ms(20);
    rtc_get_time(&en_hr,&en_min,&en_sec);
    rtc_get_time(&st_hr,&st_min,&st_sec);
    rtc_get_date(&week,&en_day,&en_month,& amp;en_year);
    rtc_get_date(&week,&st_day,&st_month,& amp;st_year);
    delay_ms(20);

    while (1){
    while(status == 0)
    {
    rtc_get_time(&hr,&min,&sec);
    rtc_get_date(&week,&day,&month,&ye ar);
    main_year = year + 2000;

    if(b_up == 0)
    {
    roz++;
    if(roz == 2) roz = 0;
    while(b_up == 0);
    }

    if(roz == 0)
    {
    if(hr == en_hr & min == en_min & sec == en_sec & year == en_year & month == en_month & day == en_day)
    {
    value = 1;

    buzzer = 1;
    delay_ms(3000);
    buzzer = 0;
    relay = 1;
    }

    if(hr == st_hr & min == st_min & sec == st_sec & year == en_year & month == en_month & day == en_day)
    {
    value = 0;
    relay = 0;
    }
    }
    else
    {
    if(hr == en_hr & min == en_min & sec == en_sec)
    {
    value = 1;

    buzzer = 1;
    delay_ms(3000);
    buzzer = 0;

    relay = 1;
    }

    if(hr == st_hr & min == st_min & sec == st_sec)
    {
    value = 0;
    relay = 0;
    }
    }

    lcd_clear();

    sprintf(lcd_buffer1,"Time~ %02u:%02u:%02u",hr,min,sec);
    lcd_gotoxy(0,0);
    lcd_puts(lcd_buffer1);
    sprintf(lcd_buffer1,"%u/%02u/%02u ",main_year,month,day);
    lcd_gotoxy(0,1);
    lcd_puts(lcd_buffer1);

    if(value == 0)
    lcd_putsf("Off"
    else
    lcd_putsf("On"

    if(roz != 0)
    lcd_putsf(" R"

    if(b_set == 0)
    {
    status++;
    if(status == 19) status = 0;
    while(b_set == 0);
    }
    delay_ms(200);
    }

    rtc_get_time(&hr,&min,&sec);
    b:
    while(status == 1)
    {
    if(b_up == 0)
    {
    hr++;
    if(hr == 25) hr = 0;
    delay_ms(70);
    }

    if(b_down == 0)
    {
    hr--;
    if(hr == -1) hr = 0;
    delay_ms(70);
    }

    lcd_clear();
    lcd_gotoxy(0,0);
    sprintf(lcd_buffer1,"Time~%02u:%02u:%02u&quot ;,hr,min,sec);
    lcd_puts(lcd_buffer1);
    delay_ms(80);
    lcd_clear();
    sprintf(lcd_buffer1,"Time~ :%02u:%02u",min,sec);
    lcd_puts(lcd_buffer1);
    delay_ms(80);
    if(b_set == 0)
    {
    rtc_set_time(hr,min,sec);
    status++;
    if(status == 19) status = 0;
    while(b_set == 0);
    }
    if(b_set_down == 0)
    {
    status--;
    if(status == -1) status = 0;
    while(b_set_down == 0);
    goto b;
    }
    }
    [/code]
    ممنون دوست عزیز: مشکل گیر کردن رله و led حل شده است ! بازر نمی دانم ایا 3 ثانیه سوت می کشه یا نه! فردا عملا تست می کنم !! فقط الان lcd گیر خوداش را داره!! به نظر شما مشکل از چی می تونه باشد؟ یک فیلم چند ثانیه و 1 مگی گذاشتم! از عملکرد مدار!
    http://s3.picofile.com/file/8210105576/bandicam_2015_09_04_00_48_12_155.zip.html
    سپاس

    دیدگاه


      #47
      پاسخ : گیر کردن رله هنگام متصل شدن برق به مدا&#1585

      نوشته اصلی توسط mohammad...
      من یه روش می گم ببین اگر خوشتون اومد استفاده کنید اگر نه که هیچ

      یه متغیر از نوع int تعریف کنید و مقدارش رو 10 بدید

      بعد اون قسمتی که رله برابر یک میشه رو داخل شرط بزارید به این صورت که اگر متغیری که تعریف شده 0 هست رله رو یک کن

      و بعد از این شرط مقدار متغیر رو 0 می کنی

      این باعث میشه که فقط برای اولین بار که تغذیه وصل میشه رله کار نکنه

      [code=c]

      unsigned int rahandazi=1;

      if(hr == en_hr & min == en_min & sec == en_sec)
      {
      value = 1;
      if(rahandazi==0){
      relay = 1;
      rahandazi=0;
      }

      buzzer = 1;
      delay_ms(3000);
      buzzer = 0;

      }

      [/code]
      ممنون دوست عزیز: این خط یعنی چی؟

      unsigned int rahandazi=1

      کد را فردا تست می کنم!

      سپاس

      دیدگاه


        #48
        پاسخ : گیر کردن رله هنگام متصل شدن برق به مدار

        حتما ال سی دی گیر میکنه چون دستور نوشتن ال سی دی بعد از دستور بازر هست و بازر هم 3 ثانیه هست پس شما اون عدد 3000 رو همون 30 بذار و برای صدا هم حالا فردا یفکری میکنیم
        شما میتونی شرط ها رو بعد دستور نمایش السی دی بذاری تا مشکلت کلا حل شه
        امام مهدی(عج): اگر شیعیان ما ، که خداوند طاعتشان دهد. در عهد ما وفادار و همدل بودند، هرگز دیدار ما (ظهور) به تاخیر نمی افتاد.(کدام عهد ؟)

        دیدگاه


          #49
          پاسخ : گیر کردن رله هنگام متصل شدن برق به مدار

          نوشته اصلی توسط mahdi8866
          حتما ال سی دی گیر میکنه چون دستور نوشتن ال سی دی بعد از دستور بازر هست و بازر هم 3 ثانیه هست پس شما اون عدد 3000 رو همون 30 بذار و برای صدا هم حالا فردا یفکری میکنیم
          شما میتونی شرط ها رو بعد دستور نمایش السی دی بذاری تا مشکلت کلا حل شه
          ممنون دوست عزیز: میشه بگید کدام شرط ها باید جابه جا کنم تا مشکل حل بشه؟ حتما باید 30 میلی ثانیه گذاشت!! بازر از بین میره ها!!
          بقیه راهنمایی ها باشه برای فردا: فعلا شب خوش :mrgreen:
          سپاس

          دیدگاه


            #50
            پاسخ : پاسخ : گیر کردن رله هنگام متصل شدن برق به مدار

            نوشته اصلی توسط ircaspianhero
            ممنون دوست عزیز: این خط یعنی چی؟

            unsigned int rahandazi=1

            کد را فردا تست می کنم!

            سپاس
            این دستور تعریف یه نوع متغیر از نوع int (عددی) هست که مقدارش رو برابر یک می کنیم
            برد جوجه کشی:
            مطالعه پست 1 (حتما مطالعه کنید)


            مطالعه پست 2 (برای مطلع شدن از تغییرات برنامه مطالعه کنید)

            دانلود

            توجه:
            این برد نیمه صنعتی و خانگی هست...
            برای صنعتی شدن حتما برد مخصوص خودتون رو بزنید...

            آی دی کانال تلگرامی مربوط به برد جوجه کشی : electr0o0nic@

            دیدگاه


              #51
              پاسخ : گیر کردن رله هنگام متصل شدن برق به مدار

              سلام
              اگز برنامه خیلی مهم نیست کل پروژه یا کد رو بزار تا دزستش کنم اینظوری سخته راهنمای کزدن
              مشکل نباید پیچیده باشه

              دیدگاه


                #52
                پاسخ : گیر کردن رله هنگام متصل شدن برق به مدار

                سلام
                درباره کد بازر باید بگم که اصلا کاری نمیکنه یعنی شما پین بازر رو 1 میکنی بعد 3000ms میای 0 میکنی , اینکه خاموش و روشن کردن یه پین هست , مثله پین رله , ایجاد صدا نمیکنه
                شما چند راه داری برای بازر یا پالس کوتاه بسازی یا از pwm استفاده کنی یا مدهای دیگه تایمر برای تولید یه پالس کوتاه برای بازر

                دستور نمایش ساعت وتاریخ رو هم قبل شرط if که رله وبازر رو فعال میکنه بنویسی درست میشه والسی هم مکث نداره یکار دیگه هم میتونی بکنی بیای قبل شرط یه جمله please wait رو السی دی بنویسی
                امام مهدی(عج): اگر شیعیان ما ، که خداوند طاعتشان دهد. در عهد ما وفادار و همدل بودند، هرگز دیدار ما (ظهور) به تاخیر نمی افتاد.(کدام عهد ؟)

                دیدگاه


                  #53
                  پاسخ : گیر کردن رله هنگام متصل شدن برق به مدا&#1585

                  ممنون دوست عزیز:
                  درباره کد بازر باید بگم که اصلا کاری نمیکنه یعنی شما پین بازر رو 1 میکنی بعد 3000ms میای 0 میکنی , اینکه خاموش و روشن کردن یه پین هست , مثله پین رله , ایجاد صدا نمیکنه
                  مطئن هستید کاری نمیکنه این کد!!؟ همین ین بازر رو 1 کردن بعد 3000ms میای 0 کردن باعث میشه زمانیکه تایمر به ان تایم ست شده در حافظع رسید هم زمان با فعال شدن رله ! بازر 3 ثانیه صدا بده و قطع بشه!!
                  pwm و روش تایمر برای تولید صدا !! چطوری هست؟ کد نویسی اش سخت هست؟ یا نمونه کد هست برای اش؟
                  دستور نمایش ساعت وتاریخ رو هم قبل شرط if که رله وبازر رو فعال میکنه بنویسی درست میشه والسی دی هم مکث نداره یکار دیگه هم میتونی بکنی بیای قبل شرط یه جمله please wait رو السی دی بنویسی
                  منظورتان را متوجه نشدم!! اگر دستورات قبل شرط بنوسم سیستم به هم نمی خورد!!؟
                  قبلا شرط please wait نوشته بودم قیلا ولی تاثیری نداشت !!


                  سپاس

                  دیدگاه


                    #54
                    پاسخ : گیر کردن رله هنگام متصل شدن برق به مدار

                    سلام
                    منظور از تایمر چیه که گفتی ؟ یعنی این کدی که گذاشتی ناقض هست؟ و برنامه تایمر در کد اصلی برای صدا هست؟یا نه؟
                    ببینید شما اگه یه پین رو 1 کنید و بعد 3 ثانیه 0 کنید که یکبار پالس دادید خب این صدای در بازر ایجاد نمیکنه باید این پالس تکرار بشه مثلا شما وقتی pwm رو فعال کنی وبعد 3 ثانیه تاخییر چندین پالس با دیوتی ساکل تعیین شده میزنه مثلا در 3 ثانیه pwm چندین بار مثلا 20 بار پالس میزنه ولی در کد بازر شما پین 1 میشه یعنی پالس on میشه و3 ثانیه در همین حالت میمونه وبعد پالس off میشه یعنی شما 1 دونه پالس ساختی با دامنه 3 ثانیه
                    در صورتی که شما باید در 3 ثانیه مثلا 15 پالس با دامنه 100 میکرو ثانیه بسازی (اعداد مثال بودن) یعنی اگه شما تاخییر رو بذاری 6 ثانیه pwm اونوقت 30 تا پالس 100 میکرو ثانیه میزنه
                    ولی در کد بازر شما فقط دامنه پالس از 3 ثانیه به 6 ثانیه تغییر میکنه
                    (اعداد گفته شده فرضی هستن)
                    این کد رو تست کن ببین please wait میاد
                    [code=c]


                    #include <mega8.h>
                    #include <delay.h>
                    #include <stdio.h>
                    #include <i2c.h>
                    #include <ds1307.h>
                    #include <alcd.h>
                    #define b_down PIND.1
                    #define b_up PIND.2
                    #define b_set PIND.0
                    #define b_set_down PIND.3
                    #define relay PORTB.7
                    #define buzzer PORTC.0
                    //__________________________________________________ __________
                    void main(){
                    char lcd_buffer1[16];

                    unsigned char hr,min,sec,status=0,value=0,roz=0;
                    unsigned char week,year,month,day;
                    unsigned char en_hr=0,en_min=0,en_sec=0;
                    unsigned char st_hr=0,st_min=0,st_sec=0;
                    unsigned char en_year=0,en_month=0,en_day=0;
                    unsigned char st_year=0,st_month=0,st_day=0;
                    unsigned int main_year;
                    DDRB.7=1;
                    relay = 0;
                    DDRC=0xFF;
                    PORTD=0XFF;
                    i2c_init();
                    lcd_init(16);
                    rtc_init(0,0,0);

                    if(b_set == 0)
                    {
                    rtc_set_time(0,0,0);
                    rtc_set_date(0,8,7,15);
                    lcd_putsf("Successfully!"
                    while(1)
                    {
                    }
                    }

                    delay_ms(20);
                    rtc_get_time(&en_hr,&en_min,&en_sec);
                    rtc_get_time(&st_hr,&st_min,&st_sec);
                    rtc_get_date(&week,&en_day,&en_month,& amp;en_year);
                    rtc_get_date(&week,&st_day,&st_month,& amp;st_year);
                    delay_ms(20);

                    while (1){
                    lcd_clear();
                    lcd_gotoxy(2,0);
                    lcd_putsf("please wait"


                    while(status == 0)
                    {
                    rtc_get_time(&hr,&min,&sec);
                    rtc_get_date(&week,&day,&month,&ye ar);
                    main_year = year + 2000;

                    if(b_up == 0)
                    {
                    roz++;
                    if(roz == 2) roz = 0;
                    while(b_up == 0);
                    }

                    if(roz == 0)
                    {
                    if(hr == en_hr & min == en_min & sec == en_sec & year == en_year & month == en_month & day == en_day)
                    {
                    value = 1;

                    buzzer = 1;
                    delay_ms(3000);
                    buzzer = 0;
                    relay = 1;
                    }

                    if(hr == st_hr & min == st_min & sec == st_sec & year == en_year & month == en_month & day == en_day)
                    {
                    value = 0;
                    relay = 0;
                    }
                    }
                    else
                    {
                    if(hr == en_hr & min == en_min & sec == en_sec)
                    {
                    value = 1;

                    buzzer = 1;
                    delay_ms(3000);
                    buzzer = 0;

                    relay = 1;
                    }

                    if(hr == st_hr & min == st_min & sec == st_sec)
                    {
                    value = 0;
                    relay = 0;
                    }
                    }

                    lcd_clear();

                    sprintf(lcd_buffer1,"Time~ %02u:%02u:%02u",hr,min,sec);
                    lcd_gotoxy(0,0);
                    lcd_puts(lcd_buffer1);
                    sprintf(lcd_buffer1,"%u/%02u/%02u ",main_year,month,day);
                    lcd_gotoxy(0,1);
                    lcd_puts(lcd_buffer1);

                    if(value == 0)
                    lcd_putsf("Off"
                    else
                    lcd_putsf("On"

                    if(roz != 0)
                    lcd_putsf(" R"

                    if(b_set == 0)
                    {
                    status++;
                    if(status == 19) status = 0;
                    while(b_set == 0);
                    }
                    delay_ms(200);
                    }

                    rtc_get_time(&hr,&min,&sec);
                    b:
                    while(status == 1)
                    {
                    if(b_up == 0)
                    {
                    hr++;
                    if(hr == 25) hr = 0;
                    delay_ms(70);
                    }

                    if(b_down == 0)
                    {
                    hr--;
                    if(hr == -1) hr = 0;
                    delay_ms(70);
                    }

                    lcd_clear();
                    lcd_gotoxy(0,0);
                    sprintf(lcd_buffer1,"Time~%02u:%02u:%02u&quot ;,hr,min,sec);
                    lcd_puts(lcd_buffer1);
                    delay_ms(80);
                    lcd_clear();
                    sprintf(lcd_buffer1,"Time~ :%02u:%02u",min,sec);
                    lcd_puts(lcd_buffer1);
                    delay_ms(80);
                    if(b_set == 0)
                    {
                    rtc_set_time(hr,min,sec);
                    status++;
                    if(status == 19) status = 0;
                    while(b_set == 0);
                    }
                    if(b_set_down == 0)
                    {
                    status--;
                    if(status == -1) status = 0;
                    while(b_set_down == 0);
                    goto b;
                    }
                    }
                    [/code]
                    امام مهدی(عج): اگر شیعیان ما ، که خداوند طاعتشان دهد. در عهد ما وفادار و همدل بودند، هرگز دیدار ما (ظهور) به تاخیر نمی افتاد.(کدام عهد ؟)

                    دیدگاه


                      #55
                      پاسخ : گیر کردن رله هنگام متصل شدن برق به مدار

                      نوشته اصلی توسط mahdi8866
                      سلام
                      منظور از تایمر چیه که گفتی ؟ یعنی این کدی که گذاشتی ناقض هست؟ و برنامه تایمر در کد اصلی برای صدا هست؟یا نه؟
                      ببینید شما اگه یه پین رو 1 کنید و بعد 3 ثانیه 0 کنید که یکبار پالس دادید خب این صدای در بازر ایجاد نمیکنه باید این پالس تکرار بشه مثلا شما وقتی pwm رو فعال کنی وبعد 3 ثانیه تاخییر چندین پالس با دیوتی ساکل تعیین شده میزنه مثلا در 3 ثانیه pwm چندین بار مثلا 20 بار پالس میزنه ولی در کد بازر شما پین 1 میشه یعنی پالس on میشه و3 ثانیه در همین حالت میمونه وبعد پالس off میشه یعنی شما 1 دونه پالس ساختی با دامنه 3 ثانیه
                      در صورتی که شما باید در 3 ثانیه مثلا 15 پالس با دامنه 100 میکرو ثانیه بسازی (اعداد مثال بودن) یعنی اگه شما تاخییر رو بذاری 6 ثانیه pwm اونوقت 30 تا پالس 100 میکرو ثانیه میزنه
                      ولی در کد بازر شما فقط دامنه پالس از 3 ثانیه به 6 ثانیه تغییر میکنه
                      (اعداد گفته شده فرضی هستن)
                      این کد رو تست کن ببین please wait میاد
                      [code=c]


                      #include <mega8.h>
                      #include <delay.h>
                      #include <stdio.h>
                      #include <i2c.h>
                      #include <ds1307.h>
                      #include <alcd.h>
                      #define b_down PIND.1
                      #define b_up PIND.2
                      #define b_set PIND.0
                      #define b_set_down PIND.3
                      #define relay PORTB.7
                      #define buzzer PORTC.0
                      //__________________________________________________ __________
                      void main(){
                      char lcd_buffer1[16];

                      unsigned char hr,min,sec,status=0,value=0,roz=0;
                      unsigned char week,year,month,day;
                      unsigned char en_hr=0,en_min=0,en_sec=0;
                      unsigned char st_hr=0,st_min=0,st_sec=0;
                      unsigned char en_year=0,en_month=0,en_day=0;
                      unsigned char st_year=0,st_month=0,st_day=0;
                      unsigned int main_year;
                      DDRB.7=1;
                      relay = 0;
                      DDRC=0xFF;
                      PORTD=0XFF;
                      i2c_init();
                      lcd_init(16);
                      rtc_init(0,0,0);

                      if(b_set == 0)
                      {
                      rtc_set_time(0,0,0);
                      rtc_set_date(0,8,7,15);
                      lcd_putsf("Successfully!"
                      while(1)
                      {
                      }
                      }

                      delay_ms(20);
                      rtc_get_time(&en_hr,&en_min,&en_sec);
                      rtc_get_time(&st_hr,&st_min,&st_sec);
                      rtc_get_date(&week,&en_day,&en_month,& amp;en_year);
                      rtc_get_date(&week,&st_day,&st_month,& amp;st_year);
                      delay_ms(20);

                      while (1){
                      lcd_clear();
                      lcd_gotoxy(2,0);
                      lcd_putsf("please wait"


                      while(status == 0)
                      {
                      rtc_get_time(&hr,&min,&sec);
                      rtc_get_date(&week,&day,&month,&ye ar);
                      main_year = year + 2000;

                      if(b_up == 0)
                      {
                      roz++;
                      if(roz == 2) roz = 0;
                      while(b_up == 0);
                      }

                      if(roz == 0)
                      {
                      if(hr == en_hr & min == en_min & sec == en_sec & year == en_year & month == en_month & day == en_day)
                      {
                      value = 1;

                      buzzer = 1;
                      delay_ms(3000);
                      buzzer = 0;
                      relay = 1;
                      }

                      if(hr == st_hr & min == st_min & sec == st_sec & year == en_year & month == en_month & day == en_day)
                      {
                      value = 0;
                      relay = 0;
                      }
                      }
                      else
                      {
                      if(hr == en_hr & min == en_min & sec == en_sec)
                      {
                      value = 1;

                      buzzer = 1;
                      delay_ms(3000);
                      buzzer = 0;

                      relay = 1;
                      }

                      if(hr == st_hr & min == st_min & sec == st_sec)
                      {
                      value = 0;
                      relay = 0;
                      }
                      }

                      lcd_clear();

                      sprintf(lcd_buffer1,"Time~ %02u:%02u:%02u",hr,min,sec);
                      lcd_gotoxy(0,0);
                      lcd_puts(lcd_buffer1);
                      sprintf(lcd_buffer1,"%u/%02u/%02u ",main_year,month,day);
                      lcd_gotoxy(0,1);
                      lcd_puts(lcd_buffer1);

                      if(value == 0)
                      lcd_putsf("Off"
                      else
                      lcd_putsf("On"

                      if(roz != 0)
                      lcd_putsf(" R"

                      if(b_set == 0)
                      {
                      status++;
                      if(status == 19) status = 0;
                      while(b_set == 0);
                      }
                      delay_ms(200);
                      }

                      rtc_get_time(&hr,&min,&sec);
                      b:
                      while(status == 1)
                      {
                      if(b_up == 0)
                      {
                      hr++;
                      if(hr == 25) hr = 0;
                      delay_ms(70);
                      }

                      if(b_down == 0)
                      {
                      hr--;
                      if(hr == -1) hr = 0;
                      delay_ms(70);
                      }

                      lcd_clear();
                      lcd_gotoxy(0,0);
                      sprintf(lcd_buffer1,"Time~%02u:%02u:%02u&quot ;,hr,min,sec);
                      lcd_puts(lcd_buffer1);
                      delay_ms(80);
                      lcd_clear();
                      sprintf(lcd_buffer1,"Time~ :%02u:%02u",min,sec);
                      lcd_puts(lcd_buffer1);
                      delay_ms(80);
                      if(b_set == 0)
                      {
                      rtc_set_time(hr,min,sec);
                      status++;
                      if(status == 19) status = 0;
                      while(b_set == 0);
                      }
                      if(b_set_down == 0)
                      {
                      status--;
                      if(status == -1) status = 0;
                      while(b_set_down == 0);
                      goto b;
                      }
                      }
                      [/code]
                      ممنون دوست عزیز: این کد شما باز عمل نکرد !!! راستی با کمک از یکی دوستان تونستم یک ایراد دیگه از کد که باعث این مشکل میشه را پیدا کنیم ولی باز درست و حسابی: درست نشده !!!
                      یعنی با برداشتن این 2 خط کد یک قسمت دیگه ای از مدار خراب میشه!!
                      مشکل از این 2 تا هم بود!!
                      [code=c]
                      rtc_get_date(&week,&en_day,&en_month,& amp;en_year);
                      rtc_get_time(&en_hr,&en_min,&en_sec);

                      [/code]
                      سپاس

                      دیدگاه


                        #56
                        پاسخ : گیر کردن رله هنگام متصل شدن برق به مدار

                        سلام
                        در کدنویسی بغیر از درست نوشتن دستورات و کتاخانه ها , اولویت بندی دستورات هم خیلی مهمه یعنی شما فلان دستور رو در کجای برنامه بنویسی و این اولویت هم بستگی به سختف افزار و نوع قطعات و دیاگرام اجرا شدن هر قسمت در زمان خودش مهمه که اگه رعایت نشه چنین مشکلاتی رو ببار میاره
                        پروژه شما هم باید اول غلط گیری دستوری بشه و صحت کار کرد هر قسمت مشخص بشه بعد الویت بندی

                        بقول دوستمون اقای Mahdi.Faani
                        اوه اینا که خیلی طولانیه...شما اول چیزای اضافی رو کامنت کن...برنامه رو کامپایل کن کم کم کامنت ها رو بردار و کامپایل کن تا جایی که مشکل دوباره ظاهر بشه...اونجا میتونی متوجه بشی مشکل از کجاست...اینطری خب معلومه که سردرگم میشی...
                        امام مهدی(عج): اگر شیعیان ما ، که خداوند طاعتشان دهد. در عهد ما وفادار و همدل بودند، هرگز دیدار ما (ظهور) به تاخیر نمی افتاد.(کدام عهد ؟)

                        دیدگاه


                          #57
                          پاسخ : گیر کردن رله هنگام متصل شدن برق به مدار

                          دوستان: مشکل با کمک جناب احسان خان باقری حل شد: از سایر دوستان هم تشکر می کنم بابت کمک شان.
                          مهندس باقری: پ خ شما چرا قفل شده !!! ارور میده !!
                          ارور زیر:
                          متاسفانه 'ehsanbagheri' از دریافت پیغام خصوصی جدید منع شده است.
                          لطفا بررسی کن.
                          سپاس

                          دیدگاه

                          لطفا صبر کنید...
                          X