数字温度计设计报告

上传人:xian****hua 文档编号:138727522 上传时间:2022-08-22 格式:DOC 页数:20 大小:314.52KB
收藏 版权申诉 举报 下载
数字温度计设计报告_第1页
第1页 / 共20页
数字温度计设计报告_第2页
第2页 / 共20页
数字温度计设计报告_第3页
第3页 / 共20页
资源描述:

《数字温度计设计报告》由会员分享,可在线阅读,更多相关《数字温度计设计报告(20页珍藏版)》请在装配图网上搜索。

1、目 录一、引言2二、设计内容及性能指标3三、系统方案论证与比较33.1 方案一33.2、方案二4四、系统器件选择54.1. 单片机的选择54. 2 温度传感器的选择54.2.1. DS18B20的性能特点6使用中的注意事项64.2.3. DS18B20的内部结构7测温原理84.3显示及报警模块器件选择9五、硬件设计电路951 主控制器:1052显示电路1053温度检测电路1154温度报警电路18六软件设计186.1.主程序模块186.2. 软件功能组成模块:19七、系统调试197.1硬件调试19排除逻辑故障19排除元器件失效19排除电源故障207.2软件调试207.3软硬调试20八、总结与体会

2、20九、致谢21数字温度计摘要:温度的检测与控制是工业生产过程中比较典型的应用之一,随着传感器在生活中的更加广泛的应用,利用新型数字温度传感器实现对温度的测试与控制得到更快的开发,本文设计了一种基于AT89C51的温度检测及报警系统。该系统可以方便的实现温度采集和显示,并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。该系统设计和布线简单,结构紧凑,抗干扰能力强,在大型仓库、工厂、智能化建筑等领域的温度检测中有广泛的应用前景。关

3、键词:单片机;温度传感器;AT89C51;DS18B20;报警信号一、引言当今社会,温度检测系统被广泛的社会生产、生活的各个领域。在工业、环境检测、医疗、家庭等多方面都有应用。同时单片机在电子产品中的应用已经越来越广泛。随着温度检测理论与技术的不断更新,温度传感器的种类也越来越多,在微机系统中使用的传感器,必须是能够将非电量转换成电量的传感器,目前常用的有热电偶传感器、热电阻传感器和单导体传感器等,每种传感器根据其自身特性,都有它自己的应用领域。本设计所介绍的数字温度计与传统的温度计相比,具有读数方便、测温范围广、测温准确、其输出温度采用数字显示等优点,主要用于对温度比较准确的场所,或科研实验

4、室使用。该设计控制器使用单片机AT89C51,温度传感器使用DS18B20,用液晶来实现温度显示。二、设计内容及性能指标该系统本设计主要是介绍了单片机控制下的温度检测系统,详细介绍了其硬件和软件设计,并对其各功能模块做了详细介绍,其主要功能和指标如下:利用温度传感器(DS18B20)测量某一点环境温度测量范围为-5599,精度为0.5用液晶进行温度值显示能够根据需要方便设定上下限报警温度三、系统方案论证与比较该系统主要由温度测量和数据采集两部分电路组成,实现的方法有很多种,下面将列出两种在日常生活中和工农业生产中经常用到的实现方案。3.1 方案一采用热电偶温差电路测温,温度检测部分可以使用低温

5、热偶,热电偶由两个焊接在一起的异金属导线所组成(热电偶的构成如图 2.1),热电偶产生的热电势由两种金属的接触电势和单一导体的温差电势组成。通过将参考结点保持在已知温度并测量该电压,便可推断出检测结点的温度。数据采集部分则使用带有A/D 通道的单片机,在将随被测温度变化的电压或电流采集过来,进行A/D 转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来。热电偶的优点是工作温度范围非常宽,且体积小,但是它们也存在着输出电压小、容易遭受来自导线环路的噪声影响以及漂移较高的缺点,并且这种设计需要用到A/D 转换电路,感温电路比较麻烦。图 2.1热电偶电路图3.2、方案二采用

6、数字温度芯片DS18B20 测量温度,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路。且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。在0100 摄氏度时,最大线形偏差小于1 摄氏度。DS18B20 的最大特点之一采用了单总线的数据传输,由数字温度计DS18B20和微控制器AT89C51构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。这样,测温系统的结构就比较简单,体积也不大。采用51 单片机控制,软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便。该系统利用AT89C51芯片控制温度

7、传感器DS18B20进行实时温度检测并显示,能够实现快速测量环境温度,并可以根据需要设定上下限报警温度。该系统扩展性非常强,它可以在设计中加入时钟芯片DS1302以获取时间数据,在数据处理同时显示时间,并可以利用AT24C16芯片作为存储器件,以此来对某些时间点的温度数据进行存储,利用键盘来进行调时和温度查询,获得的数据可以通过MAX232芯片与计算机的RS232接口进行串口通信,方便的采集和整理时间温度数据。系统框图如图 3.3所示图 3.3 DS18B20温度测温系统框图从以上两种方案,容易看出方案一的测温装置可测温度范围宽、体积小,但是线性误差较大。方案二的测温装置电路简单、精确度较高、

8、实现方便、软件设计也比较简单,故本次设计采用了方案二。四、系统器件选择4.1. 单片机的选择 对于单片机的选择,可以考虑8051系列。 AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪

9、烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,4. 2 温度传感器的选择DALLAS 最新单线数字温度传感器DS18B20是一种新型的“一线器件”,其体积更小、更适用于多种场合、且适用电压更宽、更经济。DALLAS 半导体公司的数字化温度传感器DS18B20是世界上第一片支持“一线总线”接口的温度传感器。温度测量范围为-55+125 摄氏度,可编程为9位12 位转换精度,测温分辨率可达0.0625摄氏度,分辨率设定参数以及用户设定的报警温度存储在EEPROM 中,掉电后依然保存。被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可以在远端引入,也可以采用寄生电

10、源方式产生;多个DS18B20可以并联到3 根或2 根线上,CPU只需一根端口线就能与诸多DS18B20 通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。4.2.1. DS18B20的性能特点DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种集成温度传感器。与传统的热敏电阻等测温元件相比,它能直接输出二进制温敏信号,并通过串行输出方式与单片机通信。DS18B20的性能特点如下:.适应电压范围3.0-5.5 V,在寄生电源方式下可由数据线供电;;. 独特的单线接口仅需要一个端口

11、引脚进行通信;.多个DS18B20可以并联在唯一的三线上,实现多点组网功能;.不需要外部器件;.测温范围-55+125 摄氏度,在10+85摄氏度时精度为0.5摄氏度;.零待机功耗;.温度以912位数字量读出;.用户可定义的非易失性温度报警设置;.报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;. 负电压特性,电源极性接反时,温度计不会因发热而烧毁,只是不能正常工作。4.2.2.DS18B20使用中的注意事项DS18B20虽然具有测温系统简单、测温精度高,连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:1较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B

12、20与微处理器间采用串行数据传送,因此,在对DS18B20进行读写编程时,必须严格地保证读写程序,否则将无法读取测量结果。在使用VC等高级语言进行系统程序设计时,对DS18B20操作部分仍要采用汇编语言实现。2.连接DS18B20的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读取的测量数据将发生错误;当将总线电缆改为双绞线带屏蔽电缆时,正常通信距离进一步加长,这种情况主要有总线分布电容使信号波形产生畸变造成的。因此,在使用DS18B20进行长距离测温系统设计时,要充分考虑总线分布电容和阻抗匹配问题。3.在DS18B20测温程序设计中,向DS18B20发出温度转换命令

13、后,程序总要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序将进入死循环,这一点在进行DS18B20硬件连接和软件设计时也要给予一定的重视。4.2.3. DS18B20的内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器、配置寄存器。DS18B20的管脚排列、各种封装形式如图4.2所示,DQ为数据输入/输出引脚。开漏单总线接口引脚。当被用作在寄生电源下,也可以向器件提供电源;GND为地信号;VDD为可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。其电路图4.3所示。 图

14、4.2外部封装形式 图4.3传感器电路图DS18B20采用3脚PR-35封装,其内部结构框图如图4.4所示。图4.4DS18B20内部结构框图64位R光刻ROM的排列结构如图4.3所示。开始8位是产品类型的编号;接着的48位是DS18B20自身的序列号,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用单线进行通信的原因。通过非易失性温度报警触发器TH和TL的比较,DS18B20内的报警位置对主机发出的报警搜索命令作出响应。图4.3 64位ROM结构框图4.2.4.DS18B20测温原理图4.4所示,图中低温度系数振荡器的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送

15、给减法计数器1;高温度系数振荡器随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输人。图4.4 DS18B20的测温原理图图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55所对应的一个基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55所对应的一个基数值。减法计数器1对低温度系数振荡器产生的脉冲信号进行减法计数,当减法计数器1的预置值减到。时,温度寄存器的值将加1,减法计数器1的预置值将重新被装人,并重新开始对低温度系数振荡器

16、产生的脉冲信号进行计数。如此循环,直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值就是所测温度值。图4.8中的斜率累加器用于补偿和修正测温过程中的非线形性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直到温度寄存器值达到被测温度值。另外 ,由 于DS18B20单线通信功能是分时完成的,有严格的时隙概念,因此读/写时序很重要。系统对DS18B20的各种操作必须按协议进行。操作协议为:初始化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数据。4.3显示及报警模块器件选择在本设计测量范围为0125,精度为0.5,因此只需要用液晶就可

17、以完成相关的显示功能,报警器可以用有源蜂鸣器配合三极管来代替。五、硬件设计电路温度计电路设计原理图如图4.1所示,温度计的控制器使用单片机AT89C2051,温度传感器使用DS18B20,用液晶实现温度显示。本温度计大体分为三个工作过程。首先,由DS18B20温度传感器芯片测量当前温度,并将结果送入单片机。然后,通过AT89C2051单片机芯片对送来的测量温度读数进行计算和转换,并将此结果送入液晶显示模块。最后,SMC1602A芯片将送来的值显示与显示屏上。其中,DS18B20温度传感器芯片采用“一线制”与单片机相连,它独立完成温度测量以及将温度测量结果送到单片机工作。图中有3个独立式按键可以

18、分别调整温度的上下限报警设置,图中蜂鸣器可以在被测温度不在上下限范围内时,发出报警鸣叫声音,同时液晶模块将被测温度显示,这时可以调整上下限,从而测出被测的温度值。51 主控制器: 单片机AT89C2051具有低电压供电和小体积等特点,两个端口刚好满足电路系统的设计需要。主机控制DS18B20完成温度转换必须经过三个步骤:初始化、ROM操作指令、存储器操作指令。必须先启动DS18B20开始转换,在读出温度转换值。52显示电路显示电路采用4位共阳极LED数码管,从P0口输出段码,列扫描用P2.0P2.3口来实现,列驱动用9012三极管。53温度检测电路DS18B20最大的特点是单总线数据传输方式,

19、DS18B20的数据I/O均由同一条线来完成。DS18B20的电源供电方式由两种:外部供电方式和寄生电源方式。工作于寄生电源方式时,VDD和GND均接地,它在需要远程温度检测和空间受限的场合特别有用,原理是当1 wire总线的信号线DQ为高电平是,窃取信号能量给DS18B20供电,同时一部分能量给内部电容充电,当DQ为低电平时释放能量为DS18B20供电。但寄生电源方式需要强上拉电路,软件变得复杂(特别是在完成温度转换和拷贝数据到ROM时),同时芯片的性能也有所降低。因此,在条件允许的场合,尽量采用外供电方式。无论是内部寄生源还是外部供电,I/O口线要接5K左右的上拉电。在这里采用外部供电方式

20、。DS18B20与芯片连接电路如图所示。外部电源供电方式是DS18B20最佳工作方式,工作稳定可靠,抗干扰能力强,而且电路也比较简单,可以开发出稳定可靠的多点温度监控系统。在外接电源方式下,可以充分发挥DS18B20宽电源电压范围的优点,即使电源电压VCC降到3V时,依然能够保证温度量精度。由于DS18B20只有一根数据线,因此它和主机(单片机)通信时需要串行通信,而AT89C51有两个串行端口,所以可以不用软件来模拟实现。经过单线接口访问DS18B20必须遵循如下协议:初始化、ROM操作指令、存储器操作命令和控制操作。要使传感器工作,一切处理均严格按照时序。主机发送(Tx)复位脉冲(最短为4

21、80us的低电平信号)。接着主机便释放此线并进入接收方式(Rx)。总线经过4.7K的上拉电阻被拉至高电平状态。在检测到I/O引脚上的上升沿之后,DS18B20等待1560s,并且接着发送脉冲(60240s的低电平信号)。然后以存在复位脉冲表示DS18B20已经准备好发送或接收,然后给出正确的ROM命令和存储操作命令的数据。DS18B20通过使用时间片来读出和写入数据,时间片用于处理数据位和进行指定操作的命令。它有写时间片和读时间片两种:l 写时间片:当有主机把数据线从逻辑高电平拉至逻辑低电平时,产生写时间片。有两种类型的写时间片:写1时间片和写0时间片。所有时间片必须有60微妙的持续期,在各写

22、周期之间必须有最短为1微妙的恢复时间。l 读时间片:从DS18B20读数据时,使用读时间片。当主机把数据线从逻辑高电平拉至逻辑低电平时产生读时间片。数据线在逻辑低电平必须保持至少1微妙;来自DS18B20的输出数据在时间下降沿之后的15微妙内有效。为了读出从读时间片开始算起15微妙的状态,主机必须停止把引脚驱动拉至低电平。在时间片结束时,I/O引脚经过外部的上拉电阻拉回高电平,所有读时间片的最短持续期为60微妙,包括两个读周期间至少1us的恢复时间。一旦主机检测到DS18B20的存在,它便可以发送一个器件ROM操作命令。所有ROM操作命令均为8位长。所有的串行通讯,读写每一个bit 位数据都必

23、须严格遵守器件的时序逻辑来编程,同时还必须遵守总线命令序列,对单总线的DS18B20 芯片来说,访问每个器件都要遵守下列命令序列:首先是初始化;其次执行ROM 命令;最后就是执行功能命令(ROM 命令和功能命令后面以表格形式给出)。如果出现序列混乱,则单总线器件不会响应主机。当然,搜索ROM命令和报警搜索命令,在执行两者中任何一条命令之后,要返回初始化。基于单总线上的所有传输过程都是以初始化开始的,初始化过程由主机发出的复位脉冲和从机响应的应答脉冲组成。应答脉冲使主机知道,总线上有从机,且准备就绪。在主机检测到应答脉冲后,就可以发出ROM 命令。这些命令与各个从机设备的唯一64 位ROM 代码

24、相关。在主机发出ROM命令,以访问某个指定的DS18B20,接着就可以发出DS18B20支持的某个功能命令。这些命令允许主机写入或读出DS18B20便笺式RAM、启动温度转换。软件实现DS18B20的工作严格遵守单总线协议:(1)主机首先发出一个复位脉冲,信号线上的DS18B20 器件被复位。(2)接着主机发送ROM命令,程序开始读取单个在线的芯片ROM编码并保存在单片机数据存储器中,把用到的DS18B20 的ROM 编码离线读出,最后用一个二维数组保存ROM 编码,数据保存在X25043中。(3)系统工作时,把读取了编码的DS18B20 挂在总线上。发温度转换命令,再总线复位。(4)然后就可

25、以从刚才的二维数组匹配在线的温度传感器,随后发温度读取命令就可以获得对应的度值了。在主机初始化过程,主机通过拉低单总线至少480s,来产生复位脉冲。接着,主机释放总线,并进入接收模式。当总线被释放后,上拉电阻将单总线拉高。在单总线器件检测到上升沿后,延时1560s,接着通过拉低总线60240s,以产生应答脉冲。写时序均起始于主机拉低总线,产生写1 时序的方式:主机在拉低总线后,接着必须在15s之内释放总线。产生写0 时序的方式:在主机拉低总线后,只需在整个时序期间保持低电平即可(至少60s)。在写字节程序中的写一个bit 位的时候,没有按照通常的分别写0时序和写1 时序,而是把两者结合起来,当

26、主机拉低总线后在15s 之内将要写的位c 给DO:如果c 是高电平满足15s 内释放总线的要求,如果c是低电平,则DOc这条语句仍然是把总线拉在低电平,最后都通过延时58s 完成一个写时序(写时序0或写时序1)过程。写时间时序:当主机把数据从逻辑高电平拉到逻辑低电平的时候,写时间隙开始。有两种写时间隙,写1 时间隙和写0 时间隙。所有写时间隙必须最少持续60s,包括两个写周期至少1s 的恢复时间。I/O线电平变低后,DS18B20 在一个15s 到60s 的窗口内对I/O 线采样。如果线上事高电平,就是写1,如果是低电平,就是写0。主机要生成一个写时间隙,必须把数据线拉到低电平然后释放,在写时

27、间隙开始后的15s 内允许数据线拉到高电平。主机要生成一个写0 时间隙,必须把数据线拉到低电平并保存60s。每个读时隙都由主机发起,至少拉低总线1us,在主机发起读时序之后,单总线器件才开始在总线上发送0 或1。所有读时序至少需要60us。源程序: 假设要写1 B 的数据, 且数据放在A 中。SETBTEM PDNNOPNOPWRITEDS1820LOP: CLRTEM PD INMOV R6, # 08H ; 延时15 LsDJN ZR6, RRCA ; 将要写数据存入CMOV TEM PD IN , C ; 将数据写入总线MOV R6, # 14H ; 延时40 LsDJN ZR6, SE

28、TBTEM PD IN ; 释放总线DJN ZR7,WR ITEDS1820LO P ; 写8 位RET读时间时序:当从DS18B20 读数据时,主机生成读时间隙。当主机把数据从高电平拉到低电平时,写时间隙开始,数据线必须保持至少1s;从DS18B20输出的数据在读时间隙的下降沿出现后15s 内有效。因此,主机在读时间隙开始后必须把I/O 脚驱动拉为的电平保持15s,以读取I/O 脚状态。在读时间隙的结尾,I/O 引脚将被外部上拉电阻拉到高电平。所有读时间隙必须最少60s,包括两个读周期至少1s的恢复时间。源程序: 假设要读1B 的数据, 且数据放在A 中。SETBTEM PDNNOPNOPW

29、RITEDS1820LOP: CLRTEM PD INMOV R6, # 08H ; 延时15 LsDJN ZR6, RRCA ; 将要写数据存入CMOV TEM PD IN , C ; 将数据写入总线MOV R6, # 14H ; 延时40 LsDJN ZR6, SETBTEM PD IN ; 释放总线DJN ZR7,WR ITEDS1820LO P ; 写8 位RET读时间时序:当从DS18B20 读数据时,主机生成读时间隙。当主机把数据从高电平拉到低电平时,写时间隙开始,数据线必须保持至少1s;从DS18B20输出的数据在读时间隙的下降沿出现后15s 内有效。因此,主机在读时间隙开始后必

