با سلام ،
دوست عزیز شما در حال استفاده از ورژنی قدیمی از اینترنت اکسپلورر هستید ، برای اینکه مشکلات ناشی از نمایش را نداشته باشید ، لطفا اقدام به دریافت مرورگری مناسب کرده و یا از ورژن قدیمی ما استفاده نمایید.


موضوع بسته شده است 
امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل حل شد فرق میان دو برنامه ساده
#1
سلام به همه

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

İmage

کد:
        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
(21 مرداد 1394، 02:51 صبح)هادی نوشته است: دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
... میکروکنترلر تا آخرِ حافظه برنامه میره و دوباره برمیگرده و دستورات رو از اول اجرا میکنه ...

با تشکر از جوابتون

ولی در این مورد مطمئن هستین؟ میتونین ثابت کنین؟  Confused  Confused

چون تو هیچ یکی از کتابها و منابع فارسی و حتی از استادا هم نشنیدم که میکروکنترلر بعد از اجرای آخرین دستور بره از اول دستورات رو اجرا کنه حتی همه میگن دستورات که تموم میشه میکرو هم کارش تموم میشه. البته توی PLC ها چنین چیزی شنیده بودم ولی دقیق نمیدونم.

#3

مهندس ایمان آوردم به شما و واقعا سپاسگذارم.

واقعا چند هفته درگیر این بودم و هیچ کس نتونسته بود جواب درست و حسابی بده. اکثرا میگفتن پروگرامر و یا میکروکنترلت مشکل داره. WleFacepalm
#4
نقل قول: حتی در اصرع وقت اون جزوه رو به سبزی فروشی محل اهدا کنه که سبزی بپیچن دورش چون بدرد کار دیگه ای نمیخوره. WleGiggle

Idea Idea Idea
مشترک شدن در این موضوع موضوع بسته شده است 


پرش به انجمن:

کاربرانِ درحال بازدید از این موضوع: 1 مهمان

انتخاب پوسته :

دسترسی سریع
درباره ما
انجمن سرزمین الکترونیک در 20 شهریور 91 تاسیس شده ، که همیشه سعی کرده با ظاهری متفاوت و سرعتی خوب رضایت کاربران را جلب کند ، امیدواریم توانسته باشیم گامی کوچک در پیشرفت فناوری در ایران برداشته باشیم...
نیرو گرفته از MyBB 1.8.6 با فارسی سازی مای بی بی ایران - طراحی شده در : ملت دیزاین
© تمامی حقوق برای انجمن سرزمین الکترونیک محفوظ می باشد .

پوسته‌ی انجمن: