仪器网(yiqi.com)欢迎您!

| 注册 登录
网站首页-资讯-专题- 微头条-话题-产品- 品牌库-搜索-供应商- 展会-招标-采购- 社区-知识-技术-资料库-方案-产品库- 视频

问答社区

急!为什么我做的温度传感器显示85度不变了?

jieshao470 2012-07-09 22:55:17 580  浏览
  • 在proteus里面已经仿真成功了,但电路连完后只显示85度不变,上拉电阻用的是10K的排阻,求高人指点啊!#include#includesbitDQ=P1^2;sbitLED=P1^0;sbitspeaker=P... 在proteus里面已经仿真成功了,但电路连完后只显示85度不变,上拉电阻用的是10K的排阻,求高人指点啊! #include #include sbit DQ=P1^2; sbit LED=P1^0; sbit speaker=P1^1; #define uchar unsigned char #define uint unsigned int bdata uchar a,b; //定义a,b位于位选区 sbit mybit=b^7; uint temp,k,t,s; float p; uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0x40}; void delay_18B20(uint i) //延时程序 {while(i--);
    } void Init_DS18B20(void) //初始化DS18B20 { uchar x=0; DQ=1; delay_18B20(8); DQ=0; delay_18B20(80); DQ=1; delay_18B20(14); x=DQ; delay_18B20(20); } uchar ReadOnechar(void) //读取一个字符 { uchar i,dat; dat=0; for(i=0;i<8;i++) { DQ=0; dat>>=1; DQ=1; if(DQ) dat|=0x80; delay_18B20(4); } return (dat); } void WriteOnechar(uchar dat) //写入一个字符 { uchar i=0; for(i=0;i<8;i++) { DQ=0; DQ=dat&0x01; delay_18B20(5); DQ=1; dat>>=1; } } void ReadTemp(void) //温度转换 { Init_DS18B20(); WriteOnechar(0xcc); WriteOnechar(0x44); delay_18B20(100); Init_DS18B20(); WriteOnechar(0xcc); WriteOnechar(0xbe); delay_18B20(100); a=ReadOnechar(); b=ReadOnechar(); t=b&0x07; t<<=8; t=t|a; if(mybit) {t=~t+1;
    t=t&0x07ff;
    } p=t*0.0625; s=p*10+0.5; } void delay(uint z) { uint s,t; for(s=0;s for(s=0;s for(t=0;t<40;t++);
    } void display(uchar num0,uchar num1,uchar num2,bit num3) //显示程序 { P2=0xfe; P0=table[num2]; delay(4); P2=0xfd; P0=table[num1+10]; delay(4); P2=0xfb; P0=table[num0]; delay(4); num3=mybit; if(num3) {P2=0xf7;
    P0=0x40;
    delay(4);
    } } void main() { uchar num0,num1,num2; //百、十、个、符号位 bit num3; LED=0; while(1) { ReadTemp(); num0=s/100; num1=(s-num0*100)/10; num2=s%10; if(p>33&&(!mybit)) { LED=1; speaker=0; } else {LED=0;
    speaker=1;} display(num0,num1,num2,num3); } } 展开

参与评论

全部评论(1条)

  • 新乐小男人year 2012-07-10 00:00:00
    应该不是程序的问题,Proteus仿真中只是显示温度传感器的温度,你可以该改变温度传感器的温度对应显示就改变了。

    赞(20)

    回复(0)

    评论

获取验证码
我已经阅读并接受《仪器网服务协议》

热门问答

急!为什么我做的温度传感器显示85度不变了?
在proteus里面已经仿真成功了,但电路连完后只显示85度不变,上拉电阻用的是10K的排阻,求高人指点啊!#include#includesbitDQ=P1^2;sbitLED=P1^0;sbitspeaker=P... 在proteus里面已经仿真成功了,但电路连完后只显示85度不变,上拉电阻用的是10K的排阻,求高人指点啊! #include #include sbit DQ=P1^2; sbit LED=P1^0; sbit speaker=P1^1; #define uchar unsigned char #define uint unsigned int bdata uchar a,b; //定义a,b位于位选区 sbit mybit=b^7; uint temp,k,t,s; float p; uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0x40}; void delay_18B20(uint i) //延时程序 {while(i--);
} void Init_DS18B20(void) //初始化DS18B20 { uchar x=0; DQ=1; delay_18B20(8); DQ=0; delay_18B20(80); DQ=1; delay_18B20(14); x=DQ; delay_18B20(20); } uchar ReadOnechar(void) //读取一个字符 { uchar i,dat; dat=0; for(i=0;i<8;i++) { DQ=0; dat>>=1; DQ=1; if(DQ) dat|=0x80; delay_18B20(4); } return (dat); } void WriteOnechar(uchar dat) //写入一个字符 { uchar i=0; for(i=0;i<8;i++) { DQ=0; DQ=dat&0x01; delay_18B20(5); DQ=1; dat>>=1; } } void ReadTemp(void) //温度转换 { Init_DS18B20(); WriteOnechar(0xcc); WriteOnechar(0x44); delay_18B20(100); Init_DS18B20(); WriteOnechar(0xcc); WriteOnechar(0xbe); delay_18B20(100); a=ReadOnechar(); b=ReadOnechar(); t=b&0x07; t<<=8; t=t|a; if(mybit) {t=~t+1;
t=t&0x07ff;
} p=t*0.0625; s=p*10+0.5; } void delay(uint z) { uint s,t; for(s=0;s for(s=0;s for(t=0;t<40;t++);
} void display(uchar num0,uchar num1,uchar num2,bit num3) //显示程序 { P2=0xfe; P0=table[num2]; delay(4); P2=0xfd; P0=table[num1+10]; delay(4); P2=0xfb; P0=table[num0]; delay(4); num3=mybit; if(num3) {P2=0xf7;
P0=0x40;
delay(4);
} } void main() { uchar num0,num1,num2; //百、十、个、符号位 bit num3; LED=0; while(1) { ReadTemp(); num0=s/100; num1=(s-num0*100)/10; num2=s%10; if(p>33&&(!mybit)) { LED=1; speaker=0; } else {LED=0;
speaker=1;} display(num0,num1,num2,num3); } } 展开
2012-07-09 22:55:17 580 1
为什么单片机控制18B20测温初始总是显示85度然后显示测量值
 
