基于单总线的温度传感器设计

基于单总线的温度传感器设计

ID:38711629

大小:223.50 KB

页数:11页

时间:2019-06-18

基于单总线的温度传感器设计_第1页
基于单总线的温度传感器设计_第2页
基于单总线的温度传感器设计_第3页
基于单总线的温度传感器设计_第4页
基于单总线的温度传感器设计_第5页
资源描述:

《基于单总线的温度传感器设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、procedureTForm1.FormCreate(Sender:TObject);Varztbuf:array[0..200]ofChar;Typebuf:array[0..200]ofChar;//RetStr:array[0..200]ofChar;SetupDone:Boolean;RetValue:smallint;PortNum,PortType:smallint;begin//SetupDone:=FALSE;//TMSetupnotdoneyet//ReaddefaultPortNumberandPortTypefromr

2、egistryRetValue:=TMReadDefaultPort(@PortNum,@PortType);PortNum:=1;PortType:=5;//TMReadDefaultPort出错if(RetValue<1)thenbeginShowMessage('Pleasesetportfirst');Halt;endelsebeginGet_Version(@ztbuf);//readthetmexversionandtypeversionLabel1.Caption:=StrPas(ztbuf);TMGetTypeVersion

3、(PortType,@Typebuf);Label2.Caption:=StrPas(Typebuf);Done:=False;//attempttogetasessionRepeatSHandle:=TMExtendedStartSession(PortNum,PortType,NIL);//0忙If(SHandle>0)Thenbeginif(TMSetup(SHandle)=1)then//初始化单总线,验证物理层完整性begin{ThedevicethatwillbefoundisTemperatureDeviceDS18B20,s

4、oFamilyTypeissetto$28}select:=true;//在其他TMEX函数之前调用(除session层)FindFamily($28,SHandle);select:=false;FindFamily($28,SHandle);endelsebeginTMEndSession(SHandle);ShowMessage('FailtosetupMicroLan!');Halt;end;endelsebeginif(SHandle<0)thenBeginShowMessage('TheDefaultPortTypedoesno

5、thaveadriver!');Halt;end;end;Application.ProcessMessages;//Releasecontrolbacktowindowuntil(Done);end;end;procedureTForm1.FindFamily(family:smallint;SHandle:longint);//找传感器vari,flag:smallint;romstr:string;rom:array[0..8]ofsmallint;beginflag:=TMFirst(SHandle,@stateBuf);ifsel

6、ect=falsethenflag:=TMNext(SHandle,@stateBuf);if(flag=1)thenbegin{Readtheromnumberbysettingrom[0]=0forreadingandusingTMRom}rom[0]:=0;TMRom(SHandle,@stateBuf,@rom);romstr:='';//Checkifcorrecttypeif((familyand$7F)=(rom[0]and$7F))thenbeginfori:=7downto0doromstr:=romstr+IntToHe

7、x(ROM[i],2);ifselectthenLabel3.caption:='SerialROM2ID:'+romstrelseLabel21.caption:='SerialROM2ID:'+romstr;ReadTemperature(SHandle);endelsebeginShowMessage('ThereisnoTemperatureDeviceontheport');halt;end;endelsebeginTMEndSession(SHandle);ShowMessage('ThereisnoTemperatureDev

8、iceontheport');halt;end;end;procedureTForm1.ReadTemperature(session_handle:longint);//读温度

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

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

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