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

پروژه AVR ساعت ساده با تایمر0

به نام خدا

پروژه AVR ساعت ساده با تایمر0 : بعد مدتی گفتم یه مطلب پروژه AVR بزارم تو سایت……اینو قبلا برا کسی فک کنم انجام داده بودم……میخواستم بزارمش تو سایت ولی تنبلیم میشد(البته فایل های دیگه ای هم هستن و فقط این نیست) ؛ اگه در مورد تایمر کانتر چیزی نمیدونید مطلب مقابل رو بخونید :  آموزش جامع میکروکنترلر AVR جلسه۹ 
توضیح پروژه : والا تو این پروژه AVR یه ساعت درست کردیم … که به این ساعت یه مقدار اولیه دادم تا از اونجا شروع به کار کنه(ساعت 12 و  35 دقیقه و  35 ثانیه)
کارش فقط همینه ^_^

این از شماتیک پروژه
پروژه AVR ساعت ساده با تایمر0
 
اینم از کد های پروژه

 

دانلود پروژه AVR این مطلب

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

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

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

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

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

  1. Avatar

    مهمان

    Mina

    سلام اگه بخوایم یه کلید بزاریم که با زدن کلید اون لحظه ساعتو زیر ساعت روی lcdنشون بده چه کدایی رو میتونیم بنویسیم

  2. Avatar

    مهمان

    maryam

    سلام
    اگر این برنامه رو در کنار کدای دیگه ای که لازم باشه از کاربر ورودی بگیریم استفاده کنیم، مثلا keypad ، به خاطر تاخیری که کاربر داره این کد دیگه کار نمیکنه. چون شرط خط 52 (if(i==125)) هیچ وقت برقرار نیست. میشه لطفا کمکم کنید.
    خودم کد زیر به ذهنم رسید ولی بعد از یه مدت خیلی عقب میفته:
    if(i>=125)
    {
    s+=i/125;
    i=i%125;

    }

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

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

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

      سلام
      اگه دقت مهم برات از ماژول ds3231 استفاده کن.
      اگه خیلی دقت ساعت مهمه برات که از gps استفاده کن .

  3. Avatar

    مهمان

    mohad

    سلام پروژه شما عالیه امکان داره بهم بگین چجوری میتونم آدرس شایت بردارم چون استاد سخت گیر ونمیتونم همونوم براش در بیارم خیلی احتیاج دارم فردا میخوام
    (:shout shout unknw unknw

  4. Avatar

    مهمان

    aamm

    با سلام چگونه میشه به این برنامه برنامه ی دماسنج با lm35 هم اضافه کرد ؟؟؟؟؟؟؟؟؟

  5. Avatar

    مهمان

    الهام

    سلام وقت بخیر همین برنامه روزبا تایمر١چطور میشه نوشت ممنون میشم راهنمایی کنید

  6. Avatar

    مهمان

    علیرضا اهنی

    سلام.
    چرا هر وقت وقفه رخ دارد تایمرو خاموش/روشن میکنی؟

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

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

      مهدی دمرچیلو

      سلام-برای این که در اون مدت شمارنده کار نکنه تا کارامو بکنم و مقدار دهی اولیه بکنمش

  7. Avatar

    مهمان

    amin6

    سلام . میخواستم بدونم تابعی هست که مکان خاصی از lcd رو فقط پاک کنه ؟؟ با تابع lcd_clear() کلش پاک میشه . من فقش میخوام سط دوم رو پاک کنم

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

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

      مهدی دمرچیلو

      سلام
      از تابع نوشتن استفاده کن و بیا بگو SPACE نمایش بده – که میشه یه جورایی پاک کردن – چون SPACE یا همون فاصله قابل دیدن نیست

    • Avatar

      مهمان

      amin6

      خیلی خیلی ممنون . یه سوال دیگه داشتم . من کد رو تو کدویژن زدم کامپایل هم شده منتها موقع شبیه سازی تو پروتئوس ارور زیر برام میاد .
      Invalid opcode 0xFFFF at PC=0x0002

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

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

        مهدی دمرچیلو

        عملی کار کن – با پروتئوس کار نکن

        • Avatar

          مهمان

          amin6

          چون پروژه رو باید با پروتئوس تحویل بدیم مجبورم باهاش کار کنم . حالا به نظرتون این مشکل از چیه ؟ مشکل از خوده پروتئوسه ؟

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

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

            مهدی دمرچیلو

            نمیدونم – به علت مشکلات زیاد این شبیه ساز – باهاش کار نمیکنم.

  8. Avatar

    مهمان

    سجاد

    سپاس

  9. Avatar

    مهمان

    سجاد

    مرسی عزیز استفاده کردم

  10. Avatar

    مهمان

    مجتبی

    خیلی خیلی خیلی ممنون!
    لذت بردیم

  11. Avatar

    مهمان

    محمد

    آقا باز مثل همیشه مشکلم حل شد. این delay_ms 1000 رو از 1000 به 180 تغییر دادم اوکی شد.
    laugh laugh laugh

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

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

      مهدی دمرچیلو

      همون کاری که گفتم رو انجام بده – برو کار با فیوز بیت ها رو یاد بگیر

  12. Avatar

    مهمان

    محمد

    بابا جان من نمیدونم چرا ساعتی که وصل میکنم اصلا ثانیه هاش عادی نیست. هر 5 ثانیه ای یه ثانیه اضاف میشه. از چند نفر هم برنامه ساعت رو گرفتم میریزم رو میکرو و مدارو وصل میکنم بازم همین مشکلو دارم. یه راهنمایی بکن لطفا. ینی اشکال از نحوه ی بستن مدارم هست؟ پایه های 7 و8و9و10 ال سی دی رو به هیچ جایی وصل نمیکنم. درسته دگ؟

  13. Avatar

    مهمان

    محمد

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

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

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

      مهدی دمرچیلو

      سلام-فرکانس میکرو باید 8 میگ باشه – به کمک فیوز بیت ها

      • Avatar

        مهمان

        محمد

        عه عه دمت گم جوابمو دادی. ولی من خودم یجور دگ حلش کردم دادش. زمان delay_ms رو کم کردم.(البته روی یه برنامه ی دگ این کارو کردم مال شما delay_ms نداشت) این فیوز که میگی رو من میکروی قبلی که داشتم هی فیوز هاشو دست کاری کردم اخر سر از کار افتاد و دگ پروگرام نمیشد و رفتم یه میکرو دگ خریدم. به نظرم اگه فیوز ها رو زیاد دست کاری نکنیم بهتر باشه.

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

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

          مهدی دمرچیلو

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

      • Avatar

        مهمان

        محمد

        راستی فرکانش میکروی من روی 1 میگ هست فک کنم چون هر هشت ثانیه یه بار عدد ثانیه عوض میشد. واسه همین Delay_ms رو مقدارشو تقسیم بر هشت کردم و زمان ثانیه اوکی شد.
        بازم منون. اجرت با خدا

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

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

          مهدی دمرچیلو

          دو ساعت من دارم چی میگم. rtfm

  14. Avatar

    مهمان

    cloner

    slm
    mikhastam bedonam agar bekham sanie ro be ja ye sanie vaghei ye kari konam saritar bere masalan har nim sanie beshe ye sanie bas chi kar konam???(to code nemikham dast bezanam mikham az codewizard taghirat ro anjam bedam)

  15. Avatar

    مهمان

    ناشناس

    سلام
    میخواستم بدونم باتری بک آپ به کدوم پایه های atmega16 وصل میشه؟

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

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

      مهدی دمرچیلو

      سلام
      تو کامنت قبلیت جواب دادم!

  16. Avatar

    مهمان

    Masoomeh

    سلام وقت بخیر
    جوابمو ندادید
    تو شبیه سازی وقتی ثانیه به عدد 59 می رسه صفر نمیشه و عدد بعدی ثانیه به جای 1 مینویسه 09 و بعد 19و 29و…

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

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

      مهدی دمرچیلو

      سلام
      ببخشید این پروژه رو میگید – من فک کردم میگید خودتون یه پروژه انجام دادید و…
      خب باید کد زیر رو جایگزین کد مشابه در پروژه کنید.
      sprintf(str,"%d:%d:%d ",h,m,s);

  17. Avatar

    مهمان

    amirali

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

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

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

      مهدی دمرچیلو

      کجاش رو مشکل دارید؟ اگه هیچی نمیدونید >> مطلب جلسه 1 Avr رو بخون – آموزش مقدماتی c رو بخون.

  18. Avatar

    مهمان

    Masoomeh

    سلام
    برنامه رو نوشتم ولی وقتی ثانیه به 59 میرسه و به دقیقه اضافه میشه ،ثانیه برنمیگرده به مقدار اولیه که تعریف کردم

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

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

      مهدی دمرچیلو

      سلام – نمیدونم کجا سوتی دادی – دقیقا چطور میشه – بیشتر توضیح میدی؟ به نظرم تو eca یه پستی بزن و کدها رو اونجا پیسوت کن و…

  19. Avatar

    مهمان

    nasi

    سلام من خیلی خیلی جدیدم توی avr اگه بخوایم micro ثانیه هارو حساب کنیم چجوری باید تایمر رو ست کنم؟؟

  20. Avatar

    مهمان

    ftm

    سلام چرا tcnt=4 گذاشتین؟ مگه 250 تا کلاک نمیخوایم ؟ مگه نباید 5 باشه؟ ممنون

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

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

      مهدی دمرچیلو

      سلام
      تاجیی که یادم میاد محاسبه کردم که در زیر میبینی :
      F(timer) = 31.25(Khz) —- > 1Clock = 32us
      زمان مورد نیاز ما = 1ثانیه
      تعداد کلاک مورد نیاز برای تولید 1 ثانیه = X
      1Sec = 32us * X = 32us * (125*250)
      لذا ما 125 تا کلاک 250 تایی نیاز داریم
      لذا ما باید به ریجستر فوق مقدار 6 بدیم تا از 6شروع به محاسبه کلاک ها رو بکنه

  21. Avatar

    مهمان

    بی نام

    با چه زبانی برنامه ها رو مینویسی و چطور توش تغییر ایجاد کنم؟؟؟

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

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

      مهدی دمرچیلو

      C
      کدویژن رو نصب کن و …

  22. Avatar

    مهمان

    حمید

    ممنوووووووووووووووووووون

  23. Avatar

    مهمان

    Mahdi

    سلام داداش بازم از راهنماییات ممنون امروز یه پروژه چشمک زدن led با میکرو رو روی آی سی پروگرام کردم جواب داد:)) اما واسه lcd جواب نمیدهsad من فقط یه کار رو انجام نمیدم اگه نرم افزار progisp دیده باشی وقتی میخوای پروگرام کنی یه گزینه هم داره program fuse اینو تیک نمیزنم تا فیوز بیت ها پروگرام نشن هالا موندم این تیکو بزنم یانه اما شما میگی مشکل مال این نمیتونه باشه؟؟؟؟

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

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

      مهدی دمرچیلو

      سلام دادا
      خب کار خیلی خوبی کردی
      الان دقیقا فهمیدی که مشکل از lcd هستش
      گفتم که فیوز بیت مربوط به سرعت هستش…مثلا اگه فیوز بیت ها تنظیم نباشن روی ۸ میگ و روی ۱ میگ باشن مثلا تو ساعت ما ۱ ثانیه میشه ۸ ثانیه……یه ثانیه ش به اندازه ۸ ثانیه طول میکشه……..از این حرفا بگذریم کلا lcd باید یه چیزی نشون بده………مطلب lcd رو خوندی؟برو بخون و …

  24. Avatar

    مهمان

    Mahdi

    سلام اگه میشه یه عکس از شماتیک کلی برام بفرستی ممنون میشم یعنی مثبت و منفی ها رو برام بکشی و وصل کنی به یه منبع تغزیه فرضی. راستی اگه نیاز به فیوز بیت داره یه عکسم از فیوز بیت برام میل کن شرمندتم داداش smile

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

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

      مهدی دمرچیلو

      سلام
      اگه منبع ثابت ۵ ولت داری مستقیم بده به vcc-gnd(صفحه اول یا دوم دیتاشیت میکرو رو ببین)
      ولی اگه منبع ثابت ۵ ولت نداری و مثلا ۱۲ ولت داری….باید از رگولاتور استفاده کنی که مطلبش توی سایت هستش

  25. Avatar

    مهمان

    Mahdi

    دوباره سلام مشکل کار اینجاست که وقتی تغزیه رو وصل میکنم ال سی دی روشن میشه ولی نوشته یا همین ساعت نمایش نمیدهsad یه ولوم هم بهش وصل کردم برای تنظیم نور اونم کم وزیاد میکنم تغییری نمیکنه:| داداش بنظرت مربوط به پروگرام نیست ۰_o توی این پروژه نیاز به فیوز بیت هست یانه اگه هست عکسشو برام میل کن .. اگه مشکل الان جزئئ هست راهنمایی کن ممنون اگه مشکل خواصی بود یه فیلم از پروگرام کردنم بفرستم چک کنی ببینی اوووکی هست یانه شرمنده زیاد حرف زدم اراجیف بسیار است :))))

  26. Avatar

    مهمان

    oghj

    سلام من یه برنامه ساعت نوشتم با ۳ تا دکمه پوش باتن برا کنترل ساعت (کم و زیاد کردن) دوست داشتم بزارمش تو یه سایتی چیزی اگه دوست داشتی بزاری تو سایتت یه میل بهم بزنم تا پروژه رو برات بفرستم فقط باید یکم بهینه سازیش کنی یکم طولانی شد کدش.

    • Avatar

      مهمان

      محمد

      داداش میشه برای من بفرستیش؟
      من دنبای یه برنامم که با کلید بشه ساعتو کمو زیاد کرد.
      آدرس ایمیلم: mute4030@gmail.com

  27. Avatar

    مهمان

    Mahdi

    سلام یه مشکل دارم تغزیه ی آی سی رو چطوری تامین کنم ینی باید دیتاشیت آی سی رو نگاه کنم بر اساس اون gnd رو به منفی وvcc رو به مثبت درست میگم؟؟؟ ولی جواب نمیده sad لطفا سریع تر راهنمایی کنید

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

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

      مهدی دمرچیلو

      سلام
      مشکل کار کجاس؟
      تغزیه ۵ ولت باید وصل کنی به میکرو
      lcd روشن میشه؟

  28. Avatar

    مهمان

    abbasi.a92

    سلام
    ببخشید اگه بخوام توی شمارش ثانیه ها از صفر تا 9 ، عدد های نشان داده شده به صورت 00و01و02 … نشون داده بشه باید چه تغییری تو کدها ایجاد کنم .
    ممنون

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

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

      مهدی دمرچیلو

      سلام
      فرم کلیش این طوری هستش
      if(second< =9){lcd_puts("0");cd_puts(str);}
      if(second>9){cd_puts(str);}
      ثانیه از نوع int هستش لذا اول رشتش میکنی و در رشته ای مثلا با نام str ذخیرش میکنی و بعد نشون میدی تو lcd

  29. Avatar

    مهمان

    abbasi.a92

    سلام خیلی ممنون از آموزش خوبتون
    راستش فکر کنم این برنامه یه کم مشکل داره . آخه تو شبیه سازی وقتی ثانیه به عدد 59 می رسه صفر نمیشه و عدد بعدی 09 واسه ثانیه می نویسه و بعد 19و 29و…
    اگه میشه یه چک کنید ممنون میشم.

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

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

      مهدی دمرچیلو

      سلام
      حواسم به این موضوع نبود
      بعد خط ۶۴ کد زیر رو اضافه کنید
      lcd_putsf(" ");

  30. Avatar

    نویسنده سایت

    وحيد ندائي

    يعني آي سي هايي كه تو بازاره همش همينطوريه؟

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

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

      مهدی دمرچیلو

      غیر این سراغ ندارم و اطلاع ندارم….چیزی که به کله پوکم میرسه اینه که از طریق شبکه یا نت یا یه چیز تو این مایه ها(یه مرجع دقیق—از خود PC هم بگیری بد نیست…..فقط باس برنامه نویسی سیشارپ یا بیسیک بلد باشی) ساعت رو بگیری….

  31. Avatar

    نویسنده سایت

    وحيد ندائي

    سلام
    من دنبال يه ساعتم كه دقيق باشه از DS1307 و DS1332 استفاده كردم ولي باز عقب مي افتن نظرت چيه؟

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

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

      مهدی دمرچیلو

      مگه این که اینترنتی ساعت رو پیدا کنی…..و نمایش بدی

      • Avatar

        مهمان

        stive j

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

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

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

          مهدی دمرچیلو

          سلام – ممنون – الان ایمیل بهت میدم.