全新论坛MCU智学网上线,欢迎访问新论坛!稀缺资源、技术干货、参考设计、原厂资料尽在MCU智学网
更新自动建库工具PCB Footprint Expert 2023.13 Pro / Library Expert 破解版

ds1302驱动程序

[复制链接]
3479 1

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

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

x
最近搞了个DS1302的程序,现在把这个驱动程序拿来分享分享.。
#define uchar unsigned char
sbit clk=P3^3;
sbit io=P3^4;
sbit rst=P3^5;
sbit ACC7=ACC^7;
sbit ACC0=ACC^0;
/****************************************
*名称:writeb
*功能:给ds1302写一个数据
*输入:num写入数据
*返回值:无
***************************************/
void writeb(uchar num)
{
uchar i;
ACC=num;
for(i=8;i>0;i--)
{
io=ACC0;
clk=1;
clk=0;
ACC=ACC>>1;
}
}
/****************************************
*名称:readb
*功能:读取ds1302一个数据
*返回值:ACC
***************************************/
uchar readb(void)
{
uchar i;
for(i=8;i>0;i--)
{
ACC=ACC>>1;
ACC7=io;
clk=1;
clk=0;
}
return ACC;
}
/****************************************
*名称:aw1302
*功能:向ds1302某地址写命令/数据,先写地址,后写命令/数据
*调用:writeb()
*输入:add:ds1302地址,num:要写的数据
*返回值:无
***************************************/
void aw1302(uchar addr,uchar num)
{
rst=0;
clk=0;
rst=1;
writeb(addr);
writeb(num);
clk=1;
rst=0;
}
/****************************************
*名称:rd1302
*功能:读取ds1302某地址的数据,先写地址,后读命令/数据
*调用:writeb(),readb()
*输入:addr ds1302地址
*返回值:num读取的数据
***************************************/
uchar rd1302(uchar addr)
{
uchar num;
rst=0;
clk=0;
rst=1;
writeb(addr);
num=readb();
clk=1;
rst=0;
return num;
}
/****************************************
*名称:setfdate
*功能:设置初始时间
*调用:aw1302()
*输入:fdate:初始时间地址,格式:秒、分、时、日、月、星期、年
*返回值:无
***************************************/
void setfdate(uchar *fdate)
{
uchar i;
uchar addr=0x80;
aw1302(0x8e,0x00);
for(i=7;i>0;i--)
{
aw1302(addr,*fdate);
fdate++;
addr+=2;
}
}
/****************************************
*名称:getdate
*功能:获取当前时间
*调用:rd1302()
*输入:ndate:保存当前时间,格式:秒、分、时、日、月、星期、年
*返回值:无
***************************************/
void getdate(uchar *ndate)
{
uchar i;
uchar addr=0x81;
for(i=0;i<7;i++)
{
ndate[i]=rd1302(addr);
addr+=2;
}
}

举报

回复

1 个评论

一支烟***  新手上路  发表于 2013-4-21 09:54:11  | 显示全部楼层
学习了,赞{:e113:}
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

打开支付宝扫一扫,最高立得1212元红包
搜索

图文热点

更多

社区学堂

更多

客服中心

QQ:187196467 服务时间:周一至周日 8:30-20:30

关注我们

关于我们
关于我们
友情链接
联系我们
帮助中心
网友中心
购买须知
支付方式
服务支持
资源下载
售后服务
定制流程
关注我们
官方微博
官方空间
官方微信
快速回复 返回顶部 返回列表