اطلاعیه

Collapse
No announcement yet.

اجرا نشدن دستور؟

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

    اجرا نشدن دستور؟

    سلام
    صبح بخیر
    نمیدونم چرا یکی از شرط های برنامم چک نمی شه؟
    (البته منظورم IFهای است که تو while(PINB.0==1)است)
    کد:
    #include <mega8.h>
    #include <delay.h>
    
    
    void main(void)
    {
    
    PORTB=0x07;
    DDRB=0x00;
    
    PORTC=0x00;
    DDRC=0xFF;
    
    PORTD=0x01;
    DDRD=0x00;
    
    
    
    while (1)
       {
       if(PINB.0==1)
        { 
        PORTC.5=1;
        delay_ms(25);
        PORTC.5=0;
        while(PINB.0==1)
    
         if(PIND.0==0)
         {
         ;PORTC.5=0  
         }
         else
         {
         PORTC.5=1;
         };
         
         if(PINB.2==1)
         {
         PORTC.5=0;
         }
         else
         {
         PORTC.5=1;
         }
         
        }
        
        
        
        
        
        
    
       }
    }

    #2
    پاسخ : اجرا نشدن دستور؟

    else
    {
    PORTC.5=1;
    };
    تو این قسمت نقطه ویرگول بعد از آکولاد را بردارید.

    دیدگاه


      #3
      پاسخ : اجرا نشدن دستور؟

      اصلاح کردم ولی تاثیری نداشت
      (مگه این ;تاثیر داره؟)

      دیدگاه


        #4
        پاسخ : اجرا نشدن دستور؟

        مدار را رو برد بستی یا تو پروتئوس تست کردی؟

        دیدگاه


          #5
          پاسخ : اجرا نشدن دستور؟

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

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

          دیدگاه


            #6
            پاسخ : اجرا نشدن دستور؟

            نوشته اصلی توسط AliRezaDAVE
            از کجا میفهمی چکشون نمیکنه؟؟؟؟
            اگر از روی پایه های Portc هست چک کن ببین فیوز بیت jtagen روشن هست یا نه
            اصولا مگا8 JTAG نداره.

            دیدگاه


              #7
              پاسخ : اجرا نشدن دستور؟

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

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

              دیدگاه


                #8
                پاسخ : اجرا نشدن دستور؟

                من هم در عمل و هم در پروتئوس امتحان کردم ولی جواب نداد

                دیدگاه


                  #9
                  پاسخ : اجرا نشدن دستور؟

                  نوشته اصلی توسط bravehamid
                  من هم در عمل و هم در پروتئوس امتحان کردم ولی جواب نداد
                  شاید علت از فیوزبیت واچ داگ باشه .تو پروتئوس که پیشفرض برنامه ریزی شده است . شاید تو میکرو هم اشتباها برنامه ریزی کرده باشی.
                  اسم فیوز بیتش WDTON هستش . تو پروتئوس می تونی توقسمت پروپرتیس میکرو اون را غیر فعال کنی.

                  دیدگاه


                    #10
                    پاسخ : اجرا نشدن دستور؟

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

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

                    دیدگاه


                      #11
                      پاسخ : اجرا نشدن دستور؟

                      یه چیزی چه جوری می شه فهمید میکرو سالمه؟
                      من اون ; رو حذف کردم الان داستان یه جور دیگه شد تو پروتئوس جواب میده ولی در عمل جواب نمیده چه جوری می شه فهمید میکرو سالمه یا نه؟

                      دیدگاه


                        #12
                        پاسخ : اجرا نشدن دستور؟

                        اگر بگی دقیقا از برنامه ات چی میخوای بهتر میشه کد رو اصلاح کرد.
                        پیشنهاد میدم قبل از while دوم یک دونه { بذار. چون طبق کدی که گذاشتی if تا آخرش بازه و شامل while دوم هم میشه. من اینکار رو کردم توی پروتئوس به صورت چشمک زن شروع به کار کرد
                        این برنامه تقریبا برای دزدگیره

                        دیدگاه


                          #13
                          پاسخ : اجرا نشدن دستور؟

                          این کد رو بذار ببین نتیجه چی میشه
                          کد:
                          #include <mega8.h>
                          #include <delay.h>
                          
                          
                          void main(void)
                          {
                          
                          PORTB=0x00;
                          DDRB=0x00;
                          
                          PORTC=0x00;
                          DDRC=0xFF;
                          
                          PORTD=0x00;
                          DDRD=0x00;
                          
                          
                          
                          while (1)
                             {
                             if(PINB.0==1)
                              { 
                              PORTC.5=1;
                              delay_ms(25);
                              PORTC.5=0;};
                              while(PINB.0==1) {
                          
                               if(PIND.0==0)
                               {
                               PORTC.5=0 ; 
                               }
                               else
                               {
                               PORTC.5=1;
                               };
                               
                               if(PINB.2==1)
                               {
                               PORTC.5=0;
                               }
                               else
                               {
                               PORTC.5=1;
                               }}
                               
                              }
                              
                              
                              
                              
                              
                              
                          
                             }
                          ... و (بدانيد) گرفتن تصميمهاى محكم (براى رسيدن به اهداف بزرگ) با خوش گذرانى و سفرهآ‌هاى رنگين سازگار نيست و چه بسيار كه خواب شبانه تصميمهاى محكم روز را از ميان برده و تاريكيآ‌ها، خاطره همتآ‌هاى بلند را از يادها محو كرده است. (نهجآ‌البلاغه، خطبه211)

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

                          دیدگاه


                            #14
                            پاسخ : اجرا نشدن دستور؟

                            عذر می خوام
                            از اینجا به بعد فکر کنم مشکل از میکرو باشه باز قطعا نمیدونم ولی تو پروتئوس برنامه جواب میده

                            دیدگاه

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