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

ساعت با ic ds1307

به نام خدا

ساعت با ic ds1307

ساعت با ic ds1307

پروژه AVR


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

توضیح مختصری درباره ds1307

DS 1307 یک آی سی ساعت و تقویم با قابلیت شمارش ثانیه ، دقیقه ، ساعت ، روز هفته ، روز ماه ، ماه و سال می باشد . این آی سی علاوه بر قابلیت نگهداری ساعت و تقویم ، ۵۶ بایت رم آزاد نیز دارد که می توان برای نگهداری داده از آن استفاده نمود . این آی سی توسط پروتکل ارتباط سریال I2C به میکروکنترلر و … متصل می شود که توسط پورت ارتباط سریال داخلی MSSP قابل پیاده سازی است .

ترتیب پایه های پایه های ds1307

پایه های ds1307

پایه ۱ و ۲ )  به کریستال ساعت (۳۲٫۷۶۸khz) متصل می شود.
پایه ۳ ) به باطری وصل می شود.
پایه ۴ )  به زمین است.
پایه ۵ )  SDA ارسال و دریافت اطلاعات از طریق پورت I2C است.
پایه ۶ ) SCL که کلاک هماهنگی بین میکروکنترلر AVR و آی سی ds1307  است.
پایه ۷ ) این پایه خروجی پالس مربعی با فرکانس های ۱HZ – 4.096KHZ – 8.192KHZ – 32.768KHZ است که میتوان ان را در کدیژن راه اندازی کرئ.
پایه ۸ )  به VCC وصل می شود.(۵ VOLT)

نکته: پایه های SDA , SCL  را باید با مقاومت پول اپ کرد. چرا؟ طبق استاندارد I2C.
برای خواندن و نوشتن اطلاعات از دستورات زیر استفاده میکنیم.(که به صورت کتابخانه باید اضافه شود)
این دستور مقدار اولیه ساعت ، دقیقه و ثانیه را صفر میکند.

این دستور مقدار فعلی ساعت ، دقیقه و ثانیه را از ای سی ساعت می خواند.

 

نکته: متغیر های این دستور باید به صورت کاراکتری تعریف شوند.     ;char h=0,m=0,s=0

برای راه اندازی آی سی ds1307 میتوان آن را در کدویزارد کدویژن راه اندازی کرد.طبق شکل های زیر

توضیح مختصری درباره ds1307

 آی سی ds1307

پروژه AVR ساخت ساعت با ic ds1307 

شماتیک پروژه
پروژه AVR

دانلود پروژه ساعت با ic ds1307

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

