首页 基于LPC1768 Cortex-M3的DS1302万年历

基于LPC1768 Cortex-M3的DS1302万年历

举报
开通vip

基于LPC1768 Cortex-M3的DS1302万年历基于LPC1768 Cortex-M3的DS1302万年历 /*基于LPC1768 Cortex-M3的DS1302万年历*/ /************控制引脚************** SCL P0.26 I/O P0.24 RST P0.25 ***********************************/ #include"LPC17xx.h" #include"ds1302.h" #include"delay.h" volatile uint16_t time_data[7]=...

基于LPC1768 Cortex-M3的DS1302万年历
基于LPC1768 Cortex-M3的DS1302万年历 /*基于LPC1768 Cortex-M3的DS1302万年历*/ /************控制引脚************** SCL P0.26 I/O P0.24 RST P0.25 ***********************************/ #include"LPC17xx.h" #include"ds1302.h" #include"delay.h" volatile uint16_t time_data[7]={ 0x2012,0x4,0x5,0x25,0x14,0x11,0x00 }; //年,星期,月,日,时,分,秒 (初始时间) volatile uint8_t write_add[7]={ 0x8c,0x8a,0x88,0x86,0x84,0x82,0x80 }; volatile uint8_t read_add[7]= { 0x8d,0x8b,0x89,0x87,0x85,0x83,0x81 }; uint8_t table_time_dis[22]; /*------------------DS1302复位--------------------*/ void DS1302_RESET(void) { DS1302_SCLK_OUT; DS1302_CE_OUT; DS1302_SCLK_CLR; DS1302_CE_CLR; Time3_delay_us(10); DS1302_SCLK_SET; } /*-----------------写单字节指令------------------*/ void Write_Single_byte(uint8_t wdate) { uint8_t i; DS1302_GPIO0_OUT; DS1302_CE_SET; for(i=0;i<8;i++) { if(wdate&0x01) { DS1302_GPIO0_SET; } else { DS1302_GPIO0_CLR; } DS1302_SCLK_CLR; Time3_delay_us(10); DS1302_SCLK_SET; Time3_delay_us(10); wdate >>= 1; } } /*-----------------读单字节指令------------------*/ uint8_t Read_Single_byte(void) { uint8_t i; uint8_t rdata = 0x00; DS1302_GPIO0_IN; DS1302_CE_SET; for(i=0;i<8;i++) { DS1302_SCLK_SET; Time3_delay_us(10); DS1302_SCLK_CLR; Time3_delay_us(10); rdata >>=1; if(DS1302_GPIO0_Read) { rdata |= 0x80; } } return rdata; } /*------------------DS1302写-------------------*/ void Write_DS1302(uint8_t add,uint8_t wdate) { DS1302_CE_CLR; DS1302_SCLK_CLR; DS1302_CE_SET; Write_Single_byte(add); Write_Single_byte(wdate); DS1302_SCLK_SET; DS1302_CE_CLR; } /*------------------DS1302读-------------------*/ uint8_t Read_DS1302(uint8_t add) { uint8_t rdata; DS1302_CE_CLR; DS1302_SCLK_CLR; DS1302_CE_SET; Write_Single_byte(add); rdata = Read_Single_byte(); DS1302_SCLK_SET; DS1302_CE_CLR; return (rdata); } /********************************************** 写一个对时函数设置时钟要不芯片不会运行 ***********************************************/ void time_inint(void) { uint8_t i; Write_DS1302(0x8e,0x00); //关写保护 for(i=0;i<7;i++) { Write_DS1302(write_add[i],time_data[i]); } Write_DS1302(0x8e,0x80); //开写保护 } /********************************************** 读时钟函数 ***********************************************/ void read_time(void) { uint8_t i; for(i=0;i<7;i++) { time_data[i]=Read_DS1302(read_add[i]); } } /********************************************** 时间处理 ***********************************************/ void time_program(void) { uint8_t i; for(i=0;i<7;i++) //16进制转10进制 { time_data[i]=(time_data[i]>>0)%16+ (time_data[i]>>4)%16*10+ (time_data[i]>>8)%16*100+ (time_data[i]>>12)%16*1000; } table_time_dis[21]=time_data[1]%10+ '0'; //星期 table_time_dis[20]=time_data[1]/10+ '0'; table_time_dis[19]=47; table_time_dis[18]=time_data[6]%10 + '0'; //秒 table_time_dis[17]=time_data[6]/10 + '0'; table_time_dis[16]=58; table_time_dis[15]=time_data[5]%10+ '0'; //分 table_time_dis[14]=time_data[5]/10+ '0'; table_time_dis[13]=58; table_time_dis[12]=time_data[4]%10+ '0'; //时 table_time_dis[11]=time_data[4]/10+ '0'; table_time_dis[10]=47; table_time_dis[9]=time_data[3]%10+ '0'; //日 table_time_dis[8]=time_data[3]/10+ '0'; table_time_dis[7]=45; table_time_dis[6]=time_data[2]%10+ '0'; //月 table_time_dis[5]=time_data[2]/10+ '0'; table_time_dis[4]=45; table_time_dis[3]=time_data[0]%10 + '0'; //年 table_time_dis[2]=time_data[0]/10 + '0'; table_time_dis[1]=0+ '0'; table_time_dis[0]=2+ '0'; }
本文档为【基于LPC1768 Cortex-M3的DS1302万年历】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_882336
暂无简介~
格式:doc
大小:21KB
软件:Word
页数:0
分类:互联网
上传时间:2017-09-30
浏览量:20