



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DS1302是课程设计和毕业设计经常用到的时钟芯片,还在愁怎么对DS1302操作吗?那么看完DS1302驱动程序,一切变得那么简单。DS1302驱动程序:/=DS1302.H=#ifndef _DS1302_H_#define _DS1302_H_/DS1302管脚定义sbit T_IO=P26; /位定义1302芯片的接口,数据输出端定义在P2.5引脚sbit T_RST=P27; /位定义1302芯片的接口,复位端口定义在P2.6引脚sbit T_CLK=P25; /位定义1302芯片的接口,时钟输出端口定义在P2.4引脚/变量定义声明unsigned char TableDs13027=55,59,23,4,3,5,11; /初始化时时间日期设置 /秒 分 时 日月 星期 年/函数定义声明void Write1302(unsigned char );/向1302写一个字节数据void WriteSet1302(unsigned char ,unsigned char );/根据命令字,向1302写一个字节数据unsigned char Read1302(void);/从1302读一个字节数据unsigned char ReadSet1302(unsigned char Cmd);/根据命令字从1302读取一个字节数据void InitDS1302(void);/初始化1302void GetTime(void);/获取1302的时间/*函数功能:向1302写一个字节数据入口参数:x*/ void Write1302(unsigned char dat) unsigned char i; T_CLK=0; /拉低T_CLK,为脉冲上升沿写入数据做好准备 Delay1Us(2); /稍微等待,使硬件做好准备 for(i=0;i=1; /将dat的各数据位右移1位,准备写入下一个数据位 /*函数功能:根据命令字,向1302写一个字节数据入口参数:Cmd,储存命令字;dat,储存待写的数据,为十进制数*/ void WriteSet1302(unsigned char Cmd,unsigned char dat)T_RST=0; /禁止数据传递 T_CLK=0; /确保写数居前T_CLK被拉低T_RST=1; /启动数据传输Delay1Us(2); /稍微等待,使硬件做好准备Write1302(Cmd); /写入命令字Write1302(dat/104)|(dat%10); /写数据T_CLK=1; /将时钟电平置于已知状态T_RST=0; /禁止数据传递/*函数功能:从1302读一个字节数据入口参数:x*/ unsigned char Read1302(void) unsigned char i,dat;Delay1Us(2); /稍微等待,使硬件做好准备for(i=0;i=1; /将dat的各数据位右移1位,因为先读出的是字节的最低位if(T_IO=1) /如果读出的数据是1dat|=0x80; /将1取出,写在dat的最高位 T_CLK=1; /将T_CLK置于高电平,为下降沿读出Delay1Us(2); /稍微等待T_CLK=0; /拉低T_CLK,形成脉冲下降沿Delay1Us(2); /稍微等待 return dat; /将读出的数据返回 /*函数功能:根据命令字,从1302读取一个字节数据入口参数:Cmd*/ unsigned char ReadSet1302(unsigned char Cmd)unsigned char temp,dat1,dat2; T_RST=0; /拉低T_RST T_CLK=0; /确保写数居前T_CLK被拉低 T_RST=1; /启动数据传输 Write1302(Cmd); /写入命令字 temp=Read1302(); /读出数据 T_CLK=1; /将时钟电平置于已知状态 T_RST=0; /禁止数据传递dat1=temp/16; /16进制转成BCDdat2=temp%16;temp=dat1*10+dat2; /转换成10进制数字 return (temp); /将读出的数据返回/*函数功能: 1302进行初始化设置*/ void InitDS1302(void)unsigned char i,add;add=0x80;WriteSet1302(0x8e,0x00); /允许写入for(i=0;i7;i+)WriteSet1302(add,TableDs1302i); add+=2; WriteSet1302(0x90,0xa6); /写充电控制寄存器.WriteSet1302(0x8e,0x80); /禁止写入/*程序功能:获取DS1302时间*/void GetTime()unsigned char i,add=0x81;WriteSet1302(0x8e,0x00); /允许向DS1302写入数据for(i=0;i7;i+)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025甘肃武威市古浪县八步沙林场招聘财会、水利专业人员3人模拟试卷及答案详解(历年真题)
- 企划方案策划活动
- 介绍心理咨询室方案
- 企业咨询老客营销方案模板
- 支部剖析会发言稿
- 高考物理技能题库及答案
- 2025年电焊复审考试试题及答案
- 良法在线考试试题及答案
- 2025年装修公司上岗考试题及答案
- 校长职级考试试题及答案
- 河南天一大联考2025-2026学年(上)高一上学期9月检测语文试卷
- 养好小金鱼教学课件
- 2025年度社区工作者真题题库及答案
- 病历信息安全培训课件
- 2025年9月 基孔肯雅热疫情防控工作的经验总结报告
- 2025年中国硅灰石超细粉市场调查研究报告
- 福建省雷电防护装置检测资质认定实施细则(修订)
- 23G409先张法预应力混凝土管桩
- 吉塔行星模拟课程
- 上市公告书及招股说明书文件首旅酒店
- GB/T 17608-2022煤炭产品品种和等级划分
评论
0/150
提交评论