2011年6月25日 星期六

DIY - PIC:PIC18F4550 DS1307 實時時鐘電路程式 (九十一)

DIY - PICPIC18F4550 DS1307 實時時鐘電路程式 (九十一)

Microchip PIC18F4550 實時時鐘電路程式,程式是利用 I2C 總線,並設定 DS1307 內的寄存器,實時時鐘電路供電後,電路便會開始計時,並將時間放在時間寄存器,程式會讀取時間寄存器內的時間數據,然後在 LC1602 顯示屏顯示時間。

18F4550 + DS1307 實時時鐘程式流程圖

void main (void)
{        
    char LCD_name[]="BWS DS1307  v1.0";
       
    ADCON0 = 0x00; // Disable the AD converter
    ADCON1 = 0x0F; // Set all ports to digital
    TRISA = 0b00000000;                    // Setup PORTB as output for LED's   
   
    // Initialise LCD
    LcdOpen();                            // See lcd.c
     OpenXLCD(FOUR_BIT&LINES_5X7);        // Init the LCD Display
    BusyXLCD();
    stdout = _H_USER;
    LcdSetLine1();                        // Put cursor on start of line 1
    putsXLCD(LCD_name);                    // Display Title
    wait_key();
    LcdClear();

    InitI2C();
    DS1307_init();
    DS1307_settime(hrs,min,sec);
    DS1307_setdate(year10,month,day,dayofweek); 
    DS1307_setsqwe(sqwe);   

    while(1){

        LED0=1;

        DS1307_readstart();
        sec=DS1307_readsecond();
        min=DS1307_readminute();
        hrs=DS1307_readhour();
        dayofweek=DS1307_readdayodweek();
        day=DS1307_readday();
        month=DS1307_readmonth();
        year10=DS1307_readyear();
        DS1307_readstop();
        year=year10+2000;

        LcdSetLine1();
        printf("20%02i/%02i/%02i  ", year10, month, day);
       
                        LcdSetLine2();        // Put cursor on start of line 2
        //printf("Time:%02i:%02i:%02i-%01i", hrs, min, sec, key);
        printf("%02i:%02i:%02i %01i  ", hrs, min, sec, dayofweek);
        LED0=0;
        delay();
    } // END While
   
} // END main.c

 
18F4550 + DS1307 實時時鐘運行開始
18F4550 + DS1307 實時時鐘運行中!
問題: DS1307 實時時鐘電路,再插入 SD 記憶卡模塊,程式便不能運行,但單獨時,實時時鐘是可以運作。主要是兩個電阻 (R12,R13) 再加上SD 記憶卡模塊上的電阻 (R7, R10),使到電壓偏低在 SCL 訊號上,不能夠設定 DS1307 實時時鐘,變成程式不能啟到 DS1307,所以要再設計 SD 記憶卡模組電路。
 
DS1307實時時鐘加入SD 記憶卡模塊
DS1307實時時鐘 SCK 波型
DS1307實時時鐘加入SD 記憶卡模塊SCK 輸出 (2V)

2011 06 25 天氣報告 
氣溫:28.5 @ 22:00 
相對濕度:百分之80% 
天氣:多雲


相關網頁

沒有留言:

張貼留言