اطلاعیه

Collapse
No announcement yet.

ساعت

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

    #16
    پاسخ : ساعت

    از پاسخ همگی سپاسگزارم،
    اما من هنوز جواب سوالم را نگرفتم :cry:

    من می خوام زمان را همیشه داشته باشم. مثل ساعت کامپیوتر که حتی وقتی از برق می کشیم، دوباره پس از روشن شدن، ساعتش دقیقه و لازم نیست تنظیمش کنیم.
    سوال من اینه که زمانی که من از باتری برای راه اندازی مدارم استفاده میکنم و باتری خالی میشه چطور میتونم این زمان را همچنان داشته باشم.(می خوام وقتی باتری مدارم دشارژ شده، ساعت همچنان کار کنه و توی عملکرد ساعت اختلال ایجاد نشه)
    زمانی که متغیرها را داخل eeprom ذخیره کنم اطلاعات داخل این حافظه ذخیره میشه و با قطع شدن منبع تغذیه از مدار اطلاعاتی که 10 دقیقه قبل ذخیره شده بود همچنان داخلش باقی میمونه و من بعد از 10 دقیقه که باتری مدارم را نصب کردم باید ساعت مدارم را 10 دقیقه جلو بکشم و دوباره تنظیمش کنم. اگر از DS1307 استفاده کنم دو تا پایه داره که بهش باتری بک اپ وصل میشه و تا 10 سال جواب میده! و بطور مجزا کار خودش را انجام میده. می خوام بدونم زمانی که از RTC داخلی استفاده میکنم راه حلی برای استفاده از باتری بک پ وجود داره که مجبور نشم هر بار با دشارژ شدن باتری ساعتم را set کنم!یا حتما باید از DS1307 استفاده کنم که بتونم باتری بک اپ نصب کنم.
    یه سوال دیگه: چطور میتونم از مد power down استفاده کنم؟
    ممنون میشم اگر جواب سوالم را بدید

    دیدگاه


      #17
      پاسخ : ساعت

      سلام دوست عزیز
      تو این دنیا هر چیزی هزینه ای داره ، اگر شما میخوای ""من می خوام زمان را همیشه داشته باشم. مثل ساعت کامپیوتر که حتی وقتی از برق می کشیم، دوباره پس از روشن شدن، ساعتش دقیقه و لازم نیست تنظیمش کنیم"" باید هزینه اش رو بدی که یه ds1307 یا هر RTC دیگه ای که باتری بک پ داشته باشه ساده ترین راهیه که بنظر میرسه ، اما شاید دوستان بیان راه های بهتری بدن
      شما درست میفرمایید eeprom همین مشکلی که گفتید رو داره ، eeprom برای ذخیره کردن Set point ها گزینه ی خیلی خوبی است ،
      در مورد power down ، فرض که میکروکنترلر شما اجیر شده که فقط ساعت باشه و نه کار دیگه ، در غیر این صورت جوانب دیگه رو هم باید در نظر گرفت ، اما اگر اینطور بود ، و اگر از lcd استفاده میکنید ، باید به جدول Wake-up Sources تو دیتاشیت مراجعه کنید ، برای M8 صفحه 33 است ، تو این جدول نوشته که با چه منابعی میتوانید میکروکنترلر را از خواب بیدار کنید ، در مد power down فقط twi addresse match و وقفه های خارجی میتونند میکرو رو بیدار کنند ، که در مورد twi فقط برای مد slave هست واضحه ، پس شما باید فقط از وقفه های خارجی برای بیدار کردن استفاده کنید ، برای این کار میتونید از کلاک خروجی ds1307 استفاده کنید که میتواند 1 هرتز کلاک روی یکی از پایه هایش ایجاد کند ، به این صورت هر یک ثانیه میکرو را بیدار میکنید ، اطلاعات را از ds1307 میگیرید و روی ال سی دی نمایش میدهید و دوباره میکرو را میخوابانید ، اگر هم نه ، شما از مد power save استفاده کن ، که تایمر 2 هم میتونه بیدارش کنه ، تایمر 2 رو طوری تنظیم میکنید که هر یک ثانیه یا کمی کمتر ، میکرو را بیدار کند ، دیتا را بگیرد و نمایش دهد ،
      برای این کار در صفحه 31 مگا 8 برای نمونه ، میبینید که چه مقادیری را در رجیستر MCUCR قرار دهید تا به مد خواب مورد نظر برسید بعد هم با دستور اسمبلی sleep میکرو میخوابه
      برای مصرف کمتر ، هرچه سرعت کلاک میکروکنترلر کمتر باشه ، انرژی کمتری مصرف میکنه

      Good Luck

      دیدگاه


        #18
        پاسخ : ساعت

        سلام
        پایه ی 7 آی سی DS1307 به کجا باید متصل بشه؟ (زمین، Vcc یا به یکی از پایه های میکرو؟)
        ممنون میشم اگر بنده را راهنمایی بفرمایید.

        دیدگاه


          #19
          پاسخ : ساعت

          نوشته اصلی توسط robot1
          سلام
          پایه ی 7 آی سی DS1307 به کجا باید متصل بشه؟ (زمین، Vcc یا به یکی از پایه های میکرو؟)
          ممنون میشم اگر بنده را راهنمایی بفرمایید.
          سلام

          http://atmega32-avr.com/wp-content/u.../06/ds1307.gif

          www.8051projects.net/i2c-twi-tutorial/ds1307-8051-example.png

          http://noweenergie.org/userfiles/ima...owy/ds1307.gif

          http://www.hocavr.com/writing/docs/i...7/image006.jpg

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

          دیدگاه


            #20
            پاسخ : ساعت

            سلام بچه ها من میخوام یه کرنومتر رو به سنسور حرکت وصل کنم.استارتش با خودم باشه ولی تا سنسور یه حرکتی رو حس کرد استپ کنه!می تونین کمکم کنید؟من خیلی تازه کار هستم و چیزی از اینا سر در نمیارم
            مدار سنسورشودرست کردم ولی راجع به کرنومتر و اینکه چیش واسه استپ باید به پایه خروجی سنسور وصل بشه رو نمیدونم

            دیدگاه


              #21
              پاسخ : ساعت

              نوشته اصلی توسط parisaap
              سلام بچه ها من میخوام یه کرنومتر رو به سنسور حرکت وصل کنم.استارتش با خودم باشه ولی تا سنسور یه حرکتی رو حس کرد استپ کنه!می تونین کمکم کنید؟من خیلی تازه کار هستم و چیزی از اینا سر در نمیارم
              مدار سنسورشودرست کردم ولی راجع به کرنومتر و اینکه چیش واسه استپ باید به پایه خروجی سنسور وصل بشه رو نمیدونم
              سلام
              1- از چه میکرویی میخواید استفاده کنید؟
              2- دقت مورد نیاز برای کرنومتر شما چقدره؟
              3- سنسور شما خروجیش ار چه نوعیه؟ ولتاژ یا جریان؟
              4- محدوده تغییرات خروجی چقدره؟
              5- نمایش شما بر روی چی خواهد بود؟
              و ...
              خیلی میشه سوال پرسید
              بنابراین تا اونجا که میتونید و میدونید
              مساله رو واضح تر مطرح کنید
              1: اللهم صل علی محمد و آل محمد و عجل فرجهم و ...
              2: دانش بهتره یا ثروت؟ بدون شعور هیچکدوم!
              3: دلا معاش چنان کن که گر بلغزد پای *** فرشته‌ات به دو دست دعا نگه دارد (حافظ)

              دیدگاه


                #22
                پاسخ : ساعت

                سلام به همه
                من یک برنامه ساعت نوشتم اما دقیق نیست و درصد خطاش بالاست ازدوستان عزیز می خواهم که من رو یاری بدن
                برنامه:
                کد:
                [/$regfile = "m16adef.dat"
                $crystal = 1000000
                Config Porta = Output
                Config Portb = Output
                Config Pinc.0 = Input
                Config Pinc.7 = Input
                Dim A As Byte
                Dim B As Byte
                Dim C As Byte
                Dim D As Byte
                Dim E As Integer
                
                A = 0
                B = 0
                C = 0
                D = 0
                F:
                E = 0
                Do
                Incr E
                If Pinc.0 = 1 Then Goto J
                If Pinc.7 = 1 Then Goto K
                Portb = Lookup(a , H)
                Porta = &H08
                waitms 1
                Portb = Lookup(b , H)
                Porta = &H04
                Waitms 1
                Portb = Lookup(c , H)
                Porta = &H02
                Waitms 1
                Portb = Lookup(d , H)
                Porta = &H01
                Waitms 1
                If X = 65535 Then Incr E
                If E = 60 Then Goto G
                Loop
                
                K:
                Incr C
                Waitms 120
                Goto L
                
                J:
                Waitms 120
                
                G:
                Incr A
                L:
                If A > 9 Then Incr B
                If A > 9 Then A = 0
                If B > 5 Then Incr C
                If B > 5 Then B = 0
                If D = 2 Then Goto I
                If C > 9 Then Incr D
                If C > 9 Then C = 0
                Goto F
                
                
                
                I:
                If C = 4 Then D = 0
                If C = 4 Then C = 0
                Goto F
                
                H:
                Data &H40 , &H79 , &H24 , &H30 , &H19 , &H12 , &H02 , &H78 , &H00 , &H10code]

                دیدگاه

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