اطلاعیه

Collapse
No announcement yet.

ساخت کرنومتر

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

    ساخت کرنومتر

    یه کرنومتر با atmega32 و برنامه نویسی توی codevision (زبان c )
    ممنون میشم. :applause:

    #2
    پاسخ : ساخت کرنومتر

    :cry2: راهنمایی کنید لطفا

    دیدگاه


      #3
      پاسخ : ساخت کرنومتر

      من این تاپیک رو چند هفتس گذاشتم ولی هیچ کس راهنمایی نکرده :sad: :sad: :sad:

      دیدگاه


        #4
        پاسخ : ساخت کرنومتر

        نوشته اصلی توسط v_kh
        من این تاپیک رو چند هفتس گذاشتم ولی هیچ کس راهنمایی نکرده :sad: :sad: :sad:
        سلام

        راستش من سی کار نمیکنم :sad:

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

        پیشنهاد من اینه که:

        خودتون شروع به برنامه نویسی کنید بعد اگه به مشکل برخوردید یه تاپیک بزنید و از دوستان بخواید که کمکتون کنند
        اما فکر نکنم کسی اینجوری به شما کمک کنه که کل برنامه رو همراه با شبیه سازی براتون بنویسه
        موفق باشید
        ِِDie for Life, Not Live to Die
        Freedom Fighter
        " ناخود گاه، هریک از ما ، از نامیرائی خود یقین دارد " . فروید

        دیدگاه


          #5
          پاسخ : ساخت کرنومتر

          خوب تنظیماتش توی codevision چه جوریه؟

          دیدگاه


            #6
            پاسخ : ساخت کرنومتر

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

            دیدگاه


              #7
              پاسخ : ساخت کرنومتر

              نوشته اصلی توسط v_kh
              من این تاپیک رو چند هفتس گذاشتم ولی هیچ کس راهنمایی نکرده :sad: :sad: :sad:
              تو برنامه را بنویس من درنوشتنش کمکت میکنم

              دیدگاه


                #8
                پاسخ : ساخت کرنومتر

                باید تایمر رو جوری برنامه ریزی کنی که هر 100میلی ثانیه بهت اینتراپت بده چون صدم شمار داشته باشی.
                بعد یک متغیر توش میزای که هر وقت 10 شد یعنی یک ثانیه و دوباره صفر شه.وقتی 10 شد به متغیر ثانیه یه دونه اضافه میشه.وقتی متغیر ثانیه 60 شد صفر میشه و به متغیر دقیقه یک دونه اضافه میشه و دوباره وقتی 60 شد صفر میشه و به متغیر ساعت یک دونه اضاف میشه.بعد یک کلید به اینتراپت متصل میکنی که هر وقت زده شد برنامه تو یه Loop میفته وعدد متغیر ها رو LCD ثابت میشه.
                و دوباره یک کلید میزاری که صفر کننده باشه و تمام متغیر ها رو مسوی صفر کنه و بپره اول برنامه و دوباره تایم گیری کنه
                خدا گفت : به جهنم ببریدش، او برگشت و با تعجب به خدا نگاه کرد. خدا گفت : به بهشت ببریدش. فرشتگان پرسیدند: چرا؟! خدا گفت : او هنوز به من امیدوار است...

                دیدگاه


                  #9
                  پاسخ : ساخت کرنومتر

                  دوستان سلام
                  امکانش هست همن برنامه رو انجا بنوسد؟؟ :applause:

                  دیدگاه


                    #10
                    پاسخ : ساخت کرنومتر

                    سلام :-B
                    چیکار کنیم دیگه خراب رفاقت ایم
                    بفرما داداش
                    http://wdl.persiangig.com/pages/download/?dl=http://newdamghan1.persiangig.com/document/kornometer.rar
                    :nerd:

                    دیدگاه


                      #11
                      پاسخ : ساخت کرنومتر

                      سلام
                      چطور میشه تایمر رو جوری برنامه ریزی کنی که هر 100میلی ثانیه(یا هر عدد دیگه ای) بهمون اینتراپت بده؟؟؟؟؟؟؟؟؟؟

                      دیدگاه


                        #12
                        پاسخ : ساخت کرنومتر

                        نوشته اصلی توسط hamid1991reza
                        سلام
                        چطور میشه تایمر رو جوری برنامه ریزی کنی که هر 100میلی ثانیه(یا هر عدد دیگه ای) بهمون اینتراپت بده؟؟؟؟؟؟؟؟؟؟
                        فرمولش اینه:
                        n = ( ZamaneBeyneDoInterrupt * ClockCPU)/ prescaller
                        بعد از اینکه n رو تعیین کردی میتونی توی مد CTC مقدار رجیستر OCR را برابر با n-1 بزاری و سپس مقدار رجیستر TCCR رو به درستی (تعیین پری اسکیلر و مد) تنظیم کنی.

                        از این به بعد برنامت به اندازه ی ZamaneBeyneDoInterrupt یکبار وارد روتین وقفه مقایسه تایمر میشه
                        راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو) : http://www.eca.ir/forum2/index.php?topic=78587.0
                        کوچ کردن از کدویژن به http://www.eca.ir/forum2/index.php?topic=81025.0 : AtmelStudio
                        نحوه نوشتن اصولی یک لایبرری و درایور نرم افزاری( بصورت ساده) : http://www.eca.ir/forum2/index.php?topic=81071
                        http://www.eca.ir/forum2/index.php?topic=82130.0 سفارش راه انداز ماژول های مختلف توسط اعضای انجمن
                        انشالله به زودی تاپیک ها به روز رسانی خواهد شد،

                        دیدگاه


                          #13
                          پاسخ : ساخت کرنومتر

                          با تشکر از جوابتون
                          یه سوال دیگه هم داشتم
                          اینکه مثلا اگر کریستال 16Mhz خارجی قرار دهیم و تایمر از 0x37 تا 0xff بشمرد این زمان 100 میلی ثانیه طول می کشد را چطور محاسبه می کنن؟(اینکه 100 میلی ثانیه طول میکشه چطور محاسبه میشه ؟)

                          دیدگاه


                            #14
                            پاسخ : ساخت کرنومتر

                            نوشته اصلی توسط hamid1991reza
                            با تشکر از جوابتون
                            یه سوال دیگه هم داشتم
                            اینکه مثلا اگر کریستال 16Mhz خارجی قرار دهیم و تایمر از 0x37 تا 0xff بشمرد این زمان 100 میلی ثانیه طول می کشد را چطور محاسبه می کنن؟(اینکه 100 میلی ثانیه طول میکشه چطور محاسبه میشه ؟)
                            خوب منکه فرمول کلی رو تو پست قبل دادم:
                            شما میخوای رو میکرو 16مگاهرتز 100 میلی ثانیه یکبار اینتراپت بخوری ،خوب بزار تو فرمول که میشه:
                            n= ( 100*10 * 16*10)/ prescaller = 1600000 /prescaler

                            خوب حالا باید پری اسکیلر را معین کنید. اگر مقدارش رو برابر 8000 بزارید(که تو میکروهایی که حداقل من میشناسم امکان پذیر نیست) مقدار n=200 میشود ،پس تایمر باید 200تا بشمرد تا 100 میلی پانیه طول بکشه(اگه دقت کنید اختلاف 0x37 تا 0xff برابر 200 است)
                            البته با میکروهای معمولی که حداکثر پری اسکیلر برای تایمر در اونها 1024 است ، وقفه 100 میلی ثانیه را میتوان با تایمر های 2 بایتی یا به صورت نرم افزاری ،ایحاد کرد.
                            راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو) : http://www.eca.ir/forum2/index.php?topic=78587.0
                            کوچ کردن از کدویژن به http://www.eca.ir/forum2/index.php?topic=81025.0 : AtmelStudio
                            نحوه نوشتن اصولی یک لایبرری و درایور نرم افزاری( بصورت ساده) : http://www.eca.ir/forum2/index.php?topic=81071
                            http://www.eca.ir/forum2/index.php?topic=82130.0 سفارش راه انداز ماژول های مختلف توسط اعضای انجمن
                            انشالله به زودی تاپیک ها به روز رسانی خواهد شد،

                            دیدگاه


                              #15
                              پاسخ : ساخت کرنومتر

                              نوشته اصلی توسط RubeuS
                              خوب منکه فرمول کلی رو تو پست قبل دادم:
                              شما میخوای رو میکرو 16مگاهرتز 100 میلی ثانیه یکبار اینتراپت بخوری ،خوب بزار تو فرمول که میشه:
                              n= ( 100*10 * 16*10)/ prescaller = 1600000 /prescaler

                              خوب حالا باید پری اسکیلر را معین کنید. اگر مقدارش رو برابر 8000 بزارید(که تو میکروهایی که حداقل من میشناسم امکان پذیر نیست) مقدار n=200 میشود ،پس تایمر باید 200تا بشمرد تا 100 میلی پانیه طول بکشه(اگه دقت کنید اختلاف 0x37 تا 0xff برابر 200 است)
                              البته با میکروهای معمولی که حداکثر پری اسکیلر برای تایمر در اونها 1024 است ، وقفه 100 میلی ثانیه را میتوان با تایمر های 2 بایتی یا به صورت نرم افزاری ،ایحاد کرد.
                              ممنون از جوابتون
                              الان من اگر بخوام یه ساعت درست کنم با دقت صدم ثانیه باید فاصله بین هر دو اینتراپت برابر( 1/100) ثانیه باشد با قرار دادن در فرمول (با فرض کلاک 8MHZ برای میکرو) n برابر eft]n= (10 * 8*10)/ prescaller = 80000 /prescaler[/left]
                              اگر پری اسکالر را 1024 فرض کنم تعدادی که تایمر باید بشمرد می شود 78.125 که عددی اعشاری است و فکر نکنم تایمر بتواند بشمرد اگر هم پری اسکالر را 256 در نظر بگیرم تعدادی که تایمر باید بشمرد می شود 312.5 که تایمر صفر از 0 تا 255 می تواند بشمرد پس برای ساختن کلاک یک ساعت با تایمر صفر چه باید کرد لطفا راهنمایی فرمایید.

                              دیدگاه

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