اطلاعیه

Collapse
No announcement yet.

نحوه راه اندازی ds1307 توسط کد ویژن

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

    نحوه راه اندازی ds1307 توسط کد ویژن

    سلام دوستان من توسط کد ویزارد ds1307 رو ست کردم

    ولی توابع و دساوراتش رو می خواستم البته برای کدویژن

    #2
    پاسخ : نحوه راه اندازی ds1307 توسط کد ویژن

    سلام دوست عزیز :biggrin:
    اگر توی هلپ کدویژن Maxim/Dallas Semiconductor DS1307 Real Time Clock Functions اینو سرچ کنی، توابع مورد نیاز رو میاره:
    یه قسمتش اینه:
    void rtc_get_time(unsigned char *hour, unsigned char *min, unsigned char *sec)

    this function returns the current time measured by the RTC.
    The *hour, *min and *sec pointers must point to the variables that must receive the values of hours, minutes and seconds.
    Example:

    /* the I2C bus is connected to ATmega8515 PORTB */
    /* the SDA signal is bit 3 */
    /* the SCL signal is bit 4 */
    #asm
    .equ __i2c_port=0x18
    .equ __sda_bit=3
    .equ __scl_bit=4
    #endasm

    #include <ds1307.h>

    void main(void) {
    unsigned char h,m,s;

    /* initialize the I2C bus */
    i2c_init();

    /* initialize the DS1307 RTC */
    rtc_init(0,0,0);

    /* read time from the DS1307 RTC */
    rtc_get_time(&h,&m,&s);

    /* ........ */
    }

    void rtc_set_time(unsigned char hour, unsigned char min, unsigned char sec)

    this function sets the current time of the RTC.
    The hour, min and sec parameters represent the values of hour, minutes and seconds.

    void rtc_get_date(unsigned char *date, unsigned char *month, unsigned char *year)

    this function returns the current date measured by the RTC.
    The *date, *month and *year pointers must point to the variables that must receive the values of date, month and year.

    void rtc_set_date(unsigned char date, unsigned char month, unsigned char year)

    this function sets the current date of the RTC
    امیدوارم که دیگه مشکلی نباشه! :agree:
    همیشه بزرگوار تر از آن باشید که برنجید
    و نجیب تر از آن باشید که برنجانید!

    دیدگاه


      #3
      پاسخ : نحوه راه اندازی ds1307 توسط کد ویژن

      ممنون دوست عزیز

      تست می کنم اگر جایی گیر کردم ازت کمک می گیرم .

      دیدگاه


        #4
        پاسخ : نحوه راه اندازی ds1307 توسط کد ویژن

        سلام مجدد

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

        امکانش هست یه نمونه بسیار ساده که فقط ساعت و دقیقه و ثانیه رو رو lcd نمایش بده رو برام بنویسید تا با نحوه کار با توابعش آشنا بشم

        ممنون عزیزم

        دیدگاه


          #5
          پاسخ : نحوه راه اندازی ds1307 توسط کد ویژن

          سلام دوست عزیز :mrgreen:
          اینم لینک یه نمونه برنامه:
          که تاریخ و ساعت رو روی lcd نشون می ده،تمام توابع همونایی که برات گذاشتم هیچی نداره:
          http://www.persiangig.com/pages/down...m/ds1307_1.rar
          فقط یه نکته ای رو توجه داشته باش:
          میکرویی که من استفاده کردم atmega32 است که اگه دیتا شیت شو ببینی پایه scl پایه صفر از پورت c است و پایه sda پایه یک از پورت c است:
          #include <mega32.h>

          // I2C Bus functions
          #asm
          .equ __i2c_port=0x15 ;PORTC
          .equ __sda_bit=0
          .equ __scl_bit=1
          #endasm
          #include <i2c.h>
          ولی طبق برنامه بالامی بینی که این پایه جابجا تعریف شدند(از طریق کدویزارد) oo:
          این موضوع رو اگه توجه نداشته باشی جواب نمی ده
          پس حواستو جمع کن ببین توی کدویزارد این پایه ها رو چطور تنظیم می کنی و طبق همون تنظیمات میکرو رو به ds1307 وصل کن!
          موفق و سربلند باشی :biggrin:
          همیشه بزرگوار تر از آن باشید که برنجید
          و نجیب تر از آن باشید که برنجانید!

          دیدگاه


            #6
            پاسخ : نحوه راه اندازی ds1307 توسط کد ویژن

            حالب شد

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

            165:165:165
            165/165/165

            دیدگاه


              #7
              پاسخ : نحوه راه اندازی ds1307 توسط کد ویژن

              ببین دوست گلم من فکر می کنم که پایه های sda و scl رو جابجا وصل کردی!!! :mrgreen:
              همون نکته ای که گفتم توجه کن!
              این مشکل رو قبلا خودم هم داشتم!
              اینکار رو کن: همون مدار و همون برنامه رو داشته باش بدون تغییر، فقط سیم هایی رو که به پایه های دیتا و کلاک وصل کردی جابجا کن! :biggrin:
              باور کن این موضوع ساده تر از این هاست،با صبر و حوصله کاری رو که گفتم انجام بده! باریک الله پسر خوب! :biggrin:
              همیشه بزرگوار تر از آن باشید که برنجید
              و نجیب تر از آن باشید که برنجانید!

              دیدگاه


                #8
                پاسخ : نحوه راه اندازی ds1307 توسط کد ویژن

                جا به جا کردم نشد

                امکان داره از پروتئوس باشه

                شما با چه ورژنی از پروتئوس تست کردید

                من با 7.4

                البته فایل شما باز نشد

                دیدگاه


                  #9
                  پاسخ : نحوه راه اندازی ds1307 توسط کد ویژن

                  oo:
                  من فکر کردم داری مدارشو می بندی! اگه ببندی عملی می بینی که خیلی زود جواب میده!
                  ورژن پروتئوس من 7.6 است.
                  آره ممکنه که مشکل از پروتئوس باشه، بعضی وقت ها بد جواب می ده :agree:
                  همیشه بزرگوار تر از آن باشید که برنجید
                  و نجیب تر از آن باشید که برنجانید!

                  دیدگاه


                    #10
                    پاسخ : نحوه راه اندازی ds1307 توسط کد ویژن

                    هنوز تو سخت افزارم مدار DS1307 رو اضافه نکردم

                    دارم یه منبع تغزیه 0 تا 5 ولت + یک آمپر متر بسیار دقیق که در کار موبایل بسیار کاربرد داره راه می ندازم

                    تست تاچ - تست میکروفون - اسپیکر - کریستال و یک فرکانس متر رو اضافه کردم

                    گفتم برای کلاس یه ساعت هم بهش اضافه کنم

                    الان دارم 7.6 رو دانلود می کنم ببینم چی میشه .

                    ممنون که رسیدگی می کنی

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

                    تهران

                    اگر کاری داشتی در زمینه آموزش تعمیرات و خدمات نوکیا در خدمتم ..

                    دیدگاه


                      #11
                      پاسخ : نحوه راه اندازی ds1307 توسط کد ویژن

                      نوشته اصلی توسط javadian2
                      حالب شد

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

                      165:165:165
                      165/165/165
                      با سلام
                      http://www.eca.ir/forum2/index.php?t...0710#msg290710
                      با سپاس
                      گشتی در لاله زار
                      http://www.eca.ir/forum2/index.php?topic=76138.0

                      http://www.eca.ir/forum2/index.php?topic=76141

                      دیدگاه


                        #12
                        پاسخ : نحوه راه اندازی ds1307 توسط کد ویژن

                        با سلام و خسته نباشید
                        من از این آی سی استفاده کردم اما وقتی دستورات رو می نویسم و برنامه رو پروتیوس اجرا می کنم به جای آنکه ساعت لپ تاپم رو نمایش بده به جای ساعت ، دقیقه و ثانیه رو 165 نشون می ده ممکنه مشکل از کجا باشه؟؟

                        دیدگاه


                          #13
                          پاسخ : نحوه راه اندازی ds1307 توسط کد ویژن

                          سلام
                          وقتی تو کار عملی برام 165 نشون می داد دو حالت داشت سیم های متصل به میکرو رو برعکس می زدنم یه حالت دیگه بعد بستن مدار یا اشتباه در برنامه بود(انگار سه حالت شد )
                          شماتیک و برنامه هت رو اپلود کن شاید باهم درست کردیم

                          دیدگاه


                            #14
                            پاسخ : نحوه راه اندازی ds1307 توسط کد ویژن

                            میکرویی که من استفاده کردم atmega32 است که اگه دیتا شیت شو ببینی پایه scl پایه صفر از پورت c است و پایه sda پایه یک از پورت c است
                            دوست عزیز در i2c نرم افزاری لازم نیس که حتما sda و scl رو به همون پایه های sda , scl که در دیتاشیت مشخص شده وصل کنید. این دوپایه برای two wire هستش. در i2c شما خودتون میتونید هرکدوم از پایه ها رو که بخواین بعنوان sda و scl در نظر بگیرید.

                            برای راه اندازی ds1307 به این نکات توجه کنید:
                            1- حتما باید برای بار اول از دستورات rtc_set_time و rtc_set_date استفاده کنید و در صورتی که باتری بک پ متصل باشه برای دفعه های بعدی نیازی به این 2 دستور نخواهد بود.
                            2- حتما scl و sda رو با مقاومت های 4.7 کیلو پول پ کنید.
                            3- اگه از برد بورد استفاده میکنید به اتصال scl و sda توجه کنید.
                            4- از کریستال های مرغوب 32.768 کیلو هرتز استفاده کنید و با خازن های 22 پیکو فارادی پایه های کریستال رو زمین کنید. همچنین هنگام لحیم کاری از داغ شدن زیاد کریستال جلوگیری کنید.
                            5- برای برنامه نویسی برای بار اول بهتره از help کدویژن کمک بگیرید. بدین صورت که در قسمت help عبارت ds1307 رو سرچ کنید و از مثال های اون استفاده کنید.
                            www.gam-co.blogsky.com

                            دیدگاه


                              #15
                              پاسخ : نحوه راه اندازی ds1307 توسط کد ویژن

                              سلام .من با ds1307برنامه ساعت نوشتم توی پرتئوس جواب میده اما واقعیت نه.از کریستال32.768هم استفاده کردم اما در عمل یا165:165:165 نشون میده یا0:0:0 واصلا نمی شماره .توروخدا کمکم کنید .باید از خازن استفاده کنم ؟ چه خازنی و کجای مدار

                              دیدگاه

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