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

موضوع: مدار فیلیپ فلاپ چند کانال با avr

  1. #1
    کاربر علاقه مند
    تاریخ عضویت
    Jul 2013
    نوشته ها
    39
    تشکر
    9
    تشکر شده 12 بار در 11 پست

    پیش فرض مدار فیلیپ فلاپ چند کانال با avr

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

    توضیح : با فشار کلید خروجی 1 شودو بر روی lcd نوشته شود Lamp on و با فشار مجدد خروجی 0 شود و بنویسد Lamp off و بتوان برای چند pin این کار رو انجام داد

    بنده از دستور Bitwait استفاده کردم و خوب بود اما مشکل اینجاست که بقیه pin. 1 2 3 4 5 6 7 زیر شرط Bitwait pind.0 گیر میکنه .

    از دستور Debounce و Sub استفاده کردم ولی باز جواب نداد .
    لطفا راهنمایم کنید .

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

  3. #2
    همکار M3R آواتار ها
    تاریخ عضویت
    Aug 2009
    نام
    مسعود
    نوشته ها
    710
    تشکر
    426
    تشکر شده 649 بار در 304 پست

    پیش فرض

    سلام
    ساده ترین برنامه ای که میشه نوشت به شکل زیر است:

    [PHP]Do
    If Pinc.0 = 0 Then
    Waitms 20
    Do
    Loop Until Pinc.0 = 1
    Toggle Portd.0
    End If
    Loop[/PHP]

    باید portc.0 رو pull up کنید!
    خودتون واسه هر تعداد پین که میخواید برنامه رو گسترش بدید
    ویرایش توسط M3R : 02-02-2014 در ساعت 21:17

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


  5. #3
    کاربر علاقه مند
    تاریخ عضویت
    Jul 2013
    نوشته ها
    39
    تشکر
    9
    تشکر شده 12 بار در 11 پست

    پیش فرض

    با دستورToggleفکر نکنم بشه نمایشگر رو تنظیم کرد (حتما باید حالت pin ها نمایش داده بشه)
    بنده این برنامه رو نوشتم اما دوتا مشکل داره
    1. برای انجام دستور چندین بار باید کلید رو بزنی تا دستور اجرا بشه .
    2 . در برنامه اصلی که قرار میگیره فقط روشن میشه دیگه خاموش نمیکنه .

    Config Pind.0 = Input
    Config Portb.0 = Output
    Config Debounce = 100
    Do
    Debounce Pind.0 , 0 , Roshan , Sub
    Debounce Pind.0 , 0 , Khamosh , Sub
    Loop
    End
    Roshan:
    Set Portb.0
    Return
    Khamosh:
    Reset Portb.0
    Return
    ویرایش توسط flaat : 02-02-2014 در ساعت 22:18

  6. #4
    همکار M3R آواتار ها
    تاریخ عضویت
    Aug 2009
    نام
    مسعود
    نوشته ها
    710
    تشکر
    426
    تشکر شده 649 بار در 304 پست

    پیش فرض

    این روشی که شما نوشتید اشتباه هست!
    شما برای یک حالت از pind.0 دو تا برچسب تعریف کردید که درست نیست!
    این برنامه رو تست کنید و نتیجه رو بگید:
    [PHP]Do
    Debounce Pinc.0 , 0 , p , Sub
    Loop
    End
    P:
    Toggle Portd.0
    Return[/PHP]

  7. کاربران : 2 تشکر کرده اند از شما M3R برای ارسال این پست سودمند:


  8. #5
    کاربر علاقه مند
    تاریخ عضویت
    Jul 2013
    نوشته ها
    39
    تشکر
    9
    تشکر شده 12 بار در 11 پست

    پیش فرض

    بله این برنامه رو قبلا به نوعه دیگری نوشتم و خوب هم کار میکنه ، برنامه شما رو هم تست کردم عالیه اما برای نمایشگر با این حالت میشه کاری کرد ؟
    اگر یک شرط بنوسیم که در صورت 1 بودن پورت خروجی نوشته شود Lamp On و درصورت 0 بودن خروجی نوشته شود Lamp Off می تونه مشکل رو حل کنه ؟

  9. #6
    همکار M3R آواتار ها
    تاریخ عضویت
    Aug 2009
    نام
    مسعود
    نوشته ها
    710
    تشکر
    426
    تشکر شده 649 بار در 304 پست

    پیش فرض

    آره
    راه های زیادی داره و یکی از راه هاش همینه که شما گفتید!

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


  11. #7
    کاربر علاقه مند
    تاریخ عضویت
    Jul 2013
    نوشته ها
    39
    تشکر
    9
    تشکر شده 12 بار در 11 پست

    پیش فرض

    نقل قول نوشته اصلی توسط M3R نمایش پست ها
    آره
    راه های زیادی داره و یکی از راه هاش همینه که شما گفتید!
    میشه در این مورد یه مقدار توضیح بدید . من نتوانستم از شرط If استفاده کنم ، راه دیگری هم به ذهنم نمیرسه !
    توی برنامه ای که شما فرمودید نوشتم :
    If Portb.0 = 1 Then Waitms 200
    Locate 2 , 8
    Lcd "Lamp On"
    End If
    Return
    End
    اما همش ایراد میگیره و میگه برنامه اشکال داره . لطفا راجع به نوشتن این شرط یه مثال برام بگذارید
    متشکرم

  12. #8
    همکار M3R آواتار ها
    تاریخ عضویت
    Aug 2009
    نام
    مسعود
    نوشته ها
    710
    تشکر
    426
    تشکر شده 649 بار در 304 پست

    پیش فرض

    شما witims 200 رو جلوی شرط if نوشتید؟؟
    فک کنم ارور برنامتون به خاطر همین قسمت باشه!

  13. #9
    کاربر علاقه مند
    تاریخ عضویت
    Jul 2013
    نوشته ها
    39
    تشکر
    9
    تشکر شده 12 بار در 11 پست

    پیش فرض

    نقل قول نوشته اصلی توسط M3R نمایش پست ها
    شما witims 200 رو جلوی شرط if نوشتید؟؟
    فک کنم ارور برنامتون به خاطر همین قسمت باشه!
    خدمتتون عرض کنم همه جوره نوشتم اما نشد که نشد اصلا همین که if میذارم همش Error میده ، یه جایی توی دستور if و End if اشتباه دارم یا شاید ترتیب خاصی داره که من نمیدونم .
    منبع مطالعاتی من جزوه آقای 1nafar هستش و طبق همون عمل کردم ولی جواب نداد .

  14. #10
    کاربر علاقه مند
    تاریخ عضویت
    Jul 2013
    نوشته ها
    39
    تشکر
    9
    تشکر شده 12 بار در 11 پست

    پیش فرض

    شما درست فرمودید مشکل Error حل شد فقط یه ایراد کوچیکه دیگه دارم این برنامه رو برای یک کانال نوشتم PORTB.0 کاملا بدون مشکل 0 و 1 میکنه وقتی 1 میشه عبارت مربوطه (Lamp On) رو نمایش میده ولی وقتی 0 میشه (Lamp Off) نمینویسه !
    میشه راهنمایی کنید ایراد کجاست ؟

    برنامه :
    Do
    Debounce Pind.0 , 0 , Lamp , Sub
    If Portb.0 = 1 Then
    Locate 2 , 12
    Lcd "Lamp On "
    If Portb.0 = 0 Then
    Locate 2 , 12
    Lcd "Lamp Off"
    End If
    End If
    Loop
    End
    Lamp:
    Toggle Portb.0
    Return

  15. #11
    همکار M3R آواتار ها
    تاریخ عضویت
    Aug 2009
    نام
    مسعود
    نوشته ها
    710
    تشکر
    426
    تشکر شده 649 بار در 304 پست

    پیش فرض

    سلام
    شما شرطها رو درست نوشتید ولی شرط lamp off رو جای درست قرار ندادید!
    اگه به برنامتون نگاه کنید اول باید شرط portb.0=1 برقرار باشه تا شرط بعدی که portb.0=0 هست اجرا بشه!
    شما if دوم رو به elseif (بین else و if فاصله نزارید!) تغییر بدید و یکی از endif ها رو پاک کنید درست میشه!

  16. #12
    کاربر علاقه مند
    تاریخ عضویت
    Jul 2013
    نوشته ها
    39
    تشکر
    9
    تشکر شده 12 بار در 11 پست

    پیش فرض

    مهندس عالی بود مرسی
    فقط یه راهنمایی کن برای بقیه کانال ها شرط ها رو چطوری باید بنویسم ؟ (4 تا کانال دیگه باید بنویسم)
    این کانال که عالی شد
    ممنون .

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

  1. میکروکنترلر های 200 مگاهرتزی میکروچیپ!!!!!!!!!!!!!!
    توسط sarab1 در انجمن میکرو کنترلر های 32 بیتی(arm)
    پاسخ: 5
    آخرين نوشته: 09-04-2014, 17:51
  2. انکودر و فلیپ فلاپ نوع d
    توسط saeed210 در انجمن AVR
    پاسخ: 0
    آخرين نوشته: 07-03-2014, 13:18
  3. پاسخ: 2
    آخرين نوشته: 07-08-2013, 02:00
  4. دانلود کلیپ فوق العاده
    توسط M.ABDOLLAHI در انجمن گفت و گوي آزاد
    پاسخ: 2
    آخرين نوشته: 07-01-2012, 15:33
  5. پاسخ: 0
    آخرين نوشته: 08-12-2010, 10:55

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

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