DS1302、数码管显示遥控可调时钟,带温度显示.docVIP

DS1302、数码管显示遥控可调时钟,带温度显示.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
/****************************************************** 名称:DS1302时钟数码管显示遥控可调时钟,带温度显示 编写: 日期:2011.6 内容:DS1302实时时钟数码管显示,时间和日期切换显示 按下按键,循环切换 时间格式xx-xx-xx 日期格式xx-xx-xx 周秒格式x(-)xx.xC ******************************************************/ #includereg52.h //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义 #includeintrins.h #define uint unsigned int //宏定义 #define uchar unsigned char sbit duxu=P2^2;//定义锁存使能端口 段锁存 sbit wexu=P2^3;// 位锁存 sbit DQ=P1^3;//ds18b20 端口 bit rdflag;//定义读时间标志 uchar irtime,disnum;//红外用全局变量 bit irprok,irok; //处理完毕标志和接收完毕标志 uchar irtab[4]; //存储用户识别码两个字节+操作码两个字节 uchar irdat[33];//存储引导码及32位地址码和数据码的时间宽度 uchar code tab1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};// 显示段码值0~9 uchar code tab2[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//分别对应相应的数码管点亮,即位码 uchar tempdat[8]; //存储显示值的全局变量 sbit SCK=P1^4; sbit SDA=P1^5; sbit RST=P1^6; #define sec_add 0x80 //秒寄存器写操作命令字 #define min_add 0x82 //分寄存器写操作命令字 #define hour_add 0x84 //时寄存器写操作命令字 #define day_add 0x86 //日寄存器写操作命令字 #define mon_add 0x88 //月寄存器写操作命令字 #define week_add 0x8a //周寄存器写操作命令字 #define year_add 0x8c //年寄存器写操作命令字 #define ctrl_add 0x8e //控制寄存器写操作命令字 #define cha_add 0x90 //涓流充电寄存器写操作命令字 #define clk_add 0xbe //时钟突发寄存器写操作命令字 uchar ary1[8]={20,11,7,14,15,49,0,2};//空年月日时分秒周 数组:array uchar ary[8]; //空年月日时分秒周 /*************************** 延时子函数 ***************************/ void delay(uint z) //延时1毫秒子函数 { uint x,y; //声明两个局部变量x,y,取值范围0~65535;仅在此函数里有效。 for(x=z;x0;x--) for(y=110;y0;y--); } /******************************* 短延时(微秒级)子函数 ********************************/ void delayus(uchar t) { while(--t); //12M晶振,t自减一次约2微秒 } /************************************************************** 18B20初始化 **************************************************************/ bit init_1820() { bit date=0; DQ=1; //DQ复位 delayus(5); //稍做延时 DQ=0; //单片机将DQ拉低 del

文档评论(0)

jingpin + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档