اطلاعیه

Collapse
No announcement yet.

فرق میان دو برنامه ساده

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

    فرق میان دو برنامه ساده

    سلام به همه

    من دو تا برنامه خیلی ساده برای مدار زیر نوشتم که با فشار دادن دگمه ای که به Portb.b7 وصله LEDی که به Portb.b0 وصله روشن بشه.


    کد:
      
        
        CLRF	0x06
        BSF	0x03,	5
        MOVLW	0xFE
        MOVWF	0x86
        BCF	0x03,	5
            
    START	BTFSC	0x06,	7
        BSF	0x06,	0
        GOTO	START		
      
        END

    کد:
          
        CLRF	0x06
        BSF	0x03,	5
        MOVLW	0xFE
        MOVWF	0x86
        BCF	0x03,	5
            
    START	BTFSS	0x06,	7
        GOTO	START
        BSF	0x06,	0		
      
        END
    همونطور که میبینین در یکی از برنامه ها تست دگمه رو با دستور BTFSS انجام دادم و در برنامه دیگه با دستور BTFSC و در هر دو برنامه LED روشن میشه و تا اینجا درست.

    ولی در برنامه ای که با دستور BTFSS نوشتم LED بعد از اینکه دستم رو از روی دگمه برمیدارم خاموش میشه.

    حالا این سوالا برام پیش اومده
    با اینکه از دستوری برای خاموش کردن LED استفاده نکردم چطور میشه که LED خاموش میشه؟ یعنی وقتی من یه بیتی رو Set میکنم چطور ممکنه خود به خود Reset بشه؟

    ضمنا چطور میشه بعد از دستور BSF که آخرین دستور هست برنامه دوباره وضعیت دگمه رو تست میکنه؟ همونطور که میبینین دستور BSF بیرون حلقه هستش و ضمنا آخرین دستور هم هست و باید طبیعتا برنامه با دستور End کارش رو تموم کنه.
    وَالسَّارِقُ وَالسَّارِقَةُ فَاقْطَعُواْ أَيْدِيَهُمَا جَزَاء بِمَا كَسَبَا نَكَالاً مِّنَ اللَّهِ وَاللَّهُ عَزِيزٌ حَكِيمٌ

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

    کسی نیست کمکم بکنه؟ :cry:

    تو یه انجمن دیگه یکی نوشته: میکروکنترلر تا آخرِ حافظه برنامه میره و دوباره برمیگرده و دستورات رو از اول اجرا میکنه

    آیا این حرف درسته؟ اگه میشه راهنمایی بکنین.
    وَالسَّارِقُ وَالسَّارِقَةُ فَاقْطَعُواْ أَيْدِيَهُمَا جَزَاء بِمَا كَسَبَا نَكَالاً مِّنَ اللَّهِ وَاللَّهُ عَزِيزٌ حَكِيمٌ

    دیدگاه


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

      سلام
      در برنامه اول چه کلید را بزنید و چه نزنید ، دائم در یک حلقه هستید ولی در برنامه دوم به محض زدن کلید از حلقه خارج میشوید و برنامه به اول حافظه (که البته در اینجا مشخص نشده ولی بصورت پیش فرض به ادرس 0x0000 میرود) میرود و تنظیمات اولیه را دوباره انجام میدهد . . .
      :read:

      دیدگاه


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

        نوشته اصلی توسط mkhpmkhp
        سلام
        در برنامه اول چه کلید را بزنید و چه نزنید ، دائم در یک حلقه هستید ولی در برنامه دوم به محض زدن کلید از حلقه خارج میشوید و برنامه به اول حافظه (که البته در اینجا مشخص نشده ولی بصورت پیش فرض به ادرس 0x0000 میرود) میرود و تنظیمات اولیه را دوباره انجام میدهد . . .
        :read:
        پس اون حرف درسته؟

        من مشکلم اینجاست که چطور میشه که میره به اول حافظه؟ با کدوم دستور؟
        وَالسَّارِقُ وَالسَّارِقَةُ فَاقْطَعُواْ أَيْدِيَهُمَا جَزَاء بِمَا كَسَبَا نَكَالاً مِّنَ اللَّهِ وَاللَّهُ عَزِيزٌ حَكِيمٌ

        دیدگاه


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

          مرسی یکی توی انجمن دیگه جوابمو داد و به جوابم رسیدم. اون حرف درست بود.

          ضمنا عالی هم توضیح داده اگه مدیرا موافق باشن میتونن جواب رو اینجا قرار بدن.
          وَالسَّارِقُ وَالسَّارِقَةُ فَاقْطَعُواْ أَيْدِيَهُمَا جَزَاء بِمَا كَسَبَا نَكَالاً مِّنَ اللَّهِ وَاللَّهُ عَزِيزٌ حَكِيمٌ

          دیدگاه


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

            من هم جواب ایشون را دیدم . . .
            کاملا درست گفتن . . .
            :applause:

            دیدگاه


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

              واقعا چند هفته درگیر این بودم و هیچ کس نتونسته بود جواب درست و حسابی بده. اکثرا میگفتن پروگرامر و یا میکروکنترلت مشکل داره. :NO: :angry:
              وَالسَّارِقُ وَالسَّارِقَةُ فَاقْطَعُواْ أَيْدِيَهُمَا جَزَاء بِمَا كَسَبَا نَكَالاً مِّنَ اللَّهِ وَاللَّهُ عَزِيزٌ حَكِيمٌ

              دیدگاه


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

                میشه لینک تاپیکو بزارید؟
                1 در دنیا 100 در آخرت (درس و مشق فعالیتمو تو انجمن کم کرده)
                من آنچه شرط بلاغست با تو میآ‌گویم. تو خواه از سخنم پند گیر و خواه ملال. سعدی
                !Electronic On! Programming On
                هوشمندانه سوال بپرسیم!
                http://ir02x6.persiangig.com/logo/eca/tanks_01.png

                دیدگاه


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

                  نوشته اصلی توسط Mahan.Rafeie
                  میشه لینک تاپیکو بزارید؟
                  تاپیک

                  بجای eca کلمه w l e رو بنویسین، البته بدون فاصله
                  وَالسَّارِقُ وَالسَّارِقَةُ فَاقْطَعُواْ أَيْدِيَهُمَا جَزَاء بِمَا كَسَبَا نَكَالاً مِّنَ اللَّهِ وَاللَّهُ عَزِيزٌ حَكِيمٌ

                  دیدگاه

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