




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
所用到元件程序#include #includesbit k1=P30;sbit k2=P31;sbit k3=P32;sbit LED=P33;sbit LED1=P37;/-定义ds1302使用的IO口-/sbit DSIO=P34;sbit RST=P35;sbit SCLK=P36;/-定义全局函数-/void Ds1302Write(uchar addr, uchar dat);uchar Ds1302Read(uchar addr);void Ds1302Init();void Ds1302ReadTime();uchar TIME7;void delay(uchar i);void delay1(uchar i);void Set_RTC();void zzh();uchar temp4=0xe,0x0d,0xb,0x07, DisplayData7=0, temp110=0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f;void main() uchari,zzh6; Ds1302Init(); LED=1; LED1=1; zzh6=TIME0; while(1) Ds1302ReadTime(); /读取数值 DisplayData3 =TIME2/16; /小时 DisplayData2 =TIME2&0x0f;DisplayData1 =TIME1/16;/分DisplayData0 =TIME1&0x0f; for(i=0;i4;i+) /数码管显示 P0=temp1DisplayData3-i; /数码管位选 P2=tempi; /数码管段选 if(zzh6!=TIME0) zzh6=TIME0;LED=LED; delay1(10); P0=0x00; if(k3=0) /判断调时按健是否按下 delay(22); if(k3=0) zzh(); void zzh() uchari,j=0; delay(20); while(1) if(k1=0) /分调数按键 delay(20); if(k1=0) j=0; while(j50)&(k1!=0) /抖动检测 delay(10); j+; if(DisplayData09) /读取分按键调试数值并存取 DisplayData0+; else DisplayData0=0; if(DisplayData15) DisplayData1+; else DisplayData1=0; if(k2=0) /时调数按键检测 delay(20);if(k2=0) j=0; while(j50)&(k2!=0)/抖动检测 delay(10); j+; if(DisplayData32) /读时分按键调试数值并存取 if(DisplayData29) DisplayData2+;else DisplayData2=0;DisplayData3+; if(DisplayData3=2) if(DisplayData23) DisplayData2+; else DisplayData2=0;DisplayData3=0; for(i=0;i4;i+) /显示当前调试的数字 P0=temp1DisplayData3-i; P2=tempi; delay1(1); P0=0x00; if(k3=0) delay(20); while(j50)&(k3!=0) /抖动检测 delay(10); j+; Set_RTC(); break; void Set_RTC() /写入改变的时间 uchar code WRITE_RTC_ADDR17 = 0x80, 0x82, 0x84, 0x86, 0x88, 0x8a, 0x8c; uchar i,*p=WRITE_RTC_ADDR1,zzh22=0;zzh20=DisplayData0+DisplayData1*16;zzh21=DisplayData2+DisplayData3*16; Ds1302Write(0x8E,0X00); for(i=1;i3;i+)/2次写入分时 p+; Ds1302Write(*p,zzh2i-1); Ds1302Write(0x8E,0x80); void delay(uchar i) /延时函数uchar k,j; while(i-) for(j=0;j0;k+); void delay1(uchar i) /延时函数uchar j; while(i-) for(j=0;j10;j+); /-DS1302写入和读取时分秒的地址命令-/-秒分时日月周年 最低位读写位;-/uchar code READ_RTC_ADDR7 = 0x81, 0x83, 0x85, 0x87, 0x89, 0x8b, 0x8d; uchar code WRITE_RTC_ADDR7 = 0x80, 0x82, 0x84, 0x86, 0x88, 0x8a, 0x8c;/-DS1302时钟初始化2013年1月1日星期二12点00分00秒。-/-存储顺序是秒分时日月周年,存储格式是用BCD码-/uchar TIME7 = 0x00, 0x22, 0x12, 0x01, 0x01, 0x02, 0x13;/* 函 数 名 : Ds1302Write* 函数功能 : 向DS1302命令(地址+数据)* 输 入 : addr,dat* 输 出 : 无*/void Ds1302Write(uchar addr, uchar dat)uchar n;RST = 0;_nop_();SCLK = 0;/先将SCLK置低电平。_nop_();RST = 1; /然后将RST(CE)置高电平。_nop_();for (n=0; n= 1;SCLK = 1;/数据在上升沿时,DS1302读取数据_nop_();SCLK = 0;_nop_();for (n=0; n= 1;SCLK = 1;/数据在上升沿时,DS1302读取数据_nop_();SCLK = 0;_nop_(); RST = 0;/传送数据结束_nop_();/* 函 数 名 : Ds1302Read* 函数功能 : 读取一个地址的数据* 输 入 : addr* 输 出 : dat*/uchar Ds1302Read(uchar addr)uchar n,dat,dat1;RST = 0;_nop_();SCLK = 0;/先将SCLK置低电平。_nop_();RST = 1;/然后将RST(CE)置高电平。_nop_();for(n=0; n= 1;SCLK = 1;/数据在上升沿时,DS1302读取数据_nop_();SCLK = 0;/DS1302下降沿时,放置数据_nop_();_nop_();for(n=0; n1) | (dat17);SCLK = 1;_nop_();SCLK = 0;/DS1302下降沿时,放置数据_nop_();RST = 0;_nop_();/以下为DS1302复位的稳定时间,必须的。SCLK = 1;_nop_();DSIO = 0;_nop_();DSIO = 1;_nop_();return dat;/* 函 数 名 : Ds1302Init* 函数功能 : 初始化DS1302.* 输 入 : 无* 输 出 : 无*/void Ds1302Init()uchar n;Ds1302Write(0x8E,0X00); /禁止写保护,就是关闭写保护功能for (n=0; n7; n+)/写入7个字节的时钟信号:分秒时日月周年Ds1302Write(WRITE_RTC_ADDRn,TIMEn);Ds1302Write(0x8E,0x80)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 民爆安全培训目的课件
- 民法提纲课件
- 藏族历史考试题库及答案
- 风险管控实施方案
- 新质生产力与党务工作
- 提高农业新质生产力的意义
- 淘宝客服部的工作方案报告
- 高校思政中的新质生产力融入
- 民族法课件教学课件
- 新质生产力材料板块
- 2025年4月自考00841第二外语(法语)试题
- 《医院感染监测与控制》课程教学大纲(本科)
- 访问控制安全管理制度
- 小学生青春期教学课件
- NEDD4在非小细胞肺癌EGFR-TKIs继发耐药中的作用机制与临床启示
- 车辆按揭押金合同协议
- 耳穴压豆法在临床中的应用
- 2024心肺复苏操作考核评分标准
- 2025春季学期国开电大专科《政治学原理》一平台在线形考(形考任务二)试题及答案
- 内镜标本规范处理
- 汽车电工电子基础电子教案2电流、电压和电位
评论
0/150
提交评论