ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

نمایش نتایج: از 1 به 6 از 6
  1. #1
    2017/03/07
    73
    19

    کمک در مورد خروج از حلقه

    با سلام خدمت اساتید انجمن

    من یه برنامه نوشتم با بسکام که دو خروجی داره با هر بارفشردن کلید یه پالس 300 میلی ثانیه ای به یکی از خروجی ها میده
    حالا مشکلم اینحاست بعضی مواقع از حلقه خارج نمیشه و بار دوم و سوم میره به خروجی بعدی پالس میده
    ممنون میشم ایراد کارم رو بهم بگید
    کد HTML:
    $regfile = "m8def.dat"
    $crystal = 800000
    Config Portd.5 = Output : Led1 Alias Portd.5
    Config Portd.7 = Output : Led2 Alias Portd.7
    Config Portc.2 = Output : Led3 Alias Portc.2
    Led3 = 1
    Portb.0 = 1 : Ddrb.0 = 0                                    'En pull up
    Key Alias Pinb.0
    '**************************************************
    Led1 = 0 : Led2 = 0
    Waitms 200
    While Key = 1
    Set Led1 : Reset Led2
    Wend
    Waitms 300
    Reset Led1
    While Key = 1
    Reset Led1 : Set Led2
    Wend
    Waitms 300
    Reset Led2
    Return
  2. #2
    2017/03/26
    1,178
    550

    پاسخ : کمک در مورد خروج از حلقه

    نقل قول نوشته اصلی توسط pouria66

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    با سلام خدمت اساتید انجمن

    من یه برنامه نوشتم با بسکام که دو خروجی داره با هر بارفشردن کلید یه پالس 300 میلی ثانیه ای به یکی از خروجی ها میده
    حالا مشکلم اینحاست بعضی مواقع از حلقه خارج نمیشه و بار دوم و سوم میره به خروجی بعدی پالس میده
    ممنون میشم ایراد کارم رو بهم بگید
    کد HTML:
    $regfile = "m8def.dat"
    $crystal = 800000
    Config Portd.5 = Output : Led1 Alias Portd.5
    Config Portd.7 = Output : Led2 Alias Portd.7
    Config Portc.2 = Output : Led3 Alias Portc.2
    Led3 = 1
    Portb.0 = 1 : Ddrb.0 = 0                                    'En pull up
    Key Alias Pinb.0
    '**************************************************
    Led1 = 0 : Led2 = 0
    Waitms 200
    While Key = 1
    Set Led1 : Reset Led2
    Wend
    Waitms 300
    Reset Led1
    While Key = 1
    Reset Led1 : Set Led2
    Wend
    Waitms 300
    Reset Led2
    Return
    سلام برنامه شما بجز اینکه خطوطی اضافه داره که میشه حذف کرد
    این طور که فکر کنید ازحلقه خارج نمیشه نیست میکرو اول به while
    ابتدایی میرسه و شرط رو که همون فشردن باتن یا یک شدن پایه مورد
    نظر هست رو بررسی می*کنه اگه درست بود شرط رو اجرا میکنه و تا زمانی
    که شرط غلت بشه در حلقه میمونه و سپس خارج میشه بعد به while
    انتهایی میرسه اگر در این لحظه شما دوباره پایه مورد نظر رو یک کرده باشی
    شرط داخل اون while رو اجرا می*کنه که این موضوع بسته به زمان فشردن
    باتن شما داره که گاهی این اتفاق در زمان مورد نظر نمی افته و میکرو از اون
    خط عبور می*کنه و به ابتدای برنامه بر میگرده و در این زمان پایه مورد نظر
    یک میشه و دوباره طبق گفته شما خروجی یک برای بار دوم روشن و خاموش
    میشه و ممکن هست این اتفاق برای بار سوم هم بیفته
  3. #3
    2017/03/07
    73
    19

    پاسخ : کمک در مورد خروج از حلقه

    نقل قول نوشته اصلی توسط خلبان

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    سلام برنامه شما بجز اینکه خطوطی اضافه داره که میشه حذف کرد
    این طور که فکر کنید ازحلقه خارج نمیشه نیست میکرو اول به while
    ابتدایی میرسه و شرط رو که همون فشردن باتن یا یک شدن پایه مورد
    نظر هست رو بررسی می*کنه اگه درست بود شرط رو اجرا میکنه و تا زمانی
    که شرط غلت بشه در حلقه میمونه و سپس خارج میشه بعد به while
    انتهایی میرسه اگر در این لحظه شما دوباره پایه مورد نظر رو یک کرده باشی
    شرط داخل اون while رو اجرا می*کنه که این موضوع بسته به زمان فشردن
    باتن شما داره که گاهی این اتفاق در زمان مورد نظر نمی افته و میکرو از اون
    خط عبور می*کنه و به ابتدای برنامه بر میگرده و در این زمان پایه مورد نظر
    یک میشه و دوباره طبق گفته شما خروجی یک برای بار دوم روشن و خاموش
    میشه و ممکن هست این اتفاق برای بار سوم هم بیفته
    خب دوست عزیز اینو خودم نوشتم و میدونم چکار میکنه میخواستم ببینم برای اینکه کلا با فشردن کلید برای بار بعدی دیگه دستور قبلی رو انجام نده باید چکار کنم؟
    یه تاخیر 1 ثانیه ای برای قبل هر حلقه گذاشتم از حلقه کامل خارج میشه ولی خب تاخیرش زیاد شده

    کد HTML:
    $regfile = "m8def.dat"
    $crystal = 800000
    Config Portd.5 = Output : Led1 Alias Portd.5
    Config Portd.7 = Output : Led2 Alias Portd.7
    Config Portc.2 = Output : Led3 Alias Portc.2
    Led3 = 1
    Portb.0 = 1 : Ddrb.0 = 0                                    'En pull up
    Key Alias Pinb.0
    '**************************************************
    Led1 = 0 : Led2 = 0
    waitms 1000
    While Key = 1
    Set Led1
    Waitms 300
    Reset Led1
    Wend
    Waitms 1000
    While Key = 1
    Set Led2
    Waitms 300
    Reset Led2
    Wend
    Return
    '---------------------------------------------------
  4. #4
    2017/03/26
    1,178
    550

    پاسخ : کمک در مورد خروج از حلقه

    نقل قول نوشته اصلی توسط pouria66

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    خب دوست عزیز اینو خودم نوشتم و میدونم چکار میکنه میخواستم ببینم برای اینکه کلا با فشردن کلید برای بار بعدی دیگه دستور قبلی رو انجام نده باید چکار کنم؟
    یه تاخیر 1 ثانیه ای برای قبل هر حلقه گذاشتم از حلقه کامل خارج میشه ولی خب تاخیرش زیاد شده

    کد HTML:
    $regfile = "m8def.dat"
    $crystal = 800000
    Config Portd.5 = Output : Led1 Alias Portd.5
    Config Portd.7 = Output : Led2 Alias Portd.7
    Config Portc.2 = Output : Led3 Alias Portc.2
    Led3 = 1
    Portb.0 = 1 : Ddrb.0 = 0                                    'En pull up
    Key Alias Pinb.0
    '**************************************************
    Led1 = 0 : Led2 = 0
    waitms 1000
    While Key = 1
    Set Led1
    Waitms 300
    Reset Led1
    Wend
    Waitms 1000
    While Key = 1
    Set Led2
    Waitms 300
    Reset Led2
    Wend
    Return
    '---------------------------------------------------
    "regfile="m8def.dat $
    crystal=8000000 $
    config portb.0=output
    config portb.1=output
    config pind.0=input
    declare sub m1
    dim a as byte
    a=0
    do
    if pind.0=1 then call m1
    loop
    :m1
    incr a
    if a=1 then
    set portb.0
    waitms 600
    reset portb.0
    endif
    if a=2 then
    set portb.1
    waitms 600
    reset portb.1
    endif
    if a=2 then a=0
    end sub
    این برنامه رو تست کنین
    ویرایش توسط خلبان : 2021/01/07 در ساعت 09:47
  5. #5
    2017/03/07
    73
    19

    پاسخ : کمک در مورد خروج از حلقه

    نقل قول نوشته اصلی توسط خلبان

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    این برنامه رو تست کنین
    مرسی بابت وقت گذاشتنت
    تست کردم یه ایرادی که داشت اگه دستت رو کلید میموند فرمان بعدی رو اجرا میکرد که با یه حلقه و یه شرط درست شد
    سپاس بی کران مهندس
    ویرایش توسط pouria66 : 2021/01/07 در ساعت 19:25
  6. #6
    2017/03/26
    1,178
    550

    پاسخ : کمک در مورد خروج از حلقه

    نقل قول نوشته اصلی توسط pouria66

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    مرسی بابت وقت گذاشتنت
    تست کردم یه ایرادی که داشت اگه دستت رو کلید میموند فرمان بعدی رو اجرا میکرد که با یه حلقه و یه شرط درست شد
    سپاس بی کران مهندس
    موفق باشین
نمایش نتایج: از 1 به 6 از 6

موضوعات مشابه

  1. بيرون آمدن از حلقه به محض بر آورده نشدن شزايط حلقه
    توسط aligili در انجمن برنامه نویسی و اینترفیس
    پاسخ: 21
    آخرين نوشته: 2016/09/10, 10:26
  2. سوال در مورد حلقه do-while
    توسط sorena01 در انجمن C , C++ , C#
    پاسخ: 2
    آخرين نوشته: 2015/01/07, 08:58
  3. سوا در مورد حلقه for
    توسط saeedgreat در انجمن Matlab
    پاسخ: 6
    آخرين نوشته: 2012/11/07, 20:39
  4. خروج از حلقه
    توسط navid_sa_198 در انجمن میکروکنترلرهای AVR
    پاسخ: 8
    آخرين نوشته: 2012/04/12, 18:34
  5. خروج از حلقه
    توسط mehdi_m_m در انجمن میکروکنترلرهای AVR
    پاسخ: 18
    آخرين نوشته: 2008/05/22, 22:36

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •