DS18B20温度传感器与单片机的接口电路_第1页
DS18B20温度传感器与单片机的接口电路_第2页
DS18B20温度传感器与单片机的接口电路_第3页
DS18B20温度传感器与单片机的接口电路_第4页
DS18B20温度传感器与单片机的接口电路_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

最佳答案第2章硬件电路详细设计DS18B20的性能特点:1、采用单总线专用技术,既可通过串行口线,也可通过其它I/O口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9位二进制数,含符号位),2、测温范围为-55°C-+125°C,测量分辨率为0.0625°C,3、内含64位经过激光修正的只读存储器ROM,4、适配各种单片机或系统机,5、用户可分别设定各路温度的上、下限,6、内含寄生电源。温度传感器DS18B20连接方式:在寄生电源供电方式下,DS18B20从单线信号线上汲取能量,在信号线DQ处于高电平期间把能量储存在内部电容里,在信号线处于低电平期间消耗电容上的电能工作,直到高电平到来再给寄生电源(电容)充电。如图2.3所示。复位电路的设计本设计采用人工复位,将一个按扭开关并联于上电自动复位电路按一下开关就在RST端出现一段时间的高电平,即器件复位。晶振电路的设计DS18B20温度传感器与单片机的接口电路DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式,如所示单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉。当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为1Ous。采用寄生电源供电方式时VDD端接地。由于单线制只有一根线,因此发送接口必须是三态的。2.7温度测量系统整体硬件电路Wei1BITP3.0;;数码管第1位Wei2BITP3.1;;数码管第2位Wei3BITP3.2;;数码管第3位Wei4BITP3.3;;数码管第4位DianEQU20H;;小数点状态状态保存字节DisData1EQU30HDisData2EQU31HDisData3EQU32HDisData4EQU33HDisTimeEQU34HDisData1EQU30HDisData2EQU31HDisData3EQU32HDisData4EQU33HDisTimeEQU34H;;第2位显示数据;;第3位显示数据;;第4位显示数据;;设置显示几次后读取温度值;;温度数据存储单元标号定义TempLEQU35H;;温度高位TempHEQU36H;;温度低位;;与DS18B20通迅部分存储单元及标号定义DS18B20BITP1.0;;与DS18B20通迅的位地址RFailBIT21H.0;;复位失败标记VarEQU22H;;变量字节,温度数据处理时用到Var2EQU3FH;;变量字节主程序部分:ORG00HLJMPSTARTORG100HSTART:;;初始化MOVSP,#60H;;初始化堆栈指针Set18B20:;;DS18B20初始化;;DS18B20复位ACALLResetJBRFail,LOOP;;复位失败则直接跳至显示部分;对DS18B20发出SkipROM命令MOVA,#0CCHACALLWrite;对DS18B20发出温度转换命令MOVA,#44HACALLWriteSetDisT:MOVDisTime,#3;;设置下一个循环体的循环8次LOOP:ACALLDisplay;;显示JBRFail,Set18B20;;DS18B20复位失败时,在显示完一次后重新复位DJNZDisTime,LOOPJNBDS18B20,$;;判断DS18B20是否已完成温度转换ACALLGetTemp;;从DS18B20读出温度值ACALLDealTemp;;温度值处理ACALLSendDisDT;;根据当前系统状态设置显示内容SJMPSetDisT;;;;;;;;;根据当前状态给显示模块设置显示参数SendDisDT:MOVDian,#7FH;;最高位为0代表显示小数点;;传送温度值MOVA,TempH;;送高位数据MOVVAR,TempL;;送低位数据ACALLTransDataRET;;A中保存高位值,Var中保存低位值TransData:;;取个位值MOVB,#10DIVABMOVDisData2,B;;取十位值JZHavNot1;;判断商是否为0MOVB,#10DIVABMOVDisData3,BJZHavNot2;;判断商是否为0MOVDisData4,ASJMPXiaoShu;;跳至百位符号处理部分HavNot1:MOVDisData3,#10;;十位开始没有数字HavNot2:MOVDisData4,#10;;百位开始没有数字SignJudge:;;符号处理部分JNBVAR.7,XiaoShu;;当为负数显示符号MOVA,#10CJNEA,DisData3,BWSignMOVDisData3,#11;;负号在十位SJMPXiaoShuBWSign:MOVDisData4,#11;;负号在百位XiaoShu:;;小数处理部分,用查表法获取小数值,精确到小数点后1位MOVA,VARANLA,#0FHMOVDPTR,#XSTabMOVCA,@A+DPTRMOVDisData1,ARTransTemp:RETXSTab:DB0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9DS18B20通迅模块组复位模块Reset:;;3微秒高电平SETBDS18B20MOVR7,#250CLRRFail;;清0复位失败标记CLRDS18B20;;延迟501uSDJNZR7,$SETBDS18B20;;释放总线(拉高数据线);;等待DS18B20作出复位成功反应,最大等待时间为69uSMOVR7,#17Wait:JNBDS18B20,RReset;若DS18B20在作出复位成功反应不再等待DJNZR7,WaitSETBRFail;;70uS内DS18B20作出复位成功反应,置1复位失败标记RReset:;;延迟350UsMOVR7,#174DJNZR7,$SETBDS18B20RET/;;——向DS18B20写一个字的模块,要写的内容提前装入ACC中Write:MOVR6,#8;写8位WriteBit:;;2微秒高电平SETBDS18B20MOVR7,#3;;7微秒低电平CLRDS18B20DJNZR7,$;;ACC低位送至DS18B20RRCAMOVDS18B20,C;;延迟60UsMOVR7,#28DJNZR7,$;;是否已写完8位DJNZR6,WriteBitRWrite:SETBDS18B20RET;/;;——从DS18B20读回一个字节的内容,读回的内容装入ACC中Read:MOVR6,#8;;读回8位MOVA,#0;;读回的内容装入ACC中ReadBit:;;2微秒高电平SETBDS18B20MOVR7,#7;;2微秒低电平CLRDS18B20NOP;;16微秒高电平SETBDS18B20DJNZR7,$;;读回一位数据放入ACC中MOVC,DS18B20RRCA;;延迟66UsMOVR7,#33DJNZR7,$;;是否已读完8位DJNZR6,ReadBitRRead:SETBDS18B20RET/;;——与DS18B20通迅,读回两字节温度值,并装入ACC中TempL和TempH中GetTemp:ACALLReset;;复位JBRFail,RGetTemp;;判断复位是否成功;;复位成功;对DS18B20发出SkipROM命令MOVA,#0CCHACALLWrite;对DS18B20发出读命令MOVA,#0BEHACALLWrite;从DS18B20读回低8位温度值ACALLReadMOVTempL,A;从DS18B20读回高8位温度值ACALLReadMOVTempH,AACALLReset;;复位JBRFail,RGetTemp;;判断复位是否成功;对DS18B20发出SkipROM命令MOVA,#0CCHACALLWrite;对DS18B20发出温度转换命令MOVA,#44HACALLWriteRGetTemp:RET温度数据处理模块DealTemp:;;将整数的二进制数部分移到一个字节,符号位和小数部分移到一个字节MOVR1,#VarMOVVar,TempHMOVA,TempLXCHDA,@R1;;符号位、小数部分至VAR(@R1),整数部分至ACCSWAPA;;整数部分处理JNBVar.7,NotNeg;;判断是否为负数CPLA;;为负数,取反后加1得其绝对值;;小数部分取反XRLVar,#1FH;;INCVarNotNeg:MOVTempH,AMOVTempL,VarRET显示模块——显示DisData(30H)从开始的三个字节保存显示信息Display:MOVDPTR,#Tab;;**显示小数部分MOVA,DisData1MOVCA,@A+DPTRMOVP2,ACLRWei1ACALLDelaySETBWei1;;**显示个位MOVA,DisData2MOVCA,@A+DPTR;;小数点处理ANLA,DianMOVP2,ACLRWei2ACALLDelaySETBWei2;;**显示十位MOVA,DisData3MOVCA,@A+DPTRMOVP2,ACLRWei3ACALLDelaySETBWei3;;**显示百位MOVA,DisData4MOVCA,@A+DPTRMOVP2,ACLRWei4ACALLDelaySETBWei4RETTab:;;0〜9

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论