找回密码
 立即注册

QQ登录

只需一步,快速开始

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

做实物时,发现这个单片机程序温度是固定的,为什么不能改

[复制链接]
跳转到指定楼层
楼主



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

使用道具 举报

沙发
ID:7485 发表于 2019-12-19 17:52 | 只看该作者
“单片机程序温度是固定的”是什么意思?

把程序贴上来让人看看。

你贴的截图,想试仿真一下都不行。
回复

使用道具 举报

板凳
ID:667152 发表于 2019-12-20 08:22 来自手机 | 只看该作者
#include"reg51.h" #include"intrins.h" #defineucharunsignegchar #defineuintunsignedint #defineoutp0 sbitsmg1=out^4; sbitsmg2=out^5; sbitDQ=p3^7; voiddelay5(uchar); voidinit_ds18b20(void); ucharreadbyte(void); voidwritebyte(uchar); ucharretemp(void);  voidmain(void) { uchari,temp; delay5(1000); while(1) { temp=retemp(); for(i=0;i<10;i++) { out=(temp/10)&0x0f; smg1=0; smg2=1; delay5(1000); out=(temp%10)&0x0f; smg1=1; smg2=0; delay5(1000); } } } voiddelay5(ucharn) { do { _nop_(); _nop_(); _nop_(); n--; } while(n); } voidinit_ds18b20(void) { ucharx=0; DQ=0; delay5(120); DQ=1; delay5(16); delay5(80); } ucharreadbyte(void) { uchari=0; uchardate=0; for(i=8;i>0;i--) { DQ=0; delay5(1); DQ=1; date>>=1; if(DQ) date|=0x80; delay5(11); } return(date); } voidwritebyte(uchardat) { uchari=0; for(i=8;i>0;i--) { DQ=0; DQ=dat&0x01; delay5(12); DQ=1; dat>>=1; delay5(5); } } ucharretemp(void) { uchara,b,tt; uintt; init_ds18b20(); writebyte(0xcc); writebyte(0x44); init_ds18b20(); writebyte(0xcc); writebyte(0xBE); a=readbye(); b=readbye(); t=b; t<<=8; t=t|a; tt=t*0.0625; return(tt); }
回复

使用道具 举报

地板
ID:667152 发表于 2019-12-20 08:24 来自手机 | 只看该作者
要测室温,温度的显示应该是随温度的变化而变化的,但是我做的实物不能随温度的变化
回复

使用道具 举报

5#
ID:667152 发表于 2019-12-20 08:26 来自手机 | 只看该作者
温度固定的意思就是室温变化但是显示不变
回复

使用道具 举报

6#
ID:351097 发表于 2019-12-20 15:01 | 只看该作者
查看DS18b20能不能正常通信,晶振频率是否一致?
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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