اطلاعیه

Collapse
No announcement yet.

سوال در مورد برنامه ساعت با DS1307

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

    #31
    پاسخ : سوال در مورد برنامه ساعت با DS1307

    ایول به مرام استاد حامد رحیمی :applause: :applause: :applause:
    من خرابه این معرفتت داش حامد

    درست میگی هم متغیرها رو اشتباه داده هم کلا طرح منو نگرفته!

    اینم اون چیزی که می خواستی:
    http://s3.picofile.com/file/7372117090/C3.zip.html
    انا لله و انا الیه الراجعون

    دیدگاه


      #32
      پاسخ : سوال در مورد برنامه ساعت با DS1307

      :mrgreen:
      خوب تا حدودی گرفتم !!
      راه حل :
      ببینید یه راه توپ دارم براتون
      !!
      ds1307 علاوه بر اینکه یه ساعته یه حافظه هم هست !!
      از خود قسمت های خالی ds استفاده کن !!
      استفاده از e2 ممکنه بعد از چند سال برات مشکل ایجاد کنه (دفعات نوشتن و خواندن )
      ولی من کاملا با قسمت e2 کار کردم مشکلی نداره
      بازم دارم تاپیکو ادامه میدم
      [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

      دیدگاه


        #33
        پاسخ : سوال در مورد برنامه ساعت با DS1307

        خب توضیح ها رو که قبلا گفتم فقط می مونه چند تا نکته:
        1-مدار وقتی شروع بع زمان سنجی می کنه کخ کلید SW1 که همون دکمه START دستگاه ماست زده بشه.
        2-خب ما کی می خوام مقادیر ذخیره بشه وقتی که برق میره.که این کار رو توی برنامه هست و در حالت واقعی هم اتفاق میوفته ولی برای اینکه بتونم توی پروتئوس هم نشون بدم دوتا کار کردم.

        الف-یه کلید SW2 گذاشتم که با صفر شدن اون که مثلا توسط برق انجام میشه شرط روی PINB.0 برقرار بشه و عملیات ذخیره شدن انجام بشه.بعد که STOP پروتئوس رو که می زنی مثلا دیگه ذخیره خازن2200 تموم میشه و دستگاه و ساعت کلا خاموش میشن.

        ب-حالا قبل اینکه دوباره پروتئوس رو RUN باید کلی SW2 رو روی +6VIN بزاری بعد RUN کنی(که اینا شبیه سازی اومدن دوباره برقه)

        حالا می بینی که شمارنده از آخرین لحظه ای که پروتئوس رو STOP دادی شروع به شمارش می کنه.

        ج-واسه اینکه این ذخیره سازی نمود پیدا کنه توی این قسمت به جای TMINE گذاشتم TSECO بعد درستش کن:

        Else

        Locate 1 , 1
        Lcd Hour ; ":" ; Mine ; " " ; "ON (" ; Thour ; ":" ; Tseco ; &quot "
        Lowerline
        Lcd Jyear ; "/" ; Jmonth ; "/" ; Jday ; " " ; Selection ; " "

        End If

        نوشته اصلی توسط حامد رحیمی
        :mrgreen:
        خوب تا حدودی گرفتم !!
        راه حل :
        ببینید یه راه توپ دارم براتون
        !!
        ds1307 علاوه بر اینکه یه ساعته یه حافظه هم هست !!
        از خود قسمت های خالی ds استفاده کن !!
        استفاده از e2 ممکنه بعد از چند سال برات مشکل ایجاد کنه (دفعات نوشتن و خواندن )
        ولی من کاملا با قسمت e2 کار کردم مشکلی نداره
        بازم دارم تاپیکو ادامه میدم
        اگه به برنامه نگاه کنی فقط موقع قطع و وصل برق هست که E2PROM اونم فقط برای یه بار پاش میاد وسط که با توجه به 10000 یا100000 باری که میشه توش نوشت...
        ....به عمر نوه نتیجه های ما هم قد میده!!!!! :mrgreen:

        ولی حالا یه کمی توضیح وده ببینیم چطور میشه باهاش کار کرد
        انا لله و انا الیه الراجعون

        دیدگاه


          #34
          پاسخ : سوال در مورد برنامه ساعت با DS1307

          نوشته اصلی توسط شاهین شرق
          خب توضیح ها رو که قبلا گفتم فقط می مونه چند تا نکته:
          1-مدار وقتی شروع بع زمان سنجی می کنه کخ کلید SW1 که همون دکمه START دستگاه ماست زده بشه.
          2-خب ما کی می خوام مقادیر ذخیره بشه وقتی که برق میره.که این کار رو توی برنامه هست و در حالت واقعی هم اتفاق میوفته ولی برای اینکه بتونم توی پروتئوس هم نشون بدم دوتا کار کردم.

          الف-یه کلید SW2 گذاشتم که با صفر شدن اون که مثلا توسط برق انجام میشه شرط روی PINB.0 برقرار بشه و عملیات ذخیره شدن انجام بشه.بعد که STOP پروتئوس رو که می زنی مثلا دیگه ذخیره خازن2200 تموم میشه و دستگاه و ساعت کلا خاموش میشن.

          ب-حالا قبل اینکه دوباره پروتئوس رو RUN باید کلی SW2 رو روی +6VIN بزاری بعد RUN کنی(که اینا شبیه سازی اومدن دوباره برقه)

          حالا می بینی که شمارنده از آخرین لحظه ای که پروتئوس رو STOP دادی شروع به شمارش می کنه.

          ج-واسه اینکه این ذخیره سازی نمود پیدا کنه توی این قسمت به جای TMINE گذاشتم TSECO بعد درستش کن:

          Else

          Locate 1 , 1
          Lcd Hour ; ":" ; Mine ; " " ; "ON (" ; Thour ; ":" ; Tseco ; &quot "
          Lowerline
          Lcd Jyear ; "/" ; Jmonth ; "/" ; Jday ; " " ; Selection ; " "

          End If

          اگه به برنامه نگاه کنی فقط موقع قطع و وصل برق هست که E2PROM اونم فقط برای یه بار پاش میاد وسط که با توجه به 10000 یا100000 باری که میشه توش نوشت...
          ....به عمر نوه نتیجه های ما هم قد میده!!!!! :mrgreen:
          به والله اقایی :applause: :applause: :applause: :applause:
          من هنوز فایل رو نگاه نکردم ولی امروز عملیات شارژ ودشارژخازن رو انجام دادم
          از یه خازن 3300میکرو 25 ولت استفاده کردم طبق فرمول t=RC خازن بعد از ثابت زمان خاصی شارژ میشه مثلا من با 10 ولت DC شارژکردم و ولتاژ دو سر خازن بعد ازشارژ حدودا به 8 ولت میرسید(یه خورده کمتر)..وقتی که ولتاژ رو از خازن جدا کردم خازن ((یواش یواش)) شروع کرد به دشارژ شدن (تمامی لحظات رو با اوومتر دیجیتالی چک میکردم چه شارژ چه زمان دشارژ). ولی به محض اینکه یه LEDبا خازن موازی میکردم تا ببینم در حالت بار چقد طول میشکه تا خازن دشارژ بشه ،، به 1 ثانیه نمیکشید ولتاژ دو سر خازت از 7.5 ولت به 1.5 ولت کاهش پیدا میکرد وبرای میلی ثانیه ال ای دی رو روشن میکرد..
          حالا 2 سوال برا من پیش اومده::: :question:

          1==اولا که طبق ثابت زمانی ولتاژ 2 سر خازن 60درصد ولتاژ اعملی به خازن هست .یعنی اگر من به خازن ولتاژ 10ولت رو بدم بعد از شارژ کامل ولتاژ دو سرخازن حدودا 8 ولت هست . اگر برق قطع بشه و میکرو از خازن ولتاژ 8 ولت رو بگیره نمیسوزه ؟؟؟

          2==خازن در عمل بیش از اون چیزی که ما فکرشو میکنیم سریعتر دشارژ میشه در صورتی که من خازن ظرفیت بالا 3300میکرو قرار دادم.بنظرتون میتونه ولتاژ میکرو رو برای حداقل 3 ثانیه ساپورت کنه ؟؟؟؟برا ال ای دی که جواب نداد :cry2: :cry2: :cry2:

          دیدگاه


            #35
            پاسخ : سوال در مورد برنامه ساعت با DS1307

            [quote author=علیدلیا link=topic=62336.msg353259#msg353259 date=1336074676]
            نام کاربریم درست شد :wow: :wow: :wow: :wow:
            به والله اقایی :applause: :applause: :applause: :applause:
            فایل رو نگاه کردم خدایی دمت گرم همون چیزی میخاستم که شد... :wow: :wow: :wow: :applause: :applause: :applause:
            ولی امروز عملیات شارژ ودشارژخازن رو انجام دادم
            از یه خازن 3300میکرو 25 ولت استفاده کردم طبق فرمول t=RC خازن بعد از ثابت زمان خاصی شارژ میشه مثلا من با 10 ولت DC شارژکردم و ولتاژ دو سر خازن بعد ازشارژ حدودا به 8 ولت میرسید(یه خورده کمتر)..وقتی که ولتاژ رو از خازن جدا کردم خازن ((یواش یواش)) شروع کرد به دشارژ شدن (تمامی لحظات رو با اوومتر دیجیتالی چک میکردم چه شارژ چه زمان دشارژ). ولی به محض اینکه یه LEDبا خازن موازی میکردم تا ببینم در حالت بار چقد طول میشکه تا خازن دشارژ بشه ،، به 1 ثانیه نمیکشید ولتاژ دو سر خازت از 7.5 ولت به 1.5 ولت کاهش پیدا میکرد وبرای میلی ثانیه ال ای دی رو روشن میکرد..
            حالا 2 سوال برا من پیش اومده::: :question:

            1==اولا که طبق ثابت زمانی ولتاژ 2 سر خازن 60درصد ولتاژ اعملی به خازن هست .یعنی اگر من به خازن ولتاژ 10ولت رو بدم بعد از شارژ کامل ولتاژ دو سرخازن حدودا 8 ولت هست . اگر برق قطع بشه و میکرو از خازن ولتاژ 8 ولت رو بگیره نمیسوزه ؟؟؟

            2==خازن در عمل بیش از اون چیزی که ما فکرشو میکنیم سریعتر دشارژ میشه در صورتی که من خازن ظرفیت بالا 3300میکرو قرار دادم.بنظرتون میتونه ولتاژ میکرو رو برای حداقل 3 ثانیه ساپورت کنه ؟؟؟؟برا ال ای دی که جواب نداد :cry2: :cry2: :cry2:

            و سوال اخر اینکه .وقتی ما استارت رو میزنیم و تایمر شروع میکنه به شمارش و اگر برق قطع بشه و دوباره وصل بشه ،،، دوباره بر میگرده به حالت قبلی خودش و مجداد شروع به شمارش میکنه .حالا اگر ماخواستیم تایمر رو صفر کنیم باید چیکار کنیم ؟؟؟؟


            یا به اندازه آرزوهایت تلاش میکنی یا به اندازه تلاشت ارزو میکنی

            دیدگاه


              #36
              پاسخ : سوال در مورد برنامه ساعت با DS1307

              بابا مهندس شما چرا؟! :surprised:
              1-ما خازن رو بعد رگولاتور میزاریم(به نقشه نیگا کن) یعنی آخرش 5 ولت سرش میوفته.
              2-بعد شما AVR رو دست کم گرفتیا! :NO: در کسری از میلی ثانیه میکرو همه کاراشو کرده رفته تعطیلات!
              انا لله و انا الیه الراجعون

              دیدگاه


                #37
                پاسخ : سوال در مورد برنامه ساعت با DS1307

                نوشته اصلی توسط شاهین شرق
                بابا مهندس شما چرا؟! :surprised:
                1-ما خازن رو بعد رگولاتور میزاریم(به نقشه نیگا کن) یعنی آخرش 5 ولت سرش میوفته.
                2-بعد شما AVR رو دست کم گرفتیا! :NO: در کسری از میلی ثانیه میکرو همه کاراشو کرده رفته تعطیلات!
                از بسکه ذوق زده شده بودم دقت نکردم :wow: :wow: :wow: :wow:

                جواب سوال اخر من رو بدی دیگه فعلا کارمون تموم هست و یه تشکر دیگه ازت میکنم که در چندروز اینده یه ستاره بگیری و با درجه سرتیپی بیای تو انجمن :icon_razz: :icon_razz: :icon_razz: :icon_razz:

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

                دیدگاه


                  #38
                  پاسخ : سوال در مورد برنامه ساعت با DS1307

                  آهان!چون می دونستم اینو هم می خوای توی برنامه گذاشتم.
                  فقط کلید set رو برای 6امین بار می زنی و ثانیه رو صفر می کنه همون جا متغیرهای شمارش کارکرد رو هم صفر می کنه.
                  یادت نره که جایtseco در برنامه tmine بزار.
                  واینکه کلید sw2 در حالت عملی نیاز نیست و فقط سر مقاومت 1k رو به 6ولت (یا همون قبل رگولاتور) وصل کنی.
                  انا لله و انا الیه الراجعون

                  دیدگاه


                    #39
                    پاسخ : سوال در مورد برنامه ساعت با DS1307

                    :mrgreen: :mrgreen:
                    با سلام خدمت ستوان شاهین شرق ؟ !!
                    به عکس نگاه کن سطر اخر :rolleyes: :rolleyes:
                    [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

                    دیدگاه


                      #40
                      پاسخ : سوال در مورد برنامه ساعت با DS1307

                      سلام استاد :bye :bye :bye :bye
                      استاد من اول برنامه یه دستوری نوشتم که به محض اینکه LCD روشن میشه 2 تا نوشته رو نشون میده و بعد میره سر اصل مطلب اون برنامه اینه ::
                      Cursor Off
                      Cls

                      K = "ALIREZA"
                      Locate 2 , 1
                      Lcd "ALI"
                      For W = 1 To 16
                      Locate 1 , W
                      Lcd " " ; K
                      Waitms 50
                      Next
                      حالا میخام مثلا هر 1 دقیقه،،، به مدت 3 ثانیه اونو نشون بدم .
                      از چه دستوری استفاده کنم ؟؟؟
                      و کجای برنامه قرارش بدم ؟؟
                      البته مثال زدم که هر 1 دقیقه و به مدت 3 ثانیه نشون بده . :read:
                      یا به اندازه آرزوهایت تلاش میکنی یا به اندازه تلاشت ارزو میکنی

                      دیدگاه


                        #41
                        پاسخ : سوال در مورد برنامه ساعت با DS1307

                        سیلوم !! :mrgreen:
                        خوب اقا ببین یه متغیر بساز
                        توی حلقه اصلی متغیر رو افزایش بده
                        dim temp as word

                        حلقه اصلی
                        incer temp
                        if temp >1000 then :
                        temp=0
                        go to ali
                        end if

                        ببین کل کار برنامه اینه !!
                        مثلا هر ثانیه حلقه اصلی 10 بار زده میشه

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

                        دیدگاه


                          #42
                          پاسخ : سوال در مورد برنامه ساعت با DS1307

                          اقا حامد وشاهین شرق واقعا ممنونم :applause: :applause: :applause: :applause: :applause:
                          .تو این مدتی که این تاپیک ایجاد شد خیلی کمکم کردید و خیلی چیزها هم ازتون یاد گرفتم واقعا متشکرم ازتون :nice: :nice: :nice: :nice: :agree: :agree:
                          یا به اندازه آرزوهایت تلاش میکنی یا به اندازه تلاشت ارزو میکنی

                          دیدگاه


                            #43
                            پاسخ : سوال در مورد برنامه ساعت با DS1307

                            سلام دوستان خوبم :bye :bye :bye :bye :bye
                            همون مداره که با همدیگه کاراشو انجام دادیم ..حالا میخام بهش یه اپشن جدید اضافه کنم که هر روز بصورت ثابت مثلا ساعت 12 یه رله رو فعال کنه و 20 دقیقه بعدش رله رو غیرفعال کنه ..
                            برای ساعتهای معمولی میتونم برنامشو بنویسم ولی چون اینجا از ds1307استفاده کرده نمیدونم چطور باید برنامشو بنویسم.(اخر من باید برم کار با DS1307 رو یاد بگیرم :angry: :angry: :angry
                            اون برنامه اینه .

                            If Hour = 10 And Mine = 30 And Seco = 13 Then
                            set portb.2
                            If Hour = 11 And Mine = 0 And Seco = 0 Then
                            reset portb.2
                            end if
                            درست هست این برنامه ؟اشتباه ننوشتم .کجا باید قرارش بدم ؟؟


                            حالا شما منو مثل قبل راهنمایی کنید که چطور اینکارو انجام بدم :read: :read: :read:
                            یا به اندازه آرزوهایت تلاش میکنی یا به اندازه تلاشت ارزو میکنی

                            دیدگاه


                              #44
                              پاسخ : سوال در مورد برنامه ساعت با DS1307

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

                              دیدگاه


                                #45
                                پاسخ : سوال در مورد برنامه ساعت با DS1307

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

                                دیدگاه

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