اطلاعیه

Collapse
No announcement yet.

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

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

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

    حامد جان سلام . من 45 روز پیش این آی سی رو راه اندازی کردم و تا 3 روز پیش در شرایط مختلف (از قبیل قطع 1 هفته ای برق و نویز شدید ) بخوبی کار میکرد .3 روز پیش دیدم روی یه ساعتی ثابت مونده . میکرو رو ریست کردم ولی همونطوری ثابت مونده بود . خلاصه هر کار کردم روی همون ساعت ثابت بود . البته نمیدونم چرا توی ثانیش یدونه ویرگول نشون میداد . خلاصه مجبور شدم برم توی تنظیم ساعت و پس از تنظیم ساعت ، دیدم که درست شد و شروع به کار کرد . حالا بنظر تو مشکل کجا میتونسته باشه ؟
    وقتی همه نیروهای جسمی و ذهنی متمرکز شوند توانایی فرد برای حل مشکلات به طور حیرت انگیزی چند برابر می شود .
    نرمن وینسنت پیل

    دیدگاه


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

      با درود . . .
      بابا انقدر به این 1307 ننه مرده گیر ندید
      من تا حالا باهاش مشکلی نداشتم
      همین الان 3 سال میشه که یکی از دستگاه هام داره باهاش کار میکنه و هنوز هیچ مشکلی پیش نیومده
      هرچند چند ثانیه ای توی هفته عقب و جلو میشه که اونم از کریستالشه( از این درپیت های چینیه)
      درد من تنهایی نیست؛ بلکه مرگ ملتی است که گدایی را قناعت، بی‏عرضگی را صبر، و با تبسمی بر لب این حماقت را حکمت خداوند می‏ نامند! "گاندی"

      به دلیل وجود برخی مشکلات و بی احترامی ها این اکانت رو غیر فعال کردم. همیشه سر بلند باشید.
      بدرود . . .

      دیدگاه


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

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

        ببخشین منم اومدم یک برنامه نوشتم با ds1307 که بتونه ثانیه رو بشماره یعنی از 0 تا 59 بشماره ولی کار نمی کنه خواستم مشکل برناممو بر طرف کنید تشکر
        این برنامه ی منه
        :NO:
        [code=vb]$regfile = "m8def.dat"
        $crystal = 1000000

        Config Portb = Output

        $lib "ds1307clock.lib"

        Config Sda = Portd.7
        Config Scl = Portd.6

        Const Ds1307w = &HD0 ' Addresses of Ds1307 clock
        Const Ds1307r = &HD1

        Dim Seco As Byte

        Do
        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 , Nack 'sec
        I2cstop
        If Seco > 59 Then Seco = 0
        Seco = Makedec(seco)
        Portb = Seco
        Loop
        End[/code]
        مولا علی (ع) میفرمایند : آسوده باش , آستین هارا بالا بزن , بر خدا توکل کن , آنگاه خدا را خواهی دید که زودتر از تو دست به کار شده است .

        دیدگاه


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

          بچه ها ببینید
          برای شروع کار ای سی ساعت باید یک عد رو به خانه شماره 1 بفرستین
          خانه شماره 1 همون ثانیه هست
          بیبینید من یه برنامه ثابت رو از سایت ایران میکرو ورداشتم تو اون برنامه 7 تا متغیره
          که یه زیر برنامست
          با نوشتن Gosub Ds1307

          به برنامه زیر میره
          Ds1307:
          کد:
                 I2cstart
          
          
                                 ' Generate start code
              I2cwbyte Ds1307w
          
                               ' send address
              I2cwbyte 0
          
                                   ' start address in 1307
              I2cstart                      ' Generate start code
          
          
               I2cwbyte Ds1307r
           I2crbyte _sec , Ack
           I2crbyte _min , Ack
           I2crbyte _hour , Ack
           I2crbyte Weekday , Ack
           I2crbyte _day , Ack
           I2crbyte _month , Ack
           I2crbyte _year , Nack
          
          I2cstop
          
          
              _sec = Makedec(_sec) : _min = Makedec(_min) : _hour = Makedec(_hour)
          
              Weekday = Makedec(weekday)
              _day = Makedec(_day)
              _month = Makedec(_month)
              _year = Makedec(_year)
          
          
              If _sec > 59 Then _sec = 0
              If _min > 59 Then _min = 0
              If _hour > 23 Then
              _hour = 0
          
              End If
          
          Return
           ووو متغیر با سم هایی که میبینید دخیره میشن 
          Dim Weekday As Byte , _day As Byte , _month As Byte , _year As Byte
          
           Dim _sec As Byte
           Dim _min As Byte
             Dim _hour As Byte



          این کجاش سخته ؟

          برای نوشتن تو دی اس بازم زیر برنامه د رست کردم
          Ds1307ww:

          Ds1307ws:

          کد:
               If _sec > 59 Then _sec = 0
               _sec = Makebcd(_sec)
               I2cstart                      ' Generate start code
               I2cwbyte Ds1307w                  ' send address
               I2cwbyte 0                     ' starting address in 1307
               I2cwbyte _sec
               I2cstop
              Return
          '-------------------------------------
          
              Ds1307wm:
          
          
               If _min > 59 Then _min = 0
               _min = Makebcd(_min)
               I2cstart                      ' Generate start code
               I2cwbyte Ds1307w                  ' send address
               I2cwbyte 1                     ' starting address in 1307
               I2cwbyte _min
               I2cstop
          
               Return
          '-------------------------------------
          
               Ds1307wh:
          
               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
          
          '---------------------------------------------------------------------------
             Ds1307wd:
          
          
          
          If Weekday > 7 Then Weekday = 1
               Weekday = Makebcd(weekday)
               I2cstart                      ' Generate start code
               I2cwbyte Ds1307w                  ' send address
               I2cwbyte 3                     ' starting address in 1307
               I2cwbyte Weekday
               I2cstop
               Return
                 '=========================================================================================="
                Ds1307wda:
          
               If _day > 31 Then _day = 1
               _day = Makebcd(_day)
               I2cstart                      ' Generate start code
               I2cwbyte Ds1307w                  ' send address
               I2cwbyte 4                     ' starting address in 1307
               I2cwbyte _day
               I2cstop
          
               Return
               '==============================================================================="
          
               Ds1307wmo:
               If _month > 12 Then _month = 1
               _month = Makebcd(_month)
               I2cstart                      ' Generate start code
               I2cwbyte Ds1307w                  ' send address
               I2cwbyte 5                     ' starting address in 1307
               I2cwbyte _month
               I2cstop
          
          
               Return
                '====================================================================
          
                Ds1307wy:
          
               If _year > 99 Then _year = 0
               _year = Makebcd(_year)
               I2cstart                      ' Generate start code
               I2cwbyte Ds1307w                  ' send address
               I2cwbyte 6                     ' starting address in 1307
               I2cwbyte _year
               I2cstop
          
          
          
          Return
          [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

          دیدگاه


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

            در ضمن اون حافظه رو بنده گفتم
            درسته حافظه هست
            این عکس هارو هم ببینید به دردتون میخوره با دی اس ساخم
            ساعت به صورت am pm




            تقویم شمسی






            تقویم میلادی

            [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

            دیدگاه


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

              سلام
              حامد جان من از شما تشکر میکنم
              ولی اگر بتونید همون مشکل برنامه منو بر طرف کنید خو ب فکر کنم خیلی بهتر متوجه بشم
              گرچه میدونم شاید شما الان دیگه ازدست من عصبانی شده باشید
              مولا علی (ع) میفرمایند : آسوده باش , آستین هارا بالا بزن , بر خدا توکل کن , آنگاه خدا را خواهی دید که زودتر از تو دست به کار شده است .

              دیدگاه


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


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

                1 باید config lcd رو اضافه کنید
                فرکانس کریستالو درست کنید
                من رو lcd نمایش دادم
                راه اندازی سون به عهده ی خودتون
                طرز کار اولین لحظه عدد 1 به دی اس ارسال میشه
                بعد فققط از حافظه خوانده میشه

                http://bargiri3.persiangig.com/ds_1307%20rtc/bascom%20%20ds.rar


                [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

                دیدگاه


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

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

                  1 باید config lcd رو اضافه کنید
                  فرکانس کریستالو درست کنید
                  من رو lcd نمایش دادم
                  راه اندازی سون به عهده ی خودتون
                  طرز کار اولین لحظه عدد 1 به دی اس ارسال میشه
                  بعد فققط از حافظه خوانده میشه

                  http://bargiri3.persiangig.com/ds_1307%20rtc/bascom%20%20ds.rar
                  سلام حامد جان قربون چشات شم
                  من یک برنامه ساده می خوام تا بفهمم چی به چیه
                  واسه همین الان سعی دارم یک برنامه بنویسم با ds 1307 و سون سگمنت که بتونه تا 59 بشماره و باز مجدد از صفر بشماره
                  شما که میگید ساعتشو با سون سگمنت ساختین دیگه این که نباید کاری واسه شما داشته باشه
                  عزیزم یک بار دیگه میگم من میخوام یک برنامه ی ساده که بفهمم چی به چیه
                  به هر حال تشکر
                  وگر نه من با ال سی دی مشکلی ندارم برنامه اش رو هم قبلا از یزد کیت دانلود کردم ولی من می خواام با سون سگمنت باشه
                  :bye
                  مولا علی (ع) میفرمایند : آسوده باش , آستین هارا بالا بزن , بر خدا توکل کن , آنگاه خدا را خواهی دید که زودتر از تو دست به کار شده است .

                  دیدگاه


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

                    $regfile = "m32def.dat"
                    $crystal = 11059200

                    معرفی میکرو و کریستال




                    $lib "ds1307clock.lib"

                    '-------------------------------------------- ds1307

                    Config Sda = Portd.6
                    Config Scl = Portd.5


                    باز خوانی لایبرری مشخص کردن پایه های اتصالی

                    Const Ds1307w = &HD0 ' Addresses of Ds1307 clock
                    Const Ds1307r = &HD1

                    ادرس نوشتن و خواندن در ای سی دی اس





                    Dim Weekday As Byte , _day As Byte , _month As Byte , _year As Byte

                    Dim _sec As Byte
                    Dim _min As Byte
                    Dim _hour As Byte



                    متغیر ها از اولین سطر
                    روز هفته
                    روز
                    ماه
                    سال
                    ساعت
                    دقیقه
                    ثانیه



                    [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

                    دیدگاه


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

                      _sec = 1
                      Gosub Ds1307ws

                      عدد 1 رو در متغیر _sec قرار بده
                      برو به زیر برنامه ی ds1307ws

                      زیر برنامه ds1307ws :
                      وظیفه :
                      تبدیل این عدد به باینری bcd
                      نوشتن این عدد در خانه 1
                      یعنی استارت ای سی ساعت


                      Do
                      Gosub Ds1307
                      Locate 1 , 1
                      Lcd "time: " ; _hour ; _min ; _sec ; " "
                      Waitms 200



                      Loop

                      حلقه اصلی
                      برو به زیر برنامه Gosub Ds1307 تو این زیر برنامه اطلا ت به صورت عدد معمولی تو متغیر های
                      Dim Weekday As Byte , _day As Byte , _month As Byte , _year As Byte

                      Dim _sec As Byte
                      Dim _min As Byte
                      Dim _hour As Byte
                      ذخیره میشه
                      >>>>>>>>>> یعنی خوندن از ای سی ds 1307 , و قرار دادن اون عداد به ترتیب تو متغیر های با اسم خودش









                      Ds1307:

                      I2cstart


                      ' Generate start code
                      I2cwbyte Ds1307w

                      ' send address
                      I2cwbyte 0

                      ' start address in 1307
                      I2cstart ' Generate start code


                      I2cwbyte Ds1307r
                      I2crbyte _sec , Ack
                      I2crbyte _min , Ack
                      I2crbyte _hour , Ack
                      I2crbyte Weekday , Ack
                      I2crbyte _day , Ack
                      I2crbyte _month , Ack
                      I2crbyte _year , Nack

                      I2cstop


                      _sec = Makedec(_sec) : _min = Makedec(_min) : _hour = Makedec(_hour)

                      Weekday = Makedec(weekday)
                      _day = Makedec(_day)
                      _month = Makedec(_month)
                      _year = Makedec(_year)


                      If _sec > 59 Then _sec = 0
                      If _min > 59 Then _min = 0
                      If _hour > 23 Then
                      _hour = 0

                      End If

                      Return





                      خوندن از ای سی ساعت
                      قرار دادن تو هر متغیر البته بعد از تبیل به عدد ده دهی
                      _sec = Makedec(_sec)



                      [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

                      دیدگاه


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

                        مهم ترین بخش
                        نوشتن توی ای سی ساعت


                        Ds1307ww:
                        زیر برنامه Ds1307ww:
                        از 7 قسمت فرعی تشکیل شده
                        Ds1307ws: برای نوشتن ثانیه در خانه حافظه ثانیه ای سی ساعت
                        Ds1307wm: برای نوشتن دقیقه
                        Ds1307wh:ساعت
                        Ds1307wd: روز های هفته
                        Ds1307wda: روز های ماه
                        Ds1307wmo:ماه
                        Ds1307wy: سال
                        یه مثال
                        _month =11
                        gosubDs1307wmo
                        تو متغیر ماه تو ایسی 1307 عد 11 قرار میگیره



                        خوب بچه ها شما قظاوت کنید
                        اگه این اقا یا خانوم که اسمشون ایران سب هست این مطلب رو نتوننن بفهمن مشکل از چیه ؟
                        1 مشکل از منه ؟ (شما نظر بدین )
                        2 مشکل برنامه نویسی دارین ؟
                        اصلا با میکرو کار نکرردین ؟
                        یا مجبور به ساخت این ساعت هستین و اصلا این پست هارو نمیخونین
                        و فقط نگاه میکننی اه چقدر سخته این حامدم مارو مسغره کرده :eek:

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

                        دیدگاه


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

                          دستور های ساده



                          Return برگرد به جایی که از اون امودی

                          _year = Makebcd(_year) متغیر سال رو به باینری تبدیل کن برای ارسال به ای سی
                          و یا باینری رو به ده دهی تبدیل کن برایی نشون دادن رو سون سگمنت یا ال سی دی
                          توی هلپ بیسکام >>> index بزن <<>>>>Makebcd
                          میفهمی چی به چیه


                          Locate 1 , 1 برو به مکان 1 و 1
                          سطر 1
                          ستون 1
                          روی ال سی دی


                          I2cstart
                          شرو ع ارتباط با ای سی
                          ساعت از طریق در گاه i2c
                          از این ساده ترررررر؟ :cry: :cry:
                          [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

                          دیدگاه


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

                            شما با سون سگمت مشکل دارین
                            من یه برنامه نوشتم ولی نمیتونم توضیح بدم روش مالتی پلکس
                            یا جاروب اند سون سگمنت رو یاد بگیرید من در خدمت شما هستم
                            برای جاروب 6 تا سون سگمت
                            100 سطر حدودا برنامه میخواد فقط set ریست
                            یه پایه و یا چند تا پایه است
                            شبیه سازی بلدید
                            فایل برنامه جاروب + شبیه سازی در پرو تیوس


                            http://bargiri3.persiangig.com/ds_1307%20rtc/ds%20seven%20segment4.rar

                            اضافه شده در تاریخ :
                            حامد رحیمی, narek, سعید باقرانی, M3R, a.rajabi و 1 مهمان درحال دیدن موضوع.
                            :applause: :applause: :applause:
                            عجب استقبالیی :rolleyes: :redface:
                            [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

                            دیدگاه


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

                              نوشته اصلی توسط حامد رحیمی
                              شما با سون سگمت مشکل دارین
                              من یه برنامه نوشتم ولی نمیتونم توضیح بدم روش مالتی پلکس
                              یا جاروب اند سون سگمنت رو یاد بگیرید من در خدمت شما هستم
                              برای جاروب 6 تا سون سگمت
                              100 سطر حدودا برنامه میخواد فقط set ریست
                              یه پایه و یا چند تا پایه است
                              شبیه سازی بلدید
                              فایل برنامه جاروب + شبیه سازی در پرو تیوس


                              http://bargiri3.persiangig.com/ds_1307%20rtc/ds%20seven%20segment4.rar
                              سلام
                              حامد من مدار فوق را دانلود کردم خوب خیلی خوبه ولی فکر نمی کنی یکمی واسه ما سنگینه و باید روش خیلی تفکر کنیم که بفهمیم چی به چیه , تازه اگر بفهمیم
                              تشکر داداش
                              سعی می کنم بفههمم چی به چیه
                              :angry:
                              مولا علی (ع) میفرمایند : آسوده باش , آستین هارا بالا بزن , بر خدا توکل کن , آنگاه خدا را خواهی دید که زودتر از تو دست به کار شده است .

                              دیدگاه


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

                                نوشته اصلی توسط javad1354
                                حامد جان سلام . من 45 روز پیش این آی سی رو راه اندازی کردم و تا 3 روز پیش در شرایط مختلف (از قبیل قطع 1 هفته ای برق و نویز شدید ) بخوبی کار میکرد .3 روز پیش دیدم روی یه ساعتی ثابت مونده . میکرو رو ریست کردم ولی همونطوری ثابت مونده بود . خلاصه هر کار کردم روی همون ساعت ثابت بود . البته نمیدونم چرا توی ثانیش یدونه ویرگول نشون میداد . خلاصه مجبور شدم برم توی تنظیم ساعت و پس از تنظیم ساعت ، دیدم که درست شد و شروع به کار کرد . حالا بنظر تو مشکل کجا میتونسته باشه ؟
                                آقا حامد اول کاربر کامل شدنت رو تبریک میگم بعدم میگم سئوال من ارزش جواب دادن نداشت؟
                                وقتی همه نیروهای جسمی و ذهنی متمرکز شوند توانایی فرد برای حل مشکلات به طور حیرت انگیزی چند برابر می شود .
                                نرمن وینسنت پیل

                                دیدگاه

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