2 qq 34860335 qq_34860335 于 2016.05.09 21:08 提问

哪位大神帮我将案件案DS1302的程序哪儿出错了,本来是星期一,就显示星期二,总是后一天的 10C

图片说明
/*向ds1302中写入一字节数据*/
void write_byte(uchar dat)
{
uchar i;
for(i=0;i {
SCK_CLR;
if(dat&0x01)
{
IO_SET;
}
else
{
IO_CLR;
}
Delay_us(10);
SCK_SET;
dat>>=1;
}
}

/*从ds1302的指定地址读一字节数据*/
uchar read_ds1302(uchar addr)
{
char data;
RST_CLR;
SCK_CLR;
Delay_us(10);
RST_SET;
Delay_us(10);
write_byte(addr);
Delay_us(10);
data=read_byte();
Delay_us(10);
SCK_CLR;
RST_CLR;
return data;
}

void write_ds1302(uchar addr,uchar data)
{
RST_CLR;
SCK_CLR;
Delay_us(10);
RST_SET;
/*设置初始时间函数*/
void set_ds1302(uchar addr,uchar *p,uchar n)
{
write_ds1302(0x8e,0x00);
for(;n>0;n--)
{
write_ds1302(addr,*p);
p++;
addr=addr+2;
}
write_ds1302(0x8e,0x80);
}
以上是ds1302的相关程序

1个回答

devmiao
devmiao   Ds   Rxr 2016.05.09 22:30
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!