




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C/*DS1302时钟芯片驱动函数DS1302是产品中最常用的时钟芯片,此文件中的代码可以嵌入项目中使用。*/#include #include /*复位脚*/#define RST_CLRPORTD &= (1 PD7)/*电平置低*/#define RST_SETPORTD |= (1 PD7)/*电平置高*/#define RST_INDDRD &= (1 PD7)/*方向输入*/#define RST_OUTDDRD |= (1 PD7)/*方向输出*/*双向数据*/#define IO_CLRPORTD &= (1 PD6)/*电平置低*/#define IO_SETPORTD |= (1 PD6)/*电平置高*/#define IO_RPIND & (1 PD6)/*电平读取*/#define IO_INDDRD &= (1 PD6)/*方向输入*/#define IO_OUTDDRD |= (1 PD6)/*方向输出*/*时钟信号*/#define SCK_CLRPORTD &= (1 PD5)/*时钟信号*/#define SCK_SETPORTD |= (1 PD5)/*电平置高*/#define SCK_INDDRD &= (1 PD5)/*方向输入*/#define SCK_OUTDDRD |= (1 PD5)/*方向输出*/#define ds1302_sec_add0x80/秒数据地址#define ds1302_min_add0x82/分数据地址#define ds1302_hr_add0x84/时数据地址#define ds1302_date_add0x86/日数据地址#define ds1302_month_add0x88/月数据地址#define ds1302_day_add0x8a/星期数据地址#define ds1302_year_add0x8c/年数据地址#define ds1302_control_add0x8e/控制数据地址#define ds1302_charger_add0x90 #define ds1302_clkburst_add0xbeUnsignedchartime_buf8= 0x20,0x12,0x03,0x21,0x10,0x20,0x55,0x03;/*向DS1302写入一字节数据*/void ds1302_write_byte(unsigned char addr, unsigned char d) unsigned char i; RST_SET;/*启动DS1302总线*/*写入目标地址:addr*/IO_OUT;addr = addr & 0xFE;/*最低位置零*/for (i = 0; i 1;/*写入数据:d*/IO_OUT;for (i = 0; i 1;RST_CLR;/*停止DS1302总线*/*从DS1302读出一字节数据*/unsigned char ds1302_read_byte(unsigned char addr) unsigned char i;unsigned char temp;RST_SET;/*启动DS1302总线*/*写入目标地址:addr*/IO_OUT;addr = addr | 0x01;/*最低位置高*/for (i = 0; i 1;/*输出数据:temp*/IO_IN;for (i = 0; i 1;if (IO_R) temp |= 0x80;else temp &= 0x7F;SCK_SET;SCK_CLR;RST_CLR;/*停止DS1302总线*/return temp;/*向DS302写入时钟数据*/void ds1302_write_time(void) ds1302_write_byte(ds1302_control_add,0x00);/关闭写保护 (即可写)ds1302_write_byte(ds1302_sec_add,0x80);/暂停 ds1302_write_byte(ds1302_charger_add,0xa9);/慢充电 ds1302_write_byte(ds1302_year_add,time_buf1);/年 ds1302_write_byte(ds1302_month_add,time_buf2);/月 ds1302_write_byte(ds1302_date_add,time_buf3);/日 ds1302_write_byte(ds1302_hr_add,time_buf4);/时 ds1302_write_byte(ds1302_min_add,time_buf5);/分ds1302_write_byte(ds1302_sec_add,time_buf6);/秒ds1302_write_byte(ds1302_day_add,time_buf7);/周 ds1302_write_byte(ds1302_control_add,0x80);/打开写保护 (不可写)/*从DS302读出时钟数据*/void ds1302_read_time(void) time_buf1=ds1302_read_byte(ds1302_year_add);/年 time_buf2=ds1302_read_byte(ds1302_month_add);/月 time_buf3=ds1302_read_byte(ds1302_date_add);/日 time_buf4=ds1302_read_byte(ds1302_hr_add);/时 time_buf5=ds1302_read_byte(ds1302_min_add);/分 time_buf6=(ds1302_read_byte(ds1302_sec_add)&0x7F;/秒 time_buf7=ds1302_read_byte(ds1302_day_add);/周 /*DS302初始化函数*/void ds1302_init(void) RST_CLR;/*RST脚置低*/SCK_CLR;/*SCK脚置低*/RST_OUT;/*RST脚设置为输出*/SCK_OUT;/*SCK脚设置为输出*/H#ifndef DS1302_H#define DS1302_Hextern unsigned char time_buf8;/秒、分
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高温作用后花岗岩能量演化规律与本构模型研究
- 鸡西市人民医院烤瓷熔附金属冠技能考核
- 基于线性判别分析的降维算法研究
- 长距离高精度GNSS高程传递的方法研究与实验
- 2025儿童医院护理学科持续改进考核
- 牡丹江市中医院复杂视网膜脱离手术技术准入考核
- 2025下半年四川中医药高等专科学校考核招聘高层次人才1人考试参考试题及答案解析
- 2025年新疆粮油技术研发合作合同
- 2025年旅游服务外包合同协议
- 氮杂芳香羧酸MOF及其衍生物的制备和电催化性能研究
- 顶账车位协议书
- 2024-2025学年天津市河西区八年级上学期期中数学试题及答案
- 2024新能源光伏电站竣工结算模板报表格式模板
- 《滨海湿地生态系统固碳量评估技术规程》
- 《现代汉语》课件-普通话的声调
- 混凝土结构设计原理-003-国开机考复习资料
- 华为ICT大赛网络赛道考试题库(786题)
- 第八届全国医药行业特有职业技能竞赛(中药调剂员)考试题及答案
- CSC-326系列数字式变压器保护装置说明书(SF4524)-V1331
- JTJ073.1-2001 公路水泥混凝土路面 养护技术规范
- 越剧《梁山伯与祝英台》剧本
评论
0/150
提交评论