ds1302倒计时c语言编程,对DS1302进行写入和读取操作的程序

//********向1302写数据*********

void Write1302(uchar dat)

{

uchar i;

SCLK=0;           //拉低SCLK,为脉冲上升沿写入数据做好准备

delay1(1);       //稍微等待,使硬件做好准备

for(i=0;i<8;i++)      //连续写8个二进制位数据

{

IO=dat&0x01;    //取出dat的第0位数据写入1302

delay(1);       //稍微等待,使硬件做好准备

SCLK=1;           //上升沿写入数据

delay1(1);      //稍微等待,使硬件做好准备

SCLK=0;           //重新拉低SCLK,形成脉冲

dat>>=1;          //将dat的各数据位右移1位,准备写入下一个数据位

}

}

void WriteSet1302(uchar Cmd,uchar dat)

{

RST=0;           //禁止数据传递

SCLK=0;          //确保写数居前SCLK被拉低

RST=1;           //启动数据传输

delay1(1);     //稍微等待,使硬件做好准备

Write1302(Cmd);  //写入命令字

Write1302(dat);  //写数据

SCLK=1;          //将时钟电平置

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值