ImageVerifierCode 换一换
格式:DOCX , 页数:43 ,大小:21.88KB ,
资源ID:17532307      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17532307.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于单片机的万年历源代码程序Word格式文档下载.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于单片机的万年历源代码程序Word格式文档下载.docx

1、 while(i-) for(j=76;j1;j-); for(k=29;kk-); void delaynus(unsigned char n) /延时若干微秒 unsigned char i; for(i=0;i0;i-) _nop_();void baojing(unsigned char n) unsigned char x,i; while(n-)for(i=0;5;i+) for(x=0;x=1; void WriteSet1302(unsigned char cmd,unsigned char date) /根据相应的命令输入相应的数据 REST=0; REST=1; Write

2、1302(cmd); delaynus(5); Write1302(date);SCLK=1; REST=0; unsigned char Read1302(void) /读取1302数据 unsigned char i,date; if(DATE=1) date|=0x80; return date;unsigned char ReadSet1302(unsigned char cmd)/根据命令读取1302相应的值 unsigned char date; REST=0; REST=1; Write1302(cmd); date=Read1302(); SCLK=1;void IntDS13

3、02(void) /DS1302初始化 unsigned char flag; flag= ReadSet1302(0x81); if(flag&0x80) /判断时钟芯片是否关闭 WriteSet1302(0x8E,0x00); /根据写状态寄存器命令字,写入不保护指令 WriteSet1302(0x80,(0/10)4|(0%10); /根据写秒寄存器命令字,写入秒的初始值 WriteSet1302(0x82,(0/10) /根据写分寄存器命令字,写入分的初始值 WriteSet1302(0x84,(0/10) /根据写小时寄存器命令字,写入小时的初始值 WriteSet1302(0x86

4、,(0/10) /根据写日寄存器命令字,写入日的初始值 WriteSet1302(0x88,(0/10) /根据写月寄存器命令字,写入月的初始值WriteSet1302(0x8c,(10/10)4)*10+(value&0x0f); display_Second(seconds); value=ReadSet1302(0x83); minutes=(value& display_Minute(minutes); value=ReadSet1302(0x85); hours=(value& display_Hour(hours); value=ReadSet1302(0x87); day=(va

5、lue& display_Day(day); value=ReadSet1302(0x89); month=(value& display_Month(month); value=ReadSet1302(0x8D); year=(value&0xf0) display_Year(year);void displaystar(void) /显示欢迎界面 Write_Address(0x0f);while(displaywelcomei!=0) Write_Date(displaywelcomei); i+; delay1ms(1); i=0; Write_Address(0x4f); while

6、(displaywishi! Write_Date(displaywishi); j=40; while(j-) Write_com(0x18);/循环左移 delay1ms(700); delay1ms(10);void gbdisplay(unsigned char address) /时间调整时光标闪烁 Write_Address(address); delay1ms(5); Write_com(0x0f);void displaymaxt(unsigned char x) /显示最大温度 unsigned char i,j,k; delay1ms(2); i=x/100; j=x/10

7、; k=x%10; Write_Date(digitk);/*时间调整部分*/void hourset(void) /调时 unsigned char timevalue,hour; delay1ms(500); /防止多次触发 WriteSet1302(0x8e,0x00);/将写保护去掉,确保能正常将调整后的数值写入DS1302 timevalue=ReadSet1302(0x85); /读取此时的数值 hour=(timevalue&4)*10+(timevalue& while(1) if(ADD=0) delay1ms(50); if(ADD=0) hour+; delay1ms(3

8、00); while(ADD=0); if(RED=0) if(RED=0) hour-; if(hour=0) hour=23; while(RED=0); timevalue=(hour)/10)=24) hour=0; if(CANL=0) mode=0; Write_com(0x0c); break; if(SET=0) break; WriteSet1302(0x8e,0x80);void minuteset(void) /调分 unsigned char timevalue,minute; timevalue=ReadSet1302(0x83); minute=(timevalue

9、& delay1ms(10); minute+; if(minute=60) timevalue=0; minute-; if(minute=0) minute=59; timevalue=(minute/10)=60) minute=0;void secondset(void) /秒归零 unsigned char second; second=0; WriteSet1302(0x80,0x00); display_Second(second); Write_Address(0x4f);void yearset(void) /调年 unsigned char datevalue,year;WriteSet1302(0x8e,0x00); datevalue=ReadSet1302(0x8d); year=(datevalue&4)*10+(datevalue& year+; year-; datevalue=(year/10)4|(year%10); WriteSet1302(0x8c,datevalue); display_Year(year); del

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1