多点测温论文

多点测温论文

ID:42977220

大小:117.50 KB

页数:7页

时间:2019-09-24

多点测温论文_第1页
多点测温论文_第2页
多点测温论文_第3页
多点测温论文_第4页
多点测温论文_第5页
资源描述:

《多点测温论文》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、#include#include〈absacc.h>#include^include#include////////////////////////*自定义结构变最说明*/#defineuintunsignedint#defineucharunsignedchar//sbitDQ二P「0;//DS2450sbitlcd_en=P2”7;//液晶片选控制信号线/*系统数据线和变斎定义*/sbitDQ=P1"1;//DS18b20通信线ucha

2、rtplsb,tpmsb;//温度值低位、高位字节缓存区bitfhao;//保存温度是正数还是负数ucharTMP[5];〃四个温度数据的缓存区ucharcodeserial_number[4][8]={0x28,0x08,0x85,0x11,0x01,0x00,0x00,Oxba,//—号18b20R0M号0x2&Oxbe,0x86,0xe9,0x00,0x00,0x00,0x87,//二号0x28,0x11,0xc4,0xe9,0x00,0x00,0x00,0x95,//三号0x28,0xf5,0x12,0

3、x0c,0x01,0x00,0x00,Oxcl,//四号);〃四个18b20的八字节序列号数据/*延时t毫秒子程序*//*延迟tms在11。0592M晶正时候/**************************/voiddelay(uintt){ucheiri;//这里不可以改为uintwhile(t--){/*对于11.0592M时钟,约延时1ms*/for(i=0;i<123;i++)}//}//功能:复位单总线并几检测应答脉冲///冇响应则返回0,否则进入死循环]]%

4、bitTxReset1(void)

5、bitpresence;〃检测存在脉冲位缓寸位uchari;//延迟循环变最,这里也不可以改为uint类型=0;//数据位/*拉低约502us*/i=250;while(i>0)i--;//keilc里通过定时器测定502usDQ=1;//产生上升沿释放总线while(DQ);//检测器件拉低信号,如果没有拉低则等待,拉低则往下走presence=DQ;//读取总线响应低电平i=200;while(i>0)i一一;〃主机接受存在脉冲保证480us//keilc的定时器测得约为482usreturn(presen

6、ce);••士•士•士•士•士•士•卜•士•卜•士•士•士•士•士•士•士•士•士•卜•士•卜•士•士•卜•卜•士•卜•士•士•士•卜•士•/*作用:返回单总线上读取的一位数据/f^Y*^Y*^Y*^Y*^Y*^1*^Y*^Y*^Y*^Y*^Y*^Y*^Y*^Y*^Y*^Y*^Y*^Y*^Y*^Y*^Y*^Y*^Y*^Y*^Y*•bitRdBit(void){uchari;bitb;DQ=0;i++;DQ二1;i++;i++;〃拉低总线开始读时隙//medwinli2us〃主机释放总线后,单线器件立即输出数据/

7、/读时隙下降沿后15us内,DS18B20输出数据才是有效的,过后就没有效果了〃上面这两句i++没冇也可以,测试通过,冇这两句是给单线器件一个准备间隙//这两句在medwin里延时间4usb=DQ;始时隙)i=30;//主机读取总线上数据,主机必须在15us内完成:大于1us的拉低总线(开〃并比释放总线后(单线器件开始输出数据)读取单线器件输出的数据while(i>0)i—;//一个读时隙至少持续60us//i二30keilc中约为62usreturn(b);K^Zk^ZK^Z•"广"《、”4、”4、”4、"4

8、、"4、"4、"、、”4、"4、”4、"4、”4、”4、"、、”4、”4、”4、"(、"(、"八"(、"(、"(、“4、“4、”4、“4、”4、”4、”4、”4、”4、/*读取数据的i个字节/*作用:从单总线器件读取一个字节/*所冇的单总线协议操作的命令和/*控制字都是低位字节在前面的K^ZK^Z,(、”(、x.%r、x4%x1%x1x1r、x4yx4%r、r、r、yx*%yyx»%yyx<%r、x<%r、r、r、r、yr、r、ucharRdByte(void)uchari,j,b;b=0;for(i二l;i〈

9、=8;i++){j=RdBitO;b=(j«7)I(b»l):〃读取一位存储到b的的最高位,8次后得一字节数据/*按照上啲的原则每次读取一位后放到b的最高位,8次后获得一个字节*/)return(b);yy<1xyyy"厂yyyyyyyyyyyyyyyyyyyyyy"八yyyyyy/*本程序实现空制器向单总线写i个字节*********//*写数据的一个字节,满足写1和写0的时隙要求*

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。