30、须把I/O 脚驱动拉为的电平保持15s,以读取I/O 脚状态。在读时间隙的结尾,I/O 引脚将被外部上拉电阻拉到高电平。所有读时间隙必须最少60s,包括两个读周期至少1s的恢复时间。源程序: 假设要读1B 的数据, 且数据放在A 中。READDS1820:MOV R7, # 08H ; 1 个字节8 位SETBTEM PD INNO PNO PREADDS1820LOO P: CLRTEM PD INNO P SETBTEM PD IN ; 释放总线MOV R6, # 05H ; 延时10 LsDJN ZR6, MOV C, TEM PD N ; 采样总线数据MOV R6, # 14H ; 延

31、时40 LsDJN ZR6, RRCA ; 采样数据存入ASETBTEM PD IN ; 释放总线DJN ZR7, READDS1820LOO P ; 采样下一位MOV R6, # 14H ; 延时40 LsDJN ZR6, RET读/写时序如图 5.3如下:图 5.3 DS18B20的读写时序图复位时序:复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待1660 微秒左右,后发出60240 微秒的存在低脉冲,主CPU 收到此信号表示复位成功。源程序: 其中TEM PD IN 定义为DS18B20 的数据管脚, 主机为A T89C2051。N ITDS1820: S

32、ETBTEM PD NNO PNO PCLRTEM PD NMOV R6, # 0A 0H ; 延时640 LsDJN ZR6, MOV R6, # 0A 0HDJN ZR6, SETBTEM PD N ; 释放总线MOV R6, # 32H ; 延时100 Ls, 等待回应DJN ZR6, MOV R6, # 3CHLOO P1820: MOV C, TEM PD N ; 采样总线信号JCN ITDS1820OU TDJN ZR6,LOO P1820MOV R6, # 064HDJN ZR6, SJM PN ITDS1820RETIN ITDS1820OU T: SETBTEM PD NRE

33、T复位时序如图 5.3所示:54温度报警电路本设计采用软件处理报警,利用有源蜂鸣器进行报警输出,采用直流供电。当所测温度超过或低于所设温度时,数据口相应拉高电平,报警输出。报警电路硬件连接如图所示。六软件设计整个系统的功能是由硬件配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了。从软件的功能不同可分为两大类:一是监控软件(主程序),它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。二是执行软件(子程序),它是用来完成各种实质性的功能如测量、计算、显示、通讯等。每一个执行软件也就是一个小的功能执行模块。这里将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义。

34、各执行模块规划好后,就可以规划监控程序了。首先要根据系统的总体功能选择一种最合适的监控程序结构,然后根据实时性的要求,合理地安排监控软件和执行模块之间的调度关系。6.1.主程序模块主程序需要调用4个子程序,分别为数码管显示程序,温度测试及处理子程序,报警子程序,中断设定子程序。数码管显示程序:向数码的显示送数,控制系统的显示部分。温度测试及处理程序:对温度芯片送过来的数据进行处理,进行判断和显示。报警子程序:进行温度上下限判断及报警输出。中断设定程序:实现设定上下限报警功能6.2. 软件功能组成模块:系统程序主要包括主程序、读出温度子程序、温度转换命令子程序、计算温度子程序和显示数据刷新子程序

35、等。主程序:主要功能是负责温度的实时显示、读出并处理DS18B20的测量温度值。温度测量每1 s 进行一次。读出温度子程序:主要功能是读出RAM中的9字节。在读出时须进行CRC校验,校验有错时不进行温度数据的改写。温度转换命令子程序:主要是发温度转换开始命令。计算温度子程序:将RAM中读取值进行BCD码的转换运行,并进行温度值正负的判定。显示数据刷新子程序:主要是对显示缓冲器中的显示数据进行刷新操作,当最高数据显示位为0时,将符号显示位移入下一位。七、系统调试根据方案设计的要求,调试过程共分3大部分:硬件调试、软件调试和软硬联调。单片机的硬件调试和软件调试是不能分开的,许多硬件错误是在软件调试

