找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

ds1302驱动程序

[复制链接]
admin 发表于 2012-8-19 09:08:49 | 显示全部楼层 |阅读模式

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

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

×
最近搞了个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;
}
}
一支烟阐释一生 发表于 2013-4-21 09:54:11 | 显示全部楼层
学习了,赞{:e113:}
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-23 12:42 , Processed in 0.065233 second(s), 12 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表