




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中医药公卫服务老年人健康管理考核试题(附答案)
- 阿尔山市2024-2025学年八年级上学期语文期中模拟试卷
- 安徽省淮北市烈山区2023-2024学年高一下学期期末考试语文试题及答案
- 安徽省安庆市迎江区2024-2025学年高一上学期期中考试历史考点及答案
- 2025 年小升初武汉市初一新生分班考试语文试卷(带答案解析)-(人教版)
- 2025 年小升初杭州市初一新生分班考试英语试卷(带答案解析)-(人教版)
- 福建省莆田市莆田第十五中学2025-2026学年高一上第一次月考历史试卷
- 球馆兼职合同范本
- 电子类购销合同范本
- 码头固定吊车合同范本
- GB/T 19900-2005金属铠装温度计元件的尺寸
- GB/T 19867.4-2008激光焊接工艺规程
- GB/T 19802-2005无损检测工业射线照相观片灯最低要求
- N-苯基马来酰亚胺
- 自控仪表安装工程施工方案52919
- 交通管理与控制3平面交叉口管理课件
- 医学自我口腔保健方法-预防口腔医学课程教学
- 压力性尿失禁专题宣讲PPT培训课件
- 机动车维修备案登记表
- (完整版)100句搞定雅思阅读长难句——练习版
- MSA指标%PT与%GRR知识梳理
评论
0/150
提交评论