注:本文章基于普中HC6800-ES V2.0单片机
1.温度+ds1302无法同时显示在1602上原因
温度与ds1302时钟速率不一样。
2.解决办法
修改普中提供的DS1302驱动函数才能正常显示。
3.对ds1302.c修改后的代码
#include"ds1302.h"
//---DS1302写入和读取时分秒的地址命令---//
//---秒分时日月周年 最低位读写位;-------//
uchar code READ_RTC_ADDR[7] = {
0x81, 0x83, 0x85, 0x87, 0x89, 0x8b, 0x8d};
uchar code WRITE_RTC_ADDR[7] = {
0x80, 0x82, 0x84, 0x86, 0x88, 0x8a, 0x8c};
//---DS1302时钟初始化2021年5月21日星期五0点00分34秒。---//
//---存储顺序是秒分时日月周年,存储格式是用BCD码---//
uchar TIME[7] = {
0x34, 0x00, 0x00, 0x021, 0x05, 0x05, 0x21};
/*******************************************************************************
* 函 数 名 : Ds1302Write
* 函数功能 : 向DS1302命令(地址+数据)
* 输 入 : addr,dat
* 输 出 : 无
*******************************************************************************/
void Ds1302Write(uchar addr, uchar dat