收藏 分销(赏)

DS1302时钟芯片51单片机c语言程序.doc

上传人:仙人****88 文档编号:8225142 上传时间:2025-02-08 格式:DOC 页数:5 大小:34.04KB 下载积分:10 金币
下载 相关 举报
DS1302时钟芯片51单片机c语言程序.doc_第1页
第1页 / 共5页
DS1302时钟芯片51单片机c语言程序.doc_第2页
第2页 / 共5页


点击查看更多>>
资源描述
#ifndef __DS1302_H__ #define __DS1302_H__ #define uchar unsigned char #define uint unsigned int #include <reg52.h> sbit SCLK = P3^2; sbit IO = P2^4; sbit RST = P3^3; #define R_Second 0x81 #define W_Second 0x80 #define R_Minute 0x83 #define W_Minute 0x82 #define R_Hour 0x85 #define W_Hour 0x84 #define R_Day 0x87 #define W_Day 0x86 #define R_Month 0x89 #define W_Month 0x88 #define R_Week 0x8B #define W_Week 0x8A #define R_Year 0x8D #define W_Year 0x8C #define R_Control 0x8F #define W_Control 0x8E void DS1302_Write_Byte(uchar Date); uchar DS1302_Read_Byte(); void Write_DS1302(uchar Adr,uchar Date); uchar Read_DS1302(uchar Adr); void Init_DS1302(); #endif #include "ds1302.h" /************************************************************** 函數名稱 : DS1302_Write_Byte(uchar Date) 函數功能 : 单字节写 輸入參數 : 写的字节 輸出參數 : 无 備 注 : **************************************************************/ void DS1302_Write_Byte(uchar Date) { uchar i; for(i = 0;i < 8;i++) { if(Date & 0x01) IO = 1; else IO = 0; SCLK = 1; Date = Date >> 1; SCLK = 0; } } /************************************************************** 函數名稱 : uchar DS1302_Read_Byte() 函數功能 : 单字节读 輸入參數 : 无 輸出參數 : 读出的数据 備 注 : **************************************************************/ uchar DS1302_Read_Byte() { uchar i,Temp = 0; for(i = 0;i < 8;i++) { Temp = Temp >> 1; SCLK = 0; if(IO == 1) Temp = Temp | 0x80; SCLK = 1; } return Temp; } /************************************************************** 函數名稱 : Write_DS1302(uchar Adr,uchar Date) 函數功能 : 写数据 輸入參數 : 写的寄存器地址和数据 輸出參數 : 无 備 注 : **************************************************************/ void Write_DS1302(uchar Adr,uchar Date) { RST = 0; SCLK = 0; RST = 1; DS1302_Write_Byte(Adr); DS1302_Write_Byte(Date); RST = 0; } /************************************************************** 函數名稱 : uchar Read_DS1302(uchar Adr) 函數功能 : 读数据 輸入參數 : 写的寄存器地址 輸出參數 : 读出的数据 備 注 : **************************************************************/ uchar Read_DS1302(uchar Adr) { uchar Temp = 0; RST = 0; SCLK = 0; RST = 1; DS1302_Write_Byte(Adr); Temp = DS1302_Read_Byte(); RST = 0; Temp = Temp / 16 * 10 + Temp % 16; return Temp; } /************************************************************** 函數名稱 : Init_DS1302() 函數功能 : 初始化DS1302 輸入參數 : 无 輸出參數 : 无 備 注 : **************************************************************/ void Init_DS1302() { Write_DS1302(W_Control,0x00); Write_DS1302(W_Year,0x11); Write_DS1302(W_Week,0x06); Write_DS1302(W_Month,0x09); Write_DS1302(W_Day,0x10); Write_DS1302(W_Hour,0x16); Write_DS1302(W_Minute,0x11); Write_DS1302(W_Second,0x23); Write_DS1302(W_Control,0x80); }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服