📄 12c887.c
字号:
#include <pic.h>
#include "12c887.h";
///////////// SUNROUTINE DECLARE /////////////
void _12cc877_init(void); // initialize RTC 12C887
extern _12c887_read(unsigned char ADDRESS); // 12C887 data read routine
extern _12c887_write(unsigned char ADDRESS,unsigned char DATA); // 12C887 data write routine
/////////////////// SUBROUTINE ///////////////////
_12c887_init() // initialize RTC 12c887
{
_12c887_write(SECOND,0x00); // write current time
_12c887_write(MINUTE,0x10);
_12c887_write(HOUR,0x19);
_12c887_write(DayOfWeek,0x02);
_12c887_write(DayOfMonth,0x02);
_12c887_write(MONTH,0x10);
_12c887_write(YEAR,0x07);
_12c887_write(CENTURY,0x20);
_12c887_write(MINUTE_ALARM,0x30);
_12c887_write(HOUR_ALARM,0x09);
_12c887_write(REGA,0b10101111); // configure the control register
_12c887_write(REGB,0b01111010);
_12c887_write(REGC,0b00000000);
}
_12c887_read(unsigned char ADDRESS) // read 12c887 data
{
unsigned char temp;
TRISD=0x00;
WR=1;
RD=1;
ALE=1;
CS=0;
PORTD=ADDRESS;
ALE=0;
TRISD=0xff;
RD=0;
temp=PORTD;
RD=1;
CS=1;
ALE=1;
return(temp);
}
_12c887_write(unsigned char ADDRESS,unsigned char DATA) // write 12c887 data
{
TRISD=0x00;
WR=1;
RD=1;
ALE=1;
CS=0;
PORTD=ADDRESS;
ALE=0;
PORTD=DATA;
WR=0;
WR=1;
ALE=1;
CS=1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -