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

上传资料

关闭

关闭

关闭

封号提示

内容

首页 基于DS18B20的单片机温度计的程序设计

基于DS18B20的单片机温度计的程序设计.doc

基于DS18B20的单片机温度计的程序设计

因为是你才特别丶
2017-10-20 0人阅读 举报 0 0 暂无简介

简介:本文档为《基于DS18B20的单片机温度计的程序设计doc》,可适用于工程科技领域

基于DSB的单片机温度计的程序设计#include"regh"chardisp={xf,x,xb,xf,x,xd,xd,x,xf,xf,x}chardispdot={xbf,x,xdb,xcf,xe,xed,xfd,x,xff,xef,xc}sbitDQ=P^定义通信端口晶振MHzvoiddelayB(unsignedinti){while(i)}初始化函数InitDSB(void){unsignedcharx=DQ=DQ复位delayB()稍做延时DQ=单片机将DQ拉低delayB()精确延时大于usDQ=拉高总线delayB()x=DQ稍做延时后如果x=则初始化成功x=则初始化失败delayB()}读一个字节ReadOneChar(void){unsignedchari=unsignedchardat=for(i=i>i){DQ=给脉冲信号dat>>=DQ=给脉冲信号if(DQ)dat|=xdelayB()}return(dat)}写一个字节WriteOneChar(unsignedchardat){unsignedchari=for(i=i>i){DQ=DQ=datxdelayB()DQ=dat>>=}}读取温度ReadTemperature(void){unsignedchara=unsignedcharb=unsignedintt=InitDSB()WriteOneChar(xCC)跳过读序号列号的操作WriteOneChar(x)启动温度转换delayB()InitDSB()WriteOneChar(xCC)跳过读序号列号的操作WriteOneChar(xBE)读取温度寄存器等(共可读个寄存器)前两个就是温度a=ReadOneChar()b=ReadOneChar()传感器返回值除得实际温度值为了得到位小数位先乘再除考虑整型数据长度技巧处理后先乘再除除用右移实现t=(b*a)*return(t>>)}main(){unsignedinttmpunsignedcharcounterwhile(){温度测量频率没有必要太高太高反而影响数码显示所以用计数器加以控制if(counter==){tmp=ReadTemperature()counter=}P=xffP=x"C"P=xfbdelayB()P=xffP=disptmpP=xfdelayB()P=xffP=disptmpP=xefdelayB()P=xffP=dispdottmpP=xdfdelayB()P=xffP=disptmpP=xbfdelayB()}}

用户评价(0)

关闭

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

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

提示

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

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/4

基于DS18B20的单片机温度计的程序设计

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利