نمایش/عدم نمایش سایدبار
رفتن به بالای صفحه
آزادی حجاز از دست نااهلان
مهدی دمیرچیلو

پروژه تولید تمام رنج های فرکانسی با TIMER0

به نام خدا 

پروژه تولید تمام رنج های فرکانسی با TIMER0

پروژه تولید تمام رنج های فرکانسی با TIMER0

هدف پروژه : در واقع این پروژه AVR آخرین پروژه از سری پروژه های تایمر صفر-مد نرمال هستش……انشاالله از این به بعد میریم سراغ مد های دیگه ی تایمر صفر.
پیشنیاز : اگه در مورد تایمر کانتر چیزی نمیدونید مطالب زیر رو که در مورد  آموزش AVR قسمت تایمر/کانتر هستش رو حتما بخونید :  آموزش جامع میکروکنترلر AVR جلسه۹
توضیح پروژه : تو این پروژه میخوایم زمان ۲۵٫ میکرو ثانیه الی بینهایت رو تولید کنیم…..دو دکمه تعبیه شده برا افزایش و کاهش این زمان….برای اعمال تنظیمات یه دکمه قرارداده شده است که با کلیک روش اعمال تنظیمات آغاز شده و با کلیک دوباره اعمال تنظیمات پایان می یابد.و این زمان تولید شده دارای یه فرکانس و دوره تناوبی هستش که زمان-فرکانس-دوره تناوب رو در LCD کاراکتری مشاهده میکنید.
 
اینم دوتا عکس از پروژه
 پروژه AVR
 
 آموزش AVR
 
اینم از کد های این پروژه

 

دانلود پروژه این جلسه | حجم ۱۷۳kb

گروه پرسش و پاسخ الکترونیکی در سروش
مهدی دمیرچیلو گوگل میفرماید : إِنَّ اللّه مَعَ السارِچین ( خداوند با سرچ کنندگان است )
ارسال دیدگاه
44

1) نظرات غیر فارسی به صورت خودکار حذف میشوند ( حداقل 5 حرف فارسی وارد کنید ).

2) به موارد درخواست پروژه/کد آماده و سوالاتی که بلد نباشم پاسخ داده نمیشه.

3) برای گزاشتن کدهاتون از این سایت استفاده کنید ( طبیعتا لینک کدتون رو باید برای من بفرستید! ) : debian

