微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > DS1302时钟读数据程序

DS1302时钟读数据程序

时间:10-02 整理:3721RD 点击:
最近在学51,关于DS1302的时序问题,一般读一字节数据是这种
unsigned char output(void)
{
        unsigned char i,dat=0;
        for(i=8;i>0;i--)
                {
                        dat>>=1;
                        if(DS1302_IO)dat|=0x80;
                        CLK=1;
                        CLK=0;
                }
                return (dat);
}
但是我有一直疑问:数据是一位一位传输,而且从最低位到最高位,这我都知道,但这一个字节数据到底是怎么样的过程被读出?if(DS1302_IO)dat|=0x80;这句话不是把所有的位都置1了吗?为什么要在DS1302_IO==1的情况下操作?求大神能仔细帮我剖析这段代码,谢谢了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top