欢迎来到天天文库
浏览记录
ID:51436609
大小:37.50 KB
页数:5页
时间:2020-03-24
《实时时钟芯片DS1302 C51源程序.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实时时钟芯片DS1302C51源程序/****************************************************************模块名称:DS1302.c功能:实时时钟模块时钟芯片型号:DS1302说明:*********************************************************************/#includesbitT_CLK=P2^7;/*实时时钟时钟线引脚*/sbitT_IO=P1^4;/*实时时钟数据线引脚*/sb
2、itT_RST=P1^5;/*实时时钟复位线引脚*/sbitACC0=ACC^0;sbitACC7=ACC^7;voidRTInputByte(uchar);/*输入1Byte*/ucharRTOutputByte(void);/*输出?1Byte*/voidW1302(uchar,uchar);ucharR1302(uchar);/********************************************************************函数名:RTInputByte()功能:
3、实时时钟写入一字节说明:往DS1302写入1Byte数据(内部函数)入口参数:d写入的数据返回值:无***********************************************************************/voidRTInputByte(uchard){uchari;ACC=d;for(i=8;i>0;i--){T_IO=ACC0;/*相当于汇编中的RRC*/T_CLK=1;T_CLK=0;ACC=ACC>>1;}}/**************************
4、******************************************函数名:RTOutputByte()功能:实时时钟读取一字节说明:从DS1302读取1Byte数据(内部函数)入口参数:无返回值:ACC***********************************************************************/ucharRTOutputByte(void){uchari;for(i=8;i>0;i--){ACC=ACC>>1;/*相当于汇编中的RRC*/A
5、CC7=T_IO;T_CLK=1;T_CLK=0;}return(ACC);}/********************************************************************函数名:W1302()功能:往DS1302写入数据说明:先写地址,后写命令/数据(内部函数)调用:RTInputByte(),RTOutputByte()入口参数:ucAddr:DS1302地址,ucData:要写的数据返回值:无*********************************
6、**************************************/voidW1302(ucharucAddr,ucharucDa){T_RST=0;T_CLK=0;T_RST=1;RTInputByte(ucAddr);/*地址,命令*/RTInputByte(ucDa);/*写1Byte数据*/T_CLK=1;T_RST=0;}/********************************************************************函数名:R1302()功能:读
7、取DS1302某地址的数据说明:先写地址,后读命令/数据(内部函数)调用:RTInputByte(),RTOutputByte()入口参数:ucAddr:DS1302地址返回值:ucData:读取的数据***********************************************************************/ucharR1302(ucharucAddr){ucharucData;T_RST=0;T_CLK=0;T_RST=1;RTInputByte(ucAddr);/*地
8、址,命令*/ucData=RTOutputByte();/*读1Byte数据*/T_CLK=1;T_RST=0;return(ucData);}/********************************************************************函数名:Set1302()功能:设置初始时间说明:先写地址,后写数据。写入09年5月4日8时8分0秒调用:W1302()入口参数:返回
此文档下载收益归作者所有