NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 2752 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 9 از 9

موضوع: تبدیل کلید لحظه ای به دائم

  1. #1
    عضو جدید
    تاریخ عضویت
    Sep 2011
    نام
    نیما روستا
    نوشته ها
    5
    تشکر
    1
    تشکر شده 0 بار در 0 پست

    پیش فرض تبدیل کلید لحظه ای به دائم

    سلام من میخام برنامه ایی بنویسم که وقتی شرط برقرار شد پین مثلا 1=portc.3 را یک کند و یک بماند تا من بهش دستور بدم این پین صفر بشه البته در if مورد نظر حالا نمیدونم چیکارش کنم؟؟؟؟؟؟
    If A > 2 Then
    portc.3 = 1
    End If

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نام
    Advertising world
    نوشته ها
    Many
     

  3. #2
    مدیر انجمن sobhan537 آواتار ها
    تاریخ عضویت
    Aug 2012
    نام
    عبدالملکی
    نوشته ها
    1,084
    تشکر
    3,098
    تشکر شده 804 بار در 495 پست

    پیش فرض

    سلام
    الان در این برنامه ای که نوشتید، با برقراری شرط، پورت مورد نظر 1 شده و 1 می ماند. اگر میخواید با یک شرط دیگه پورت 0 بشه، هم میتونید از یک دستور if جدا استفاده کنید و هم میتونید از دستور elseif در همون if قبلی استفاده کنید.

  4. تشکرها از این نوشته :


  5. #3
    عضو جدید
    تاریخ عضویت
    Sep 2011
    نام
    نیما روستا
    نوشته ها
    5
    تشکر
    1
    تشکر شده 0 بار در 0 پست

    پیش فرض

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

  6. #4
    مدیر انجمن sobhan537 آواتار ها
    تاریخ عضویت
    Aug 2012
    نام
    عبدالملکی
    نوشته ها
    1,084
    تشکر
    3,098
    تشکر شده 804 بار در 495 پست

    پیش فرض

    متوجه منظور شما نشدم متاسفانه

  7. #5
    عضو جدید
    تاریخ عضویت
    Sep 2011
    نام
    نیما روستا
    نوشته ها
    5
    تشکر
    1
    تشکر شده 0 بار در 0 پست

    پیش فرض

    منظورم اینکه مثلا در برنامه بالا A یک لحظه چند میلی ثانیه ای بزرگتر از دو شده و پین c.1 یک میکنه لحظه بعد کوچکتر از دو است و چون شرط برقرار نیست پین c.1 صفر میشه

  8. #6
    مدیر انجمن sobhan537 آواتار ها
    تاریخ عضویت
    Aug 2012
    نام
    عبدالملکی
    نوشته ها
    1,084
    تشکر
    3,098
    تشکر شده 804 بار در 495 پست

    پیش فرض

    نقل قول نوشته اصلی توسط nimrar نمایش پست ها
    منظورم اینکه مثلا در برنامه بالا A یک لحظه چند میلی ثانیه ای بزرگتر از دو شده و پین c.1 یک میکنه لحظه بعد کوچکتر از دو است و چون شرط برقرار نیست پین c.1 صفر میشه
    خیر اینطور نیست. اگر چند میلی ثانیه شرط برقرار باشه و پورت مورد نظر شما 1 بشه، دیگه تا وقتی که خودتون پورت رو صفر نکنید، دیگه صفر نمیشه. چون شما برای 1 شدن پورت شرط در نظر گرفتید، ولی برای 0 شدنش هیچ شرطی ننوشتید.

  9. #7
    عضو جدید
    تاریخ عضویت
    Sep 2016
    نوشته ها
    9
    تشکر
    0
    تشکر شده 1 بار در 1 پست

    پیش فرض

    از این استفاده کن:
    Set portb.1

    فرستاده شده از HUAWEI G610-U20ِ من با Tapatalk

  10. #8
    عضو جدید
    تاریخ عضویت
    Jun 2016
    نوشته ها
    14
    تشکر
    0
    تشکر شده 8 بار در 6 پست

    پیش فرض

    dim a as byte
    dim b as bit

    startval:
    b=1
    main:
    if a>2 and b=1 then portc.3=1
    if pinb.0=1 then
    portc.3=0
    b=0
    endif

    if pinb.1=1 then b=1
    goto main

  11. #9
    عضو جدید
    تاریخ عضویت
    Jun 2016
    نوشته ها
    14
    تشکر
    0
    تشکر شده 8 بار در 6 پست

    پیش فرض

    بخاطر راست چین وچپ چین نتونستم فارسی نویسی رو با کدها توضیح بدم ! تو دستورات بالا در زمان استارت اولیه بی رو یک دادیم مثل یه حافظه اولیه
    بعد دستور شما میگه اگر آ از دو بیشتر شد و بی مساوی یک شد پورت فلان روشن
    حال با کم شدن متغییر ا پورت روشن باقی می مونه چون برای خاموش شدن به بی هم نیاز داره
    حال با شرط دیگه بی رو هم می تونید همراه با پورت صفر کنید یا با شرط های جدا و با شرط های دیگه می تونید بی رو یک کنید تا پورتتون دوباره وابسته به صفر شدن بی شود
    توجه برای تکرار حالت ماندگاری پورت هوای بی رو داشته باشین یا با ورودی بی رو یک کنید یا با زمان تعریف شده

    نکته اینجاست توی دستور شما شما دستور دیگری ندارید که پورت را صفر کند ! پورت شما برای همیشه با دستور بالا یک می ماند (دستور اولین پست همین صفحه)
    اگر کد شما همین باشه و پورت خروجیش صفر شه احتمالا خروجی جریان کشی بالای داره که میکرو ریست میکنه یا پایه ریست شما های نشده ( پایه ریست با یک مقاومت 10کیلو به مثبت پنج وصل می شود ) یا رله شما دیود دمپر نداره به مدارتون شوک وارد میکنه (نویز حامل برگشتی ولتاژ معکوس رله ) و یا ......
    ویرایش توسط ssmqqmss : 16-09-2016 در ساعت 00:05

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

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