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

ساعت با ic ds1307

انجمن های تخصصی برق و الکترونیک ECA

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

ساعت با ic ds1307

پروژه AVR

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

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

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

پایه های ds1307

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

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

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

 

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

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

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

 آی سی ds1307

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

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

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

تعداد مطالب : 15 تا
بقیه جلسات : ???
این مطلب هیچ طبقه بندی یی ندارد!
ارسال دیدگاه

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

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

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

4) نظرات حاوی کد برنامه نویسی تایید نمیشوند ( قالب سایت بهم میریزه )

  1. مهمان

    Mobina

    خط ۶۸ رو خطا میگیره برام چیکارکنم

  2. مهمان

    mogharrab

    با سلام من مدار ساعت را با میکرو راه اندازی کردم وبرنامشو با کدویژن نوشتم و ساعت را تو LCD نشان میده ولی وقتی سوکت پروگرمر را از USB کامپیوتر بیرون می کشم ساعت متوقف می شه تا دوباره به USB وصل بشه.مشکل از کجا می تونه باشه?

    • مهمان

      علیرضا

      باتری بکام گذاشتی؟

  3. مهمان

    عباس

    سلام
    من با بسکام برنامه نوشتم و مازول را وصل کردم
    خروجی ساعت 165:165:165 می باشد
    دلیلیش چی میتواند باشد؟
    وسوال دیگه برا صفر کردن ساعت اولیه و خواندن ساعت فعلی از ایسی چه دستوری در بسکام باید بنویسم؟
    ایا در بسکام میتوانم ساعت اولیه خودم بدهم؟
    ممنون

    • مهمان

      العبد

      سلام دوست عزیز من هم این مشکل رو داشتم موارد زیر را بررسی فرمایید
      1- حتما سیم های ارتباط i2c را با مقاومت پول آپ کنید.
      2- مقدار کریستال آی سی ساعت را روی 32.768KHz قرار دهید.

  4. مهمان

    نرگس

    سلام آقا مهدی
    ممنون بابت پاسخ
    ماژول ها روشون کریستال دارند و همون کریستالهای کوچک 32k هستش منم دیتا شیت کامل خوندم ولی به چیزی نرسیدم

    • مدیر سایت

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

      نمیدونم والا – میتونید 3231 رو تست کنید یا یه آیسی 1307 دیگه رو تست کنید، نمیدونم مشکل رو چطور باید حل کرد.

  5. مهمان

    نرگس

    سلام آقا مهدی
    من از ماژول های DS1307 که تو بازار استفاده کردم ول نمی دونم چرا هر روز سه ثانیه میره جلو
    میشه لطفا بگید مشکل از ماژوله یا …..
    ممنون

    • مدیر سایت

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

      سلام – از کریستال 32k استفاده کردید دیگه؟ والا چیزی تو دیتاشیتشش ندیدم، مشکل باید از قسمت کلاک باشه.

  6. مهمان

    Mr Tesla

    سلام داداش خسته نباشی
    1_اگه باتری به ایسی ds1307 وصل کنیم و برق میکرو maga16 بره ایسی ds1307 هنوز کار میکنه؟؟
    2_اگه برق اومد زمان از 0 شروع میشه ؟!
    ممنونم جواب بدید smile

  7. مهمان

    incubator

    با سلام و تشکر بابات سایت مفیدتون
    مهندس جان باید به عرض برسونم که تابع get_rtc_dateدارای چهارتا پارامتر هست.به خاطر همین من تو این برنامه شما به مشکل خوردم.و کدویژن هم ارور میداد.تا اینکه متوجه شدم که متغیر هفته هم جز خروجی های این تابع است.در صورتی که در برنامه شما فقط “روز- ماه- سال “هست.اینو در یک گوشه از اموزش تون قید کنید تا عزیزان که میان اذیت نشوند.

  8. مهمان

    فاطمه

    خروجی این ای سی چه کاربردی دارد؟چرا در بیشتر مثال ها این پایه را رها کرده است؟

    • مدیر سایت

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

      در مطلب، در توضیح پایه 7، نویسنده توضیحاتی رو ذکر کرده / در دیتاشیت هم میتویند با جزئیات کامل، اطلاعاتی دربارش کسب کنید.

      Square Wave/Output Driver. When enabled, the SQWE bit set to 1, the SQW/OUT pinoutputs one of four square-wave frequencies (1Hz, 4kHz, 8kHz, 32kHz). The SQW/OUTpin is open drain and requires an external pullup resistor. SQW/OUT operates with eitherVCC or VBAT applied. The pullup voltage can be up to 5.5V regardless of the voltage onVCC. If not used, this pin can be left floating.

      اگه بیت SQWE رو یک کنید ( تو بحث داده هایی که کتابخونه i2c میفرسته به ic )، این پایه فعال میشه و میتونه امواجی با فرکانس های 1Hz, 4kHz, 8kHz, 32kHz رو تولید کنه. ( تو دیتاشیت، لیست رجیستر ها و مقدار هر بیت و .. همگی ذکر شده، که بحث کردن دربارش در این دیدگاه، خارج از بحث ما هستش )
      این پایه open drain هستش و نیاز به یک مقاومت pullup خارجی داره.
      اگه نیازی به این پایه ندارید، میتویند معلق رهاش کنید.

      مثلا اگه این پایه رو، فعال و روی 1hz تنظیم کنید و بدیش به وقفه خارجی میکرو، با هر 1s یی که وقفه رخ میده، میتویند کارتون رو بکنید داخل تابع وقفه خارجی فوق.
      اگه نخواید از این پایه استفاده کنید، مجبورید از تایمر استفاده کنید تا هر 1 ثانیه رخ بده و …
      یا این که مقدار ساعت رو از آیسی ds1307 بخونید و 24 یی بیاید بررسی کنید که 1 ثانیه سپری شده یا نه، اگه سپری شد بیا و ….

  9. مهمان

    jamal

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

    • مدیر سایت

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

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

  10. مهمان

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

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

    • مدیر سایت

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

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

      • مهمان

        ابراهیم

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

      • مهمان

        ابراهیم

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

  11. مهمان

    amircpu

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

  12. مهمان

    sirwan

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

  13. مهمان

    اشکان

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

    • مهمان

      amircpu

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

  14. مهمان

    ali

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

  15. مهمان

    علی

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

    • مدیر سایت

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

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

  16. مهمان

    حسین

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

    • مدیر سایت

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

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

      • مهمان

        حسین

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

        • مدیر سایت

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

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

      • مهمان

        حسین

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

        • مدیر سایت

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

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

  17. مهمان

    Milad3102

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

    • مدیر سایت

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

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

  18. مهمان

    حسین

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

    • مدیر سایت

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

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

  19. مهمان

    حسین

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

    • مدیر سایت

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

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

  20. مهمان

    مرتضی

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

    • مدیر سایت

      مهدی دمرچیلو

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

  21. مهمان

    رحیم

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

    • مدیر سایت

      مهدی دمرچیلو

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

  22. مهمان

    مهدی

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

    • مدیر سایت

      مهدی دمرچیلو

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

  23. مهمان

    klnt

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

    • مهمان

      وحید

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

  24. مهمان

    محمد

    سلام این ۱۶ تا صفر برای چی هستن ؟ 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;

    • مدیر سایت

      مهدی دمرچیلو

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

  25. مهمان

    lari

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

    • مدیر سایت

      مهدی دمرچیلو

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

  26. مهمان

    EHSAN

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

  27. مهمان

    EHSAN

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

  28. مهمان

    فاطمه

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

  29. مهمان

    علیرضا اهنی

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

    • مدیر سایت

      مهدی دمرچیلو

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

      • مهمان

        علیرضا اهنی

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

  30. مهمان

    soroosh

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

    • مدیر سایت

      مهدی دمرچیلو

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

      • مهمان

        سروش

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

        • مدیر سایت

          مهدی دمرچیلو

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

  31. مهمان

    مهدی

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

    • مدیر سایت

      مهدی دمرچیلو

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

      • مهمان

        مهدی

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

        • مدیر سایت

          مهدی دمرچیلو

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

        • مهمان

          مهدی

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

    • مهمان

      mahdiGameMaker

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

  32. مهمان

    ali

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

    • مدیر سایت

      مهدی دمرچیلو

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

  33. مهمان

    حمید

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

    • مدیر سایت

      مهدی دمرچیلو

      سلام
      باید بشه

  34. مهمان

    mohamad

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

  35. مهمان

    بهروز

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

    • مدیر سایت

      مهدی دمرچیلو

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

  36. مهمان

    mostafa

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

  37. مهمان

    آرمین

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

    • مدیر سایت

      مهدی دمرچیلو

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

      • مهمان

        ارمین

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

        • مدیر سایت

          مهدی دمرچیلو

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

          • مهمان

            ارمین

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

          • مدیر سایت

            مهدی دمرچیلو

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

        • مهمان

          الهام

          منم دقیقا همین مشکل رو دارم- ولی این پست مال خیلی وقت پیشه، کاش اقای آرمین اوده بودن و گفته بودن که مشکلشون چجوری حل شد؟ sad

  38. مهمان

    Fateme

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

    • مدیر سایت

      مهدی دمرچیلو

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

  39. مهمان

    ناشناس

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

    • مدیر سایت

      مهدی دمرچیلو

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

  40. مهمان

    ناشناس

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

    • مدیر سایت

      مهدی دمرچیلو

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

  41. مهمان

    ALI

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

    • مدیر سایت

      مهدی دمرچیلو

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

      • مهمان

        رویال

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

        • مدیر سایت

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

          سلام – 2 دلیل داره :
          1) شما اول کدها ساعت رو تنظیم میکنی – میکرو وقتی ریست میشه ساعت دوباره تنظیم میشه.
          2) شما باتری بکاب برای آیسی فوق تعبیه نکردی فلذا وقتی برق میره ساعتش ریست میشه.

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

1 2