标题: 单片机温度时间显示代码问题,求大神帮忙分析 [打印本页]

作者: 史珍香Dy    时间: 2021-4-22 16:09
标题: 单片机温度时间显示代码问题,求大神帮忙分析
把时间 初始化函数 和 读时间函数 注释掉,才可正常显示温度

我全部取消掉注释的话,时间时可以正常走,但是温度显示为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

作者: 人人学会单片机    时间: 2021-4-23 09:47
你这代码  初始化有问题 你可以看看我的这个贴子 框架式编程方式 http://www.51hei.com/bbs/dpj-200968-1.html





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1