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

求助!关于DS1302时钟芯片的读数据问题

时间:10-02 整理:3721RD 点击:
资料上说的DS1302在下降沿是输出数据(单片机读取数据)可是下面的这段读DS1302数据的程序怎么不好理解呢。程序如下:
              uchar read_byte(void)
             {
                      uchar m;
                      for(m=0;m<8;m++)
                       {
                               ACC=ACC>>1;
                               ACC7=SDA;    //SDA是数据线
                                _nop_;
                              SCL=1;         //SCL是时钟线,SCL=1拉高时钟线;
                              _nop_;
                              _nop_;
                             _nop_;
                              _nop_;
                              SCL=0;       //scl=0制造下降沿
                      }
                return(ACC);
               }
我用的是单片机模拟串口,资料中说在下降沿,DS1302输出数据,可是在程序中为什么单片机读取数据(ACC7=SDA)在下降沿之前呢,下降沿时DS1302的移位寄存器移出数据到SDA线上,下降沿之后SDA线上的数据才是的有效数据啊,为什么程序中单片机读取数据在下降沿之前呢?
求各位大神帮忙。

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

网站地图

Top