اطلاعیه

Collapse
No announcement yet.

ds1307

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

    ds1307

    سلام دوستان
    من پروژه ساعت دیجیتال با یس1307 نوشتم در پروتئوس در زمان واقعی اجرا نمیشه در عمل هم زمانی که میکرو پروگرام میکنم و مدار می بندم فقط این عبارت نشان داده میشه ===> 165:165:165
    من فایل پروتئوس و فایل سورس برای شما میزارم ببینید مشکل برنامه من از کجاست
    http://www.4shared.com/rar/Uf6TRHTJ/clock_with_ds_1307.html
    http://mmahdi302.persiangig.com/clock%20with%20ds%201307.rar

    #2
    پاسخ : ds1307

    up...........

    دیدگاه


      #3
      پاسخ : ds1307

      دوستان کسی علاقه ای نداره به من کمک کنه؟

      دیدگاه


        #4
        پاسخ : ds1307

        من مدارتو توی پروتئوس 8 اجراکردم ساعتش مثل ساعت کار کرد. طوی واقعیت باطری رو بستی؟

        دیدگاه


          #5
          پاسخ : ds1307

          پروتئوس من ورژن 7 هست باتری هم به مدار تغذیه 5ولت متصل کردم

          دیدگاه


            #6
            پاسخ : ds1307

            به یه منبع 3 ولت وصلش کن اگر نداری با مقاومت بساز

            دیدگاه


              #7
              پاسخ : ds1307

              نوشته اصلی توسط mmahdi302
              سلام دوستان
              من پروژه ساعت دیجیتال با یس1307 نوشتم در پروتئوس در زمان واقعی اجرا نمیشه در عمل هم زمانی که میکرو پروگرام میکنم و مدار می بندم فقط این عبارت نشان داده میشه ===> 165:165:165
              من فایل پروتئوس و فایل سورس برای شما میزارم ببینید مشکل برنامه من از کجاست
              http://www.4shared.com/rar/Uf6TRHTJ/clock_with_ds_1307.html
              http://mmahdi302.persiangig.com/clock%20with%20ds%201307.rar
              مشکل از مقاومت های Pull Up هستش.

              دیدگاه


                #8
                پاسخ : ds1307

                مقاومت ها رو درست کن ، اولش هم باید یه مقدار به آی سی بدی !
                این بخشی از یه نمونه کد هست؛
                کد:
                
                
                
                
                
                Cls
                Lcdat 1 , 3 , " ya ali "
                Waitms 500
                Cls
                
                Const Ds1307w = &HD0
                Const Ds1307r = &HD1
                '-----------------------------------------
                Dim Seco As Byte , Mine As Byte , Hour As Byte
                '-----------------------------------------
                Cls
                Cursor Off
                Main:
                
                   Do
                      Gosub Ds1307
                
                'Lcdat 1 , 1 , "T:" ; Hour ; ":" ; Mine ; ":" ; Seco
                
                
                
                
                   Loop
                Ds1307:
                    I2cstart
                    I2cwbyte Ds1307w
                    I2cwbyte 0
                    I2cstart
                    I2cwbyte Ds1307r
                    I2crbyte Seco , Ack
                    I2crbyte Mine , Ack
                    I2crbyte Hour , Nack
                    I2cstop
                    Seco = Makedec(seco) : Mine = Makedec(mine) : Hour = Makedec(hour)
                    If Seco > 59 Then Seco = 0
                    If Mine > 59 Then Mine = 0
                    If Hour > 23 Then
                    Hour = 0
                    Gosub Secop
                
                
                    End If
                Return
                
                Secop:
                     Incr Seco
                     If Seco > 59 Then Seco = 0
                     Seco = Makebcd(seco)
                     I2cstart
                     I2cwbyte Ds1307w
                     I2cwbyte 0
                     I2cwbyte Seco
                     I2cstop
                Return
                Minep:
                     Incr Mine
                     If Mine > 59 Then Mine = 0
                     Mine = Makebcd(mine)
                     I2cstart
                     I2cwbyte Ds1307w
                     I2cwbyte 1
                     I2cwbyte Mine
                     I2cstop
                Return
                Hourp:
                     Incr Hour
                     If Hour > 23 Then Hour = 0
                     Hour = Makebcd(hour)
                     I2cstart
                     I2cwbyte Ds1307w
                     I2cwbyte 2
                     I2cwbyte Hour
                     I2cstop
                
                Return
                
                
                
                
                End                             'end program
                البته توی انجمن پروژه تکمیل شدش هست
                چون من گدایی بی نشان مشکل شود یاری چنان
                سلطان کجا عیش نهان با رند بازاری کند...
                [حافظ]

                دیدگاه


                  #9
                  پاسخ : ds1307

                  نوشته اصلی توسط محسن 1404
                  مقاومت ها رو درست کن ، اولش هم باید یه مقدار به آی سی بدی !
                  این بخشی از یه نمونه کد هست؛
                  کد:
                  
                  
                  
                  
                  
                  Cls
                  Lcdat 1 , 3 , " ya ali "
                  Waitms 500
                  Cls
                  
                  Const Ds1307w = &HD0
                  Const Ds1307r = &HD1
                  '-----------------------------------------
                  Dim Seco As Byte , Mine As Byte , Hour As Byte
                  '-----------------------------------------
                  Cls
                  Cursor Off
                  Main:
                  
                     Do
                        Gosub Ds1307
                  
                  'Lcdat 1 , 1 , "T:" ; Hour ; ":" ; Mine ; ":" ; Seco
                  
                  
                  
                  
                     Loop
                  Ds1307:
                      I2cstart
                      I2cwbyte Ds1307w
                      I2cwbyte 0
                      I2cstart
                      I2cwbyte Ds1307r
                      I2crbyte Seco , Ack
                      I2crbyte Mine , Ack
                      I2crbyte Hour , Nack
                      I2cstop
                      Seco = Makedec(seco) : Mine = Makedec(mine) : Hour = Makedec(hour)
                      If Seco > 59 Then Seco = 0
                      If Mine > 59 Then Mine = 0
                      If Hour > 23 Then
                      Hour = 0
                      Gosub Secop
                  
                  
                      End If
                  Return
                  
                  Secop:
                       Incr Seco
                       If Seco > 59 Then Seco = 0
                       Seco = Makebcd(seco)
                       I2cstart
                       I2cwbyte Ds1307w
                       I2cwbyte 0
                       I2cwbyte Seco
                       I2cstop
                  Return
                  Minep:
                       Incr Mine
                       If Mine > 59 Then Mine = 0
                       Mine = Makebcd(mine)
                       I2cstart
                       I2cwbyte Ds1307w
                       I2cwbyte 1
                       I2cwbyte Mine
                       I2cstop
                  Return
                  Hourp:
                       Incr Hour
                       If Hour > 23 Then Hour = 0
                       Hour = Makebcd(hour)
                       I2cstart
                       I2cwbyte Ds1307w
                       I2cwbyte 2
                       I2cwbyte Hour
                       I2cstop
                  
                  Return
                  
                  
                  
                  
                  End                             'end program
                  البته توی انجمن پروژه تکمیل شدش هست
                  مقاومت های pull up چه مشکلی داره ؟ راهنمایی کنید

                  دیدگاه


                    #10
                    پاسخ : ds1307

                    نوشته اصلی توسط mmahdi302
                    مقاومت های pull up چه مشکلی داره ؟ راهنمایی کنید
                    من خیلی مدت پیش با این آی سی کار کردم دقیقا خاطرم نیست، اما به صورت سعی و خطا رفتار کن و مقاومت های Pull Up رو ابتدا زیر 2 کیلو بگذار اگه بازهم جواب نداد با مقاومت های مختلف تست کن.
                    و در ضمن ولتاژ VCC تغییر نکنه و ثابت 5 ولت باشه.

                    دیدگاه


                      #11
                      پاسخ : ds1307

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

                      دیدگاه


                        #12
                        پاسخ : ds1307

                        نوشته اصلی توسط mmahdi302
                        چجوری سعی و خطا مقاومت ها رو پیدا کنم
                        چندتا مقاومت با رنج های مختلف بگیرم
                        مقاومت های pull up ام چه مشکلی داره مگه؟
                        دقیقا مثل 330 بزار، 2 کیلو و ...
                        رنج مقاومت هایی که میگذاری رو کم و زیاد بکنم، به نتیجه میرسی.

                        دیدگاه


                          #13
                          پاسخ : ds1307

                          دوستان کسی تا الان این پروژه رو اجرا نکرده بگه مقاومت ها باید چقدر باشن؟ :angry: :angry: :angry: :angry: :angry:

                          دیدگاه


                            #14
                            پاسخ : ds1307

                            نوشته اصلی توسط mmahdi302
                            دوستان کسی تا الان این پروژه رو اجرا نکرده بگه مقاومت ها باید چقدر باشن؟ :angry: :angry: :angry: :angry: :angry:
                            دوست من سرتو نکوب توی دیوار ء ء ء آخه این چه کاریه ؟

                            خودم برات دیدم توی دوتا پروژه مختلف توی اولی دوتا مقاومت 10 کیلو بود و توی یه پروژه دیگه 2 تا مقاومت 4.7 کیلو بود.
                            حالا این مقامت های بالاکش رو بزار ببین مدارت درست جواب میده یا نه؟
                            راستی پین مربوط به باتری بکاپ رو هم زمین کن. :nice:

                            دیدگاه


                              #15
                              پاسخ : ds1307

                              نوشته اصلی توسط Mohammad Baghmirani
                              دوست من سرتو نکوب توی دیوار ء ء ء آخه این چه کاریه ؟

                              خودم برات دیدم توی دوتا پروژه مختلف توی اولی دوتا مقاومت 10 کیلو بود و توی یه پروژه دیگه 2 تا مقاومت 4.7 کیلو بود.
                              حالا این مقامت های بالاکش رو بزار ببین مدارت درست جواب میده یا نه؟
                              راستی پین مربوط به باتری بکاپ رو هم زمین کن. :nice:
                              llن با 10 کیلو و 4.7 کیلو امتحان کردم درست جواب داد.
                              ولی اون پین مربوط به باطری رو باید به +3 ولت وصل میکردم تا کار کنه.

                              دیدگاه

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