اطلاعیه

Collapse
No announcement yet.

کمک در برنامه نویسی

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

    کمک در برنامه نویسی

    سلام من یک برنامه با کدویژن نوشتم نمیدونم چه جوری اشکالشو بفهمم و متوجه بشم درسته. لطفا کمکم کنید.

    #2
    پاسخ : کمک در برنامه نویسی

    برنامه+شماتیک مدار=کمک
    ... و (بدانید) گرفتن تصمیمهاى محکم (براى رسیدن به اهداف بزرگ) با خوش گذرانى و سفرهآ‌هاى رنگین سازگار نیست و چه بسیار که خواب شبانه تصمیمهاى محکم روز را از میان برده و تاریکیآ‌ها، خاطره همتآ‌هاى بلند را از یادها محو کرده است. (نهجآ‌البلاغه، خطبه211)

    امام علی (ع):کسی که به وقت یاری رهبرش در خواب باشد، با لگد دشمنش بیدار می شود (غررالحکم،ص 422)

    دیدگاه


      #3
      پاسخ : کمک در برنامه نویسی

      کد:
      #include <mega32.h>
      #include <spi_seg.h>
      #include <delay.h>
      
      #define sens1  PINA0
      #define sens2  PINA1
      #define sens3  PINA2
      #define sens4  PINA3
      
      #define key1   PINA5
      #define key2   PINA6
      #define key3   PINA7
      
      #define en    PORTB.0
      #define puls   PORTB.2
      #define motor  PORTB.3
      #define error  PORTA.4
      
      
      char debuncing(char key);
      void shomaresh(void);
      void shomaresh2(void);
      
      volatile unsigned int conter=0,compar=0;
      
      
       void main (char key){
      
       char deb;
      
       PORTA=0x00;
       DDRA=0x10;
      
       PORTB=0x10;
       DDRB=0xed;
      
       DDRD=0xff;
      
       TCCR1A=0x00;
       TCCR1B=0x00;
       TCNT1=0x00;
       OCR1A=0x00;
       OCR1B=0X00;
      
       TCCR2=(1<<WGM12)|(1<<CS22)|(1<<CS21)|(1<<CS20);
       OCR2=0x07;
       TIMSK=(1<<OCIE2);
      
      
      
       spi_init();
      
       #asm ("sei") ;
      
       while (1)
         {
          if(key1==1){
           deb=debuncing(key1);
           if(deb){
            compar=compar+10;
            if(compar==100);
             compar=0;
            }
           }
      
           if(key2==1){
           deb=debuncing(key2);
           if(deb){
            compar=compar+100;
            if(compar=1000);
             compar=0;
            }
           }
      
           if(key3==1){
            deb=debuncing(key3);
            if(deb){
             compar=0;
            }
           }
      
           if (sens1==1){
            if(compar==0)
            shomaresh();
            else
            shomaresh2();
           }
           else
           motor=0;
      
           if (sens4==0)
           conter=0;
      
      
          }
      
          }
      
      
      
      
      
       interrupt [TIM1_COMPA] void timer1_compar_isr(void){
      
        motor=0;
      
       }
      
       interrupt [TIM2_COMP] void timer2_comp_isr(void){
      
        spi_send(conter,compar);
      
       }
      
      
        char debuncing(char key){
        int dad=1;
      
        if(key & dad){
         return(1);
         dad=0;
         }
        else return(0);
        if(dad|key ==0)
         dad=1;
        }
      
      
        void shomaresh (void){
        motor=1;
        puls=sens2+sens3;
        TCCR1B=(1<<CS12)|(1<<CS11);
        conter=TCNT1;
        if ((sens2| sens3)==1){
         motor=0;
         error=1;
         TCCR1B=(0<<CS12)|(0<<CS11);
         }
      
        }
      
      
       void shomaresh2(void){
        motor=1;
        puls=sens2+sens3;
        TCCR1B=(1<<CS12)|(1<<CS11);
        OCR1A=compar;
        TCCR1B=(1<<WGM12);
        conter=TCNT1;
        if (sens2 ^ sens3){
         motor=0;
         error=1;
         TCCR1B=(0<<CS12)|(0<<CS11);
        }
        }

      دیدگاه


        #4
        پاسخ : کمک در برنامه نویسی

        چه جوری باید عکس شماتیکمو بفرستم؟

        دیدگاه


          #5
          پاسخ : کمک در برنامه نویسی

          عکسش رو باید یه جا پلود کنی
          لینکش رو بذاری
          ... و (بدانید) گرفتن تصمیمهاى محکم (براى رسیدن به اهداف بزرگ) با خوش گذرانى و سفرهآ‌هاى رنگین سازگار نیست و چه بسیار که خواب شبانه تصمیمهاى محکم روز را از میان برده و تاریکیآ‌ها، خاطره همتآ‌هاى بلند را از یادها محو کرده است. (نهجآ‌البلاغه، خطبه211)

          امام علی (ع):کسی که به وقت یاری رهبرش در خواب باشد، با لگد دشمنش بیدار می شود (غررالحکم،ص 422)

          دیدگاه


            #6
            پاسخ : کمک در برنامه نویسی

            نوشته اصلی توسط AliRezaDAVE
            عکسش رو باید یه جا پلود کنی
            لینکش رو بذاری
            ولی بعضیا عکسه مدارشونو بدون اپلود مستقیم میذارن. چه جوری این کارو میکنن؟ :sad:

            دیدگاه


              #7
              پاسخ : کمک در برنامه نویسی

              اپلود نشد :sad:

              دیدگاه


                #8
                پاسخ : کمک در برنامه نویسی

                دیدگاه


                  #9
                  پاسخ : کمک در برنامه نویسی

                  اونها هم پلود میکنن. فقط بین گزینه های بالای صورتکها یکی هست که باید لینک عکس رو بذاری اونجا تا نشونش بده.زیر دکمه B هست. همچنین یک گزینه هم داره برای کد نویسی که کدها رو میذاری اونجا تا درست نشونش بده.




                  کد:
                  #include <mega32.h>
                  #include <spi_seg.h>
                  #include <delay.h>
                  
                  #define sens1  PINA0
                  #define sens2  PINA1
                  #define sens3  PINA2
                  #define sens4  PINA3
                  
                  #define key1   PINA5
                  #define key2   PINA6
                  #define key3   PINA7
                  
                  #define en    PORTB.0
                  #define puls   PORTB.2
                  #define motor  PORTB.3
                  #define error  PORTA.4
                  
                  
                  char debuncing(char key);
                  void shomaresh(void);
                  void shomaresh2(void);
                  
                  volatile unsigned int conter=0,compar=0;
                  
                  
                   void main (char key){
                  
                   char deb;
                  
                   PORTA=0x00;
                   DDRA=0x10;
                  
                   PORTB=0x10;
                   DDRB=0xed;
                  
                   DDRD=0xff;
                  
                   TCCR1A=0x00;
                   TCCR1B=0x00;
                   TCNT1=0x00;
                   OCR1A=0x00;
                   OCR1B=0X00;
                  
                   TCCR2=(1<<WGM12)|(1<<CS22)|(1<<CS21)|(1<<CS20);
                   OCR2=0x07;
                   TIMSK=(1<<OCIE2);
                  
                  
                  
                   spi_init();
                  
                   #asm ("sei") ;
                  
                   while (1)
                     {
                      if(key1==1){
                       deb=debuncing(key1);
                       if(deb){
                        compar=compar+10;
                        if(compar==100);
                         compar=0;
                        }
                       }
                  
                       if(key2==1){
                       deb=debuncing(key2);
                       if(deb){
                        compar=compar+100;
                        if(compar=1000);
                         compar=0;
                        }
                       }
                  
                       if(key3==1){
                        deb=debuncing(key3);
                        if(deb){
                         compar=0;
                        }
                       }
                  
                       if (sens1==1){
                        if(compar==0)
                        shomaresh();
                        else
                        shomaresh2();
                       }
                       else
                       motor=0;
                  
                       if (sens4==0)
                       conter=0;
                  
                  
                      }
                  
                      }
                  
                  
                  
                  
                  
                   interrupt [TIM1_COMPA] void timer1_compar_isr(void){
                  
                    motor=0;
                  
                   }
                  
                   interrupt [TIM2_COMP] void timer2_comp_isr(void){
                  
                    spi_send(conter,compar);
                  
                   }
                  
                  
                    char debuncing(char key){
                    int dad=1;
                  
                    if(key & dad){
                     return(1);
                     dad=0;
                     }
                    else return(0);
                    if(dad|key ==0)
                     dad=1;
                    }
                  
                  
                    void shomaresh (void){
                    motor=1;
                    puls=sens2+sens3;
                    TCCR1B=(1<<CS12)|(1<<CS11);
                    conter=TCNT1;
                    if ((sens2| sens3)==1){
                     motor=0;
                     error=1;
                     TCCR1B=(0<<CS12)|(0<<CS11);
                     }
                  
                    }
                  
                  
                   void shomaresh2(void){
                    motor=1;
                    puls=sens2+sens3;
                    TCCR1B=(1<<CS12)|(1<<CS11);
                    OCR1A=compar;
                    TCCR1B=(1<<WGM12);
                    conter=TCNT1;
                    if (sens2 ^ sens3){
                     motor=0;
                     error=1;
                     TCCR1B=(0<<CS12)|(0<<CS11);
                    }
                    }
                  فایل پروتئوس رو هم پلود کن. حالا مشکلش چیه؟؟؟
                  کامپایلش ارور میده؟؟؟؟
                  اجرا نمیشه؟؟؟
                  ... و (بدانید) گرفتن تصمیمهاى محکم (براى رسیدن به اهداف بزرگ) با خوش گذرانى و سفرهآ‌هاى رنگین سازگار نیست و چه بسیار که خواب شبانه تصمیمهاى محکم روز را از میان برده و تاریکیآ‌ها، خاطره همتآ‌هاى بلند را از یادها محو کرده است. (نهجآ‌البلاغه، خطبه211)

                  امام علی (ع):کسی که به وقت یاری رهبرش در خواب باشد، با لگد دشمنش بیدار می شود (غررالحکم،ص 422)

                  دیدگاه


                    #10
                    پاسخ : کمک در برنامه نویسی

                    4تا سنسور داریم که تو شماتیکش به vcc وصل کردم. سه تا کلید داریم که با زدن هر کلید به compar اضافه میشه. با ارتباط spi با 595 سگمنتا عدد compar و conter نشون میدن. اگه compar غیر صفر باشه تایمر کانتر یک تو مد ctc میشمره و کلا تایمر کانتر با پالس خارجی که and دو تا سنسورها هست ایجاد شده.
                    دوستان ممنون میشم کمکم کنید.

                    دیدگاه


                      #11
                      پاسخ : کمک در برنامه نویسی

                      تو پروتئوس جواب نمیده. نمیدونم مشکل از برنامس یا شماتیکم :sad:

                      دیدگاه


                        #12
                        پاسخ : کمک در برنامه نویسی

                        شما فایل پروتئوس رو هم بذار.
                        چون این عکست یکم نامعلومه.
                        باید هردو رو چک کنی.
                        ... و (بدانید) گرفتن تصمیمهاى محکم (براى رسیدن به اهداف بزرگ) با خوش گذرانى و سفرهآ‌هاى رنگین سازگار نیست و چه بسیار که خواب شبانه تصمیمهاى محکم روز را از میان برده و تاریکیآ‌ها، خاطره همتآ‌هاى بلند را از یادها محو کرده است. (نهجآ‌البلاغه، خطبه211)

                        امام علی (ع):کسی که به وقت یاری رهبرش در خواب باشد، با لگد دشمنش بیدار می شود (غررالحکم،ص 422)

                        دیدگاه


                          #13
                          پاسخ : کمک در برنامه نویسی

                          http://s5.picofile.com/file/8131767950/poroteus_jadid.rar.html

                          دیدگاه


                            #14
                            پاسخ : کمک در برنامه نویسی

                            بچه ها چرا هیچکی راهنماییم نمیکنه؟؟؟؟ :sad:

                            دیدگاه


                              #15
                              پاسخ : کمک در برنامه نویسی

                              سلام
                              خوب سه تا خطا که کدویزن از برنامه میگیره:
                              کد:
                              #include <spi_seg.h>
                              این رو از کجا اوردید :biggrin:؟
                              به دنبال این هدر این خطوط هم خطا ایجاد میکنند:
                              کد:
                               spi_init();
                              و
                              کد:
                                spi_send(conter,compar);
                              اینا رو برطرف کنید شاید مشکل حل شه.شرمنده همین قدر بلد بودم :redface:.

                              دیدگاه

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