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

موضوع: مشکل ابتدایی! با INPUT در atmega32

  1. #1
    تازه وارد
    تاریخ عضویت
    Sep 2011
    نوشته ها
    4
    تشکر
    2
    تشکر شده 8 بار در 4 پست

    Gadid مشکل ابتدایی! با INPUT در atmega32

    سلام دوستان
    من به تازگی شروع به کار با avr کردم و چند وقته که این مشکل رو پیدا کردم.
    وقتی این برنامه رو داخل میکرو میریزم بدون اینکه منتظر سویچ input من باشه LED ای که به portb.0 وصله شروع به چشمک زدن میکنه! کسی میدونه چرا؟
    من این برنامه رو عینا از روی یه آموزش برداشتم

    کد:
    $regfile = "m32def.dat" 
    $crystal = 4000000 
    Config Portb = Output 
    Config Pina.0 = Input 
    A: 
    Do 
    Debounce Pina.0 , 1 , S 
    Loop 
    End 
    S: 
    Do 
    Toggle Portb 
    Waitms 300 
    Loop 
    Goto A
    ممنون میشم کمکم کنید

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


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

  4. #2
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    با سلام
    برنامه رو به اين صورت اطلاح كن.
    $regfile = "m32def.dat"
    $crystal = 4000000
    Config Portb = Output
    Config Pina.0 = Input
    PORTA = 0
    A:
    Do
    Debounce Pina.0 , 1 , S
    Loop
    End
    S:
    Do
    Toggle Portb
    Waitms 300
    Goto A
    Loop

    __________________________
    برنامه نويسي، الكترونيك(PE)
    __________________________

    ویرایش توسط sadmonew : 07-09-2011 در ساعت 11:33

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


  6. #3
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    مشكل برنامه اينه كه بايد مقاوت Pulldown داخلي رو فعال كني(PORTA = 0). يا مقاومت زمين شده رو به PORTA وصل كني.
    در قسمت انتهاي برنامه يعني خطوط :
    Do
    Toggle Portb
    Waitms 300
    Loop
    كه يه حلقه بينهايت است يعني بعد از اينكه كليد فعال بشه LED شروع به چشمك زدن ميكنه و بينهايت بار ادامه داره(تا زماني كه ميكروكنترلر خاموش بشه.)


    ________________________
    برنامه نويسي، الكترونيك(PE)
    ________________________

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


  8. #4
    تازه وارد
    تاریخ عضویت
    Sep 2011
    نوشته ها
    4
    تشکر
    2
    تشکر شده 8 بار در 4 پست

    پیش فرض

    ممنون از پاسخ‌تون ولی متاسفانه با porta=0 هیچ چیزی حل نشد...و برنامه به صورتی که شما اصلاح کردین از همون ابندای کار شروع میکنه به چشمک زدن...در صورتی که من میخوام وقتی که porta.0 سویچ شد چشمک زدن شروع بشه..

    ولی با مقاومتی که یک سرش به زمین وصله و سر دیگش به porta.0 میکرو درست کار میکنه.
    چرا pull down داخلی جواب نمیده؟

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


  10. #5
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    سلام
    بله درسته اشتباه از من بود. چون خودم با WinAVR(كامپايلر GCC ) برنامه رو مي نويسم به همين خاطر تو تايپ برنامه شما اشتباه كردم . خوب بايد به صورت زير Pullup يا Pulldown داخلي رو فعال كنيد.
    مثلا اگه بخوايد PORTA بيت 0 رو Pulldown داخليشو فعال كنيد بايد بنويسيد PORTA.0 = 0.
    يا اگه بخوايد PORTD بيت 7 رو Pullup داخليشو فعال كنيد بايد بنويسيد PORTD.7 = 1.
    پس برنامه رو به صورت زير دوباره كامپايل كنيد.

    regfile = "m32def.dat"
    $crystal = 4000000
    Config Portb = Output
    Config Pina.0 = Input
    PORTA.0 = 0 'PullDown enable
    A:
    Do
    Debounce Pina.0 , 1 , S
    Loop
    End
    S:
    Do
    Toggle Portb
    Waitms 300
    Goto A
    Loop

    ________________________
    برنامه نويسي، الكترونيك(PE)
    ________________________
    ویرایش توسط sadmonew : 08-09-2011 در ساعت 12:40

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


  12. #6
    تازه وارد
    تاریخ عضویت
    Sep 2011
    نوشته ها
    4
    تشکر
    2
    تشکر شده 8 بار در 4 پست

    پیش فرض

    این بار هم کار نکرد متاسفانه...کلا LED روشن نمیشه تحت هیچ حالتی.قبلا هم این کارهارو کرده بودم و جواب نداده بود البته نمیدونستم بهش pull down داخلی میگن.

    راستی کامپایلر gcc گفتین.. اگه اشتباه نکنم کامپایلر گنو هستش...اطلاع دارین که واسه لینوکس هم همچین چیزی موجوده یا نه؟

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


  14. #7
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    با سلام
    بله براي لينوكس هم محيطي شبيه به AVRStudio(نرم افزاري كه در اون برنامه رو مينويسيم و كامپايل و شبيه سازي مي كنيم ) داريم. اسمش KontrollerLab IDE هستش. اينم لينك توضيحات:
    KontrollerLab IDE development tools for AVR under Linux | WinAVR AVR-GCC Tutorial

    اينم لينك دانلود:
    KontrollerLab | Download KontrollerLab software for free at SourceForge.net

    ________________________
    برنامه نويسي، الكترونيك(PE)
    ________________________

  15. کاربران : 3 تشکر کرده اند از شما sadmonew برای ارسال این پست سودمند:


  16. #8
    کاربر فعال madar آواتار ها
    تاریخ عضویت
    Oct 2010
    نوشته ها
    109
    تشکر
    34
    تشکر شده 117 بار در 61 پست

    پیش فرض

    نقل قول نوشته اصلی توسط faridfedora نمایش پست ها
    این بار هم کار نکرد متاسفانه...کلا LED روشن نمیشه تحت هیچ حالتی.قبلا هم این کارهارو کرده بودم و جواب نداده بود البته نمیدونستم بهش pull down داخلی میگن.
    مدارتون را طبق نقشه ی زیر ببندبد .
    برنامه هم همون برنامه ی قبلی هست فقط 0 و 1 جابجاش کردم.
    $regfile = "m32def.dat"
    $crystal = 4000000
    Config Portb = Output
    Config Pina.0 = Input
    PORTA.0 = 0 'PullDown enable
    A:
    Do
    Debounce Pina.0 , 0 , S
    Loop
    End
    S:
    Do
    Toggle Portb
    Waitms 300
    Goto A
    Loop
    اگه مشکلی داشتید در خدمتم.
    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: rar 1.rar (12.3 کیلو بایت, 36 نمايش)

  17. کاربران : 3 تشکر کرده اند از شما madar برای ارسال این پست سودمند:


  18. #9
    تازه وارد
    تاریخ عضویت
    Sep 2011
    نوشته ها
    4
    تشکر
    2
    تشکر شده 8 بار در 4 پست

    پیش فرض

    نتونستم فایل dsn رو باز کنم متاسفانه

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


  20. #10
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    ورودی میکروهای AVR با فعال کردن مقاومتش pullUP میشن یعنی اگه ورودی نداشته باشه، ورودی یک منطقی میشه
    در حلقه هم باید شرط گذاشت اگه ورودی صفر باشه یعنی کلید فشرده باشه دستورات اجرا بشه یا چشمک بزنه

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


  22. #11
    کاربر فعال madar آواتار ها
    تاریخ عضویت
    Oct 2010
    نوشته ها
    109
    تشکر
    34
    تشکر شده 117 بار در 61 پست

    پیش فرض

    نقل قول نوشته اصلی توسط faridfedora نمایش پست ها
    نتونستم فایل dsn رو باز کنم متاسفانه
    با proteus 7. 8 باز کنید.

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


  24. #12
    کاربر دائمی raminrayat آواتار ها
    تاریخ عضویت
    Dec 2009
    نام
    رامین چمن ارا
    نوشته ها
    474
    تشکر
    268
    تشکر شده 608 بار در 256 پست

    پیش فرض

    سلام دوست من .برنامتون رو چک کردم.با سویچ اول هردو led روشن و با سویچ بعدی خاموش میشن.مشکل کجاست؟
    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: rar noname.rar (31.5 کیلو بایت, 36 نمايش)

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


  26. #13
    ناظم انجمن vahidasm آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    وحید
    نوشته ها
    754
    تشکر
    1,068
    تشکر شده 881 بار در 470 پست

    پیش فرض

    سلام این برنامه درست عمل میکنه
    شما اگه میخواین چشمک بزنه باید دستور goto a رو حذف کنید

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


  28. #14
    کاربر دائمی raminrayat آواتار ها
    تاریخ عضویت
    Dec 2009
    نام
    رامین چمن ارا
    نوشته ها
    474
    تشکر
    268
    تشکر شده 608 بار در 256 پست

    پیش فرض

    بله دوستمون درست میگن.اگه می خواین طور دیگه ای باشه بگید تا راهنماییتون کنم
    فايل هاي پيوست شده فايل هاي پيوست شده

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


  30. #15
    تازه وارد
    تاریخ عضویت
    Aug 2011
    نوشته ها
    1
    تشکر
    0
    تشکر شده 1 بار در 1 پست

    پیش فرض

    با سلام برای اینکه بتونی فایل dsnباز کنی بایستی روی سیستم کامپیوتر شما نرم افزار پروتوس نصب باشد پروتوس یک نرم افزار شبیه سازی است.

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


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

  1. مشکل با دقت ADC در Atmega32
    توسط hossein_robin در انجمن AVR
    پاسخ: 19
    آخرين نوشته: 07-12-2016, 18:43
  2. دستور input
    توسط safavism در انجمن برنامه نویسی کامپیوتر/کنترل با کامپیوتر
    پاسخ: 24
    آخرين نوشته: 19-11-2012, 11:38
  3. input ,out put
    توسط safavism در انجمن میکروکنترلرهای 8و16 بیتی
    پاسخ: 4
    آخرين نوشته: 22-05-2012, 20:58
  4. atmega32 smd
    توسط gate_crasher در انجمن AVR
    پاسخ: 2
    آخرين نوشته: 14-04-2010, 22:45
  5. پاسخ: 2
    آخرين نوشته: 20-12-2009, 22:35

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

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