4) پسورد فایل های سایت : www.dmf313.ir

  1. Avatar

    مهمان

    ا

    سلام مهندس
    خسته نباشید، اگر براتون مقدوره یه پروژه با موضوع ایجاد موج با دامنه متغیر هم انجام بدید
    دست شما درد نکنه

  2. Avatar

    مهمان

    سینا

    سلام…
    خواستم بدونم میشه با این روش فرکانس 1.7mhz ایجاد کرد؟ البته من این برنامه داخل پروتیوس امتحان کردم 1.6 و 2 میشه ازش گرفت آیا غیر از این روش میشه کاری کرد که فرکانس 1.7mhz +-50khz ایجاد کرد با avr فقط

  3. Avatar

    مهمان

    فربد

    سلام مهنس جان با سپاس از زحمات جناب عللی
    میخواستم بدونم کامپایلری که شما استفاده میکنید چه ورژنی هستش
    برای من کد ویژن 2.05.3هستش ولی نمیشه مثل برای شما توضیحات فارسی
    داخلش نوشت .
    با سپاس good

  4. Avatar

    مهمان

    یاسر

    سلام مثله همیشه عالی هستی اخوی
    من میخوام سمت مدارم 1هرتز ثابت تا رنج 300کیلو هرتز ثابت درست کنم جوری که این فرکانس رو به یه ترانس بدم و ولتاژ 10تا80 ولت یا100ولت ac برقرار کنم با آمپر 10 تا 100میلی آمپر ولی نمیدونم از چه حالتی برای تبدیل این فرکانس استفاده کنم که بعد بدمش به ترانس؟ و از چه ترانسی استاده کنم که این فرکانسی ک بهش میدم رو بتونه از اونور اون خروجی 10تا80ولت با میلی آمپر کم بده؟
    میتونی راهنماییم کنی؟

  5. Avatar

    مهمان

    hassan

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

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام-درباره تایمر چند تا مطلب تو سایت گزاشتم – اونا رو مطالعه کنید – بیش از اونا چیزی بلد نیستم متاسفانه.

  6. Avatar

    مهمان

    Hassan

    سلام مهندس
    چند روزیه منتظرم به سوالم پاسخ بدین خیلی واسم مهمه سوالی که ازتون پرسیدم تو رو خدا اگه ممکنه راهنماییم کنین.
    امیدوارم که مشکلی واستون پیش نیومده باشه که جوابمو ندادین.در ضمن اصلا نیاز نیس که این پیاممو منتشر کنین همین که بخونینش واسم ارزش منده

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام مجدد – متاسفانه شما کد میخواین که امکان نوشتنش اصلا وجود نداره.

  7. Avatar

    مهمان

    hassan

    سلام .مهندس چطور میتونم این برنامه رو طوری تغییر بدم که بجای مگاهرتز از محدوده هرتز شروع بکار کنه تا آخرش مثلا برسه به کیلو هرتز؟؟
    میخوام دقیق باشه !!!!
    ممنون میشم راهنماییم کنید.

  8. Avatar

    مهمان

    hassan

    ممنون بابت راهنمایییتون.مهندس من اگه بخوام این سیگنال ژنراتور از ۱۰۰ هرتز شروع بکار کنه تا مثلا ۱۰۰۰ هرتز چیکار کنم؟؟؟باید کلا محاسباتو تغییرش بدم؟؟؟
    میخوام کاری کنم که خروجی در حد هرتز کم و زیاد بشه نه مگا هرتز؟
    چیکارش کنم من بلد نیستم blush

  9. Avatar

    مهمان

    hassan

    سلام .مهندس تو این برنامتون که نوشتین معنی این دستورای زیر چیه ؟؟؟
    while(number%2==0)
    while(number%2!=0
    if(PINC.0)i++;
    if(PINC.1){i–;if(i<۱)i=1;}
    بیشتر اون قسمتهایی که از درصد و عدد ۲ استفاده کردینو متوجه نمیشم!!! dash
    ممنون میشم راهنماییم کنید

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      / یعنی تقسیم که خارج قسمت رو به ما میده.
      % هم یعنی تقسیم ولی باقیمونده رو به ما میده
      لذا در کد زیر میگم تا زمانی که باقیمانده تقسیم number بر ۲ برابر ۰ هستش صبر کن…
      while(number%2==0)
      if(PINC.1)
      پایه دومی ( به شماره ۱ —> شمارش از ۰ شروع میشه ) پورت C رو که ورودی تعریف شده رو اومدیم داریم مقدارشو میخونیم و اگه ۱ بشه کدهای داخل if اجرا میشه.

  10. Avatar

    مهمان

    روزبه

    با سلام خدمت برادر خوبم. اگر بخواهم یه شمارنده دیجیتال رو که با فرکانس ۴ الی ۵ مگاهرتز کار میکنه رو از کار بندازم. ( بدون قطع کردن یا برداشتن قطعه ای ) میتونم با اعمال کردن یه فرکانس حالا مثلا بالاتریا پایینتر و یا یه شکل خاصی از موج از طریق ارسال از قسمت برق تغذیه اونو از کار بندازم یا مثلا عمل کردش رو مختل کنم؟ به عنوان مثال یه ساعت دیجیتال رو در نظر بگیرید . تنها اتصالات ولتاژ تغذیه اون بیرونه. میخواستم ببینم میشه فرکانسی داشته باشیم که با اعمال اون به اتصالات تغذیه دستگاه . کار کریستال داخلی اون رو مختل یا از کار بندازه؟. البته تا مادامی که فرکانس یا مثلا پارازیت ما وصل هستش مختل باقی بمونه و با قطع کردن اون دستگاه یا همون ساعت شروع به کار کنه. ممنون میشم راهنمایی یا پیشنهادی بفرمایید. در صورت امکان جواب رو به من منت بگذارید به ایمیلم ارسال کنید. قبلا از توجهتان کمال تشکر و قدردانی رو دارم.

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      اطلاع ندارم متاسفانه

  11. Avatar

    مهمان

    حسین

    سلام آقا مهدی. ۲۲ بهمن رو بهت تبریک میگم.
    من امشب اشتباهی پایه ۱ ال سی دی رو (VSS) به مثبت ۵ ولت وصل کردم و پایه ۲ (VDD) رو به زمین و پایه ۳ رو به زمین وصل کردم ، نه ال سی دی و نه چیز دیگه ای روشن نشد.
    چند با خاموش روشن کردم مدار رو همونطوری بود ، بعدش فهمیدم پایه ۱ و ۲ رو جابجا زدم.
    وقتی درست زدم ۱۶ تای ردیف اول رو مربع نشون میده ، و برنامه میکرو درسته ولی متن رو نشون نمیده ، ردیف دوم خالیه.
    چند بار پایه ۳ رو در آوردم و به منفی و مثبت وصل کردم ولی تغییری نکرد.
    بنظرتون چه مشکلی داره؟
    چجوری درستش کنم؟
    ممونم.

  12. Avatar

    مهمان

    سینا

    سلام تو کدویژن باید توی کدوم گزینه و منو فرکانس میکروکنرلر رو تغییر بدیم؟

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام-هنگام ایجاد پروژه جدید تو کدویزارد میشه –
      برا پروژه فعلی > میری منو پروژه> گزینه آخر – منو c pompiler > گزینه clock

  13. Avatar

    مهمان

    ناشناس

    سلام
    من فهمیدم مشکل پروژه (تولید تمام رنج های فرکانسی با TIMER0) در عمل چیه.
    این دو تاریجسترو پاک کنین درست میشه: GICR=0x40; GIFR=0x40;

  14. Avatar

    مهمان

    ataee

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

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      مشکل کار کجاس؟

      • Avatar

        مهمان

        ataee

        نمیدونم.جمله بنده سوالی بود.ممنون بشم شما بگین.

        • مهدی دمرچیلو

          نویسنده این مطلب

          مهدی دمرچیلو

          خب من که کنار مدار شما نیستم ببینم مشکل دقیقا چی هستش – شما باید حد اقل یه فیلی بفرستید از پروژه برام و یا توضیح بدید پروژه به چه صورت هستش تا من بفهمم مشکل کار از کجاس
          تو اسکپ تست میکنید؟ نمایشگر دیتا رو نشون نمیده . سرعت پایینه و…. جزئیات رو بگید لطفا…………..

          • Avatar

            مهمان

            ataee

            دوست عزیز این مدار روی برد:
            —–
            هم روس اوسکوپ و هم روی lcd هیچی نمیاد .
            البته تو این عکس lcd رو جدار کردم اما حتی با وجود اون حتی کاراکتر ها هم نمایش پیدا نمیکنه .اصلا انگارکد اجرا نمیشه .پروگرمر هم هاتل هستش و مستقیم با خود نرم افزار هاتل پروگرام میکنم.
            ممنون از توجه و پیگیریتون .یک دنیا ممنون .

          • مهدی دمرچیلو

            نویسنده این مطلب

            مهدی دمرچیلو

            خب به نظرم گام به گام پیش بریم بهتر باشه
            من احساس میکنم اتصالات تغذیه میکرو رو اشتباه وصل کردید…..
            میشه تو این عکسی که فرستادید بگید اون دایره کوچیک بالای میکرو الان تو این عکس کدوم سمت هستش؟ تو این عکس اون دایره کوچیکه بالا هستش یا پایین؟
            چون من در هر سمتی هم که فرض میکنم میبینم که اتصلات تغزیه میکرو شما اشتباه هستش
            همون طور که تو عکس زیر میبینی یه سمت میکرو یه دایره کوچیک داره
            میکرو AVR
            دیتاشیت میکروتون رو نگاه کنید و پایه های تغذیه رو ببینید و یه بازبینی تو مدارتون بکنید.
            در ضمن از این به بعد تو سایت زیر برام آپلود کنید فایل ها رو – هم من راحت تر هستم و هم خود شما
            http://www.picofile.com/

          • Avatar

            مهمان

            ataee

            سلام باز هم از صبر و شکیبایی و همچنین توجه شما بسیار ممنونم.اطاعت امر کردم و عکس رو آپلود کردم.
            http://s7.picofile.com/file/8248771692/IMG_3941.JPG
            دقیقا پایه ها بر روی برد مشابه عکس هستن همانطور که در فایل پروتئوس هستش.

          • مهدی دمرچیلو

            نویسنده این مطلب

            مهدی دمرچیلو

            تو اون عکس اولی که فرستادید اون نیم دایره میکرو رو مشخص کنید برام تا بهتون بگم که تغذیه رو باید کجا وصل کنید.

          • Avatar

            مهمان

            ataee

            فلش قرمش نیم دایره ی سر میکرو
            http://s6.picofile.com/file/8248786784/IMG_3940_Copy.JPG

          • مهدی دمرچیلو

            نویسنده این مطلب

            مهدی دمرچیلو

            سلام / من معضرت میخوام – تغذیه رو شما درست وصل کردید – اشتباه از من بود – این چند روزه سرم خیلی شلوغ بود باس 3 تا پروژه رو ناجام میدادم – اون عکس اول شما رو من هم هر چی میدیدم فک میکردم اشتباه هستش – الان میبینم که درست وصل کردید – شرمنده
            خب بریم برحله بعد
            1) الان شما فقط فقط LCD رو وصل کنید و اون 3 تا دکمه – و نمیخواد خروجی میکرو رو تو اسکپ ببینید و بررسی کنید – فقط ببینید دیتا تو LCD نمایش داده میشه یا نه
            اگه نمایشگر روشن نشد که یعنی تغذیه نمایشگر مشکل داره و اشتباه هستش اگه روشن شد ولی مربع سغید توش نمایش داده شد مطلب زیر رو ببین
            آموزش جامع کار با LCD کاراکتری

          • Avatar

            مهمان

            ataee

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

          • مهدی دمرچیلو

            نویسنده این مطلب

            مهدی دمرچیلو

            عزیز دل – این که شما نمیتونید نمایگشر رو راه بندارید مشکل از پروژه نیست – تو اون مطلبی که گزاشتم رو مطالعه کنید متوجه مشکل میشید.

          • Avatar

            مهمان

            ataee

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

          • مهدی دمرچیلو

            نویسنده این مطلب

            مهدی دمرچیلو

            آقا/خانم عطایی عزیر، تو پروژه ها روال کار این طوره که کم کم پیش میرن تا مشکل رو پیدا کنن – شما اول مشکل LCD رو باید حل کنید تا …
            این که LCD کار نمیکنه یعنی یه جای کار شما اشتباه هستش …

          • Avatar

            مهمان

            ataee

            استاد من خودم خدمتتون عرض کردم که اشتباه از من خواهد بود.احتمالا نمیتونم خوب پروگرمش کنم .چشم مشکل lcd رو هم بررسی میکنم .تو مطالب بالا هم خدمتتون عرض کردم که ممکنه توپروگرم کردن مشکلی باشه.البته روند پروگرام به خوبی و بدون خطا صورت میگیره .من خودم شَکم سر تنظیم فیوز بیت ها هستش .
            http://s6.picofile.com/file/8248915300/1_1.png
            http://s7.picofile.com/file/8248915318/1_2.png

          • Avatar

            مهمان

            ataee

            درست شد و مشکل هم اینجاس که باید دکمه تنظیمات pin16=int0 را چه برای اعمال تنظیمات و چه برای شروع کردن برای تولید پالس کامل نگه داری و فشار بدی تا کار کنه اگه ولش کنی بین start setting و stop setting مدام تغییر حالت میده.

      • Avatar

        مهمان

        ataee

        راستش اصلا خروجی ندارم .هیچی.میکروام سالمه برنامه دیگه پروگرام میکنم کار میکنه

        • مهدی دمرچیلو

          نویسنده این مطلب

          مهدی دمرچیلو

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

  15. Avatar

    مهمان

    حسین

    مطالب بسیار مفیدی گذاشتید استفاده بردیم.آرزومند توفیق بیش از پیش شماییم. سرفراز باشید

  16. Avatar

    مهمان

    mehrdad

    سلام دمت گرم خداییش کارت حرف نداره

  17. Avatar

    مهمان

    Ali

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

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      فعلا نه….امتحانات bomb
      میتونید مطلب آموزش avr که تو سایت هستش رو بخونید…

  18. Avatar

    مهمان

    Ali

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

  19. Avatar

    مهمان

    طبسی

    من میخوام سی یاد بگیرم
    آیا شما اموزش هم دارید
    اینطوری میتونم هم از شما دوست گرامی کمک بگیرم و هم از پروژه های استفاده کنم
    آیا اگه به مشکل برخوردیم ما رو یاری می کنید
    سپاس

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      یه چیزایی برا آموزش تو سایت گزاشتم