下载

0下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 DS18B02温度传感器

DS18B02温度传感器.doc

DS18B02温度传感器

贾进志
2017-10-16 0人阅读 举报 0 0 0 暂无简介

简介:本文档为《DS18B02温度传感器doc》,可适用于IT/计算机领域

DSB温度传感器#include<regh>#defineucharunsignedcharsbitDQ=P^数据传输线接单片机的相应的引脚unsignedchartempL=临时变量低位(无符号字符变量)unsignedchartempH=临时变量高位unsignedinttempa温度值(整型变量)uchardisplaydata={}voidDSdelay(intuseconds)延时函数{intsfor(s=s<usecondss)}unsignedcharInitDSB(void){unsignedcharx=DQ=发送复位脉冲DSdelay()延时(>ms)DQ=拉高数据线DSdelay()等待(~ms)等待存在脉冲x=DQ获得存在信号(用于判断是否有器件)DSdelay()等待时间隙结束return(x)返回存在信号=器件存在,=无器件}ReadOneChar(void)读一个字节{unsignedchari=unsignedchardat=for(i=i>i){DQ=DQ=dat>>=复合赋值运算等效dat=dat>>(dat=dat右移一位后的值)DQ=if(DQ)dat|=xDSdelay()}return(dat)}WriteOneChar(unsignedchardat)有参函数功能是"写"而写的内容就是括号内的参数{unsignedchari=for(i=i>i){DQ=DQ=datxDSdelay()DQ=dat>>=复合赋值运算等效dat=dat>>(dat=dat右移一位后的值)}DSdelay()}unsignedintReadTemperature(void)返回读取的温度{InitDSB()初始化调用初始化函数WriteOneChar(xcc)跳过读序列号的操作调用写函数写xcc指令码(跳过读序列号)WriteOneChar(x)启动温度转换调用写函数写x指令码(启动温度转换)DSdelay()转换需要一点时间延时InitDSB()初始化调用初始化函数WriteOneChar(xcc)跳过读序列号的操作调用写函数写xcc指令码(跳过读序列号WriteOneChar(xbe)调用写函数写xbe指令码读温度寄存器(头两个值分别为温度的低位和高位)tempL=ReadOneChar()读出温度的低位LSBtempH=ReadOneChar()读出温度的高位MSBtempa=((tempH*)tempL)*温度转换,扩大返回DSdelay()tempa=tempLtempHreturn(tempa)运算结果返回到函数}voiddisplay()显示函数{unsignedchari,j,k=xunsignedcharcodedis={xF,x,xB,xF,x,xD,xD,x,xF,xF}P=xffor(i=i<i){P=kif(i==)P=disdisplaydataixelseP=disdisplaydataik=k>>for(j=j>j)}}voidmain(){unsignedinttempuchariwhile(){temp=ReadTemperature()displaydata=temp百位displaydata=temp十位displaydata=temp个位displaydata=temp小数位for(i=i<i)display()}}

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

评分:

/5

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利