在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!)    创芯人才网--重磅上线啦!
查看: 1648|回复: 0

请教关于DS1302时钟程序设计的问题

[复制链接]
发表于 2009-7-13 15:34:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
我正在参加一个从实践中学会单片机的活动,要求用51单片机设计一个DS1302时钟程序。
这是活动的地址和详细的要求 http://bbs.cepark.com/thread-5032-1-1.html
我在设计过程中遇到无法读出DS1302内部数据问题,读出来的数据是错误的.
下面我把读写程序发出来,大家帮我看看是哪地方出了问题...是不是时序或别的什么方面...
希望高手进行指导。呵呵,只有从实践中才能学会单片机,这也是我第一次认真做这类开发,对回帖的人先谢过!
void Write_DS_Byte(uint8 Command,uint8 Write_Data)
{
    uint8 i=0;
    DS_CE=0;
    DS_IO=0;
    DS_SCK=0;                                        //初始化各端口;
    for(i=0;i<8;i++)                                  //写入8位命令;
        {
            DS_CE=1;
            DS_IO=Command&0x01;             //并行数据转为串行;
            DS_SCK=0;
            _nop_();
            DS_SCK=1;
            Command>>=1;                         //送下一位串行数据;
        }
    for(i=0;i<8;i++)                                 //写入8位数据;
        {
            DS_CE=1;
            DS_IO=Write_Data&0x01;           //并行数据转为串行;
            DS_SCK=0;
            _nop_();
            DS_SCK=1;
            Write_Data>>=1;                       //送下一位串行数据;
        }
    DS_CE=0;                                        //禁止传输;
}
uint8 Read_DS_Byte(uint8 Command)
{
    uint8 Value=0;
    uint8 i=0;
    DS_CE=0;
    DS_IO=0;
    DS_SCK=0;
    for(i=0;i<8;i++)                                    //写命令进DS1302内部;
        {
            DS_CE=1;
            DS_IO=Command&0x01;                //送8位数据;
            DS_SCK=0;
            _nop_();
            DS_SCK=1;
            Command>>=1;                          //数据移位;
        }
    for(i=0;i<8;i++)                                   //读取DS1302返回的数据;
        {
            DS_SCK=1;
            DS_SCK=0;
            if(DS_IO!=0)                               //把串行数据转为并行;
                {
                    Value|=0x01<<i;   //移位 ;
                }
            //Value>>=1;
        }
    DS_CE=0;
    return (Value);                                    //返回读取数据;
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-14 21:43 , Processed in 0.014563 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表