ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

نمایش نتایج: از 1 به 4 از 4
  1. #1
    2009/10/19
    169
    2

    مشکل در رابطه با DS1390

    با سلام
    من يک ساعت ديجيتال با RTC ساختم و از DS1390 استفاده کردم. در ظاهر به نظر مي آد که درست کار مي کنه اما پس از مدتي متوجه شدم که زمان رو سريعتر محاسبه مي کنه .!!! به نظر شما مشکل از چيه ؟ چند با کريستال و خود RTC رو عوض کردم ولي فرقي نکرد

    کد:
    #define RTC_chip_select portc.f0
    char* text;
    char txt[6];
    unsigned char  Minute,Second,Hour;
    void lcd(){
    byteToStr(Bcd2Dec(Second), txt);
    Lcd_Out(3, 12, txt);
    byteToStr(Bcd2Dec(Minute), txt);
    Lcd_Out(3, 9, txt);
    text=":";
    Lcd_Out(3, 12, text);
    byteToStr(Bcd2Dec(Hour), txt);
    Lcd_Out(3, 6, txt);
    Lcd_Out(3, 9, text);
    }
    //////////////////////////////////////// Set Hour
    void Inc_Hour(){
    delay_ms(200);
    Hour = Bcd2Dec(Hour);
    Hour++;
    if( Hour> 24)Hour =0;
    Hour=Dec2Bcd(Hour);
    RTC_chip_select=0;
    spi_write(0x83);
    spi_write(Hour);
    RTC_chip_select=1;
    }
    //////////////////////////////////////////Set Hour
    ///////////////////////////////////////// Set Minute
    void Inc_Minute(){
    delay_ms(200);
    Minute = Bcd2Dec(Minute);
    Minute++;
    if( Minute> 59)Minute=0;
    Minute=Dec2Bcd(Minute);
    RTC_chip_select=0;
    spi_write(0x82);
    spi_write(Minute);
    RTC_chip_select=1;
    }
    ////////////////////////////////////////Set Minute
    ///////////////////////////////////////////Set Second
    void Inc_Second(){
    delay_ms(200);
    Second = Bcd2Dec(Second);
    Second++;
    if( Second> 59)Second=0;
    Second=Dec2Bcd(Second);
    RTC_chip_select=0;
    spi_write(0x81);
    spi_write(Second);
    RTC_chip_select=1;
    }
    /////////////////////////////////////////////Set Second
    ///////////////////////////////////////keypad Function
    void Keypad(){
    unsigned char kp;
    kp = Keypad_Read();
    if(kp=!0) {
    kp = Keypad_Read();
    if(kp==1)Inc_Hour();
    if(kp==2)Inc_Minute();
    if(kp==3)Inc_Second();
    }}
    /////////////////////////////////////// keypad Function
    //////////////////////////////////////RTC_Refresh Function
    void RTC_Refresh(){
    RTC_chip_select=0;         // enable RTC - CS low
    spi_write(0x01);          // seconds register read address
    Second = spi_read(255);    // read seconds register
    Minute =spi_read(255);    // read minutes
    Hour =spi_read(255);     // read hours
    RTC_chip_select=1;         // disable RTC - CS high
    }
    //////////////////////////////////////RTC_Refresh Function
    /////////////////////////////////////RTC_Register Function
    void RTC_Register(){
    ///////////////////////////////control register
    RTC_chip_select=0;
    spi_write(0x8d);        // control register write address
    spi_write(0xBD);        //10111101//
    RTC_chip_select=1;
    ///////////////////////////////control register
    ///////////////////////////////////trickle charger
    RTC_chip_select=0;
    spi_write(0x8f);
    spi_write(0xAB);    // one diode and one 4k resistor
    RTC_chip_select=1;
    //////////////////////////////////trickle charger
    }
    //////////////////////////////////////RTC_Register Function
    ////////////////////////////////////////////Pins Function
    void Pin(){
    trisc.f0=0;  // chip select
    portc.f0=1;  // chip select
    trisc.f1=1;  // int
    portc.f1=1;  // int
    trisc.f2=0;  // led
    portc.f2=0;  // led
    }
    /////////////////////////////////////////////// Pins Function
    //////////////////////////////////////////// main Function
    void main() {
    ADCON1=0b00000111;
    Lcd_Init(&PORTB);
    Lcd_Cmd(Lcd_CURSOR_OFF);
    Keypad_Init(&PORTA);
    Spi_Init_Advanced(MASTER_OSC_DIV64,DATA_SAMPLE_End,CLK_IDLE_HIGH , LOW_2_HIGH) ;
    Pin();
    delay_ms(2000);
    RTC_Register();
    while(1){
    Keypad();
    RTC_Refresh();
    lcd();
    }
    }
    //////////////////////////////////////////// main Function
  2. #2
    2009/09/25
    اصفهان
    814
    48

    پاسخ : مشکل در رابطه با DS1390

    دیتا شیت این آی سی رو نخوندم
    اما اکثر RTC ها برای پایداری بهتر یه خازن با یکی از پایه ها ی کریستال زمین میشه که میشه با تغییر اون این مشکل رو جبران کرد
    هميشه به ياد خدا باش !
  3. #3
    2009/10/19
    169
    2

    پاسخ : مشکل در رابطه با DS1390

    نقل قول نوشته اصلی توسط DDR3
    ديتا شيت اين آي سي رو نخوندم
    اما اکثر RTC ها براي پايداري بهتر يه خازن با يکي از پايه ها ي کريستال زمين ميشه که ميشه با تغيير اون اين مشکل رو جبران کرد
    نه فکر نکنم چون توي ديتا شيت چيزي در اين مورد نگفته (در ضمن خازن داخلي داره). البته من اين رو امتحان کردم يعني پايه هاي کريستال رو با خازن زمين کردم بعد ديگه اصلا کار نکرد.
  4. #4
    2009/09/25
    اصفهان
    814
    48

    پاسخ : مشکل در رابطه با DS1390

    اگر خازن داخلی داره که این مورد بدردش نمی خوره
    اگر کالیبره داخلی داره استفاده کن و یا اینکه بصورت نرم افزاری تصحیحش کن
    یعنی اگر در 24 ساعت 5 ثانیه جلو میره ، در بازه های زمانی 24 ساعت این 5 ثانیه رو ازش کم کن
    من خودم بعلت نداشتن اسیلوسکوپ ، از همین روش استفاده میکنم و خوب هم هست بنظرم
    هميشه به ياد خدا باش !
نمایش نتایج: از 1 به 4 از 4

موضوعات مشابه

  1. مشکل در بدست آوردن رابطه پراکندگي
    توسط realmadrid در انجمن نرم افزار HFSS
    پاسخ: 0
    آخرين نوشته: 2014/06/03, 09:57
  2. پاسخ فوري در رابطه با مشکل ساعت
    توسط sinaa2251 در انجمن مدار هاي ديجيتال
    پاسخ: 3
    آخرين نوشته: 2014/03/09, 20:03
  3. مشکل در رابطه با Arduino pro mini 168
    توسط MiHi در انجمن سایر مطالب مرتبط با ميکرو ها و پروسسورها
    پاسخ: 1
    آخرين نوشته: 2012/09/16, 09:19
  4. پاسخ: 3
    آخرين نوشته: 2012/06/04, 16:36
  5. مشکل در رابطه با تبدیل آرایه به رشته!!!!!
    توسط hossein_tomari007 در انجمن میکروکنترلرهای AVR
    پاسخ: 3
    آخرين نوشته: 2009/10/25, 22:56

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •