اطلاعیه

Collapse
No announcement yet.

مشکل با ای سی ds1307 و میکرو

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    #16
    پاسخ : مشکل با ای سی ds1307 و میکرو

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

    دیدگاه


      #17
      پاسخ : مشکل با ای سی ds1307 و میکرو

      با تشکر از دوستان کارهای زیر راانجام دادم و مشکلم حل شد
      1.پایه بک اپ مربوط به ای سی رازمین کردم
      2.مقدار صفر راتو رجیستر ثانیه گذاشتم
      3.اون کارهای اضافه کردن کتابخانه ای سی و رجیستر مربوط به فرکانس یک هرتز را هم کاری باهاش نداشتم
      راستی پایه 7 ای سی که میتونیم از ش فرکانس بگیریم واسه چیه

      دیدگاه


        #18
        پاسخ : مشکل با ای سی ds1307 و میکرو

        تشکر از دوستان کارهای زیر راانجام دادم و مشکلم حل شد
        1.پایه بک اپ مربوط به ای سی رازمین کردم
        2.مقدار صفر راتو رجیستر ثانیه گذاشتم
        3.اون کارهای اضافه کردن کتابخانه ای سی و رجیستر مربوط به فرکانس یک هرتز را هم کاری باهاش نداشتم
        راستی پایه 7 ای سی که میتونیم از ش فرکانس بگیریم واسه چیه
        4.یه سوال دیگه دارم.فرض کنیم پارامتری روی صفحه نماش باشه.وقتی یه کلیدی فشاردادیم اون پارامتر شروع به چشمک زدن بکنه و بتونم تغییر بدم به نظرتونیکار کنم

        دیدگاه


          #19
          پاسخ : مشکل با ای سی ds1307 و میکرو

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

          دیدگاه


            #20
            پاسخ : مشکل با ای سی ds1307 و میکرو

            نوشته اصلی توسط mostafa6369
            سلام
            دوستان خسته نباشین.یه مداری بامیکرو بستم که تو اون با ای سی ds1307 و با استفاده از پروتکل سریال و i2c ساعتو رو یه lcdنشون میده.اما تو عمل فقط یه عدد ثابت رو صفحه میاد و تغییراتی نداریم.همین مدار و برنامه را تو برنامه پروتیوس اجرا کردم.درست کار میکنه ولی تو عمل نه.میشه کمکم کنید
            قسمتی از برنامه هم براتون میذارم
            Dim s as byte
            dim _min as byte
            dim_hour as byte
            روز و هفته و سوال هم متغییراشو تعرف کردم و در ادامه
            Do
            Gosub er
            locate 1,1
            lcd"time:";_huor;":";"_mi n;":";s
            locate 2,1
            رو lcdتاریخو نشون میده
            Loop
            end
            er:
            I2cstart
            i2cwbyte &hd0
            i2cwbyte 0
            i2cstart
            i2crbyte s,ack
            i2crbyte _min,ack
            i2crbyte _hour,ack
            i2c _m.month,ack
            i2crbyte _date,ack
            i2crbyte _year,nack
            i2cstop
            بعد توسط دستور makedec از متغییرات فوق اونا را به دسمال تبدیل کردم و در اخر
            Return
            سلام
            دوست عزیز این مشکلیست که خیلی از کاربرا داشتن. شما باید در ابتدای برنامه اول از همه ساعت رو بخونید بعد بلافاصله یه شرط بنویسید و بگین اگه ثانیه بزرگتر از 60 و یا دقیقه بزرگتر از 60 و یا ساعت بزرگتر از 60 بود بره به یه برچسبی که مقادیر پیشفرض دلخواهتون رو به آی سی بده. مشکلتون صد در صد حله.
            این کار هر باری که باطری بک پ رو بردارین و دوباره بذارین سرجاش انجام خواهد شد
            موفق باشین.
            پروژه هایی در این زمینه در سایتم هست www.esmaeilavr.ir
            WWW.esmaeil-avr.mihanblog.com
            قال امام صادق (ع):
            هر چیزی زکاتی دارد و زکات علم آنست که به اهلش بیاموزی.

            دیدگاه


              #21
              پاسخ : مشکل با ای سی ds1307 و میکرو

              مشکل جدیدی برخوردم.وقتی ساعت داره کار میکنه ثانیه و دقیقه اش درست کار میکنه.ولی ساعتش وقتی 24 میشه .ولی بعد از اون بجای اینکه صفر بشه .25 میشه و دز ادامه 26 میشه.علتش چیه

              دیدگاه


                #22
                پاسخ : مشکل با ای سی ds1307 و میکرو

                نوشته اصلی توسط mostafa6369
                مشکل جدیدی برخوردم.وقتی ساعت داره کار میکنه ثانیه و دقیقه اش درست کار میکنه.ولی ساعتش وقتی 24 میشه .ولی بعد از اون بجای اینکه صفر بشه .25 میشه و دز ادامه 26 میشه.علتش چیه
                سلام شما باید یه حلقه بنویسید که وقتی ساعت 24 شد اونو صفر کنه و به متغیر روز یک واحد اضافه کنه ( درصورتی که تاریخ هم دارید)
                ساعت بجای 24 باید از ساعت صفر استفاده کنید مثل همه ی ساعت ها
                "زمان خط است نه دایره" چه ایده بدی بوده گرد ساختن ساعت. احساس میکنی همیشه فرصت تکرار است.
                ساعت دروغ میگوید. دروغ. زمان بر گرد یک دایره نمی چرخد! زمان بر روی خطی مستقیم میدود. و هیچگاه، هیچگاه، هیچگاه باز نمیگردد.
                ساعت خوب، ساعت شنی است! هر لحظه به تو یادآوری میکند که دانه ای که افتاد دیگر باز نمیگردد.
                پس بهتره یکم به ثانیه هایی که داریم فکر کنیم تا به راحتی از دستشون ندیم....

                دیدگاه


                  #23
                  پاسخ : مشکل با ای سی ds1307 و میکرو

                  نوشته اصلی توسط M.H.Askari
                  سلام شما باید یه حلقه بنویسید که وقتی ساعت 24 شد اونو صفر کنه و به متغیر روز یک واحد اضافه کنه ( درصورتی که تاریخ هم دارید)
                  ساعت بجای 24 باید از ساعت صفر استفاده کنید مثل همه ی ساعت ها
                  مگه خود ای سی 3107 نباید بطور اتوماتیک این کارو انجام بده
                  درست مثل ثایه و دقیقه اش که به درستی عمل میکنه.مثلا ثاینیه به 60 که میرسه یه واحد میندازه روی دقیقه و خودش هم صفر میشه.واسه دقیقه هم درسته فقط سالته مشکل داره

                  دیدگاه

                  لطفا صبر کنید...
                  X