17.11.2012 Views

1827 rtc main ... - nobcha

1827 rtc main ... - nobcha

1827 rtc main ... - nobcha

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

INTE=1; } }/*******************************<br />

<strong>1827</strong>_<strong>rtc</strong>_<strong>main</strong><br />

RTCへデータ1文字出力 *******************************/ void <strong>rtc</strong>_write(unsigned char reg_no, unsigned char data){ i2c_writeto(RTC8564); // RTCアドレスをWRITE MODE で OPEN i2c_write(reg_no); // register select i2c_write(data); // DATA バイトを送る *<br />

// stop コンディション } /******************************* * RTCからデータ1文字取得 *******************************/ i2c_stop();<br />

<strong>rtc</strong>_read(unsigned char reg_no){ char data; i2c_writeto(RTC8564); // RTCアドレスをREAD MODE で OPEN i2c_putbyte(reg_no); // register select i2c_readfrom(RTC8564); // RTCアドレスをREAD MODE で REOPEN data=i2c_read(); // DATA バイトを取得する char<br />

// stop コンディション return data; }/******************************* i2c_stop();<br />

LCDへBCDデータ2文字表示 *******************************/ void lcd_hex(unsigned char bcd){ lcd_putch(((bcd>>4)&0x0F) | 0x30); lcd_putch((bcd&0x0F) | 0x30); }/*******************************<br />

*<br />

weekday数字から文字へ変換LCD表示 *******************************/ void lcd_wkd(unsigned char wkday){ switch(wkday){ case 0: lcd_puts("Sun"); break; *<br />

1: lcd_puts("Mon"); case<br />

case 2: lcd_puts("Tue"); break; case 3: lcd_puts("Wed"); break; case 4: lcd_puts("Thu"); break;<br />

case 5: lcd_puts("Fri"); break; case 6: lcd_puts("Sat"); break; default:lcd_puts("BAD"); break;<br />

}/******************************* }<br />

RTCへデータ列書き込み *******************************/ void <strong>rtc</strong>_writestr(void){ <strong>rtc</strong>_write(CTRL1,0x20); // Stop <strong>rtc</strong>_write(CTRL2,0x03); // AE=1:No Alarm INT,TIE=1 TF>0 <strong>rtc</strong>_write(CTRLT,0x00); // Timer Control *<br />

// 7:FE=1,10:FD=11 (1Hz) <strong>rtc</strong>_write(YEAR,year); // lower 2 year value <strong>rtc</strong>_write(MONTH,month); // SEP <strong>rtc</strong>_write(DAY,day); // <strong>rtc</strong>_write(HOUR,hour); // <strong>rtc</strong>_write(MINUTE,minute); // <strong>rtc</strong>_write(CKOUT,0x83);<br />

// ページ(4)<br />

<strong>rtc</strong>_write(SECOND,second);

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!