//M16管脚定义 #define DS1302_CE 1 //PA1 必须设为输出 ----DS1302 pin5 //宏定义 #define EnDS1302 PORTA|= (1< //写RAM0 Single_SPI(CMD_CONTROL|CMD_WRITE,CFG_PROTECT); //写保护 i=Single_SPI(CMD_RAM_BASE|CMD_READ,0); //读取RAM0 if(i==0xA5) return 1; else return 0; } //初始化DS1302 void init_RTC(char *init_data) { unsigned char temp[8]; DiDS1302; DDRA|= (1< DS1302程序 void decodeWEEK(unsigned char WEEK,unsigned char _delay_ms(1); *pstr) { unsigned char i; i=WEEK; i&=0x07; i=i<<1; *pstr++=sWEEK[i++]; *pstr=sWEEK[i]; } //读取当前时间并解释 void read_date(char *s_cur_date) { Burst_SPI(CMD_CLOCK_BURST|CMD_READ,7,0,CURDATE); //读取当前时间 BCDtoASCII(CURDATE[6],s_cur_date + 2); //年 ,00~10 BCDtoASCII(CURDATE[4],s_cur_date + 6); //月 ,01~12 BCDtoASCII(CURDATE[3],s_cur_date + 10); //日 ,01~31(28/30/31) BCDtoASCII(CURDATE[2],s_cur_date + 14); //时 ,00~23 BCDtoASCII(CURDATE[1],s_cur_date + 18); //分 ,00~59 BCDtoASCII(CURDATE[0],s_cur_date + 22); //秒 ,00~59 decodeWEEK(CURDATE[5],s_cur_date + 31); //星期 ,1~7 一~日 } /*----------------------------------------------------------------------- delay_nms :长延时函数(GCC内部延时函数的延时过短) 输入参数: t :延时时间 ms -----------------------------------------------------------------------*/ void delay_nms(unsigned int t) { while (t--) } 3 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- dfix.cn 版权所有 湘ICP备2024080961号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务