找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1941|回复: 1
打印 上一主题 下一主题
收起左侧

单片机温度时间显示代码问题,求大神帮忙分析

[复制链接]
跳转到指定楼层
楼主
把时间 初始化函数 和 读时间函数 注释掉,才可正常显示温度

我全部取消掉注释的话,时间时可以正常走,但是温度显示为00.0°C
下面时相对应的一些函数
void Ds1302Init()                                 //时间初始化
{
        uchar n;
        Ds1302Write(0x8E,0x00);                 //关闭写保护功
        for (n=0; n<7; n++)//写入7个字节的时钟信号:分秒时日月周年
        {
                Ds1302Write(WRITE_RTC_ADDR[n],TIME[n]);        
        }
        Ds1302Write(0x8E,0x80);                 //打开写保护

}

void Ds1302ReadTime()                                        //读时间
{
        uchar n;
        for (n=0; n<7; n++)//读取7个字节的时钟信号:分秒时日月周年
        {
                TIME[n] = Ds1302Read(READ_RTC_ADDR[n]);               
        }               
}


void get_temp()                        
{         
        init_temp();  
        write_temp(0xcc);  //跳过ROM
        write_temp(0x44);  //温度转换
        delay1(1000);  //等待转换1000毫秒
        init_temp();  
        write_temp(0xcc);  //跳过ROM
        write_temp(0xbe);  //读RAM内容
        low=read_temp();  //低8位
        high=read_temp();  //高8位
        temp=high;
        temp<<=8;
        temp=temp|low;  //合并
        temp=temp*10*0.0625+0.5;  //转换
        s[0]=temp/100;  //十位
        s[1]=temp%100/10;  //个位
        s[2]=temp%10;  //小数
}


主函数的.png (30.01 KB, 下载次数: 54)

主函数的.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:390416 发表于 2021-4-23 09:47 | 只看该作者
你这代码  初始化有问题 你可以看看我的这个贴子 框架式编程方式 http://www.51hei.com/bbs/dpj-200968-1.html
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表