اطلاعیه

Collapse
No announcement yet.

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

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

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

    سلام داداش من یه دوروز نبودم شرمنده

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

    دیدگاه


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

      نوشته اصلی توسط حامد رحیمی
      این لینک که کار نکرد شاید از خود سایت هستش باشه حالا اخه ماا یه ادتی دارم تا برنامشو خودم ننویسم دست بردار نیستم از برنامه حای دیگه کمک میگیرم
      واسه نوشتنش
      راستی 12 24 تو خود ایسی با کدوم دستور تغیر میکنه باید یه ادرس رایت داشته باشه
      بیا برادر یه بار دیگه گذاشتم اگه کار نکرد بگو تا خود برنامه رو بذارم تو سایت در مورد 12-24 هم باید تو برنامه براش تعریف کنی اگه باز کرد متوجه میشی اگه نه که بگو تا بذارم و در مورد برنامه توضیح بدم
      لطفا بازم تشکر کنید :mrgreen:خیلی باحاله هی تشکر کنید تا بیشتر بگم
      { خلاف قوانین - پاک شد }

      دیدگاه


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

        اره راست میگی ادم خوشش میاد تشکر کنن انگار ادمو قلقلک میدن :mrgreen: :mrgreen: :mrgreen:
        خوب چی گذاشتی ما که ندیدیم
        :rolleyes:
        تقریبا بلدام چه طوری کار میکنه ولی 24 12 بلد نیستم چه طوری بنویسم رو ای سی کدوم ادرس ؟ چه بیتی بنویسم؟

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

        دیدگاه


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

          [code=vb]$regfile = "m16def.dat"
          $crystal = 8000000
          '$baud = 19200
          $lib "mcsbyte.lbx" ' for smaller code
          $lib "ds1307clock.lib" ' modified lib
          $framesize = 16
          $hwstack = 24
          $swstack = 16

          Config Lcdpin = Pin , Db4 = Pinb.4 , Db5 = Pinb.5 , Db6 = Pinb.6 , Db7 = _
          Pinb.7 , Rs = Pinb.2 , E = Pinb.3
          Config Lcd = 16 * 2

          Config Pina.4 = Input
          Config Pina.5 = Input
          Config Pina.6 = Input

          'configure the scl and sda pins
          Config Sda = Portd.6
          Config Scl = Portd.5

          Config Portd.6 = Output
          Config Portd.5 = Output


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

          Config Clock = User ' this will dim the bytes automatic
          'dim other needed variables
          Dim Weekday As Byte
          Dim S As Byte
          Dim M As Byte
          Dim V As Byte
          Dim H As Byte

          Enable Interrupts


          Ok Alias Pina.4
          Up Alias Pina.5
          Down Alias Pina.6

          'Print "DS1307"
          'Waitms 100
          ' assigning the time will call the SetTime routine
          'Time$ = "2359" ' to watch the day changing value
          'Date$ = "11-13-02" ' 13 november 2002

          Hom:

          'Start Timer0

          Cursor Off
          Cls
          Do
          Home

          Lcd Date$
          Lowerline
          Lcd Time$
          Waitms 500
          If Ok = 0 Then
          Waitms 150
          Goto Settime
          End If
          **********************************'
          '(
          if _hour=13 then
          _hour=0
          endif
          &#039
          *********************************'
          Loop
          'called from ds1307clock.lib
          Getdatetime:
          I2cstart ' Generate start code
          I2cwbyte Ds1307w ' send address
          I2cwbyte 0 ' start address in 1307

          I2cstart ' Generate start code
          I2cwbyte Ds1307r ' send address
          I2crbyte _sec , Ack
          I2crbyte _min , Ack ' MINUTES
          I2crbyte _hour , Ack ' Hours
          I2crbyte Weekday , Ack ' Day of Week
          I2crbyte _day , Ack ' Day of Month
          I2crbyte _month , Ack ' Month of Year
          I2crbyte _year , Nack ' Year
          I2cstop
          _sec = Makedec(_sec) : _min = Makedec(_min) : _hour = Makedec(_hour)
          _day = Makedec(_day) : _month = Makedec(_month) : _year = Makedec(_year)
          Return

          '********************* settime **********************


          Settime:


          Cls
          Waitms 100

          Do

          If V = 0 Then

          Home

          Lcd " >time date"
          Lowerline
          Lcd " exit "

          End If

          '**************************************

          If V = 1 Then

          Home
          Lcd " time >date"
          Lowerline
          Lcd " exit "

          End If

          '**************************************

          If V = 2 Then

          Home
          Lcd " time date"
          Lowerline
          Lcd ">exit "

          End If

          '**************************************

          If Up = 0 Then

          Waitms 150
          Incr V

          If V = 3 Then V = 0

          End If
          '**************************************

          If Down = 0 Then
          Waitms 150

          If V = 0 Then
          V = 2
          Else
          Decr V
          End If

          End If

          '*************************************

          If Ok = 0 Then
          Waitms 100
          If V = 0 Then Gosub Tim
          If V = 1 Then Gosub Setdate
          If V = 2 Then Gosub Hom
          End If

          Loop

          '***************** set hour ****************
          Tim:

          'I2cwbyte _hour

          Cls

          S = _sec
          M = _min ' MINUTES
          H = _hour ' MINUTES

          Do

          Home
          Lcd "(H) M S"
          Lowerline
          Lcd H ; " " ; M ; " " ; S ; " "

          If Down = 0 Then

          Waitms 120
          Decr H

          End If

          If Up = 0 Then

          Waitms 120
          Incr H

          End If

          If Ok = 0 Then

          Waitms 120

          Gosub Timm

          End If

          If H = 25 Then H = 0
          If H = 255 Then H = 24

          Loop
          ' Send Data to SECONDS
          '*************** set min **************


          Timm:

          'I2cwbyte _min


          Cls
          Do

          Home
          Lcd " H (M) S"
          Lowerline
          Lcd H ; " " ; M ; " " ; S ; " "

          If Down = 0 Then

          Waitms 120
          Decr M

          End If

          If Up = 0 Then

          Waitms 120
          Incr M

          End If

          If Ok = 0 Then

          Waitms 120

          Gosub Tims

          End If

          If M = 60 Then M = 0
          If M = 255 Then M = 59

          Loop

          '******************* set sec **********************

          Tims:

          ' I2cwbyte _sec

          Cls
          Do

          Home
          Lcd " H M (S)"
          Lowerline
          Lcd H ; " " ; M ; " " ; S ; " "

          If Down = 0 Then

          Waitms 120
          Decr S

          End If

          If Up = 0 Then

          Waitms 120
          Incr S

          End If

          If Ok = 0 Then

          Waitms 120

          _sec = S
          _min = M
          _hour = H

          _sec = Makebcd(_sec) : _min = Makebcd(_min) : _hour = Makebcd(_hour)

          I2cstart ' Generate start code
          I2cwbyte Ds1307w ' send address
          I2cwbyte 0
          I2cwbyte _sec ' Send Data to SECONDS
          I2cwbyte _min ' MINUTES
          I2cwbyte _hour ' starting address in 1307 ' Hours
          I2cstop

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

          Goto Hom

          End If

          If S = 60 Then S = 0
          If S = 255 Then S = 59

          Loop

          '************************************* set date **************************************

          Setdate:


          Cls

          S = _day
          M = _month
          H = _year


          Do

          Home
          Lcd "(d) M y"
          Lowerline
          Lcd H ; " " ; M ; " " ; S ; " "

          If Down = 0 Then

          Waitms 100
          Decr H

          End If

          If Up = 0 Then

          Waitms 100
          Incr H

          End If

          If Ok = 0 Then

          Waitms 100
          Gosub Month

          End If
          Loop

          '***********************************

          Month:

          Cls
          Do

          Home
          Lcd " d (M) y"
          Lowerline
          Lcd H ; " " ; M ; " " ; S ; " "

          If Down = 0 Then

          Waitms 100
          Decr M

          End If


          If Up = 0 Then

          Waitms 100
          Incr M

          End If

          If Ok = 0 Then

          Waitms 100
          Gosub Day

          End If

          If M = 13 Then M = 0
          If M = 255 Then M = 12

          Loop

          '***********************************

          Day:

          Cls
          Do

          Home
          Lcd " d M (y)"
          Lowerline
          Lcd H ; " " ; M ; " " ; S ; " "

          If Down = 0 Then

          Waitms 100
          Decr S

          End If

          If Up = 0 Then

          Waitms 100
          Incr S

          End If

          If Ok = 0 Then

          Waitms 100

          _day = S
          _month = M
          _year = H

          _day = Makebcd(_day) : _month = Makebcd(_month) : _year = Makebcd(_year)

          I2cstart ' Generate start code
          I2cwbyte Ds1307w ' send address
          I2cwbyte 4 ' starting address in 1307
          I2cwbyte _day ' Send Data to SECONDS
          I2cwbyte _month ' MINUTES
          I2cwbyte _year ' Hours
          I2cstop

          Gosub Hom

          End If

          If S = 31 Then S = 0
          If S = 255 Then S = 30

          Loop

          [/code]
          ببین این کل برنامه ماست اگه میخوای 12ساعته بشه چون خود ds1307 بصورت خودکار 24ساعتس باید تو برنامت داخل loop بگی
          if _hour=13 then
          _hour=0
          endif
          شد oo: اگه شد یه قلقلک دیگه برو تو کارش :mrgreen: اگه نشد بازم یه قلقلک دیگه بیا و بگو تا بازم برات بگم ولی فکر نمیکنم بیشتر از این لازم باشه اصلا خودم برات تو برنامه مینویسم برو اول تشکر :eek: بعدم حال کن :redface:
          { خلاف قوانین - پاک شد }

          دیدگاه


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

            داداش اصلا نمیشه خوند فایل باو متونی اپ کنی :nerd:
            قلقلکم دادم :mrgreen:
            درست کردم خوبه ولی :cry2: حلقه دیگه نوشتن واسش سخته کاش میشد خودش خروجی 12 داشت داره ها ولی بلد نیستم در ضمن pm am هم مشخص نیست :cry2:
            در ضمن دستور کلید تو بیسکام چیه من از if pinb.0=1 then:x اس تفاده میکنم نویزش زیاده :read:


            اضافه شده در تاریخ :
            خوب ما زحمت کشیدیم :mrgreen: :redface: یه نضر سینجی با گزینه های ضد انقیض :mrgreen: گزاشتیم
            اگه ممکنه شما هم یه نظری بدین شاید معلوم شه این ds 1307 خوبه یا بده ؟ :cry2:
            [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

            دیدگاه


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

              گزینه اول اینکه گفتمک شما کافیه برنامتو اینطوری که گفتم بنویسی کپیش کن تو بیسکام تا بشه خوند جایی که تو پرانتزه رو اگه پرانتزشو برداری تبدیل به 12 ساعته میشه این از اولش
              دوم اینکه برا am و pm شما توبرنامت میگی درحالت عادی am رو نشون بده اینو که بلدی با دستور lcd حالا میگی که if _houre=0 then
              lcd"pm
              endif
              گرفتی من که خودم نفهمیدم oo: :eek: :mrgreen:اصلا بگو تا چه حد بلدی برنامه بنویسی تا ببینم چطور واست توضیح بدم
              { خلاف قوانین - پاک شد }

              دیدگاه


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

                نوشته اصلی توسط حامد رحیمی
                داداش اصلا نمیشه خوند فایل باو متونی اپ کنی :nerd:
                قلقلکم دادم :mrgreen:
                درست کردم خوبه ولی :cry2: حلقه دیگه نوشتن واسش سخته کاش میشد خودش خروجی 12 داشت داره ها ولی بلد نیستم در ضمن pm am هم مشخص نیست :cry2:
                در ضمن دستور کلید تو بیسکام چیه من از if pinb.0=1 then:x اس تفاده میکنم نویزش زیاده :read:
                در مورد دستور کلی شما پین میکرو رو با یه مقاومت 10کیلو به +وصل کینی و میگی if pin x=0 thenx
                البته با دستورdebouc یه همچین چیزیه میگن نویز نمیگیره ولی من بشخصه تابحال باش کار نکردم و فقط بعد از then یه تاخیر 150میلی ثانیه بذار هیچ مشکلی نداره اگه بازم نویز گرفت که نمیگیره یه 100نانو باش موازی کن
                در مورد ds1307 باید بگم برا من که فوق العاده بوده و هیچ مشگلی نداشتم چه با ds و چه با vs1307 هر دو عالی بودن
                { خلاف قوانین - پاک شد }

                دیدگاه


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

                  خیلی عالی منم جواب گرفتم در ضمن یه هفته پیش ساختم الانم بدون منبع تغزیه یه هفتس کار میکنه :wow:
                  فقط نمیتونم 24 12 رو کجای ایسی بنویسم ادرس اون فیوز بیت کدوم خیابونه :eek: :cry2:
                  [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

                  دیدگاه


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

                    ما توی یک محیط صنعتی از ds1307 استفاده کردیم ( ساعت ) الان حدود یک سال هسش که داره مثل مرد کار می کنه
                    انجمن LABVIEW
                    http://www.eca.ir/forum2/index.php?board=279.0
                    اموزش میکروکنترلرهای AVR به زبان ساده
                    http://www.eca.ir/forum2/index.php/topic,7070.0.html

                    دیدگاه


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

                      نوشته اصلی توسط حامد رحیمی
                      خیلی عالی منم جواب گرفتم در ضمن یه هفته پیش ساختم الانم بدون منبع تغزیه یه هفتس کار میکنه :wow:
                      فقط نمیتونم 24 12 رو کجای ایسی بنویسم ادرس اون فیوز بیت کدوم خیابونه :eek: :cry2:
                      فدات شم خودم تو برنامه نوشتم دیگه دنبال چی میگردی لااقل یه بار زحمت بده به خودت اون برنامه رو که مفتی برات گذاشنت و بخون بعد بگو چیو کجا
                      { خلاف قوانین - پاک شد }

                      دیدگاه


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

                        به خدا سختمه بخونم :mrgreen:
                        خیلی حوصله میخاد بابا کمکم یه 300 خطی میشه ببین من خودم نوشتم ولی اصول کار من اینه تا حافضه پر نشه دست وردار نیستم :eek:
                        درسا هم که نمیزارن حافضه مگا 8 رو پر کنیم :angry:
                        داداش من ازت تشکز میکنم که برنامرو گزاشتی عصبانی نشو جیگر
                        ولی خیلی سخته بشه بفهمی کجا میاد کجا میره برنامه :eek:
                        :bye

                        اضافه شده در تاریخ :
                        خوب ما یه اموژش کوچولو بزاریم
                        ای سی ds 1307 یه ایسی rtc ینی یه مدار مجتمع برای ساعت با همیه امکانات هست
                        این ایسی ساعت رو شمرده و در حافضه های داخلی خودش جای میدهد این ایسی با باطری بک اپ مین برد کامپیوتر تا 10 سال کار میکند
                        این ای سی تا 2100 ساپورت میشود
                        این ایسی قابلیت شمارش این اطلا عت را دارد
                        1 ثانیه
                        2 دقیقه
                        3 ساعت به دو صورت 24 و 12
                        4 روز های هفته شنبه یکشنبه ...........
                        5 روز های ماه
                        5 ماه
                        6 سال با قابلیت پشتیبانیه سالهای کبیسه و تشخیص ماه های 29 28 و....
                        خوب تنها قطعه یه لازمش یدونه کریستاله اونم 70 تومن میفروشن

                        این ایسی دارای حافضه ای برای نگه داشتن اطلا عات ساعت و اطلا عات ما میباشد



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

                        دیدگاه


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

                          ساعت فقط m48t86.با تضمین 50 سال کار مفید

                          بزودی برنامش رو میزارم و مشکل ساعت به کلی حل میشه.تبدیلش میکنم به i2c
                          خدا گفت : به جهنم ببریدش، او برگشت و با تعجب به خدا نگاه کرد. خدا گفت : به بهشت ببریدش. فرشتگان پرسیدند: چرا؟! خدا گفت : او هنوز به من امیدوار است...

                          دیدگاه


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

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

                            دیدگاه


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

                              اقا منم اموزشو هستم و هر جا بتونم کمک کنم در خدمتم و خوشحال میشم در مورد برنامه هم هر سوالی دارین بگین تا روشنتون کنم :mrgreen: ساعت بدی نیست :redface:
                              { خلاف قوانین - پاک شد }

                              دیدگاه


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

                                خوب یکم اموزش بدیم
                                $lib "ds1307clock.lib"
                                's
                                Config Sda = Portc.5
                                Config Scl = Portc.4
                                'address of ds1307
                                Const Ds1307w = &HD0
                                Const Ds1307r = &HD1
                                خوب سطر اول مر بط به معرفی لایبه این لایب تو ورژ ن جدید های بیسکام هست ولی اگه ندارین تو صفحهی 2 (http://bargiri2.persiangig.com/LIB.rar
                                ) فک کنم بنده واسه دانلود گزاشتم
                                خوّب سطر دوم و سوم مر بوط به پایه های sda و scl هست که دو تا پایه با همین اسم رو ای سی 1307 هست که باید به پایه های c.5 و c.4 وصل شه اینا رو میتونین به هر پایه میکرو وصل کنین فقط باید این قسمتو تغیربدین
                                یه چیز خیلی مهم مقا ومت های پول اپ 4.7 کیلو که به + و به هر پایه دیتا و کلاک وصل شده یادتون نره
                                اگه نزارین میکرو تو خط اول هنگ میکنه
                                اول میکرو باید ای سی رو بشناسه بعد برنامرو اجرا کنه
                                خوب ببینین دوسطر اخر مربوط به نوشتن و خوندن ایسیه که ادرس هگز کلاکو معرفی میکنه اینا رو دست کاری نکنین w ینی نوشتن r ینی خوندن البته نوشت فقط واسه تغیر ساعته که میخواهیم ساعتو عوض کنیم باید از دستور نوشتن استفاده کنیم تمامی کار ما در این ایسی فقط خوندنه
                                در ضمن یه چیز مهم یادتون باشه که همه ی اطلا عات ما که ردوبدل میشه بر پایه ی bcd یا باینری هست
                                برای تبدیل ان به عدد انسان نما :eek: باید از یه دستور ساده استفاده کنیم الان خسته ام فردا میگم اگه سوالی هست ما در خدمتیم

                                در ضمن ببینید تشکر کار میکنه oo: :mrgreen:

                                اضافه شده در تاریخ :
                                Dim A As Byte , B As Byte , Data1 As Byte , C As Byte

                                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

                                خوب حالا نوبت به معرفیه متغیراست بهترین نوع متغیرا واسه این کار بایته بایت 8 بیت میشه
                                که 256 حالت داره ینی از 0 تا 255
                                ما ح اکثر متغیرمون فک کنم سال باشه که به جای 2100 می نویسه 100 و به جای 2010 مینویسه 10
                                ینی ما به راحتی میتونیم در متغیر های بیت همه ی اطلا عات ای سی سا عتو به داخل ای وی ار بیاریم اسم این متغیر ها اصلا برا ما مهم نیست چون خدمون بعدا تا یین میکنیم که کدوم متغیر چه اطلا عاتی رو به خود بگیرد فقط برای جلو گیری از قاطی شدن متغیر ها از اسم روز ماه سال ساعت دقیقه ثانیه
                                به صورت انگلیسی استفاده میکنیم
                                :read: :read: :read:
                                ما این توضی حاتو واسه کی میدیم ؟
                                کسی اینارو میخونه یه لمسیم به این کلید تشکر کنه والا لمسی کردیم تا بهتر جواب بده :cry2:
                                در ضمن نشستم تو تایپکای قبلی ویرایش زدم تا اطلا عاتشو مفید تر کنم کم نکردم هیچ یه جملاتی رو با عنوان ویرایش: اضافه کردم
                                [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

                                دیدگاه

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