ds1302芯片程序。当读完ds1302后,为什么还要做一些操作,具体如下:
unsignedcharRead_Ds1302(unsignedcharaddress){unsignedchari,temp=0x00;RST=0;//_nop_();...
unsigned char Read_Ds1302 ( unsigned char address )
{
unsigned char i,temp=0x00;
RST=0;
// _nop_();
SCL2=0;
_nop_();
RST=1;
_nop_();
Write_Ds1302_Byte(address);
for (i=0;i<8;i++) //循环8次 读取数据
{
if(SDA2)
temp|=0x80; //每次传输低字节
SCL2=0;
temp>>=1; //右移一位
SCL2=1;
}
RST=0;
_nop_(); //以下为DS1302复位的稳定时间
RST=0;
SCL2=0;
_nop_();
SCL2=1;
_nop_();
SDA2=0;
_nop_();
SDA2=1;
_nop_();
return (temp); //返回
}
从循环体结束到return是怎么回事,为什么要做这些。我试了不要这些,结果会出错,为什么乃???具体点。谢谢了! 展开
{
unsigned char i,temp=0x00;
RST=0;
// _nop_();
SCL2=0;
_nop_();
RST=1;
_nop_();
Write_Ds1302_Byte(address);
for (i=0;i<8;i++) //循环8次 读取数据
{
if(SDA2)
temp|=0x80; //每次传输低字节
SCL2=0;
temp>>=1; //右移一位
SCL2=1;
}
RST=0;
_nop_(); //以下为DS1302复位的稳定时间
RST=0;
SCL2=0;
_nop_();
SCL2=1;
_nop_();
SDA2=0;
_nop_();
SDA2=1;
_nop_();
return (temp); //返回
}
从循环体结束到return是怎么回事,为什么要做这些。我试了不要这些,结果会出错,为什么乃???具体点。谢谢了! 展开
5个回答
2011-08-01
展开全部
要是有问题那就是开发环境问题
展开全部
这些都是根据DS1302资料手册上的信息翻译成程序的!!
对DS1302的读时序你看下
对DS1302的读时序你看下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你在用1302做时钟吗,不能对51做什么初始化啊,很好用的!
你仿真的图对吗?比如1302的晶振接了吗?
你仿真的图对吗?比如1302的晶振接了吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
代码
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询