ds1302时钟显示

ds1302时钟显示

ID:40528057

大小:40.00 KB

页数:4页

时间:2019-08-04

ds1302时钟显示_第1页
ds1302时钟显示_第2页
ds1302时钟显示_第3页
ds1302时钟显示_第4页
资源描述:

《ds1302时钟显示》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、//DS1302在使用的时候要加上拉电阻!!!不加上拉会出现驱动力不够,而使数码管缺段显示!#include#include#defineucharunsignedchar#defineuintunsignedint#definedate0second0#definedate1second1#definemonth0minute0#definemonth1minute1#defineweek0hour0#defineweek1hour1sbitDS1302_CLK=P1^2;//实时时钟时钟线引脚sbitDS1302_IO=P1^3;//实时

2、时钟数据线引脚sbitDS1302_RST=P1^4;//实时时钟复位线引脚sbitACC0=ACC^0;sbitACC7=ACC^7;sbittime=P3^2;sbitdate=P3^3;sbitsecond0=P2^0;sbitsecond1=P2^1;sbitminute0=P2^2;sbitminute1=P2^3;sbithour0=P2^4;sbithour1=P2^5;sbityear0=P2^6;sbityear1=P2^7;ucharnow_time_date[8]={0x00,0x24,0x14,0x03,0x15,0x04,0x09,0x00};//秒,分,

3、时,星期,日,月,年,禁止写//codeuinttable[]={0x3f,0x60,0x5b,0x4f,0x66,0x6d,0x7d,0x70,0x7f,0x6f};codeuinttable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//显示段码数码管字跟/******************延时*********************/voiddelay(uinti){uintj=0;for(;i>0;i--)for(j=0;j<100;j++);}/******************结束*********

4、************//******************DS1302:写入操作(上升沿)*********************/voidDS1302InputByte(uchard)//实时时钟写入一字节(内部函数){unsignedchari;ACC=d;for(i=8;i>0;i--){DS1302_IO=ACC0;//相当于汇编中的RRCDS1302_CLK=1;DS1302_CLK=0;ACC=ACC>>1;}}/******************DS1302:读取操作(下降沿)*****************/ucharDS1302OutputByte()

5、//实时时钟读取一字节(内部函数){unsignedchari;for(i=8;i>0;i--){ACC=ACC>>1;//相当于汇编中的RRCACC7=DS1302_IO;DS1302_CLK=1;DS1302_CLK=0;}return(ACC);}/******************DS1302:写入数据(先送地址,再写数据)***************************/voidWrite1302(ucharucAddr,ucharucDa)//ucAddr:DS1302地址,ucData:要写的数据{DS1302_RST=0;DS1302_CLK=0;DS130

6、2_RST=1;DS1302InputByte(ucAddr);//地址,命令DS1302InputByte(ucDa);//写1Byte数据DS1302_CLK=1;DS1302_RST=0;}/******************DS1302:读取数据(先送地址,再读数据)**************************/ucharRead1302(unsignedcharucAddr)//读取DS1302某地址的数据{unsignedcharucData;DS1302_RST=0;DS1302_CLK=0;DS1302_RST=1;DS1302InputByte(ucAd

7、dr

8、0x01);//地址,命令ucData=DS1302OutputByte();//读1Byte数据DS1302_CLK=1;DS1302_RST=0;return(ucData);}voidset_ds1302(ucharaddr,uchar*p,ucharn){Write1302(0x8e,0x00);//写控制字,允许写操作for(;n>0;n--){Write1302(addr,*p);p++;addr=addr+2;}Write1302(0x8e,0x8

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。