36、中被发现和纠正的。但通常是先排除明显的硬件故障以后,在和软件结合起来调试以进一步排除故障。可见硬件的调试是基础。如果硬件调试不通过,软件设计就是无从说起。7.1硬件调试硬件调试比较简单首先检查电路的焊接是否正确,然后可用万用表测试或通电检测。排除逻辑故障 这类故障往往由于设计和加工制板过程中工艺性错误所造成的。只要包括错线、开路、短路。排除的方法是首先将加工的印制板认真对照原理图,看两者是否一致。应特别注意电源系统检查,以防止电源短路和极性错误,并重点检查系统总线(地址总线、数据总线和控制总线)是否存在相互之间短路或与其他信号线短路。必要时利用数字万用表的短路测试功能,可以缩短排错时间。7.1

37、.2排除元器件失效造成这类错误的原因有2个:一是元器件买来时就已坏了;另一个是安装错误,造成器件烧坏。可以采取检查元器件与设计要求的型号、规格和要求是否一致。在保证安装无误后,用替换方法排除错误。7.1.3排除电源故障 在通电前,一定要检查电源电压的幅值和极性,否则很容易造成集成块损坏。7.2软件调试本系统的软件系统较大,全面采用汇编语言编写,除语法和逻辑差错外,当确认程序没问题时,直接下载到单片机仿真调试。采取自下而上的方法,单独调好每一个模块,最后完成一个完整的系统调试。7.3软硬调试 系统做好后,进行系统的完整调试。联机仿真必须借助仿真开发装置、示波器、万用表等工具。这些工具是单片机开发

38、的最基本工具。八、总结与体会本设计利用89S51 芯片控制温度传感器DS18B20,再辅之以部分外围电路实现对环境温度的测控,性能稳定,精度教高,而且扩展性能很强大。由于DS18B20 支持单总线协议,我们可以将多个DS18B20 可以并联到3 根或2 根线上,CPU 只需一根端口线就能与诸多DS18B20 通信,占用较少的微处理器的端口就可以实现多点测温监控系统。可以加入1302 时钟芯片实现对时间进行显示,加之AT24C16 存储芯片来实现对时间和温度数据的记录,利用MAX232芯片和计算机实现串口通讯,这样就可以方便的统计出特定时间内的需要的时间和温度数据。由于DS18B20的测量精度只

39、有0.5 度,往往很多场合需要更加精确的温度,在所测温度精度不变的基础上必须对数据进行校正。由于DS18B20 是基于带隙结构的数字式温度传感器,PN 结增量电压正比于IC 绝对温度(PTAT),它的测温精度较高,但存在着一定的误差.不过,其误差在时间和外部环境变化的条件下,保持相当高的稳定性。针对这一特性,基于线性插补的数学思想,利用DSP技术,对其进行误差校正补偿.这种误差校正的补偿方法,不需增加硬件电路,计算方法简单,软件费用也很小,既提高了测量精度,又不需增加成本。它充分利用监控计算机的处理能力,在监控计算机上用线性插补的数学方法对其进行误差校正补偿,能轻易地将其提高其精度。从这次的课程设计中,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单机片机更是如此,程序只有在经常的写与读的过程中才能提高,这就是我在这次课程设计中的最大收获。九、致谢在本毕业设计的设计和制作过程中,感谢老师给了我很大的帮助,同时也离不开很多的同学热心帮助,是他们在我遇到难题的时候给了我启发。通过本次毕业设计,我在专业知识、专业技能和解决问题方法方面得到很大的提高。更深入了解并掌握了传感器的基本理论知识,并在单片机实际电路开发和常用编程设计思路掌握方面有了一定程度的掌握,尽管本次设计还不是很完善,但这为我以后的设计之路积累了宝贵的经验。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!