1) تعداد حروف غیر فارسی از حروف فارسی بیشتر باشه دیدگاه به صورت خودکار حذف میشه.

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

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

  1. مهمان

    jamal

    سلام قربان بنده آی سی ds1307z را میتونم جایگزین آی سی ds1307zn در دستگاه حضور غیاب کنم ممنون میشوم راهنمایی فرمایید

    1397/12/03
    10:23
    • مدیر سایت

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

      سلام – تنها فرقی که تو دیتاشیت ds1307 بین این دو دیدم فقط این بود که سری zn در دمای منفی هم قابلیت کار کردن دارند – پکیجشون ( اندازه ) هم یکسان بود – برا اطمینان میتونید دیتاشیت آیسی فوق رو خودتون هم بررسی کنید یکبار.
      لینک آیسی ds1307 از سایت سازنده اش : DS1307

      1397/12/03
      10:46
  2. مهمان

    ابراهیم محمدی

    با سلام .عرض ارادت و تشکر
    اگه بخوام زمان یا تاریخ رو تنظیم کنم وقتی از یک به 9یا 19یا29رقم یکانی از 9میرسم, عدد مثلا ده یا بیست یا…نمیده و در واقع عدد پرت میشه، و این مشکل ناشی از bcdبودن دیتا هست،چیکار میتونم بکنم تا این مشکل رفع بشه
    ممنون میشم اگه راهنمایی بکنید

    1397/08/18
    01:58
    • مدیر سایت

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

      سلام-تا جایی که یادمه 3231 این مشکلو نداشت – البته خودم با 1307 کار نکردم ولی خب زیاد فرق ندارن – شما کتابخونه آماده i2c استفاده کردید یا خودتون نوشتین؟ احتمالا یا کتابخونتون مشکل داره یا مقاومت پول آپ برا پایه های i2c نزاشتین وگرنه نباید این مشکل ایجاد بشه.

      1397/08/18
      10:02
      • مهمان

        ابراهیم

        با سلام و تشکر
        مشکل ساعت و تاریخ ندارم
        مشکل من این هست که وقتی بخوام اعداد ساعت یا تاریخ رو تنطیم کنم با افزایش اعداد که به عدد 9 میرسم عدد بعدی باید بشه ده میشه 35،
        لازم به یاد اوری است با توجه به اینکه خروجی ایسی bcd هست و به هگز خروجی نوشته ام این مشکل رو دارم
        البته کد رو خودم تو اتمل استودیو نوشتم

        1397/08/19
        01:38
      • مهمان

        ابراهیم

        مهندس مشکلم حل شد
        اشکال کارم این بود که باید تبدیل bcd to decو dec to bcd رو انجام میدادم
        با تشکر

        1397/08/20
        09:03
  3. مهمان

    amircpu

    سلام مهدی جان خوبی ؟ ، من این آیسی رو تو یه پروژه سنگین به کار بردم ، بعضی مواقع باعث هنگ کردن یا تغیرات غیر عادی میشه از ورودی ، برای همین امدم و فقط اول که دستگاه روشن میشه یک بار اطلاعات رو میخونم و با ای سی خودم و کریستال ساعت، تایم خودم رو ادامه میدم و با هر تغییر یک بار درون این آیسی زمان رو ست میکنم که با قطع شدن برق ، اون آیسی ادامه کلاک رو بره و وقتی برق دوباره متصل شد یک بار از ای سی زمان رو بپرسه و دوباره خودش به شمارش ادامه بده “تایمینگ میکروکنترلر”، شما نمیدونی چرا همچین باگی پیش میاد (من اول میومدم تو هر ثانیه یه بارای سیرو میخوندم و ساعتامو عوض میکردم )؟ (البته تو پرتئوس به این شکل و رو آیسیم رایتش نکردم و پروتیوس هم که دیگه خودت میدونی نمیشه 100% بهش اعتماد کرد).

    1397/08/11
    02:22
  4. مهمان

    sirwan

    سلام .لطفا اموزش راه اندازی ds1302رو هم بزارید

    1397/08/11
    02:33
  5. مهمان

    اشکان

    سلام ممنون بابت اطلاعاتی که در اختیارمون قرار میدید
    من می‌خوام مقدار خونه های آرایه رو بدست بیارم تا با استفاده از این عدد بدست اومده ساعت رو با ماژول وای فای به یک سرور انتقال بدم ، چون این ماژول از پروتکل یوزارت استفاده می‌کنه من باید دقیقا بدونم تعداد ارایه ام چندتاست, میشه کمکم کنید من چطور باید تعداد خونه های یه ارایه رو بدست بیارم؟؟

    1397/05/23
    09:02
    • مهمان

      amircpu

      int size = sizeof(arr)/sizeof(arr[0]);

      1397/08/10
      02:10
  6. مهمان

    ali

    واقعا دست شما درد نکه که خیلی راحت این اطلاعات رو در اختیار عموم میزارین سایت های دیگه 30000ت تا 40000 پول میگیرن hi

    1397/04/10
    02:19
  7. مهمان

    علی

    لطفا آموزشو با ریجستر های ds1307 بذارید و برای آردوینو هم آموزششو بگید

    1397/03/16
    12:18
    • مدیر سایت

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

      یعنی کتابخونه براش بنویسم؟ ارزش وقت گزاشتن نداره.

      1397/03/16
      11:45
  8. مهمان

    حسین

    بازم مجدد مزاحم شدم من میخوام دوتا رله براش بزارم مثلا ساعت ۱ یکی از رله ها وصل بشه .
    برنامش رو نوشتم وقتی ساعت ۱ میشه رله همینجوری وصله وقطع نمیشه میشه راهنمایی کنید برنامش چی بنویسم
    wink

    1397/03/14
    02:09
    • مدیر سایت

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

      کدتو زیپ کن بفرست ببینم کجاش مشکل داره ( فقط مشکلشو میگم – کد نمینویسم )

      1397/03/15
      12:09
      • مهمان

        حسین

        ببخشید ایدی تلگرام ندارین؟
        ایمیلم خرابه نمیدونم مشکلش چیه .

        1397/03/15
        12:52
        • مدیر سایت

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

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

          1397/03/15
          01:58
      • مهمان

        حسین

        پس چجوری فایلو بفرسم؟

        1397/03/16
        03:26
        • مدیر سایت

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

          وای-خب تو یه جا آپلود کن – لینکشو بفرست برام دیگه.

          1397/03/16
          11:44
  9. مهمان

    Milad3102

    سلام
    خواستم بدونم ic ds1307 تو عمل اولین بار که روشن میشه ساعتش چنده؟اگه ساعتش 0:0:0
    با چه کدی کاربر ساعتشو تنظیم کنه؟

    1397/03/12
    12:50
    • مدیر سایت

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

      سلام
      مهم نیست چنده – چون هر چی باشه اشتباه هستش و باید یکبار اصلاحش کنی به کمک تابع rtc_set_time

      1397/03/13
      08:46
  10. مهمان

    حسین

    مجددا مزاحم شدم
    میشه یه بازر بهش اضافه کنیم که سر همون ساعت به تعداد ساعت بوق بزنه مثلا ساعت۵
    ۵بار بوق بزنه
    و اگه هم میشه قبلش یه نوشته اضافه کنیم مثلا کلاک
    اگه این دوتا راه جواب میده راهنمایی کنید (:
    ممنون

    1397/03/08
    02:36
    • مدیر سایت

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

      اولی که میشه – چرا نشه
      دومی رو نفهمیدم چی میگی.
      ( کد نمینویسم.)

      1397/03/08
      11:27
  11. مهمان

    حسین

    سلام استاد من بجای ای سی از ماژولش استفاده کردم که جواب میده رو ماژول باتری هم داره ولی وقتی خاموش و روشن کن ساعت از اول میشماره میشه راهنمایی کنید؟

    1397/02/22
    04:33
    • مدیر سایت

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

      سلام-خب احمتمالا شما اول پروژتون ساعتو تنظیم میکنید-لذا هر موقع میکرو ریست میشه – ساعت هم ریست میشه.
      یا این که باتری بکاب خرابه. ( البته اگه برق مدارو خاموش میکنید و ساعت ریست میشه – وگرنه با ریست شدن میکرو نباید ساعت ریست بشه – چون برق ماژول که قطع نمیشه با ریست شدن میکرو.)

      1397/02/23
      09:24
  12. مهمان

    مرتضی

    سلام و درود فراوان
    با سپاس از مطالب مفیدتان
    برای این پروژه ساعت فیوز بیتها چه جوری باید تعریف شوند
    ممنون می شم

    1397/02/10
    06:25
    • مدیر سایت

      مهدی دمرچیلو

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

      1397/02/11
      05:00
  13. مهمان

    رحیم

    با سلام
    حلال زاده ای به خدا من خیلی وقته دنبال یک پروژه محافظ برق حرفه ای با میکرو کنترلر avrهستم البته با خروجی 7seg و به زبان c باشه و هدفم یادگیری برنامه نویسیcهستش تا حدودی هم پیشرفت کردم میشه شما زحمتش را بکشید که البته فکر میکنم برای همه کاربردی باشه سایت بسیار مفیدی دارین واقعا محشره

    1397/01/06
    10:13
    • مدیر سایت

      مهدی دمرچیلو

      سلام-امکانش نیس فعلا.

      1397/01/07
      09:26
  14. مهمان

    مهدی

    سلام خسته نباشید بعد از اینکه برنامه رو نوشتم از کدام گزینه میتونم برنامه رو بریزم رو میکرو؟

    1396/09/28
    08:46
    • مدیر سایت

      مهدی دمرچیلو

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

      1396/09/28
      11:32
  15. مهمان

    klnt

    سلام
    من بخوام این مدار فقط ساعت رو بهم نشون بده، دقیقه و تاریخ رو نمیخوام، میشه با Atmega 8 هم نوشت؟

    1396/06/18
    12:23
    • مهمان

      وحید

      سلام چرا نشه؟؟

      1396/08/06
      11:55
  16. مهمان

    محمد

    سلام این ۱۶ تا صفر برای چی هستن ؟ help help
    char buffer[]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},h=0,m=0,s=0;

    1396/06/05
    09:56
    • مدیر سایت

      مهدی دمرچیلو

      سلام
      مثلا تعیین اندازه آرایه و مقدار دهی اولیه

      1396/06/05
      10:23
  17. مهمان

    lari

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

    1396/05/14
    10:12
    • مدیر سایت

      مهدی دمرچیلو

      سلام
      تاخیر نزاری اون وقت سرعت رفرش شدن متن توی lcd زیاد میشه و با توجه به این که من از تابع clear آستفاده کردم به مشکل میخوره کار – اگه از clear آستفاده نکنی میتونی اون دیلای رو هم برداری

      1396/05/14
      05:44
  18. مهمان

    EHSAN

    سلام اقا چرا سوال بنده رو حذف کردین
    من تمام ۱۳۱ کامنت موجود رو خوندم وسوالم تکراری هم نبود
    و سوالم در مورد تنظیم تاریخ بود نه ساعت و تغییرمابقی متغییرها به صورت زنجیروار بادیگر متغییرها ک یک نفر هم این سوال رو نکرده بود. help

    1396/05/13
    10:37
  19. مهمان

    EHSAN

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

    1396/05/13
    09:47
  20. مهمان

    فاطمه

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

    1396/05/01
    10:09
  21. مهمان

    علیرضا اهنی

    سلام.
    چگونه هفته را مشخص کنیم؟(با چه دستوری)

    1396/04/24
    10:05
    • مدیر سایت

      مهدی دمرچیلو

      سلام-از من میشنوی اصلا با پروتئوس کار نکن.

      1396/04/24
      01:34
      • مهمان

        علیرضا اهنی

        سلام.
        میخوام تو عمل بکنم!!!!!!

        1396/04/24
        03:54
  22. مهمان

    soroosh

    با سلام سوالی که داشتم اینه که چطوری میتونم مقدار خونده شده ساعت رو بصورت متغیر اینتیجر ذخیره کنم تا بتونم مثلا بعد از گذشت ۱۰ ثانیه ساعت و ریست کنم

    1396/03/19
    09:39
    • مدیر سایت

      مهدی دمرچیلو

      سلام – تو این پروژه این مطلب هم مقادیر ساعت داخل متغییر های int ذخیره شده دیگه.

      1396/03/19
      10:45
      • مهمان

        سروش

        منظور من متغیری نبود که برای ست کردن ساعت از طریق دستور set می دیم منظورم این بود که چطوری مقادیر خونده شده از طریق get رو که از نوع unsigned char هستن و به عدد تبدیل کنیم تا بتونیم با استفاده ازشون بعد از گذشت یه زمان مشخص مثلا یک دقیقه دوباره ساعت و ریست کنیم. با تشکر از شما

        1396/03/20
        09:03
        • مدیر سایت

          مهدی دمرچیلو

          اینو سرچ کن : convert char to int in c به جواب نرسیدی بگو.

          1396/03/20
          09:51
  23. مهمان

    مهدی

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

    1396/03/09
    11:43
    • مدیر سایت

      مهدی دمرچیلو

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

      1396/03/09
      12:29
      • مهمان

        مهدی

        دیتاشیت رو دیدم ds1340 کالیبراسیون نرم افزاری هم داره سوالم این بود که از ds1307 بدی ای ندیدید؟ خطای زیادی نداره؟

        1396/03/10
        08:48
        • مدیر سایت

          مهدی دمرچیلو

          کار نکردم و فقط ۳۲۳۱ کار کردم من – در ضمن با ۳۲۳۱ هم به مدت طولانی نزاشتم کار کنه!

          1396/03/10
          09:17
        • مهمان

          مهدی

          ممنون به خاطر جوابتون
          یاعلی

          1396/03/10
          10:37
    • مهمان

      mahdiGameMaker

      سلام،من با ds1307 کارکردم،هر یک ساعت یک ثانیه یادم نیست عقب میفتاد یا جلو!

      1397/09/22
      10:03
  24. مهمان

    ali

    سلام این برنامه الان برای پروژه کامل ساعته یا یک بخشه برای راه اندازی ds1307؟
    من فایل hex روی سایت رو توی پروتئوس اجرا کردم درست بود،ولی برنامه C که براش نوشتید رو مجدد Hex میکنم،روی پروتئوس جواب نمیده.
    مشکلش از کجاست crazy

    1396/02/23
    06:14
    • مدیر سایت

      مهدی دمرچیلو

      سلام – در شماتیک و کد که مشاهده میکنید – پروژه کامله – نمایش ساعت رو LCD
      اولا با پروتئوس کار نکن
      دوما پروتئوس خطایی هم میده یا فقط اجرا نمیکنه پروژه رو؟
      سوما کدویژن خطایی نداد موقع کامپایل پروژه؟

      1396/02/23
      10:28
  25. مهمان

    حمید

    سلام و ممنون از سایت خوبتون
    یه سوال
    میشه از یک ds1307 برای دوتا میکرو استفاده کرد؟

    1395/12/03
    06:49
    • مدیر سایت

      مهدی دمرچیلو

      سلام
      باید بشه

      1395/12/04
      01:20
  26. مهمان

    mohamad

    خیییییییییییییلیییییییییییییییی ممنون بابت سایت خوبتون

    1395/10/18
    10:19
  27. مهمان

    بهروز

    سلام فایل باز نمیشه erooمیده

    1395/10/09
    07:33
    • مدیر سایت

      مهدی دمرچیلو

      سلام
      فایل zip? پسوردش ته سایت هستش – فایل رو هم باز کنی پسورد توش نوشته شده
      فایل پروتئوس؟ با نسخه پایین احتمالا داری باز مکینی پروژه رو یا فایل پروژه تو یه پوشه با اسم فارسی قرار گرفته.

      1395/10/09
      08:56
  28. مهمان

    mostafa

    سلام
    آقا مهدی دمت گرم. خدا خیرت بده

    1395/08/03
    04:52
  29. مهمان

    آرمین

    سلام
    من این برنامه رو نوشتم ولی برنامه توی قسمت rtc_init(0,0,0) گیر میکنه و دیگه میکرو کاری امجام نمیده!!!! به نظرتون مشکل از چی میتونه باشه؟ میکرو و ایسی ساعت و کریستال رو هم عوض کردم نشد!!! کودویژنمم ورژن3.12 هست و اینم بگم که برنامه بدون مشکل توی پروتئوس اجرا میشه!!!!
    خیلی ممنون

    1395/06/30
    11:17
    • مدیر سایت

      مهدی دمرچیلو

      سلام
      تو شبیه سازی جواب گرفتی؟

      1395/06/30
      11:30
      • مهمان

        ارمین

        بله توی پروتئوس درست کار میکنه ولی توی عمل بعد rtc_init رو اجرا نمیکنه!!!!
        https://www.dropbox.com/s/f80qu81huhl9rgd/ds.jpg?dl=0
        اینم شماتیک اتصال بین ایسی ساعت و میکرو

        1395/07/03
        05:08
        • مدیر سایت

          مهدی دمرچیلو

          یه سوال – از کجا فهمیدین بعد این خط رو اچرا نمیکنه؟
          1-بعد همین دستور بیاین یه led رو روشن کنید ببینید روشن میشه یا نه.
          2-بیا قبل این کد یه متنی تو نمایشگر نشون بده ببین روشن میشه یا نه – در ضمن کد خط 40 رو هم باید بیاری قبل این خط

          1395/07/04
          09:06
          • مهمان

            ارمین

            دقیقا همین کارو کردم روی صفحه نمایش بعد انجام هر مرحله مینوشتم که الان کد کجاست ولی تا به این قسمت rtc_init() که میرسید دیگه نوشته های بعدی رو نمایش نمیداد!!!
            میشه از این تابع rtc_init صرفه نظر کرد و انجامش ندم؟؟؟؟

            1395/07/05
            04:48
          • مدیر سایت

            مهدی دمرچیلو

            نه نمیشه.
            1) اتصالات و مدار ds1307 رو بررسی کن.
            2) از ماژول ds3231 استفاده کن که مطلبش هم تو سایت هستش.
            3) از کتابخونه های توی نت استفاده کن چون کتابخونه های کدویژن نمیتونی ببینی داخل توابع چی هستش. قفل گزاری شده.

            1395/07/05
            05:02
  30. مهمان

    Fateme

    سلام خیلی ممنون از سایت خیلی خوبتون میخواستم بدونم توی این پروره وقتی داریم برنامه رو توی کدویژن مینویسیم توی تنظیماپورت cرو ورودی بگیریم یا خروجی

    1395/06/25
    04:02
    • مدیر سایت

      مهدی دمرچیلو

      سلام-مهم نیست – چون تو این پروژه پایه های 0 و 1 پورت سی در نقش ورودی خروجی نیستن اصلا که بخواین ورودی یا خروجی تعریفشون کنید.

      1395/06/26
      11:27
  31. مهمان

    ناشناس

    میدونم،من یه برنامه دیگه ای که ds1307 توش نداره مد نظرمه
    یعنی کلا به میکرو باتری بک آپ وصل نمیشه؟

    1395/06/07
    09:58
    • مدیر سایت

      مهدی دمرچیلو

      نچ – تا جایی که من میدونم برا مگا 8/16/32 از این خبرا نیس

      1395/06/07
      06:56
  32. مهمان

    ناشناس

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

    1395/06/06
    08:01
    • مدیر سایت

      مهدی دمرچیلو

      سلام
      به میکرو وصل نمیشه – به ic ds1307 وصل میشه – پایه3

      1395/06/06
      08:06
  33. مهمان

    ALI

    سلام
    ببخشید ic ساعت تو پروتیوشس عقب میفته
    ایا تو عمل هم همین جوریه

    1395/05/29
    10:48
    • مدیر سایت

      مهدی دمرچیلو

      سلام
      احتمالا آره

      1395/05/30
      08:42
  34. مهمان

    مهدی

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

    1395/05/17
    12:12
    • مدیر سایت

      مهدی دمرچیلو

      سلام
      تو eCA مطرح کنید

      1395/05/17
      10:20
  35. مهمان

    علی

    سلام کریستاله خازن نمی خاد؟؟

    1395/05/13
    12:12
    • مدیر سایت

      مهدی دمرچیلو

      به دیتاشیت آی سی فوق مراجعه کن.

      1395/09/10
      05:02
  36. مهمان

    وحید

    سلام خسته نباشی
    من یک پروژه ساعت و تقویم طراحی کردم.جواب داد و برای تست مدار بستم و جواب داد ولی وقتی خاموش میکنم و روشن میکنم اطلاعات ذخیره نمیکنه و پاک میشه و از صفر شروع میشه !!!!!!!
    مشکل از کجاست؟؟

    1395/05/11
    03:56
    • مدیر سایت

      مهدی دمرچیلو

      سلام
      1) تو برنامت یه قسمت هستش که ساعت رو تنظیم میکنه موقع شروع! اینو حذف نکردی
      2) باتری بکاب وصل نکرده به ic

      1395/05/11
      04:16
      • مهمان

        وحید

        ) تو برنامت یه قسمت هستش که ساعت رو تنظیم میکنه موقع شروع! اینو حذف نکردی
        میشه بیشتر توضیح بدی .

        1395/05/11
        11:44
  37. مهمان

    وحید

    سلام خسته نباشی
    میشه این پروژه ساعت با دماسنج اضافه کرد باید از چه دستور استفاده کنیم؟؟

    1395/05/03
    08:41
  38. مهمان

    وحید

    سلام خسته نباشی ببخشید یک سوال داشتم وقتی میخوام کد ویژین شروع کنم در مورد ای سی DS1307 اجرا نمیشه همش ارو میده.
    عکس ارو:
    http://www.axgig.com/images/91336333968206822961.png

    1395/05/03
    02:23
    • مدیر سایت

      مهدی دمرچیلو

      سلام-نمیدونم.

      1395/05/03
      04:06
  39. مهمان

    امین پاشایی

    بی نهایت ممنون واقعا سایت پر محتوایی است

    1395/04/06
    12:44
  40. مهمان

    ستاره خانوم

    سلام سایتتون عالیه واس پروژه خیلی کمک کرد
    میشه بگید این خط کدها تو پروژه نمایش ساعت و تاریخ و دما با 7سگمنت چیکار میکنه؟
    #asm
    .equ __i2c_port = 0x1b; //PORTA
    .equ __sda_bit = 1;
    .equ __scl_bit = 0;
    #endasm
    *************
    if (DOT == 5) segPORT.7 = 1;
    else segPORT.7 = 0;
    **************************
    i2c_init();
    rtc_init(0, 0, 0);
    سپاس

    1395/03/31
    09:54
    • مدیر سایت

      مهدی دمرچیلو

      سلام
      5 خط اول مربوط به lcd هستش که میتونی مطلب lcd رو بخونی
      خطوط بعدی مربوط به i2c هستش که میتونی مطلب i2c رو بخونی

      1395/04/01
      12:55
  41. مهمان

    مهدی

    با سلام و احترام
    بنده دقیقا برای راه اندازی ماژول DS1307 از کدهای شما در سایت استفاده کردم و به من عدد ثابت 165 را نشان میدهد، آیا شما یا کسی رو میشناسید که این مشکل برایش بوجود آمده باشد و راه حلی رو پیشنهاد میکنید؟
    با تشکر

    1395/02/12
    08:09
    • مدیر سایت

      مهدی دمرچیلو

      سلام
      ببین اتصالات درست هستش یا نه
      بررسی کن

      1395/02/12
      08:45
    • مهمان

      مهدی

      برای منم بعد از وصل کردن باتری این مشکل پیش اومد و ic سوخت و نمیدونم چرا؟؟؟

      1395/08/01
      09:24
    • مهمان

      وحید

      سلام
      اگر برنامه نویسی و وعملی درست بستی و عدد ۱۶۵ نشون میده باید ایسی ds1307 پایه سه رو به زمین وصل کن تا درست بشه و اگر جواب نداد ای سی مرخصه و وقتی اوکی شد باتری بکاپ بزار.

      1396/04/27
      05:40
  42. مهمان

    علی

    سلام دو تا سوال داشتم
    1-چرا دستور set data با اینکه تو کتابخونش هست و این ماژول تاریخ می گیره چنین اروری می ده
    too few arguments in function call
    2-من می خام اگه برق رفت ماژول ساعتو نگر داره تا وقتی روشن شد ساعت بهم نریزه باتری بکاپ گزاشتم ولی با وجود میکرو چون تو برنامم دستور set time دارم ساعت بهم می ریزه حتی بعد تنظیم ساعت دوباره می کرومو پروگرم کردم این دستورو برداشتم ولی باز ساعت بهم ریخت چه بایدبکنم

    1395/01/30
    10:57
    • مدیر سایت

      مهدی دمرچیلو

      سلام
      1) طبق اروری که قرار دادید از تابع درست استفاده نکرید و تعداد پارامتر هایی که بهش دادید کم هستش.
      2) باید از باتری بکاب استفاده کنی – از ماژول توی مطلب زیر هم میتونید استفاده کنید که برمبنای نسخه جدید همین ic هستش – ds3231 – برای پیدا کردن محل قرار گیری باتری بکاب دیتاشیت رو ببین.
      http://dmf313.ir/electronics/avr-project/sensors-and-modules/time-and-date/

      1395/01/30
      11:23
    • مهمان

      masih_bavaria

      این تابع شامل سال و ماه و روز و هفته هست یعنی 4 پارامتر داره که البته من توصیه می کنم پارامتر اول که هفته هست رو 0 قرار بدید .

      1395/08/03
      06:24
  43. مهمان

    مهدی

    میشه اینو با سگمنت هم راش انداخت؟
    ممنون میشم بگی چجوری

    1395/01/25
    02:45
    • مدیر سایت

      مهدی دمرچیلو

      این مطلب رو که دارید میبینید – مطلب 7s تو سایت کم نیست برید بخونیدشون و کار با 7s رو یاد بگیرید و بیاد یه پروژه مد نظرتون رو ایجاد کنید (البته باید زبان C بلد باشید حتما)

      1395/01/25
      03:18
  44. مهمان

    مهدی

    سلام داداش
    حلالت با سایتت
    اقا ی سوال فنی؟
    میشه ساعت rtc رو با سگمنت پیادش کرد؟
    خیلی گیرم
    ممنون میشم کمک کنی
    دمت قیژژژژ

    1395/01/25
    10:43
    • مدیر سایت

      مهدی دمرچیلو

      سلام
      چرا نشه
      کار نشد نداره داش مهدی

      1395/01/25
      10:52
      • مهمان

        مهدی

        چ جوری? من اومدم ی تابع ایجاد کردم که هر عددو معادل هگزش بیاد روی پورت
        ولی وقتی اجرا میکنی عدد 35 میاد تکون نمیخوره:|

        1395/01/26
        11:46
        • مدیر سایت

          مهدی دمرچیلو

          خب شما اول جواب منو بده
          پروژه جدا سون سگمنت تنها رو راه انداختی ؟ راه افتاد؟ یه پروژه که فقط بخوای اعداد 0 تا 9 رو تو 7s نشون بدی….اینو تست کن و نتیجه رو بگو

          1395/01/26
          11:54
          • مهمان

            مهدی

            اره سگمنت تنها راه انداختم تا دو رقم رو!

            1395/01/30
            09:09
          • مدیر سایت

            مهدی دمرچیلو

            خب 7S های 4 رقمی هم تو سایت گزاشتم – ولی تو باید از 7S مخصوص ساعت استفاده کنی.
            راستی من این مطلب نمایش ساعت تو 7S رو فک کنم قبلا نوشتم
            اینم فیلمش – تو سایت بگردی پیدا میکنی.
            http://www.aparat.com/v/5GW76

            1395/01/30
            09:35
          • مهمان

            مهدی

            اره سگمنت رو تا دو رقم راه انداختم ولی اینو هرکار میکنم نمیشه

            1395/02/01
            10:54
          • مدیر سایت

            مهدی دمرچیلو

            فک کنم چیزی که میخوای همین باشه
            پروژه AVR ساعت با ماژول DS۳۲۳۱ و سون سگمنت

            1395/02/01
            11:16
  45. مهمان

    الهام

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

    1395/01/07
    07:27
    • مدیر سایت

      مهدی دمرچیلو

      سلام
      پروژه جالبی میشه ok
      یه کار ساده و اصولی —– یه کاغذ شطرنجی پیدا کن و مثلا اندازه lcd ما 64*128 پیکسل هستش یعنی در طول 128 تا و در عرض 64 تا پیکسل داره
      حالا هر خونه صفحه شطرنجی میشه یه پیکسل ما – به اندازه پیکسل های مد نظر یه مربع تو صفحه شطرنجی مشخص کن تا یه مربعی به اندازه پیکس های lcd اییت داشته باشی
      حالا بیا و ساعتت رو روش رسم کن و مختصات قسمت های مختلف ساعت رو بدست بیار
      از سایت های زیر هم میتونی کاغذ میلیمتری دانلود کنی و بری چاپ کنی، ولی فک کنم تو مغازه ها این نوع کاغد موجود باشه – حالا اکه نبود میتوین از لینک های زیر استفاده کنی
      http://www.printfreegraphpaper.com/
      http://incompetech.com/
      راستی پروژت رو انجام دادی خوشهال میشم برام بفرستی تا به اسم خودت بزارم تو سایت تا دیگران هم استفاده کنن.

      1395/01/07
      01:11
      • مهمان

        الهام

        سلام
        برنامه ی ساعت آنالوگ رو ساختم و امشب براتون میل میکنم.

        1395/01/13
        04:47
  46. مهمان

    سروش

    باسلام. نرم افزار پروتئوس ۷ توی ویندوز ۸ نصب کردم کرک کپی کردم بازهم ارور میده.

    1394/12/03
    06:57
    • مدیر سایت

      مهدی دمرچیلو

      سلام
      عکس بفرست یا دسترسی بده تا بیام برات کرک کنم(به کمک نرم افزار TeamViewer)

      1394/12/03
      08:06
  47. مهمان

    سروش

    سلام.نرم افزار پروتئوس دنبال باتری ۳ ولت میگشتم.کدام کریستال یا Cell یا ….

    1394/11/21
    08:02
    • مدیر سایت

      مهدی دمرچیلو

      سلام
      از قسمت منبع تغزیه….DC رو انتخاب کن و ۳ ولتش کن

      1394/11/22
      12:39
  48. مهمان

    حمید

    با سلام خدمت آقا مهدی و ممنون از سایت پربار ومفیدتون من این پروژه رو (ساعت DS1307)بصورت عملی بستم ولی هر سه تایم رو عدد ۱۶۵ یا کوچکتر همراه با تغییر نشون میده البته قابل ذکره که باتری بک آپ رو وصل نکردم ممکنه مشکلش چی باشه?

    1394/11/21
    03:18
    • مدیر سایت

      مهدی دمرچیلو

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

      1394/11/22
      12:40
  49. مهمان

    hosein es

    سلام دوست عزیز
    ممنون به خاطر تمام زحمتایی که میکشی و هر چیزی که بلدی رو به دیگران هم یاد میدی.
    من یه بی ادبی کردم و برنامه شما رو به شکل زیر تغییر دادم.
    به نظرم بعضی از مشکلاتش برطرف شده.
    ***

    1394/10/28
    09:18
    • مدیر سایت

      مهدی دمرچیلو

      سلام
      اگه امکان داره کدش رو آپلود کن و لینکش رو بزار اینجا

      1394/10/28
      09:47
  50. مهمان

    علیرضا صفری

    سلام چطور میشه به بر نامه IFگذاشت تا در ساعت معین یک پین را خوروجی قرار بده

    1394/09/26
    10:43
    • مدیر سایت

      مهدی دمرچیلو

      سلام
      این فک کنم دیگه مربوط میشه به زبون برنامه نویسی c و کتاب آموزش C تو نت یه چند تایی هستش که کتاب احمد فراهانی برا پیام نور خیلی خوبه(رایگانه)

      1394/09/27
      12:56
  51. مهمان

    محمد

    سلام
    من تو کدویژن با مگا۳۲ برنامه رو نوشتم جواب نداد
    وتو کدویژن با مگا۱۶ برنامه رو نوشتم جواب داد
    به نظر شما چرا این طور شد

    1394/07/01
    10:26
  52. مهمان

    محمد

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

    1394/06/17
    03:26
    • مدیر سایت

      مهدی دمرچیلو

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

      1394/06/17
      03:34
  53. مهمان

    راستین

    سلام…من برنامه ای شبیه به همین برنامه دارم،داخل پروتئوس کامل جواب میده اما در عمل کار نمیکنه.شما میدونید ممکنه چه مشکلاتی از نظر سخت افزاری وجود داشته باشه؟

    1394/06/05
    12:33
  54. مهمان

    محمد

    نظر ندی یه وقت…گناه میشه

    1394/04/07
    01:14
    • مهمان

      پویا

      سلام
      اگه بخوایید براتون درست میکنم.
      09393565839تلگرام

      1394/04/07
      08:16
  55. مهمان

    سید هادی

    واقعا دستتون درد نکنه خدا صد چندان بهتون علم بده

    1394/01/26
    10:27
  56. مهمان

    شادلین

    سلام بخشی از پروژه من اینه که چندتا کلید دارم که با فشردن هرکدوم ی عبارت و همچنین تعداد دفعات فشرده شدن کلید رو lcd نمایش داده بشه . من با تعریف یک متغییر و تبدیل اون به رشته اینکارو انجام دادم ولی اعدادی که نمایش میده به ترتیب نیست کسی میتونه راهنماییم کنه؟

    1393/11/08
    11:48
  57. مهمان

    شادلین

    ببخشید میشه بگید چه جوری باید این کارو بکنم؟

    1393/11/07
    10:21
  58. مهمان

    شادلین

    salam,agha poya barnamey man in error mide be khater iine ke cv 2007 nist? Error: C:Desktop\po\2.c(34): can’t open #include file: ds1307.hn

    1393/11/07
    04:52
    • مهمان

      پویا

      سلام
      خب این خطا فکر کنم واسه نبود کتابخونه یس1307ds تو فایل پروژه و فایل کدویژن باشه اضافه کنید ببینید درست میشه pardon

      1393/11/07
      06:28
  59. مهمان

    مهدی

    اینکه اقدر گنده زدی انجام رایگان پروزه avr چیه پس

    1393/09/11
    10:36
    • مدیر سایت

      مهدی دمرچیلو

      shock
      ۱) برا هر کسی نباید پروژه انجام داد
      ۲) هر پروژه ای رو نباید انجام داد.
      ۳) طلبکار که نیستی

      1393/09/11
      11:29
  60. مهمان

    مهدی

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

    1393/09/11
    07:56
    • مدیر سایت

      مهدی دمرچیلو

      مشکلی نیست فقط تماس بگیر تا هزینش رو بهت بگم…
      برا دقتش هم باید با دیتاشیتش نگته کنی…دقیقا نمیدونم…
      .
      .
      .
      جدید ترین مدل=بهترین……

      1393/09/11
      08:38
  61. مهمان

    مهدی

    فقط تو بحث درست کردن منو مشکل دارم

    1393/09/10
    10:51
    • مدیر سایت

      مهدی دمرچیلو

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

      1393/09/10
      11:41
  62. مهمان

    مهدی

    دوست من بیشتر مایلم با ال سی دی کارکتری و چند عدد کلید این کار رو انجام بدم

    1393/09/10
    08:56
    • مدیر سایت

      مهدی دمرچیلو

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

      1393/09/10
      09:42
  63. مهمان

    مهدی

    دکمه (BUTTON)

    1393/09/10
    07:48
    • مدیر سایت

      مهدی دمرچیلو

      مطلب مربوط به LCD گرافیکی که تو سایت هستش رو خوندی؟؟؟؟
      ——————
      خو باهاش LCD گرافیکی رو اه اندازی میکنیم حالا با توابع موجود (که در مطلب LCD گرافیکی توضیح دادم) یه مربع(که داخلش یه متن هستش) تو LCD درست میکنیم……و بعد تو برنامه نویسی میگیم اگه روی BUTTON کلیک شد….اون مربعه(که داخلش یه متن هستش) تغییر شکل پیدا کنه و یه عملی انجام بشه….
      در ظاهر که اصلا چیزی نداره من دقیقا نمیدونم تو کجاش رو مشکل داری؟؟؟؟؟ pardon

      1393/09/10
      07:50
  64. مهمان

    مهدی

    در مورد درست کردن منو میتونید کمکم کنید

    1393/09/09
    08:13
    • مدیر سایت

      مهدی دمرچیلو

      از تاچ میخوای استفاده کنی یا دکمه (BUTTON) ?????

      1393/09/09
      08:34
  65. مهمان

    مهدی

    بله مرسی انجام شدد
    مشکل حل شد

    1393/09/09
    08:12
  66. مهمان

    مهدی

    /*****************************************************
    This program was produced by the
    CodeWizardAVR V2.05.3 Standard
    Automatic Program Generator
    © Copyright 1998-2011 Pavel Haiduc, HP InfoTech s.r.l.
    http://www.hpinfotech.com
    Project :
    Version :
    Date : 11/28/2014
    Author : PerTic@n
    Company : If You Like This Software,Buy It
    Comments:
    Chip type : ATmega32A
    Program type : Application
    AVR Core Clock frequency: 1.000000 MHz
    Memory model : Small
    External RAM size : 0
    Data Stack size : 512
    *****************************************************/
    #include
    #include
    // I2C Bus functions
    #include
    // DS1307 Real Time Clock functions
    #include
    #include
    #include
    unsigned char h,m,s;
    char hd[4],md[4],sd[4];
    unsigned char key,k;
    unsigned char kb(void)
    {
    key=16;
    PORTA=0xff;
    //—–ROW1—–
    PORTA.0=0;
    delay_ms(3);
    if(PINA.4==0) {delay_ms(2);key=10;delay_ms(2);}
    if(PINA.5==0) {delay_ms(2);key=11;delay_ms(2);}
    if(PINA.6==0) {delay_ms(2);key=12;delay_ms(2);}
    if(PINA.7==0) {delay_ms(2);key=13;delay_ms(2);}
    PORTA.0=1;
    //—–ROW2—–
    PORTA.1=0;
    delay_ms(3);
    if(PINA.4==0) {delay_ms(2);key=9;while(PINA.4==0);delay_ms(2);}
    if(PINA.5==0) {delay_ms(2);key=6;while(PINA.5==0);delay_ms(2);}
    if(PINA.6==0) {delay_ms(2);key=3;while(PINA.6==0);delay_ms(2);}
    if(PINA.7==0) {delay_ms(2);key=14;while(PINA.7==0);delay_ms(2);}
    PORTA.1=1;
    //—–ROW3—–
    PORTA.2=0;
    delay_ms(3);
    if(PINA.4==0) {delay_ms(2);key=8;while(PINA.4==0);delay_ms(2);}
    if(PINA.5==0) {delay_ms(2);key=5;while(PINA.5==0);delay_ms(2);}
    if(PINA.6==0) {delay_ms(2);key=2;while(PINA.6==0);delay_ms(2);}
    if(PINA.7==0) {delay_ms(2);key=0;while(PINA.7==0);delay_ms(2);}
    PORTA.2=1;
    //—–ROW4—–
    PORTA.3=0;
    delay_ms(3);
    if(PINA.4==0) {delay_ms(2);key=7;while(PINA.4==0);delay_ms(2);}
    if(PINA.5==0) {delay_ms(2);key=4;while(PINA.5==0);delay_ms(2);}
    if(PINA.6==0) {delay_ms(2);key=1;while(PINA.6==0);delay_ms(2);}
    if(PINA.7==0) {delay_ms(2);key=15;while(PINA.7==0);delay_ms(2);}
    PORTA.3=1;
    return key;
    }
    void hour_up(void)
    {
    if(k==10)
    {
    h++;
    if(h==24) h=0;
    rtc_set_time(h,m,s);
    delay_ms(5) ;
    }
    }
    void hour_down(void)
    {
    if(k==11)
    {
    h–;
    if(h==0) h=23;
    rtc_set_time(h,m,s);
    delay_ms(5) ;
    }
    }
    void minute_up(void)
    {
    if(k==12)
    {
    m++;
    if(m==60) m=0;
    rtc_set_time(h,m,s);
    delay_ms(5);
    }
    }
    void minute_down(void)
    {
    if(k==13)
    {
    m–;
    if(m==255) m=59;
    rtc_set_time(h,m,s);
    delay_ms(5);
    }
    }
    void main(void)
    {
    // Declare your local variables here
    // Input/Output Ports initialization
    // Port A initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
    PORTA=0xF0;
    DDRA=0x0F;
    // Port B initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
    PORTB=0x00;
    DDRB=0x00;
    // Port C initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
    PORTC=0x00;
    DDRC=0x00;
    // Port D initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
    PORTD=0x00;
    DDRD=0x00;
    // Timer/Counter 0 initialization
    // Clock source: System Clock
    // Clock value: Timer 0 Stopped
    // Mode: Normal top=0xFF
    // OC0 output: Disconnected
    TCCR0=0x00;
    TCNT0=0x00;
    OCR0=0x00;
    // Timer/Counter 1 initialization
    // Clock source: System Clock
    // Clock value: Timer1 Stopped
    // Mode: Normal top=0xFFFF
    // OC1A output: Discon.
    // OC1B output: Discon.
    // Noise Canceler: Off
    // Input Capture on Falling Edge
    // Timer1 Overflow Interrupt: Off
    // Input Capture Interrupt: Off
    // Compare A Match Interrupt: Off
    // Compare B Match Interrupt: Off
    TCCR1A=0x00;
    TCCR1B=0x00;
    TCNT1H=0x00;
    TCNT1L=0x00;
    ICR1H=0x00;
    ICR1L=0x00;
    OCR1AH=0x00;
    OCR1AL=0x00;
    OCR1BH=0x00;
    OCR1BL=0x00;
    // Timer/Counter 2 initialization
    // Clock source: System Clock
    // Clock value: Timer2 Stopped
    // Mode: Normal top=0xFF
    // OC2 output: Disconnected
    ASSR=0x00;
    TCCR2=0x00;
    TCNT2=0x00;
    OCR2=0x00;
    // External Interrupt(s) initialization
    // INT0: Off
    // INT1: Off
    // INT2: Off
    MCUCR=0x00;
    MCUCSR=0x00;
    // Timer(s)/Counter(s) Interrupt(s) initialization
    TIMSK=0x00;
    // USART initialization
    // USART disabled
    UCSRB=0x00;
    // Analog Comparator initialization
    // Analog Comparator: Off
    // Analog Comparator Input Capture by Timer/Counter 1: Off
    ACSR=0x80;
    SFIOR=0x00;
    // ADC initialization
    // ADC disabled
    ADCSRA=0x00;
    // SPI initialization
    // SPI disabled
    SPCR=0x00;
    // TWI initialization
    // TWI disabled
    TWCR=0x00;
    // I2C Bus initialization
    // I2C Port: PORTB
    // I2C SDA bit: 1
    // I2C SCL bit: 0
    // Bit Rate: 100 kHz
    // Note: I2C settings are specified in the
    // Project|Configure|C Compiler|Libraries|I2C menu.
    i2c_init();
    // DS1307 Real Time Clock initialization
    // Square wave output on pin SQW/OUT: On
    // Square wave frequency: 1Hz
    rtc_init(0,1,0);
    // Alphanumeric LCD initialization
    // Connections are specified in the
    // Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
    // RS – PORTC Bit 3
    // RD – PORTD Bit 7
    // EN – PORTD Bit 6
    // D4 – PORTB Bit 4
    // D5 – PORTB Bit 5
    // D6 – PORTB Bit 6
    // D7 – PORTB Bit 7
    // Characters/line: 16
    lcd_init(16);
    PORTC.1=0;
    rtc_set_time(0,00,00);
    rtc_set_time(0,00,00);
    while (1)
    {
    k=kb();
    if(k==10) hour_up();
    if(k==11) hour_down();
    if(k==12) minute_up();
    if(k==13) minute_down();
    rtc_get_time(&h,&m,&s);
    itoa(h,hd);
    itoa(m,md);
    itoa(s,sd);
    lcd_gotoxy(0,0);
    if(h<10) lcd_putchar('0');
    lcd_puts(hd);
    lcd_putchar(':');
    if(m<10) lcd_putchar('0');
    lcd_puts(md);
    lcd_putchar(':');
    if(s<10) lcd_putchar('0');
    lcd_puts(sd);
    delay_ms(800);
    lcd_gotoxy(2,0);lcd_putchar(' ');
    lcd_gotoxy(5,0);lcd_putchar(' ');
    delay_ms(200);
    }
    }
    من این برنامه رو نوشتم
    کار میکنه مشکلی نیست
    اومدم باطری بک اپ گزاشتم برا ds1307
    بعد میکرو رو خاموش کرد دیدم ای داد بی دود چرا ساعت ست نمیشه
    بعد از کلی سر کار موندن فهمیدم خوب وقتی میکرو دوباره روشن میشه میره ساعتی که من خودم ست میکنم رو دوباره میریزه تو rtc
    شما این مشکل رو چطوری رفع میکنید

    1393/09/08
    10:59
    • مدیر سایت

      مهدی دمرچیلو