نمایش/عدم نمایش سایدبار
رفتن به بالای صفحه

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

به نام خدا

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

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

 

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

پسورد فایل های سایت :
www.dmf313.ir
جنگ ما فتح قدس را در پی خواهد داشت (امام خمینی) >>>>>> اگر از صدام بگذریم، اگر مسأله قدس را فراموش کنیم، اگر از جنایت های امریکا بگذریم از آل سعود نخواهیم گذشت. ان‌شاالله اندوه دلمان را را در وقت مناسب با انتقام از امریکا و ال سعود برطرف خواهیم کرد و داغ و حسرت حلاوت این جنایت بزرگ را بر دلشان خواهیم گذاشت و با برپایی جشن پیروزی حق بر جنود کفر و نفاق و آزادی کعبه از دست نااهلان و نامحرمان به مسجد الحرام وارد خواهیم شد (امام خمینی)
ارسال دیدگاه
60

1) تعداد حروف فارسی از حروف غیر فارسی بیشتر باشه دیدگاه جفنگ/اسپم محسوب میشه.

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

3) برای گزاشتن کدهاتون از این سایت استفاده کنید : debian

  1. مهمان

    maryam

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

    }

    1397/05/03
    06:26
    • نویسنده این مطلب

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

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

      1397/05/04
      05:02
  2. مهمان

    mohad

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

    1397/03/05
    10:42
  3. مهمان

    aamm

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

    1396/11/26
    03:19
  4. مهمان

    الهام

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

    1396/09/17
    12:35
  5. مهمان

    علیرضا اهنی

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

    1396/04/31
    08:39
    • نویسنده این مطلب

      مهدی دمرچیلو

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

      1396/04/31
      11:19
  6. مهمان

    amin6

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

    1396/04/05
    06:24
    • نویسنده این مطلب

      مهدی دمرچیلو

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

      1396/04/05
      06:56
    • مهمان

      amin6

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

      1396/04/06
      12:12
      • نویسنده این مطلب

        مهدی دمرچیلو

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

        1396/04/06
        12:56
        • مهمان

          amin6

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

          1396/04/06
          05:53
          • نویسنده این مطلب

            مهدی دمرچیلو

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

            1396/04/06
            06:32
  7. مهمان

    سجاد

    سپاس

    1396/01/02
    11:58
  8. مهمان

    سجاد

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

    1396/01/02
    11:44
  9. مهمان

    مجتبی

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

    1395/11/01
    09:43
  10. مهمان

    محمد

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

    1395/07/09
    09:37
    • نویسنده این مطلب

      مهدی دمرچیلو

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

      1395/07/09
      09:40
  11. مهمان

    محمد

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

    1395/07/09
    08:40
  12. مهمان

    محمد

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

    1395/07/08
    01:56
    • نویسنده این مطلب

      مهدی دمرچیلو

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

      1395/07/08
      09:00
      • مهمان

        محمد

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

        1395/07/09
        09:39
        • نویسنده این مطلب

          مهدی دمرچیلو

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

          1395/07/09
          09:43
      • مهمان

        محمد

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

        1395/07/09
        09:41
        • نویسنده این مطلب

          مهدی دمرچیلو

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

          1395/07/09
          09:45
  13. مهمان

    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)

    1395/06/26
    12:19
  14. مهمان

    ناشناس

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

    1395/06/06
    08:52
    • نویسنده این مطلب

      مهدی دمرچیلو

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

      1395/06/06
      08:58
  15. مهمان

    Masoomeh

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

    1395/06/03
    09:21
    • نویسنده این مطلب

      مهدی دمرچیلو

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

      1395/06/04
      09:53
  16. مهمان

    amirali

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

    1395/05/27
    06:34
    • نویسنده این مطلب

      مهدی دمرچیلو

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

      1395/05/27
      07:31
  17. مهمان

    Masoomeh

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

    1395/05/26
    11:06
    • نویسنده این مطلب

      مهدی دمرچیلو

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

      1395/05/27
      03:17
  18. مهمان

    nasi

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

    1395/05/17
    01:01
  19. مهمان

    ftm

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

    1395/05/13
    10:52
    • نویسنده این مطلب

      مهدی دمرچیلو

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

      1395/05/14
      09:02
  20. مهمان

    بی نام

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

    1394/12/26
    04:34
    • نویسنده این مطلب

      مهدی دمرچیلو

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

      1394/12/26
      05:52
  21. مهمان

    حمید

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

    1394/11/28
    04:29
  22. مهمان

    Mahdi

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

    1394/10/14
    09:51
    • نویسنده این مطلب

      مهدی دمرچیلو

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

      1394/10/15
      05:40
  23. مهمان

    Mahdi

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

    1394/10/14
    04:39
    • نویسنده این مطلب

      مهدی دمرچیلو

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

      1394/10/14
      09:20
  24. مهمان

    Mahdi

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

    1394/10/13
    09:52
  25. مهمان

    oghj

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

    1394/10/13
    07:13
    • مهمان

      محمد

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

      1395/07/04
      07:16
  26. مهمان

    Mahdi

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

    1394/10/13
    01:36
    • نویسنده این مطلب

      مهدی دمرچیلو

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

      1394/10/13
      09:17
  27. مهمان

    abbasi.a92

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

    1393/11/22
    07:42
    • نویسنده این مطلب

      مهدی دمرچیلو

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

      1393/11/22
      08:02
  28. مهمان

    abbasi.a92

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

    1393/11/21
    11:57
    • نویسنده این مطلب

      مهدی دمرچیلو

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

      1393/11/21
      12:25
  29. نویسنده سایت

    وحيد ندائي

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

    1393/11/20
    11:36
    • نویسنده این مطلب

      مهدی دمرچیلو

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

      1393/11/20
      11:52
  30. نویسنده سایت

    وحيد ندائي

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

    1393/11/20
    11:22
    • نویسنده این مطلب

      مهدی دمرچیلو

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

      1393/11/20
      11:33
      • مهمان

        stive j

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

        1395/02/25
        11:09
        • نویسنده این مطلب

          مهدی دمرچیلو

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

          1395/02/26
          07:17