这是我的主函数,我试过把读取时间的语句注释后可以读出温度,但是同时读取就只会显示时间没有温度。但是在proteus上是可以同时显示的。
我的源程序比较长,我添加在附件上了,
温度检测(不显示).docx
(26.98 KB, 下载次数: 16)
里面包括了时间设置按键程序,还有DS18B20的和DS1302的各种子程序。
之前也见过类似的贴子,说是使能也会有影响。
真的很无助,希望大家可以帮我看看,谢谢了!
第一次发帖,多多包涵!希望图片能够看得清楚
void main()
{
static uint value;
time_init(); //初始化定时器
init_int0(); //外部中断0初始化程序
init_1602(); //1602初始化
while(1)
{
key(); //按键程序
if(key_can < 10)
{
key_with();
}
value ++;
if(value >= 300) //300ms
{
value = 0;
if(menu_1 == 0)
{
write_sfm2_ds1302(1,8,shi); //显示时
write_sfm2_ds1302(1,11,fen); //显示分
write_sfm2_ds1302(1,14,miao); //显示秒
read_time(); //读时间
read_temp(); //调用ds18b20读取温度
ds18b20disp(); //调用温度显示子函数
}
}
delay_1ms(1);
}
}
这是仿真的结果。
这是我注释掉读取时间后的结果。
这是源程序显示的结果,温度显示在第二行,为0.0
|