注:本文章基于普中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)
{uchar n;RST = 0;_nop_();SCLK = 0;//先将SCLK置低电平。_nop_();RST = 1; //然后将RST(CE)置高电平。_nop_();for (n=0; n<8; n++)//开始传送八位地址命令{DSIO = addr & 0x01;//数据从低位开始传送addr >>= 1;SCLK = 1;//数据在上升沿时,DS1302读取数据_nop_();SCLK = 0;_nop_();}for (n=0; n<8; n++)//写入8位数据{DSIO = dat & 0x01;dat >>= 1;SCLK = 1;//数据在上升沿时,DS1302读取数据_nop_();SCLK = 0;_nop_();    }   //  RST = 0;//传送数据结束                         //~修改处~将其注释掉_nop_();
}/*******************************************************************************
* 函 数 名         : Ds1302Read
* 函数功能         : 读取一个地址的数据
* 输    入         : addr
* 输    出         : dat
*******************************************************************************/uchar Ds1302Read(uchar addr)
{uchar n,dat,dat1;RST = 0;_nop_();SCLK = 0;//先将SCLK置低电平。_nop_();RST = 1;//然后将RST(CE)置高电平。_nop_();for(n=0; n<8; n++)//开始传送八位地址命令{DSIO = addr & 0x01;//数据从低位开始传送addr >>= 1;SCLK = 1;//数据在上升沿时,DS1302读取数据_nop_();SCLK = 0;//DS1302下降沿时,放置数据_nop_();}_nop_();for(n=0; n<8; n++)//读取8位数据{dat1 = DSIO;//从最低位开始接收dat = (dat>>1) | (dat1<<7);SCLK = 1;_nop_();SCLK = 0;//DS1302下降沿时,放置数据_nop_();}//   RST = 0;                                      // ~修改处~将其注释掉_nop_();    //以下为DS1302复位的稳定时间,必须的。SCLK = 1;_nop_();DSIO = 0;_nop_();DSIO = 1;_nop_();return dat;
}/*******************************************************************************
* 函 数 名         : Ds1302Init
* 函数功能         : 初始化DS1302.
* 输    入         : 无
* 输    出         : 无
*******************************************************************************/void Ds1302Init()
{uchar n;Ds1302Write(0x8E,0X00);         //禁止写保护,就是关闭写保护功能for (n=0; n<7; n++)//写入7个字节的时钟信号:分秒时日月周年{Ds1302Write(WRITE_RTC_ADDR[n],TIME[n]);  }Ds1302Write(0x8E,0x80);         //打开写保护功能
}/*******************************************************************************
* 函 数 名         : Ds1302ReadTime
* 函数功能         : 读取时钟信息
* 输    入         : 无
* 输    出         : 无
*******************************************************************************/void Ds1302ReadTime()
{uchar n;for (n=0; n<7; n++)//读取7个字节的时钟信号:分秒时日月周年{TIME[n] = Ds1302Read(READ_RTC_ADDR[n]);}}

注释两处RST=0即可。

以下是温度+DS1302+LCD1602的显示KEIL文件,有需要的可以下载呀!!!
LCD1602显示温度+DS1302

普中温度+DS1302无法同时显示在LCD1602上相关推荐

  1. Java中从指定文本文件中读取内容,并显示到屏幕上。

    [问题描述]从指定文本文件test.txt中读取内容,并显示到屏幕上. [输入形式]当前目录下的文本文件 test.txt ,内容可能如下: 在完成这个问题的过程中学到了很多,比如相对路径与绝对路径的 ...

  2. 三星手机实现airtest自动化屏幕显示比例小或测试报告中操作的位置未显示在图片上

    三星手机实现airtest自动化屏幕显示比例小或测试报告中操作的位置未显示在图片上 1.三星手机连接到airtestIDE中只显示了很小一部分,如图所示: 2.测试报告中操作的位置未显示在图片上,如图 ...

  3. Mathtype在word中一些数学符号不能显示[比如符号上的波浪线],只能显示方框时的解决办法

    Mathtype在word中一些数学符号不能显示[比如符号上的波浪线],只能显示方框时的解决办法 解决方法 解决方法 打开C:\WINDOWS\Fonts,若里面有MT Extra(TrueType) ...

  4. 51单片机 普中V2 超声波测距 报警 显示 基于MCS51单片机的超声波测距模块的开发

    基于MCS51单片机的超声波测距模块的开发 采用C51程序设计语言,完成下列功能要求. l 必选功能: (1) 超声波模块和单片机的接口设计,画出完整的电路原理图.(15分) (2) 开发板上电时,显 ...

  5. 普中stm32开发板tftlcd显示图片_STM32实例TFTLCD介绍

    以前我们用 51 单片机控制 TFTLCD(TFT 液晶屏)时,使用的是 IO 口模拟80 接口时序.这次我们来学习如何使用 STM32F1 的 FSMC(灵活的静态存储控制器)接口控制 TFTLCD ...

  6. 普中开发板白屏_普中开发板12864下面显示不正常怎么回事

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 图放楼下 #ifdef CHAR_CODE #include"charcode.h" uchar Lcd12864_Write16Cn ...

  7. 基于STM32(HAL库)的水质检测(浑浊度、PH值、温度、手机APP显示、wifi上云)

    本系统由通过wifi将浑浊度.PH值.温度采集的数据发送到手机APP,超过设定的阈值报警. 一.硬件材料清单: 1.STM32C8T6:控制器 2.OLED显示屏:显示传感器采集的数据 3.PH传感器 ...

  8. 普中51单片机按键-数码管显示

    基于普中单片机按键-数码管显示 简介 1.硬件部分 普中单片机开发板 数码管 独立按键 2.软件部分 keil软件 硬件部分 普中单片机开发板 数码管 独立按键 (这些都是开发板的最基本的配置) 软件 ...

  9. 基于普中A2实验板,ds18b20温度传感器与ds1302时钟芯片的冲突现象的探讨

    在普中板上进行写较综合的项目时,是否会出现温度传感器经常出错的问题,明明是严格按照时序图所编写的程序就是无法读出正确的值(全为0),或许温度底层在其他工程里能正常运行,而到了某些工程中却总是出错.这些 ...

最新文章

  1. matlab sisotool工具箱实例,MATLAB工具箱Sisotool工具箱在控制系统补偿器中的应用
  2. 【记录】 安装qflow on ubuntu 16.04
  3. ITK:平方每个像素
  4. poj 4468Spy(kmp算法)
  5. 字典超详细--python
  6. 高并发秒杀系统架构解密,不是所有的秒杀都是秒杀!
  7. 图像处理MATLAB(图像分割)
  8. Linux安装阿里yum源
  9. DotA2表演赛全面总结 EHOME重拾王者霸气
  10. 浅谈sklearn中DBSCAN的欧式距离(Euclidean Distance)的计算
  11. 压缩气体储能领域新势力「嘉泰新能」获AC资本天使轮投资!
  12. python 操作word教程_Python 使用 win32com 模块对word文件进行操作
  13. 关键词(快排)刷词原理和方法
  14. 基于74LS161实现的多功能数字钟
  15. 启动计算机引导win10,图文详解win10系统电脑开机引导错误的方案
  16. 计算机基础是公共必修课,计算机公共必修课《大学计算机基础》课程教学大纲.doc...
  17. 腾讯云轻量级服务器怎么搭建网站,腾讯云轻量应用服务器新手教程:快速搭建网站...
  18. sublime安装和使用
  19. Android获取重力加速度和磁场强度
  20. Armadillo与OpenCV矩阵数据mat、vec与Mat的相互转换

热门文章

  1. 基于C#的压缩与解压缩源码
  2. arduino红外热释电传感器_Arduino与Processing互动之红外热释电与感应路灯
  3. 12月世界滋补产业生态大会,走进燕窝滋补品产业新领域
  4. ubuntu高效简单安装NVIDIA显卡驱动
  5. Qt 5.4正式版发布,支持HTML5混合开发
  6. 青龙面板之小黄鸟抓包
  7. 文章生成器(单文件java版)
  8. 如何使用计算机文件共享,win7两台电脑用一根网线怎么共享文件
  9. jenkins 固定脚本踩过坑
  10. 小红书是失控了,还是故意在收割...