اطلاعیه

Collapse
No announcement yet.

3 کلید +atmega8

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    3 کلید +atmega8

    سلام بر همه
    من میخوام برنامه ای بنویسم که فعلا شامل 3تا push bottonاست.کلید اول(متصل به portb.1) را که می زنیم مقدار یک متغیر بنام aیکی اضافه بشه با کلید دوم(متصل به کلید portb.2) یکی کم بشه و با زدن کلید سوم(متصل به portb.3) این مقدار روی lcdنمایش داده بشه. میکروی من atmega 8هستش و با بسکام مینویسم.من تا حدودی برنامه را با debounceبرای 2تا کلید نوشتم اما مشکل اینجا پیش اومد که وقتی یک کلید را میزنم افزایش یا کاهش مداوم ادامه پیدا میکنه..................
    ممنون میشم کمکم کنید
    :ممنون از کسایی که جواب دادن من واسه 5 تا کلید هم به جواب رسیدم :wow:

    #2
    پاسخ : 3 کلید +atmega8

    با سلام،

    شما توی اون قسمت که یکی به متغیرت اضافه میکنی، با این فرض که کلید مربوطه به portb.1 متصله و با فشرده شدن، این پایه رو یک میکنه، همچین دستوری رو اضافه کن، تا با هر بار فشرده شدن کلید، ادامه برنامه تا قطع کلید متوقف بشه و فقط یک شماره به متغیرت اضافه بشه ....

    while(portb.1);
    مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

    Sh_Nourbakhsh@Yahoo.com

    http://s2.picofile.com/file/7170362468/_Wall_e_.jp

    دیدگاه


      #3
      پاسخ : 3 کلید +atmega8

      سلام.
      ببین این برنامه به دردت می خوره .
      Do
      If Pind.2 = 0 Then
      Incr Number
      Bitwait Pind.2 , Set
      End If
      If Pinc.5 = 0 Then
      If Number > 0 Then
      Decr Number
      Bitwait Pinc.5 , Set
      End If
      End If
      Home
      Lcd Number
      Lcd " "
      Loop
      بازم مشکلی داشتی در خدمتم.
      چرا ناراحتی پاتریک!
      + امروز ی بچه دیدم سرچهارراه گل میفروخت
      - از دیدنش ناراحت شدی؟
      + نه
      پس چی ناراحتت کرده
      + اینکه دیدن اینجور بچه ها انقدر واسم عادی شده که دیگه ناراحتم نمیکنه
      ------------------------------------------------------------------------------------------------------
      تاحالا فکر کردی بیسواد کیه؟- بی سواد یعنی کسی که نمیتونه ذهنیاتش رو عملی کنه!
      ------------------------------------------------------------------------------------------------------
      محصولات

      دیدگاه


        #4
        پاسخ : 3 کلید +atmega8

        داداش این برنامه که نوشتی توی بسکام کامپایل نخواهد شد چون دستور bitwait داره بیا این که خواسته بودی رو برات نوشتم و توی پروتئوس هم برات شبیه سازی کردم به پایه های ورودی هم حتما باید یک مقاومتpull down وصل باشه اضافه کردن و کم کردن و نشان دادن در این جا باآمدن لبه ی بالا رونده انجام خواهد شد
        از لینک زیر دانلود کن
        http://www.shakheh.com/up/uploads/1323772402.rar
        قم الکترونیک

        دیدگاه


          #5
          پاسخ : 3 کلید +atmega8

          سلام.
          electronicnarm2010 میشه بپرسم چه ربطی بین دستور Bitwait و کامپایل نشدن برنامه وجود داره؟
          من خودم تا حالا بیش از 100 بار از این دستور بدون هیچ مشکلی استفاده کردم در اون قسمت هم فقط جهت آموزش یک قسمت برنامه رو قرار دادم تا با کار کرد دستور آشنا بشن که امیدوارم مشکلشون رو حل کرده باشم.
          با تشکر.
          چرا ناراحتی پاتریک!
          + امروز ی بچه دیدم سرچهارراه گل میفروخت
          - از دیدنش ناراحت شدی؟
          + نه
          پس چی ناراحتت کرده
          + اینکه دیدن اینجور بچه ها انقدر واسم عادی شده که دیگه ناراحتم نمیکنه
          ------------------------------------------------------------------------------------------------------
          تاحالا فکر کردی بیسواد کیه؟- بی سواد یعنی کسی که نمیتونه ذهنیاتش رو عملی کنه!
          ------------------------------------------------------------------------------------------------------
          محصولات

          دیدگاه


            #6
            پاسخ : 3 کلید +atmega8

            والا تو عمر 2 ساله ای Avr رو یاد گرفتیم هر موقع با این دستور لعنتی نوشتم کامپایل نشده حالا شما برنامه من رو دیدی چه جور بود سیمولیشن پروتئوس اون رو هم گذاشته بودم
            قم الکترونیک

            دیدگاه


              #7
              پاسخ : 3 کلید +atmega8

              با سلام.
              مهندس من فایل شما رو گرفتم ولی با زدن کلید پایین عدد 255 رو نشون می داد فقط همین. شما برنامه زیر رو بگیر ببین کارکرد دستور Bitwait تو خیلی مواقع از If خیلی بهتره.
              راستی مشکل دوستمون zarifehk حل شده ؟
              چرا ناراحتی پاتریک!
              + امروز ی بچه دیدم سرچهارراه گل میفروخت
              - از دیدنش ناراحت شدی؟
              + نه
              پس چی ناراحتت کرده
              + اینکه دیدن اینجور بچه ها انقدر واسم عادی شده که دیگه ناراحتم نمیکنه
              ------------------------------------------------------------------------------------------------------
              تاحالا فکر کردی بیسواد کیه؟- بی سواد یعنی کسی که نمیتونه ذهنیاتش رو عملی کنه!
              ------------------------------------------------------------------------------------------------------
              محصولات

              دیدگاه


                #8
                پاسخ : 3 کلید +atmega8

                نوشته اصلی توسط soran111
                با سلام.
                مهندس من فایل شما رو گرفتم ولی با زدن کلید پایین عدد 255 رو نشون می داد فقط همین. شما برنامه زیر رو بگیر ببین کارکرد دستور Bitwait تو خیلی مواقع از If خیلی بهتره.
                راستی مشکل دوستمون zarifehk حل شده ؟
                دوست عزیز این مشکلم حل ش اما الن یه مشکل دیگه دارم....برنامه ای بنویسم (با بسکام و atmega8)که در آن عددهای از 0 تا 65535 را به 0 تا 100 تبدیل کنم اما هر برنامه ای می نویسم دچار مشکل میشه لطفا یه راهنمایی بنمایید.
                یه سوال دیگه هم داشتم اینکه چطوری میشه عدد اعشاری با دو رقم بعد اعشار نوشت به غیر از fusing چون در این حالت عدد به رشته تبدیل میشه ودیگه نمیشه از اون تو محاسبات استفاده کرد....ممنون

                دیدگاه


                  #9
                  پاسخ : 3 کلید +atmega8

                  سلام.
                  یه در مورد عدد اعشاری یه دستور دیگه به این شکل هستش :
                  Config single =Scientific , Digits = x
                  که x تعداد ارقام اعشاری که خودت تعیین می کنی. در مورد مشکل اول هم منظورتون اینکه شما می خوای از 0 تا 100 رو بشماری ؟ اگه میشه بیشتر توضیح بدین.
                  چرا ناراحتی پاتریک!
                  + امروز ی بچه دیدم سرچهارراه گل میفروخت
                  - از دیدنش ناراحت شدی؟
                  + نه
                  پس چی ناراحتت کرده
                  + اینکه دیدن اینجور بچه ها انقدر واسم عادی شده که دیگه ناراحتم نمیکنه
                  ------------------------------------------------------------------------------------------------------
                  تاحالا فکر کردی بیسواد کیه؟- بی سواد یعنی کسی که نمیتونه ذهنیاتش رو عملی کنه!
                  ------------------------------------------------------------------------------------------------------
                  محصولات

                  دیدگاه

                  لطفا صبر کنید...
                  X