اطلاعیه

Collapse
No announcement yet.

کانتر avr

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

    کانتر avr

    با سلام
    دوستان من میخوام از کانتر avr استفاده کنم ... حالا فرقی نمیکنه چه counter0 و چه counter1... دقیقا مطابق دستورات help بیسکام عمل میکنم.. اما در ابتدا کانترم زمانی که پالس به پایه میکرو ( b.0 یاb.1) اعمال نشده بود خودکار شروع به شمارش میکرد.. و زمانی که پالس اعمال میکردم شمردنش متوقف میشد... بعد اومدم و پایه مذکور رو pull up کردم.. اینبار با رسیدن پالش روع به شمارش کرد ولی پرت و پا .. پالس اول یکی یکی رفت بالا.. پالس بعدی 5 تا 5 تا پالسهای بعد هم 3 تا 3تا و یا یا 8تا 8تا.. چرا اینطوری میشه؟ کلا راهشه چیه؟ چطور میشه ی کانتر رو درست استفاده کرد ؟

    #2
    پاسخ : کانتر avr

    چرا کانتر avr اینجوریه ه ه ه ه ....
    اح.... یکی راهنمایی کنه لطفا

    دیدگاه


      #3
      پاسخ : کانتر avr

      نوشته اصلی توسط plc-s7 نمایش پست ها
      یکی راهنمایی کنه لطفا
      با سلام
      لطفا برنامتون را قرار دهید تا کاربران راهنمایی فرمایند.
      ! Life doesn't get easier , you just get stronger

      دیدگاه


        #4
        پاسخ : کانتر avr

        با سلام
        این برنامه ساده من

        $regfile = "m16def.dat$"
        $crystal = 8000000
        Config Lcdpin = Pin , Db4 = Pinc.2 , Db5 = Pinc.3 , Db6 = Pinc.4 , Db7 = Pinc.5 , _
        E = Pinc.1 , Rs = Pinc.0
        Config Lcd = 20 * 4 : Cursor Off
        Dim W As Word
        Config Timer0 = Counter , Edge = Falling
        Config Porta.0 = Input
        Config Porta.1 = Output
        Dim A As Byte
        Enable Interrupts
        Portb.0 = 1
        Locate 1 , 1
        Lcd Counter0
        Return

        دلیل: ادغام دو پست برای جلوگیری از اسپم

        نوشته اصلی توسط Blue Ice نمایش پست ها
        با سلام
        لطفا برنامتون را قرار دهید تا کاربران راهنمایی فرمایند.
        $regfile = "m16def.dat"
        $crystal = 8000000
        Config Lcdpin = Pin , Db4 = Pinc.2 , Db5 = Pinc.3 , Db6 = Pinc.4 , Db7 = Pinc.5 , _
        E = Pinc.1 , Rs = Pinc.0
        Config Lcd = 20 * 4 : Cursor Off
        Dim W As Word
        Config Timer0 = Counter , Edge = Falling
        Config Porta.0 = Input
        Config Porta.1 = Output
        Dim A As Byte
        Enable Interrupts
        Portb.0 = 1
        Locate 1 , 1
        Lcd Counter0
        Return

        دیدگاه


          #5
          پاسخ : کانتر avr

          دیدگاه


            #6
            پاسخ : کانتر avr

            دوستان ....... help me.....pleas help meeeeeeeeeeeee

            دلیل: ادغام دو پست برای جلوگیری از اسپم

            چرا این کانتر اینجوریه؟
            مگه نباید کانتر0 تا 255 بشماره؟ پ چرا تا 945 میشماره؟

            دیدگاه


              #7
              پاسخ : کانتر avr

              برنامت خیلی نامفهومه چرا اینتراپت فعال کردی؟ چرا خط اخر برنامه ریترن گذاشتی؟ منطقش معلوم نیست
              نوشته اصلی توسط plc-s7 نمایش پست ها
              Enable Interrupts
              نوشته اصلی توسط plc-s7 نمایش پست ها
              Return

              دیدگاه


                #8
                پاسخ : کانتر avr

                نوشته اصلی توسط kamy007 نمایش پست ها
                برنامت خیلی نامفهومه چرا اینتراپت فعال کردی؟ چرا خط اخر برنامه ریترن گذاشتی؟ منطقش معلوم نیست
                ممنون که پاسخ دادید..
                میشه شما لطفا کانتر 0 یا یک رو برنامش رو بنویسید؟فرض کنید بخواید تعداد پالسها رو بشماره... ممنون

                دیدگاه


                  #9
                  پاسخ : کانتر avr

                  نوشته اصلی توسط plc-s7 نمایش پست ها
                  ممنون که پاسخ دادید..
                  میشه شما لطفا کانتر 0 یا یک رو برنامش رو بنویسید؟فرض کنید بخواید تعداد پالسها رو بشماره... ممنون
                  یه سری به اینجا بزن:
                  به سمت نور خورشيد حرکت کن،تو ميتوني تابش خورشيد رو حس کني ،حتي اگه کور باشي.
                  (پيش به سوي هدف)

                  دیدگاه


                    #10
                    پاسخ : کانتر avr

                    با سلامممنون که جواب دادید .. من کدهای نوشته شده تو این سایتی که شما معرفی کردید را کپی کردم و همونها رو استفاده کردم اما باز هم نشد دو اتفاق افتاد
                    1- با وجود آنکه edge=rising هستش اما کانتر قبل از اینکه پالسی بش برسه شروع به شمردن میکنه... من برای حل کردن این موضوع پایه T0 رو با ی مقاومت 1 کیلو پول دان کردم ...
                    2- با فشار دادن کلید برای ایجاد پالس کانتر نا منظم میشماره.. و هر دفعه هر چندتا که بخواد میشماره
                    3- با وچود اینکه کانتر 8 بیتی هستش و باید فقط تا 255 بشماره ولی تا 900 میشماره که این یکیش دیگه آخر تعجبه
                    کسی از دوستان دلیلش رو میدونه؟ لطفا راهنمایی بکنید

                    نوشته اصلی توسط hosseinam نمایش پست ها
                    یه سری به اینجا بزن:
                    http://electronics98.com/%D8%A2%D9%8...D8%AA%D8%B1-0/

                    دیدگاه


                      #11
                      پاسخ : کانتر avr

                      این آخرین کدی که نوشتم که باز همون مشکلات رو داره...آخه چراااااااااا؟ یکی راهنمایی بکنه ...


                      $regfile = "m16def.dat$"
                      $crystal = 8000000
                      Config Lcdpin = Pin , Db4 = Pinc.2 , Db5 = Pinc.3 , Db6 = Pinc.4 , Db7 = Pinc.5 , _
                      E = Pinc.1 , Rs = Pinc.0
                      Config Lcd = 20 * 4 : Cursor Off
                      Cls
                      Config Timer0 = Counter , Edge = Rising
                      Start Counter0
                      Dim A As Byte
                      Counter0 = 0
                      Do
                      A = Counter0
                      Locate 1 , 1
                      Lcd A
                      Loop
                      End

                      دیدگاه


                        #12
                        پاسخ : کانتر avr

                        نوشته اصلی توسط plc-s7 نمایش پست ها
                        این آخرین کدی که نوشتم که باز همون مشکلات رو داره...آخه چراااااااااا؟ یکی راهنمایی بکنه ...



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

                        کد:
                        $regfile = "m16def.dat$"
                        $crystal = 8000000
                        Config Lcdpin = Pin , Db4 = Pinc.2 , Db5 = Pinc.3 , Db6 = Pinc.4 , Db7 = Pinc.5 , _
                        E = Pinc.1 , Rs = Pinc.0
                        Config Lcd = 20 * 4 : Cursor Off
                        Cls
                        Config Timer0 = Counter , Edge = Rising
                        Start Counter0
                        Dim A As Byte
                        Counter0 = 0
                        
                        Do
                        
                        A = Counter0
                        Locate 1 , 1
                        Lcd "           "
                        Locate 1 , 1
                        Lcd A
                        
                        
                        Loop
                        End
                        به سمت نور خورشيد حرکت کن،تو ميتوني تابش خورشيد رو حس کني ،حتي اگه کور باشي.
                        (پيش به سوي هدف)

                        دیدگاه

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