2012-05-12 22:07:28 697 2
空压机的温度传感器为什么显示全是星号?
 
2016-12-05 09:10:57 457 2
视频头不显示连接、我的电脑中不显示视频设备
视频头拔下来重新插也没用,插的时候电脑什么反应也没有,怎么回事啊,很久没用摄像头了,重新用就这样了,怎么回事啊?
2010-12-14 03:01:29 492 3
为什么我洗完头然后带上帽子头型就变了
 
2014-10-02 09:14:26 366 2
恒温恒湿箱为什么在20度一下和85度以上不能做湿度?
 
2016-10-09 00:19:07 269 1
为什么不用欧姆表做温度传感器
为什么不用欧姆表做温度传感器
2018-11-23 21:38:47 385 0
为什么我的电脑接DVI线,有时候显示器不显示?
如题,我电脑是独立显卡,以前用的是VGA线,现在换成了DVI高清线,有时候会出现开了主机(主机一切运行正常能听到进系统的声音),显示器不显示,但是显示器有电,只是不显示。换线都不行,请问是为什么,是显卡问题,还是什么问题来的?有时候玩游戏,玩着玩... 如题,我电脑是独立显卡,以前用的是VGA线,现在换成了DVI高清线,有时候会出现开了主机(主机一切运行正常能听到进系统的声音),显示器不显示,但是显示器有电,只是不显示。换线都不行,请问是为什么,是显卡问题,还是什么问题来的?有时候玩游戏,玩着玩着突然死机,然后再重启也不会显示。每次我要解决这个问题就非的把那个DVI线接显卡的那头拼命的望显卡里面插,用手按住,启动起来有显示之后再松开手又OK了,有时候几天都不会出问题,郁闷。谢谢!请高手指点一下到底是什么问题。 展开
2013-08-13 20:33:11 487 1
温度记录仪DR130,不显示测试,怎么解决???急!!!
 
2011-04-27 17:48:10 334 1
proteus里的频率计为什么不显示
2018-11-20 11:14:12 384 0
为什么我的金士顿dtge9检测不出芯片信息,也不显示品牌
 
2018-11-30 09:04:30 372 0
急!!MCGS 组态软件6.2通用版历史曲线不显示??
 
2011-04-12 20:01:52 472 1
无线测温仪为什么不显示温度
 
2018-11-19 03:12:35 353 0
我的培养基高压灭菌后的PH值变化很大,变了1.0以上,为什么啊
 
2012-03-13 14:28:06 619 4
急啊!~我的血液为什么偏黑????
我有一次去打吊瓶,打完吊瓶后,医生让我用棉球按一会,免得血留出来了,可是我耐不住性子,于是觉得没血出来了。我就去拿药。本来我都还没发现血正在顺着自己的指尖流下,还是医SF... 我有一次去打吊瓶,打完吊瓶后,医生让我用棉球按一会,免得血留出来了,可是我耐不住性子,于是觉得没血出来了。我就去拿药。本来我都还没发现血正在顺着自己的指尖流下,还是医SF现了跟我说的。我立马跑到给我打吊瓶的那个医生那里,让她给我处理一下。没想到她说我的血偏黑,要去检查一下。他不说不知道,一说吓一跳啊!`果真是蛮黑的,望知此结果的朋友,告知一下。感激不尽。。。。谢拉。 展开
2007-02-12 07:23:02 287 2
溢流阀安装的电磁流量计为什么不显示流量
 
2018-11-16 04:28:46 306 0
OTDR十公里以下光显示曲线不显示数据为什么?
 
2011-08-30 04:16:08 579 4

5月突出贡献榜

推荐主页

最新话题