您当前的位置: 首页 > 

仙剑情缘

暂无认证

  • 2浏览

    0关注

    333博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

DS1302驱动

仙剑情缘 发布时间:2018-07-14 06:20:31 ,浏览量:2

// DS1302.c

#include

#include #include "DS1302.h" #define NOP(); _nop_();_nop_(); sbit DS1302_Sclk=P2^0; sbit DS1302_IO=P2^1; sbit DS1302_CE=P2^2; /**********************************************************  写一个字节 ***********************************************************/ static void Ds1302_WriteByte(uchar temp) { uchar i; for(i=0;i>=1; DS1302_Sclk=1; _nop_(); } } /**************************************************************** 指定地址写数据 *****************************************************************/ void Write_Ds1302(uchar address,uchar dat) { DS1302_CE=0; NOP(); DS1302_Sclk=0; NOP(); DS1302_CE=1; NOP(); Ds1302_WriteByte(address); Ds1302_WriteByte(dat); NOP(); DS1302_CE=0; } /************************************************************ 指定地址读数据 *************************************************************/ uchar Read_Ds1302(uchar address) { uchar i,temp=0x00; DS1302_CE=0; NOP(); DS1302_Sclk=0; NOP(); DS1302_CE=1; NOP(); Ds1302_WriteByte(address); for(i=0;i>=1; NOP(); DS1302_Sclk=1; NOP(); }   NOP();     DS1302_Sclk=0;   NOP();   DS1302_CE=0; return temp/16*10+temp%16; } /************************************************************ 设置DS1302 *************************************************************/ void Set_Ds1302(uchar address ,uchar dat) { uchar temp;         temp=dat/10; dat=dat%10; temp=dat+temp*16; Write_Ds1302(0x8E,0X00); Write_Ds1302(address,temp); Write_Ds1302(0x8E,0X080); } /****************************************************************/ void Set_Ds1302_ram(uchar address ,uchar dat) { uchar temp;     temp=dat/10; dat=dat%10; temp=dat+temp*16; Write_Ds1302(0x8E,0X00); Write_Ds1302(address,temp); Write_Ds1302(0x8E,0X080);

}  

//DS1302.h

#ifndef _DS1302_H

#define _DS1302_H

#define uchar unsigned char#define uint unsigned int

void Write_Ds1302(unsigned char address,unsigned char dat);   unsigned char Read_Ds1302(unsigned char address);   void Set_Ds1302(unsigned char address ,unsigned char dat);  void Set_Ds1302_ram(unsigned char address ,unsigned char dat); #endif

关注
打赏
1658017818
查看更多评论
立即登录/注册

微信扫码登录

0.0356s