310
void set_date(void)
{
rtc.day = decimal_to_bcd(rtc.day);
DS1307_write(day_reg, rtc.day);
rtc.dt = decimal_to_bcd(rtc.dt);
DS1307_write(date_reg, rtc.dt);
rtc.mt = decimal_to_bcd(rtc.mt);
DS1307_write(month_reg, rtc.mt);
rtc.yr = decimal_to_bcd(rtc.yr);
DS1307_write(year_reg, rtc.yr);
}
main.c
#include <msp430.h>
#include "delay.h"
#include "HW_I2C.h"
#include "DS1307.h"
#include "lcd.h"
struct
{
unsigned char sec;
unsigned char min;
unsigned char hr;
unsigned char day;
unsigned char dt;
unsigned char mt;
unsigned char yr;
}rtc;
void GPIO_graceInit(void);
void BCSplus_graceInit(void);
void USCI_B0_graceInit(void);
void System_graceInit(void);
void WDTplus_graceInit(void);
void show_value(unsigned char x_pos, unsigned char y_pos, unsigned char value);
void display_time(void);
void main(void)
{
rtc.sec = 30;
rtc.min = 58;
rtc.hr = 23;
/* Stop watchdog timer from timing out during initial start-up. */
WDTCTL = WDTPW | WDTHOLD;
/* initialize Config for the MSP430 GPIO */
GPIO_graceInit();