اطلاعیه

Collapse
No announcement yet.

راهنمایی در مورد DS1307

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

    راهنمایی در مورد DS1307

    سلام
    من میخوام بدونم که چه طور میتونم پایه شماره 3 , DS1307 رو فعال کنم که هر ثانیه یکبار خاموش و روشن بشه
    زبانش هم بیسیک باشه آخه برنامه ساعت رو نوشتم و مشکلم همینجاست
    کدی که این کارو میکنه چیه؟

    #2
    پاسخ : راهنمایی در مورد DS1307

    سلام
    تا اونجائی که من میدونم پایه 3 برای باطری بک په ( Backup battery) تو مینونی برای انجام چنین کاری از پایه 7 استفاده کنی که بهت پالس مربعی بده.ش
    " علت هر شکستی عمل کردن بدون فکر است" الکس مکنزی


    [move](---> موسیقی ایرانی <---) [/move]

    دیدگاه


      #3
      پاسخ : راهنمایی در مورد DS1307

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

      www.icesi.ir

      دیدگاه


        #4
        پاسخ : راهنمایی در مورد DS1307

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

        دیدگاه


          #5
          پاسخ : راهنمایی در مورد DS1307

          باید عدد 16 رو در محل 7 از حافظه اون قرار بدی..
          اگه نتونستی بگو مدشو برات بذارم.
          www.icesi.ir

          دیدگاه


            #6
            پاسخ : راهنمایی در مورد DS1307

            من برای کار با DS از این برنامه استفاده کردم
            اگه بگید رو این چه کاری کنم ممنون میشم
            I2cstart
            I2cwbyte Ds1307w
            I2cwbyte 0
            I2cstart
            I2cwbyte Ds1307r
            I2crbyte _sec , Ack
            I2crbyte _min , Ack
            I2crbyte _hour ,Nack
            I2cstop
            Return

            دیدگاه


              #7
              پاسخ : راهنمایی در مورد DS1307

              باید وقتی آدرس فرستادی نری تو مد Read
              دوباره باید پشت سرش عدد 16 رو به آدرس 7 بفرستی.

              دیدگاه


                #8
                پاسخ : راهنمایی در مورد DS1307

                ببخشید من اصلا نمیفهمم شما چی میگی
                یعنی چی ععد 16 تو آدرس 7 بنویسم

                دیدگاه


                  #9
                  پاسخ : راهنمایی در مورد DS1307

                  طبق اطلاعات صفحه 5 دیتاشیت، برای ایجاد یک هرتز ، RS0 و RS1 باید هردوشون صفر باشند.ضمن اینکه SQWE هم که فعالساز پایه خروجی هست باید یک بشه. مجموه اینا میشه یک عدد 16 .
                  حالا اگه صفحه 4 دیتاشیتو نگاه کنی توش نوشته که آدرس بایت کنترلی 7 هست. یعنی باید عدد 16 رو تو آدرس 7 بریزی

                  دیدگاه


                    #10
                    پاسخ : راهنمایی در مورد DS1307

                    صحبت های آقا حامد کامل بود////
                    فایل مورد نظر ضمیمه شد..ببینید.
                    فایل های پیوست شده
                    www.icesi.ir

                    دیدگاه


                      #11
                      پاسخ : راهنمایی در مورد DS1307

                      از توضیحاتتون ممنونم
                      دستوری که این کارو میکنه چیه؟

                      i2c slave , &h7,&hff

                      این درسته؟

                      دیدگاه


                        #12
                        پاسخ : راهنمایی در مورد DS1307

                        نوشته اصلی توسط hamed_avr
                        از توضیحاتتون ممنونم
                        دستوری که این کارو میکنه چیه؟

                        i2c slave , &h7,&hff

                        این درسته؟
                        Hamed = 16
                        Hamed = Makebcd(hamed)
                        I2cstart
                        I2cwbyte Ds1307w
                        I2cwbyte 7
                        I2cwbyte Hamed
                        I2cstop

                        من همیشه این کارو میکنم...
                        www.icesi.ir

                        دیدگاه


                          #13
                          پاسخ : راهنمایی در مورد DS1307

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

                          I2cstart
                          I2cwbyte Ds1307w
                          I2cwbyte 0
                          I2cwbyte Hamed
                          I2cwbyte 7
                          I2cstart
                          I2cwbyte Ds1307r
                          I2crbyte _sec , Ack
                          I2crbyte _min , Ack
                          I2crbyte _hour , Nack
                          I2cstop
                          Return

                          دیدگاه


                            #14
                            پاسخ : راهنمایی در مورد DS1307

                            ایراد تو اسم متغیر تعریف شدست :icon_razz:
                            اون مقدار 16 رو هم تو متغیرت ریختی؟
                            به نظر که درست میرسه.البته این باید یه بار تو برنامه اجرا بشه.
                            بازم ببینم میلاد چی میگه

                            دیدگاه


                              #15
                              پاسخ : راهنمایی در مورد DS1307

                              Hamed = 16
                              Hamed = Makebcd(hamed)
                              I2cstart
                              I2cwbyte Ds1307w
                              I2cwbyte 7
                              I2cwbyte Hamed
                              I2cstop

                              اینو بذار اول برنامت.... بعد که اینتراپتش فعال شد با هر بار که اینتراپت میده برو از ds بخون بعد نمایش بده..
                              نوع متغییر هم فرقی نمیکنه/// من همیشه byte میذارم.

                              اگه کار نکرد به کدی که من گذاشتم شک نکن ، به میکرو شک کن
                              www.icesi.ir

                              دیدگاه

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