第一范文网 - 专业文章范例文档资料分享平台

单片机课程设计-温度控制系统

来源:用户分享 时间:2025/6/3 4:51:49 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

//是否写入保护

void DS1302_SetProtect(bit Flag) { if(Flag) Write_Ds1302(0x8E,0x80); //0x8e控制字节地址,bit7=WP WP=1 禁止数据写入DS1302 else Write_Ds1302(0x8E,0x00); //WP=0 允许数据写入DS1302 }

/*--------------------------------------------------------------*/ //设置时间函数

void DS1302_SetTime(unsigned char Address, unsigned char Value) { DS1302_SetProtect(0); Write_Ds1302(Address,((Value/10)<<4|(Value))); DS1302_SetProtect(1); }

/********************************** 读取 DS1302当前时间, 格式为:

秒,分,时,日,月,星期,年 **********************************/ void get_ds1302(systemtime *Time) { uchar readtime;

readtime = r_ds1302(0x81); //秒寄存器读操作0x81 Time->second = ((readtime&0x70)>>4)*10 + (readtime&0x0f); //十位+个位 readtime = r_ds1302(0x83); //分寄存器读操作0x83 Time->minute = ((readtime&0x70)>>4)*10 + (readtime&0x0f); readtime = r_ds1302(0x85); Time->hour = ((readtime&0x70)>>4)*10 + (readtime&0x0f); readtime = r_ds1302(0x87); Time->day = ((readtime&0x70)>>4)*10 + (readtime&0x0f); //readtime = r_1302(0x8b); //Ttime->week = ((readtime&0x70)>>4)*10 + (readtime&0x0f); readtime = r_ds1302(0x89); Time->month = ((readtime&0x70)>>4)*10 + (readtime&0x0f); readtime = r_ds1302(0x8d); Time->year = ((readtime&0x70)>>4)*10 + (readtime&0x0f);

33

//将十进制数转换为液晶显示的ASCII值 Time->DateString[0] = Time->year/10 + '0'; Time->DateString[1] = Time->year + '0'; Time->DateString[2] = '-'; Time->DateString[3] = Time->month/10 + '0'; Time->DateString[4] = Time->month + '0'; Time->DateString[5] = '-'; Time->DateString[6] = Time->day/10 + '0'; Time->DateString[7] = Time->day + '0'; Time->DateString[8] = '\\0'; //将十进制数转换为液晶显示的ASCII值 Time->TimeString[0] = Time->hour/10 + '0'; Time->TimeString[1] = Time->hour + '0'; Time->TimeString[2] = ':'; Time->TimeString[3] = Time->minute/10 + '0'; Time->TimeString[4] = Time->minute + '0'; Time->TimeString[5] = ':'; Time->TimeString[6] = Time->second/10 + '0'; Time->TimeString[7] = Time->second + '0'; Time->TimeString[8] = '\\0'; }

#endif

34

搜索更多关于: 单片机课程设计-温度控制系统 的文档
单片机课程设计-温度控制系统.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4psjh861if0a0pk1tz1l_9.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top