اطلاعیه

Collapse
No announcement yet.

rtc ds1307 ساعت ارزان ولی بدون مشتری

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

    پاسخ : rtc ds1307 ساعت ارزان ولی بدون مشتری

    شماتیک ؟
    احیانا پورت سی میکرو و مشکل jtag ?
    فرکانس کاری خود میکرو ؟
    خازن نباید به کریستال 1307 وصل کنید
    [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

    دیدگاه


      پاسخ : rtc ds1307 ساعت ارزان ولی بدون مشتری

      این عکس شماتیک



      اینم فایل pdf
      http://uplod.ir/snrcn2h77g5y/DS1307_...0.com_.pdf.htm


      jTAG غیر فعاله
      فرکانس میکرو 1000000 داخلی
      خازن وصل نکردم مثل شکل بالا
      الکترونیک همه کاره دنیا

      دیدگاه


        پاسخ : rtc ds1307 ساعت ارزان ولی بدون مشتری

        r 14 r 15
        حذف شود
        کلید 2 حالته هم باید حتما وصل بشه
        روی ال سیدی چیزی میبینی ؟؟؟
        با باید نوشته ببینی؟
        یا باید سطر اول کاملا سیااه بشه
        [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

        دیدگاه


          پاسخ : rtc ds1307 ساعت ارزان ولی بدون مشتری

          بمحض اینکه روشن میشه اینو میبینم و هیچ تغییری هم نمیکنه


          حالا جالبه وقتی پایه 5 و 6 ایسی ساعت رو قطع میکنم بازم همین رو میبینم . یعنی انگار هیچی به AVR وصل نیست .

          راستی توی شماتیک پایه 3 ایسی ساعت رو زمین کردم
          الکترونیک همه کاره دنیا

          دیدگاه


            پاسخ : rtc ds1307 ساعت ارزان ولی بدون مشتری

            الان مشکل توی شماتیک هست یا توی عمل ؟؟
            برای شروع کار
            1 باطری فراموش نشه حتما وصل کنید
            باطری 3 ولت سکه و نه 3.7 ولت شارژی
            2
            ساعت رو تنظیم کنید روی
            0:0:30
            در صورتی که مقدار 0 بر روی ثانیه باشه (اولین بار که 1307 روشن میشه همه خانه ها 0 هست )
            باید شما مقداری غیر از 0 مثلا 30 به قسمت ثانیه بفرستید تا این قطعه شروع به کار بکند :agree:
            [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

            دیدگاه


              پاسخ : rtc ds1307 ساعت ارزان ولی بدون مشتری

              با سلام

              مشکل برنامه من چیه ؟؟؟؟؟

              ساعت و تاریخو نشون میده ولی دکمه ها کار نمیکنه . بعد از چند ثانیه هم هنگ میکنه .
              کد:
              $regfile = "m16def.dat"
              $crystal = 8000000
              $baud = 19200
              Print "soheil"
              wait 1
              
              '--------------------------- ds 1307 -----------------------------------------
              $lib "ds1307clock.lib"
              'configure the scl and sda pins
              Config Sda = Portc.7
              Config Scl = Portc.6
              'address of ds1307
              Const Ds1307w = &HD0                    ' Addresses of Ds1307 clock
              Const Ds1307r = &HD1
              '------------------------------ key --------------------------------------------
              Config Pinc.0 = Input
              Config Pinc.1 = Input
              Config Pinc.2 = Input
              Config Pinc.3 = Input
              Config Pinc.4 = Input
              Config Pinc.5 = Input
              '------------------------------------------------------------------------------
              Config Debounce = 30
              
              Dim A As Byte , B As Byte , Data1 As Byte , C As Byte
              Dim Dates As Byte
              Dim Seco As Byte , Mine As Byte , Hour As Byte
              Dim Day As Byte , Month As Byte , Year As Byte , Weekday As Byte
              '----------------------------------------------------------------------------
              Cursor Off
              
              I2cstart                          ' Generate start code
                  I2cwbyte Ds1307w                  ' send address
                  I2cwbyte 0                     ' start address in 1307
                  I2cstart                      ' Generate start code
                  I2cwbyte Ds1307r                  ' send address
                  I2crbyte Seco , Ack                 'sec
                  I2crbyte Mine , Ack                 ' MINUTES
                  I2crbyte Hour , Ack                 ' Hours
                  I2crbyte Day , Ack
                  I2crbyte Month , Ack
                  I2crbyte Year , Nack
                  I2cstop
                  Gosub Seco
              '-----------------------------
              Cls
              'chap '
              
              Cls
              '-------------------------------------------------------------------------------
              Main:
              Do
                   Gosub Ds1307
                   Gosub Disply_12
                   Gosub Chekkey
              
              Loop
              '-------------------------------------------------------------------------------
              Ds1307:
                  I2cstart                      ' Generate start code
                  I2cwbyte Ds1307w                  ' send address
                  I2cwbyte 0                     ' start address in 1307
                  I2cstart                      ' Generate start code
                  I2cwbyte Ds1307r                  ' send address
                  I2crbyte Seco , Ack                 'sec
                  I2crbyte Mine , Ack                 ' MINUTES
                  I2crbyte Hour , Ack
                  I2crbyte Day , Ack
                  I2crbyte Month , Ack
                  I2crbyte Year , Nack                ' Hours
                  I2cstop
              
                  Seco = Makedec(seco) : Mine = Makedec(mine) : Hour = Makedec(hour)
                   Year = Makedec(year) : Month = Makedec(month) : Day = Makedec(day)
                  If Seco > 59 Then Seco = 0
                  If Mine > 59 Then Mine = 0
                  If Hour > 23 Then
                  Hour = 0
                  Gosub Seco
                  End If
              
              Return
              '-------------------------------------------------------------------------------
              '( 24_12:
               If Pinc.4 = 1 Then Gosub Disply_24
               If Pinc.4 = 0 Then Gosub Disply_12
               Return
              '-------------------------------------------------------------------------------
              Disply_24:
              
                   Locate 1 , 1
                   Lcd "Time = " ; Hour ; ":" ; Mine ; ":" ; Seco ; "   "
                   Locate 2 , 6
                   Lcd "(24)"
              Return
              ')
              
              '-------------------------------------------------------------------------------
              Disply_12:
              
                   If Hour = 0 Then Hour = 12
                   If Hour > 12 Then Hour = Hour - 12
              
                   Print "Time = " ; Hour ; ":" ; Mine ; ":" ; Seco ; "   "
                   Print "Date = " ; Year ; "/" ; Month ; "/" ; Day ;
              Return
              '-------------------------------------------------------------------------------
              Chekkey:
              
                   Debounce Pinc.0 , 0 , Seco , Sub
                   Debounce Pinc.1 , 0 , Mine , Sub
                   Debounce Pinc.2 , 0 , Hour , Sub
                   Debounce Pinc.3 , 0 , Day , Sub
                   Debounce Pinc.4 , 0 , Month , Sub
                   Debounce Pinc.5 , 0 , Year , Sub
              
              
              
              Return
              '---------------------------------------------
              Seco:
                   Incr Seco
                   If Seco > 59 Then Seco = 0
                   Seco = Makebcd(seco)
                   I2cstart                      ' Generate start code
                   I2cwbyte Ds1307w                  ' send address
                   I2cwbyte 0                     ' starting address in 1307
                   I2cwbyte Seco
                   I2cstop
              Return
              
              '-------------------------------------
              Mine:
                   Incr Mine
                   If Mine > 59 Then Mine = 0
                   Mine = Makebcd(mine)
                   I2cstart                      ' Generate start code
                   I2cwbyte Ds1307w                  ' send address
                   I2cwbyte 1                     ' starting address in 1307
                   I2cwbyte Mine
                   I2cstop
              Return
              '-------------------------------------
              
              Hour:
                   Incr Hour
                   If Hour > 23 Then Hour = 0
                   Hour = Makebcd(hour)
                   I2cstart                      ' Generate start code
                   I2cwbyte Ds1307w                  ' send address
                   I2cwbyte 2                     ' starting address in 1307
                   I2cwbyte Hour
                   I2cstop
              
              Return
              '-------------------------------------
              
              Day:
                   Incr Day
                   If Day > 31 Then Day = 0
                   Day = Makebcd(day)
                   I2cstart                      ' Generate start code
                   I2cwbyte Ds1307w                  ' send address
                   I2cwbyte 4                     ' starting address in 1307
                   I2cwbyte Day
                   I2cstop
              
              Return
              '-------------------------------------
              
              Month:
                   Incr Month
                   If Hour > 12 Then Hour = 0
                   Month = Makebcd(month)
                   I2cstart                      ' Generate start code
                   I2cwbyte Ds1307w                  ' send address
                   I2cwbyte 5                     ' starting address in 1307
                   I2cwbyte Month
                   I2cstop
              
              Return
              '-------------------------------------
              
              Year:
                   Incr Year
                   Year = Makebcd(year)
                   I2cstart                      ' Generate start code
                   I2cwbyte Ds1307w                  ' send address
                   I2cwbyte 6                     ' starting address in 1307
                   I2cwbyte Year
                   I2cstop
              
              Return
              '-------------------------------------
              
              End
              دنیا بر پایه برنامه هایی هست که خدا با زبان برنامه نویسی خودش مینویسد . کامپایل شده آن این جهان و قوانین آن است . start آن تولد است و end آن مرگ . پر از گزینه های شرطی و دستورات حلقه و تکرار ...

              دیدگاه


                پاسخ : rtc ds1307 ساعت ارزان ولی بدون مشتری

                نوشته اصلی توسط حامد رحیمی
                الان مشکل توی شماتیک هست یا توی عمل ؟؟
                برای شروع کار
                1 باطری فراموش نشه حتما وصل کنید
                باطری 3 ولت سکه و نه 3.7 ولت شارژی
                2
                ساعت رو تنظیم کنید روی
                0:0:30
                در صورتی که مقدار 0 بر روی ثانیه باشه (اولین بار که 1307 روشن میشه همه خانه ها 0 هست )
                باید شما مقداری غیر از 0 مثلا 30 به قسمت ثانیه بفرستید تا این قطعه شروع به کار بکند :agree:
                حامد جان باطری سکه ای پیدا نکردم از کجا باید بگیرم
                دکمه تنظیم ثانیه هم کار نمیکنه که بخوام روی 30 بزارم مشکل از کجاست
                الکترونیک همه کاره دنیا

                دیدگاه


                  پاسخ : rtc ds1307 ساعت ارزان ولی بدون مشتری

                  نوشته اصلی توسط alielec
                  حامد جان باطری سکه ای پیدا نکردم از کجا باید بگیرم
                  دکمه تنظیم ثانیه هم کار نمیکنه که بخوام روی 30 بزارم مشکل از کجاست
                  صد درصد بین میکرو و 1307 یه مشکلی هست یعنی یا نمیتونی کلا با 1307 ارتباط برقرار کنی
                  یا پایه ها اشتباهه
                  یا سیم i2c بین میکرو و 1307 قطعه
                  یا 1307 از حالت کم مصرف بیرون نمیاد !!
                  اولین قدم :
                  پدا کردن باتری لپه ای
                  سکه ای
                  باطری ساعت
                  در صورت ناامید شدن از این ها 2 عدد باطری قلمی یا نیم قلمی غیر قابل شارژ یک باز مصرف معمولی
                  با هم سری کنید تا ولتاژ 3 ولت رو تولدی کنه به پایه های باتری وصل کنید
                  [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

                  دیدگاه


                    پاسخ : rtc ds1307 ساعت ارزان ولی بدون مشتری

                    سلام دوستان
                    یه مدار شامل ds1307 و lcd کاراکتری بستم
                    زمانی که تغذیه lcd وصل نیست ds1307 خوب کار میکنه ولی همین که تغذیه lcd رو وصل میکنم ds1307 متوقف میشه و دیگه شمارش نمیکنه
                    نمیدونم اشکال کارم کجاست ~x(
                    اساتید خواهشا راهنمایی کنن !
                    گفت که دیوانه نهی لایق این خانه نهی

                    دیدگاه


                      پاسخ : rtc ds1307 ساعت ارزان ولی بدون مشتری

                      نوشته اصلی توسط moslem1368
                      سلام دوستان
                      یه مدار شامل ds1307 و lcd کاراکتری بستم
                      زمانی که تغذیه lcd وصل نیست ds1307 خوب کار میکنه ولی همین که تغذیه lcd رو وصل میکنم ds1307 متوقف میشه و دیگه شمارش نمیکنه
                      نمیدونم اشکال کارم کجاست ~x(
                      اساتید خواهشا راهنمایی کنن !
                      جالبه از کجا میدونید کار میکنه وقتی که lcd قطع ه ؟
                      !!
                      [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

                      دیدگاه


                        پاسخ : rtc ds1307 ساعت ارزان ولی بدون مشتری

                        نوشته اصلی توسط حامد رحیمی
                        جالبه از کجا میدونید کار میکنه وقتی که lcd قطع ه ؟
                        !!
                        سلام حاجی
                        حل شد
                        میدونی اشکال کارم کجا بود
                        سیم یکی از پایه های دستور lcd رو از کنار کریستال ds1307 رد کرده بودم. فکر کنم نمیذاشت نوسان کنه
                        مکان سیم رو تغییر دادم درست شد.
                        حالا یه مشکل جدید
                        ds1307 با باتری بک پ به کندی شمارش میکنه یعنی تغریبا هر 10 ثانیه رو یکی می شماره.
                        با چندتا ds1307 دیگه هم امتحان کردم که همین مشکلو داره.
                        گفت که دیوانه نهی لایق این خانه نهی

                        دیدگاه


                          پاسخ : rtc ds1307 ساعت ارزان ولی بدون مشتری

                          با سلام به همه عزیزان

                          یک برنامه بسکام هست که مربوط به atmega32 و ds1307 هستش که خیلی کوتاه و ابتداییه و فقط شامل خوندن ثانیه و دقیقه و ساعت میشه .

                          اما مشکل اینجاست که به محض اینکه میخوام مقادیر رو بصورت مرتب شده (format شده) روی lcd نمایش بدم برنامه هنگ میکنه و بعد از آزمایش و حذف
                          واضافه کردن معلوم شد مشکل از این خط هست(با برداشتن این خط مشکل رفع میشه)

                          'Hourr = Format(hourr , "00&quot : Minu = Format(minu , "00&quot : Seco = Format(seco , "00&quot
                          در صورتی که این خط رو اضافه کنم صفحه lcd هیچی نشون نمیده و حتی cls هم نمیشه که معلومه تو همین خط هنگ میکنه .

                          (توی مدار پایه sqw/out رو بصورت 1 هرتز تنظیم کردم و به عنوان اینتراپت دهنده به پایه اینتراپت 0 مگا32 دادم )

                          این هم کل برنامه :
                          کد:
                          Enable Interrupts
                          Enable Int0
                          Config Int0 = Falling
                          On Int0 Main1
                          
                          Config Sda = Portd.6
                          Config Scl = Portd.5
                          Dim _sec As Byte
                          Dim _min As Byte
                          Dim _hour As Byte
                          Dim S_e_c As String * 2
                          Dim M_i_n As String * 2
                          Dim H_o_ur As String * 2
                          Const Ds1307w = 208
                          Const Ds1307r = 209
                          
                          
                          I2cstart
                          I2cwbyte Ds1307w
                          I2cwbyte 0
                          I2cwbyte 0
                          I2cwbyte 0
                          I2cwbyte 0
                          I2cwbyte 0
                          I2cwbyte 0
                          I2cwbyte 0
                          I2cwbyte 0
                          I2cwbyte 16
                          I2cstop
                          
                          Do : Loop
                          End
                          
                          
                          Main1:
                          I2cstart
                          I2cwbyte Ds1307w
                          I2cwbyte 0
                          I2cstart
                          I2cwbyte Ds1307r
                          I2crbyte _sec , Ack
                          I2crbyte _min , Ack
                          I2crbyte _hour , Nack
                          I2cstop
                          Waitms 10
                          _hour = Makedec(_hour)
                          _min = Makedec(_min)
                          _sec = Makedec(_sec)
                          H_o_ur = Str(_hour)
                          M_i_n = Str(_min)
                          S_e_c = Str(_sec)
                          H_o_ur = Format(h_o_ur , "00") : M_i_n = Format(m_i_n , "00") : S_e_c = Format(s_e_c , "00")
                          _hour = Val(h_o_ur) : _min = Val(m_i_n) : _sec = Val(s_e_c)
                          Cls : Lcd _hour ; ":" ; _min ; ":" ; _sec
                          Return
                          من نمىآ‌توانم فرضیه «بىآ‌اخلاقى انسان» را بپذیرم، و من اخلاق را منحصرا امرى انسانى و متعلق به انسان مىآ‌دانم که هیچ نوع قدرت مافوق انسانى در پشت آن وجود ندارد
                          آلبرت اینشتین
                          منبع: http://fa.wikiquote.org

                          دیدگاه


                            پاسخ : rtc ds1307 ساعت ارزان ولی بدون مشتری

                            من زیاد به زبان بیسیک علاقه ندارم اگه از c سوال دارید میتونم جواب بدم.
                            با این تفاسیری که شما گفتید احتمال خیلی زیاد مشکل از lcd هستش.
                            برای اینکه بفهمید lcd اشکال داره یا بقیه مدار اول برنامه قبل از اینکه روی ds1307 چیزی بریزید یا بخونید یه عبارت ثابت مثل "Start ..." رو روی lcd چاپ کنید.
                            حالا اگه درست نشون داد که lcd ایراد نداره وگرنه که مشکل از lcd هستش .
                            چک کنین و نتیجه رو اعلام کنین.
                            گفت که دیوانه نهی لایق این خانه نهی

                            دیدگاه


                              پاسخ : rtc ds1307 ساعت ارزان ولی بدون مشتری

                              با سلام


                              ببخشید . مقاومت های سری با ds1307 و vcc مهم هستند ؟؟؟

                              آیا با پایه میکرو هم باید مقاومتی سری بشه ؟؟؟

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

                              دیدگاه


                                پاسخ : rtc ds1307 ساعت ارزان ولی بدون مشتری

                                مقاومت سری ؟!! oo:
                                ما فقط از سه مقاومت pull up استفاده میکردیم که اون ها هم سری نبودند. بهترینشون هم 4.7 کیلو هستش
                                [img][/img]http://www.4shared.com/photo/-ACSOCUX/111.html
                                گفت که دیوانه نهی لایق این خانه نهی

                                دیدگاه

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