DS1302驱动程序

DS1302驱动程序

ID:41031958

大小:38.00 KB

页数:4页

时间:2019-08-14

DS1302驱动程序_第1页
DS1302驱动程序_第2页
DS1302驱动程序_第3页
DS1302驱动程序_第4页
资源描述:

《DS1302驱动程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、DS1302是课程设计和毕业设计经常用到的时钟芯片,还在愁怎么对DS1302操作吗?那么看完DS1302驱动程序,一切变得那么简单。DS1302驱动程序://===========DS1302.H================#ifndef_DS1302_H__#define_DS1302_H__//DS1302管脚定义sbitT_IO=P2^6;//位定义1302芯片的接口,数据输出端定义在P2.5引脚sbitT_RST=P2^7;//位定义1302芯片的接口,复位端口定义在P2.6引脚sbitT_CLK=P2^5;//位定义1302芯片的接口,时钟输出端口定义

2、在P2.4引脚//变量定义声明unsignedcharTableDs1302[7]={55,59,23,4,3,5,11};//初始化时时间日期设置//秒分时日月星期年//函数定义声明voidWrite1302(unsignedchar);//向1302写一个字节数据voidWriteSet1302(unsignedchar,unsignedchar);//根据命令字,向1302写一个字节数据unsignedcharRead1302(void);//从1302读一个字节数据unsignedcharReadSet1302(unsignedcharCmd);//根据命令

3、字从1302读取一个字节数据voidInitDS1302(void);//初始化1302voidGetTime(void);//获取1302的时间/*****************************************************函数功能:向1302写一个字节数据入口参数:x***************************************************/voidWrite1302(unsignedchardat){unsignedchari;T_CLK=0;//拉低T_CLK,为脉冲上升沿写入数据做好准备Delay1U

4、s(2);//稍微等待,使硬件做好准备for(i=0;i<8;i++)//连续写8个二进制位数据{T_IO=dat&0x01;//取出dat的第0位数据写入1302Delay1Us(2);//稍微等待,使硬件做好准备T_CLK=1;//上升沿写入数据Delay1Us(2);//稍微等待,使硬件做好准备T_CLK=0;//重新拉低T_CLK,形成脉冲dat>>=1;//将dat的各数据位右移1位,准备写入下一个数据位}}/*****************************************************函数功能:根据命令字,向1302写一个字节

5、数据入口参数:Cmd,储存命令字;dat,储存待写的数据,为十进制数***************************************************/voidWriteSet1302(unsignedcharCmd,unsignedchardat){T_RST=0;//禁止数据传递T_CLK=0;//确保写数居前T_CLK被拉低T_RST=1;//启动数据传输Delay1Us(2);//稍微等待,使硬件做好准备Write1302(Cmd);//写入命令字Write1302((dat/10<<4)

6、(dat%10));//写数据T_CLK=1;/

7、/将时钟电平置于已知状态T_RST=0;//禁止数据传递}/*****************************************************函数功能:从1302读一个字节数据入口参数:x***************************************************/unsignedcharRead1302(void){unsignedchari,dat;Delay1Us(2);//稍微等待,使硬件做好准备for(i=0;i<8;i++)//连续读8个二进制位数据{dat>>=1;//将dat的各数据位右移1位,因为先

8、读出的是字节的最低位if(T_IO==1)//如果读出的数据是1dat

9、=0x80;//将1取出,写在dat的最高位T_CLK=1;//将T_CLK置于高电平,为下降沿读出Delay1Us(2);//稍微等待T_CLK=0;//拉低T_CLK,形成脉冲下降沿Delay1Us(2);//稍微等待}returndat;//将读出的数据返回}/*****************************************************函数功能:根据命令字,从1302读取一个字节数据入口参数:Cmd*****************************

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。