发新帖我要提问
12
返回列表
打印

我无奈了,朋友帮忙下DS1302的程序

[复制链接]
楼主: yuanye1127
手机看帖
扫描二维码
随时随地手机跟帖
21
yuanye1127|  楼主 | 2008-5-25 11:01 | 只看该作者 回帖奖励 |倒序浏览

我现在用另一个方法写了,好使

这是我的代码: 还有比这个更简化的代码吗:
我这个不是读写一体的,我是刚刚学单片机的菜鸟哈,别笑话!
void DS_Write_Byte(unsigned char dat)
{
unsigned char i;
    for(i=0;i<8;i++)
    {
     if(dat&0x01)
        {
         DS_IO=1;
        }
        else
        {
         DS_IO=0;
        }
        DS_SCLK=1;
        _nop_();
        _nop_();
        DS_SCLK=0;
        dat>>=1;
    }
    DS_IO=1;
}

unsigned char DS_Read_Byte(void)
{
unsigned char i,dat;
 for(i=0;i<8;i++)
    {
     dat>>=1;
     if(DS_IO)
        {
         dat+=0x80;
        }
        DS_SCLK=1;
        _nop_();
                  _nop_();
        DS_SCLK=0;
    }
    return dat;
}

使用特权

评论回复
22
yuanye1127|  楼主 | 2008-5-25 15:23 | 只看该作者

我又有个问题

我想知道给DS1302写的命令都有什么,知道的朋友分享下好吗?
比如说给DS1302 写个 0XBF 的命令,它就会返回各个寄存器的时间,还有别的命令吗? 对它进行写别的控制?

使用特权

评论回复
23
涛行九天| | 2008-5-25 15:35 | 只看该作者

看看1302的datasheet不就清楚了

使用特权

评论回复
24
yuanye1127|  楼主 | 2008-5-25 15:56 | 只看该作者

清楚了,现在我全都明白了,清楚了呵呵

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则