اطلاعیه

Collapse
No announcement yet.

فرکانس متر

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

    فرکانس متر

    سلام.
    در اینجا یک نمونه پروژه ساده فرکانس متر با میکروکنترلر PIC16F876A را قرار میدهم.
    برنامه در محیط MikroC نوشته شده تا برای همه قابل درک باشد.
    میشد برنامه را طوری نوشت که نیاز به وقفه نباشد. ولی برای یادگیری دوستانی که میخواهند با وقفه هم کار کنند به صورت فعلی تغییر داده شد.
    ضمناً این فرکانس متر تا فرکانس 65535 هرتز را اندازه گیری میکند و برای بالا تر از آن اعلام خطا میکند. در صورتی که به اندازه گیری فرکانس بالاتر نیاز دارید باید برنامه را تغییر دهید.
    در محیط شبیه ساز Proteus برای اندازه گیری فرکانس های بالا زمان زیادی برای شبیه سازی نیاز است. پس توجه داشته باشید که اشکال از برنامه نیست. فقط کمی صبر کنید.
    لینک دانلود:
    http://www.microcontrollers.ir/pic16...freq_meter.zip

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

    با سلام جناب
    بنده به نوبه ی خودم بسیار متشکرم از لطف شما در گذاشتن این پروژه، خود من که نیاز داشتم به این برنامه، منتها چند تا خواسته داشتم که اگه ممکنه کمکم کنید، اول اینکه از سایر دوستان خواهش میکنم اگه واسشون امکان داره برنامه ای که جناب perfect زحمتش رو کشیدن،دوستان و اساتیدی که براشون مقدوره معادلش تو pic basic pro رو هم بذارن و دوم هم اینکه جنابperfect اگه امکان داره مدار راه انداز میکروی مربوط به این پروژه رو هم بذارید و اینکه یه توضیحی بدید راجع به اینکه چجوری میشه به این فرکانس متر LCD وصل کرد و خروجی رو رو اون خوند.
    میدونم خواسته هام خیلی زیادن :redface: ولی ممنون میشم از دوستان تا جایی که واسشون مقدوره پاسخ بنده رو بدن.
    زندگی برگ بودن در مسیر باد نیست
    امتحان ریشه هاست
    ریشه هم هرگز اسیر باد نیست
    زندگی چون پیچک است
    انتهایش میرسد پیش خدا!

    دیدگاه


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

      نوشته اصلی توسط pama
      .. جنابperfect اگه امکان داره مدار راه انداز میکروی مربوط به این پروژه رو هم بذارید و اینکه یه توضیحی بدید راجع به اینکه چجوری میشه به این فرکانس متر LCD وصل کرد و خروجی رو رو اون خوند.
      میدونم خواسته هام خیلی زیادن :redface: ولی ممنون میشم از دوستان تا جایی که واسشون مقدوره پاسخ بنده رو بدن.
      سلام. داخل فایلی که دانلود کرده اید یک پوشه حاوی فایل شبیه سازی در محیط Proteus موجوده که در اون شماتیک و اتصالات LCD کشیده شده. توجه کنید که پایه PORTB3 رو زمانی به زمین متصل کنید که مد پروگرم کردن Low Voltage فعال باشه. اگر در زمان برنامه ریزی این مد را غیر فعال کردید نیازی نیست که به زمین متصل شود.
      اگر ابهامی در شماتیک دارید بیان کنید تا راهنمایی کنم.

      دیدگاه


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

        از بنده هم سلام جناب perfect و متشکرم از لطف زیادتون

        مهندس متاسفانه بنده منظورتون رو از low voltage نمیفهمم و نمیدونم کی باید این پایه رو زمین کنم و کی احتیاجی به این کار نیست؟! اگه امکان داره لطفا بفرمائید بنده دقیقا باید چه کار کنم؟
        زندگی برگ بودن در مسیر باد نیست
        امتحان ریشه هاست
        ریشه هم هرگز اسیر باد نیست
        زندگی چون پیچک است
        انتهایش میرسد پیش خدا!

        دیدگاه


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

          نوشته اصلی توسط pama
          از بنده هم سلام جناب perfect و متشکرم از لطف زیادتون

          مهندس متاسفانه بنده منظورتون رو از low voltage نمیفهمم و نمیدونم کی باید این پایه رو زمین کنم و کی احتیاجی به این کار نیست؟! اگه امکان داره لطفا بفرمائید بنده دقیقا باید چه کار کنم؟
          سلام.
          پروگرمر هایی که برای برنامه ریزی میکروهای هشت بیتی PIC به کار میروند دو نوع هستند. در یک نوع که متداول تر است و تقریبا همه میکروهای هشت بیتی PIC را پشتیبانی میکند یک ولتاژ بالا، حدود 12 ولت به پایه ریست(MCLR) اعمال میشود . به این نوع پروگرمر High Voltage گفته میشود. نوع دیگر هم با اعمال ولتاژ 5 ولت به همین پایه ریست عمل میکند و به آن Low Voltage گفته میشود. البته پروگرمر های Low Voltage که به اختصار LVP گفته میشود تعداد معدودی از میکروها را میتوانند پروگرم کنند و بسیاری از میکروها فقط با پروگرمر High Voltage برنامه ریزی میشوند. در واقع بعضی از میکروها مد برنامه ریزی LVP را پشتیبانی نمیکنند ولی همه آنها مد HVP را پشتیبانی میکنند. پس پروگرمر High Voltage همه میکرو ها را پشتیبانی میکند ولی عکس آن برای Low Voltage صادق نیست.
          میکروکنترلرهای خانواده PIC16F87X هر دو مد را پشتیبانی میکنند.این میکرو به طور پیشفرض با هردو مد قابل برنامه ریزی است. نکته ای که وجود دارد این است که در مد برنامه ریزی Low Voltage یک پین نسبت به High Voltage بیشتر مورد نیاز است و آن پین همان PORTB3 است. اگر به دیتاشیت نگاه بیاندازید این پین نام دیگری هم دارد به نامPGM . در واقع هر میکرویی که در آن این نام به همراه یکی از پین های PORTB به کار رفته قابلیت برنامه ریزی با پروگرمرهای LVP را دارد. همانطور که گفتیم در حالت پیشفرض مد LVP به همراه HVP فعال است. به همین علت نه تنها شما نمیتوانید از پین RB3 در برنامه به عنوان ورودی یا خروجی استفاده کنید بلکه باید برای فعال شدن میکرو حتماً آن را GND مدار متصل کنید در غیر این صورت میکرو کار نمیکند.
          برای اینکه بتوانید از این پین به عنوان ورودی خروجی استفاده کنید میتوانید دو کار انجام دهید که در هر کدام از این دو راه شما در واقع بیت مربوط به LVP را در کلمات پیکره بندی ( configuration word ) را Disable میکنید. configuration word ها در میکروهای PIC همان نقشی را بازی میکنند که فیوزبیتها در AVR بازی میکنند.
          راه اول این است که در خود برنامه و توسط دستورات مخصوصی که کامپایلر ارائه داده این بیتها را تنظیم نمائید. در واقع یکی از تفاوت های میکروهای PIC با AVR این است که در خود نرم افزار هم میتوان فیوز بیتها را تنظیم نمود ولی در AVR فقط زمان پروگرم کردن امکان پذیر است. البته بعضی از کامپایلر ها ممکن است این دستورات را نداشته باشند و از این راه پشتیبانی نکنند که به ناچار باید از راه بعدی استفاده کنید.
          راه دوم این است که مانند AVR ها در زمان پروگرم کردن میکرو ، و توسط خود نرم افزار پروگرمر یک سری بیت ها که مربوط به Watchdog و Brown-out همچنین Low Voltage Programming و... است تنظیم شوند. برای غیر فعال کردن مد LVP کافیست گزینه مربوط به آن را در حالت Disabled قرار دهید.
          در این صورت پین RB3 آزاد شده و میتوان از آن برای ورودی یا خروجی استفاده کرد و نیازی به اتصال آن به زمین نیست.
          نکته دیکری که وجود دارد در صورتی که از یک پروگرمر LVP استفاده میکنید در صورتی که گزینه مد LVP را غیر فعال کنید و میکرو را برنامه ریزی کنید برای دفعه بعد این پروگرمر نمیتواند میکرو را برنامه ریزی کند و باید حتماً از یک پروگرمر High Voltage استفاده کنید. زیرا پایه RB3/PGM برای مد LVP از دسترس خارج شده.

          دیدگاه


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

            باز هم عرض سلام و تشکر ویژه از شما جناب مهندس
            توضیحاتتون برای بنده و مطمئنا بسیاری از دوستان تازه کار بسیار عالی و مفید بود. :applause:

            اگه بنده درست فهمیده باشم تنها کاری که باید بکنم واسه اینکه فعلا از این پین استفاده نمیکنم این هستش که اونو زمین کنم و اگه خواستم به عنوان I/O استفاده کنم باید اونو از حالت زمین خارج کرده و LVP رو Disable کنم، منتها نمیدونم گزینه مربوط به اون تو pickit2(نرم افزار مربوط به پروگرمری که باهاش کار میکنم) کدومه؟ آخه من به صورت نرم افزاری بلد نیستم غیر فعالش کنم!
            از سایر دوستان و اساتید محترمی که با pic basic pro آشنایی دارن و برنامه جناب perfect رو دیدن خواهش میکنم اگه واسشون امکان داره این برنامه رو به اون زبان هم بنویسن تا بنده و بقیه دوستانی که نسبت به نرم افزار c نا آشنائیم و احتیاج به فرکانس متری که جناب مهندس زحمتشو کشیدن داریم،بتونیم ازش استفاده کنیم. ممنون هستم از همه دوستان و اساتید محترم. :job:
            زندگی برگ بودن در مسیر باد نیست
            امتحان ریشه هاست
            ریشه هم هرگز اسیر باد نیست
            زندگی چون پیچک است
            انتهایش میرسد پیش خدا!

            دیدگاه


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

              نوشته اصلی توسط pama

              ..اگه بنده درست فهمیده باشم تنها کاری که باید بکنم واسه اینکه فعلا از این پین استفاده نمیکنم این هستش که اونو زمین کنم و اگه خواستم به عنوان I/O استفاده کنم باید اونو از حالت زمین خارج کرده و LVP رو Disable کنم..
              درسته. همینطوره. ولی برای غیر فعال کردن مد LVP باید مطمئن باشید که پروگرمر شما از نوع HVP هست.

              نوشته اصلی توسط pama

              منتها نمیدونم گزینه مربوط به اون تو pickit2(نرم افزار مربوط به پروگرمری که باهاش کار میکنم) کدومه؟ آخه من به صورت نرم افزاری بلد نیستم غیر فعالش کنم!
              متاسفانه بنده هم با این پروگرمر سر و کاری نداشتم و نمیدونم تنظیمات در آن به چه نحو است. بنده از یک پروگرمر ساده دست ساز و نرم افزار رایگان melabs Programmer Beta استفاده میکنم.

              دیدگاه


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

                بسیار ممنون جناب perfect
                باز هم از سایر دوستان و اساتید محترمی که با pic basic pro آشنایی دارن و برنامه جناب perfect رو دیدن خواهش میکنم اگه واسشون امکان داره این برنامه رو به اون زبان هم بنویسن تا بنده و بقیه دوستانی که نسبت به نرم افزار c نا آشنائیم و احتیاج به فرکانس متری که جناب مهندس زحمتشو کشیدن داریم،بتونیم ازش استفاده کنیم. ممنون هستم از همه دوستان و اساتید محترم. :job:
                زندگی برگ بودن در مسیر باد نیست
                امتحان ریشه هاست
                ریشه هم هرگز اسیر باد نیست
                زندگی چون پیچک است
                انتهایش میرسد پیش خدا!

                دیدگاه


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

                  با سلام خدمت همه دوستان و اساتید محترم
                  با اجازه از جناب perfect و سایر اساتید، بنده یه برنامه ساده و کاربردی رو واسه فرکانس متر تو نت یافتم! که با pic basic pro هست و خودمم ازش جواب گرفتم(با تشکر از دوستی که برنامه رو نوشتن)، اینه که گفتم بذارم بلکه به درد دوستان خورد :nerd:

                  r var word

                  f var word
                  trisa = 0
                  trisb = %11110111
                  start:

                  f = 0

                  r = 0

                  count portb.0 , 1000 , f

                  if f > 1000 then khz

                  Lcdout $fe, 1 ' Clear LCD screen

                  Lcdout #f ' Display Freq.

                  lcdout $FE, $14

                  lcdout "Hz"



                  goto start



                  khz: r = f // 1000

                  f = f / 1000

                  Lcdout $fe, 1 ' Clear LCD screen

                  Lcdout #f ' Display Freq.

                  lcdout "."

                  lcdout #r

                  lcdout $FE, $14

                  lcdout "KHz"

                  goto start

                  بنده مدار این برنامه رو با 16f84a بستم.
                  زندگی برگ بودن در مسیر باد نیست
                  امتحان ریشه هاست
                  ریشه هم هرگز اسیر باد نیست
                  زندگی چون پیچک است
                  انتهایش میرسد پیش خدا!

                  دیدگاه

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