1、青岛农业大学海都学院 本科生毕业论文(设计)题 目: 多点温度检测系统的设计 姓 名: 系 别: 工程系 专 业: 电气工程及其自动化 班 级: 2013级 1班 学 号: 201371003 指导教师: 2015年6月9日多点温度检测系统的设计摘 要本设计以AT89S52单片机为核心的温度控制系统的工作原理和设计方法。温度信号由温度芯片DS18B20采集,并以数字信号的方式传送给单片机。文中介绍了该控制系统的硬件部分,包括:温度检测电路、温度控制电路、PC机与单片机串口通讯电路和一些接口电路。单片机通过对信号进行相应处理,从而实现温度控制的目的。文中还着重介绍了软件设计部分,在这里采用模块化
2、结构,主要模块有:数码管显示程序、键盘扫描及按键处理程序、温度信号处理程序、继电器控制程序、超温报警程序。本设计针对温度控制系统多点测量、扩展性等特点,运用主从分布式和总线分布式多机通讯方式思想,设计可用来远程操作,多个联在一起用来检测多部位的温度从而提高精确度,并可通过计算机来控制,设置。该温度检测系统适用于人们的日常生活以及在工业、农业生产中用于温度测量。关键词:AT89S52单片机 DS18B20温度芯片 温度控制 串口通信The design of multi-point temperature detecting system AbstractThe design works AT8
3、9S52 microcontroller as the core temperature control system and design methods. Temperature signal from the temperature chip DS18B20 collected and transmitted to the microcontroller by way of a digital signal. This paper describes the hardware part of the control system, comprising: a temperature de
4、tection circuit, temperature control circuit, PC and MCU serial communication circuits and some interface circuitry. SCM dealt with accordingly by the signal in order to achieve the purpose of temperature control. The paper also highlights the software design, where the modular structure of the main
5、 modules: digital tube display program, the keyboard scan and key handler temperature signal handler, relay control program, over-temperature alarm program.The temperature control system designed for multi-point measurement, scalability, and other characteristics, the use of the main idea of distrib
6、uted multi-machine communication from distributed and bus design can be used to remotely operate multiple sites to detect the temperature of multiple linked together to thereby improve accuracy, and can be controlled by the computer, setting. The temperature detection system is suitable for peoples
7、daily lives and industrial and agricultural production for temperature measurement.Keywords: AT89S52 microcontroller chip temperature DS18B20 temperature control serial communication2目 录第一章 课题背景1第二章 概述22.1 温度测量系统概述22.2 设计任务要求2第三章 总体设计33.1 方案论证33.1.1 传感器模块33.1.2 主控制模块43.2 系统的组成结构5第四章 硬件设计74.1 温度数据采集电
8、路74.1.1 温度检测电路74.1.2 温度存储电路84.1.3 温度传输电路94.2 单片机最小系统104.2.1 AT89S52单片机104.2.2 复位电路124.2.3 晶振电路124.3 温度显示电路134.4 串口通信电路14第五章 软件设计165.1 主程序流程图165.2 LCD显示模块程序设计185.3 温度模块程序设计185.3.1 DS18B20的初始化复位195.3.2 DS18B20读取字节195.3.3 DS18B20写入字节205.3.4 温度模块中温度数值的读取215.4 串口发送模块设计24第六章 制作与调试256.1 测试方法256.2 注意事项25总结2
9、6参考文献27附录一 主程序2842第一章 课题背景温度是确定物质状态的重要参数之一,它反映了物质的冷热程度,它的测量与控制在国防、军事、科学实验及工农业生产中具有十分重要的作用。随着工业的不断发展,对温度测量的各种要求越来越高。本文一改单点测温方式,采用多点测温更方便准确地得到测量误差范围小、抗干扰能力强、成本低的测温体系。在此处使用多个DS18B20进行温度测量,使用AT89S52单片机作为微控制器,该单片机运算速率快,响应周期短。用串口RSR232进行单片机与上位机的通讯,使测量结果可以在监控室直接获得1。温度检测并报警在现代的生活、生产特别在设施农业中得到了越来越广泛的应用,要求也越来
10、越高。近几年来,许多数字温度传感器相继问世,如AD公司的AD系列温度传感器、Dallas半导体公司的DS18X20系列温度传感器等,这些新型温度传感器的问世大大简化了温度检测装置的设计方案,稳定性高,并且能够直接将温度转换为数字值,便于计算机综合处理。第二章 概述2.1 温度测量系统概述本设计运用主从分布式思想,由一台上位机(PC微型计算机),下位机(单片机)多点温度数据采集,组成两级分布式多点温度测量的巡回检测系统。该系统采用 RS-232串行通讯标准,通过上位机(PC)控制下位机(单片机)进行现场温度采集2。温度值既可以送回主控PC进行数据处理,由显示器显示。也可以由下位机单独工作,实时显
11、示当前各点的温度值,对各点进行控制。下位机采用的是单片机基于数字温度传感器DS18B20的系统。DS18B20利用单总线的特点可以方便的实现多点温度的测量,轻松的组建传感器网络,系统的抗干扰性好、设计灵活、方便,而且适合于在恶劣的环境下进行现场温度测量。本系统可以应用在大型工业及民用常温多点监测场合。如粮食仓储系统、楼宇自动化系统、温控制程生产线之温度影像检测、医疗与健诊的温度测试、空调系统的温度检测、石化、机械等3。2.2 设计任务要求设计基于单片计算机和温度传感器,用于温度测量。具体要求如下:1、完成对多个地点的温度测量2、测量精度为0.53、测量数据在主控制器上集中显示第三章 总体设计3
12、.1 方案论证3.1.1 传感器模块方案一:温度传感器选用LM35,LM35是美国国家半导体公司推出的精密温度传感器,它工作与稳压二极管相似,其反向击穿电压随温度按+10mV/k的规律变化,可应用于精密的温度测量设备,它具有很高的工作精度和较宽的线性工作范围,它的输出电压与摄氏温度成线性比例,且无需外部校准或微调,可以提供1/4的常用的室温精度。LM35的输出电压与摄氏温度的关系为0时输出为0V,每升高1,输出电压增加10mV。其电源供应模式有单电源与正负双电源两种,其接法如图3-1与图3-2所示。正负双电源的供电模式可提供负温度的测量,单电源模式在25下电流约为50mV,非常省电。由于本系统
13、采用的是单电源模式4。LM35的一个缺点是在使用单一电源时,无法指示低至零度的温度。图3-1LM35单电源图 3-2LM35正负极电源方案二:智能温度传感器DS18B20是美国DALLAS公司推出的单总线数字测温芯片。DS18B20具有独特的单总线借口方式,仅需使用一个端口就能实现与单片机的双向通讯。采用数字信号输出提高了信号抗干扰能力和温度测量精度。工作电压使用范围宽(3.0V5.5V),可以采用外部供电方式,也可以采用寄生电源方式,即当总线DQ为高电平时,窃取信号能量给DS18B20供电。DS18B20还有负特性,电源极性接反时,它不会因接错线而烧毁,但不能正常工作。同时可通过编程实现91
14、2位的温度转换精度设置。设定的分辨率越高,所需要的温度数据转换时间就越长,在实际应用中要将分辨率和转换时间权衡考虑。温方范围为-55125,在-1085范围内,精度为0.5。又因其可以采用寄生电源方式供电。因此,一条总线上可以同时挂接多个DS18B20,实现多点测温系统。综上比较分析,我选择方案二。3.1.2 主控制模块方案一:此方案采用PC机实现。它可在线编程,可在线仿真的功能,这让调试变得方便。且人机交互友好。但是PC机输出信号不能直接与DS18B20通信。需要通过RS232电平转换兼容,硬件的合成在线调试,较为繁琐,很不简便。而且在一些环境比较恶劣的场合,PC机的体积大,携带安装不方便,
15、性能不稳定,给工程带来很多麻烦。方案二:智能温度传感器DS18B20将温度传感器、A/D传感器、寄存器、接口电路集成在一个芯片中,具有直接数字化输出、测试及控制功能强、传输距离远、抗干扰能力强、微型化、微功耗的特点。此方案采用AT89S52 8位单片机实现。单片机软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制。AT89S52是一种低功耗、体积小、高性能CMOS 8位微控制器,具有8K在系统可编程Flash存储器,四个端口只需要两个口就能满足电路系统设计需要,很适合便携手持式产品的设计,硬件实现简单,安装方便。既可以单独对多DS18B20控制工作,还可以与PC机通信.运用主从分布
16、式思想,有一台上位机(PC微型计算机),下位机(单片机)多点温度数据采集,组成两级分布式多点温度测量的巡回检测系统,实现远程控制。另外AT89S52在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。综上比较分析,我们选择方案二。3.2 系统的组成结构系统选用AT89S52单片机作为主控制器,选用独立式按键和12864图形点阵LCD模块LM6029作为人机接口。外围接口芯片还有数字温度传感器DS18B20、实时时钟S35190A、存储温度信息的EEPROM芯片24LC02B5。另外,通过单片机的串口资源传输温度信息到PC,动态监测、记录温度变化曲线。系统的总体结构如图3-3
17、:图 3-3系统电路图第四章 硬件设计4.1 温度数据采集电路4.1.1 温度检测电路温度检测部分包括数字温度传感器DS18B20和RTC时钟S35190A。温度检测电路采用Dallas公司生产的1-Wire接口数字温度传感器DS18B20,如图4-1所示,它采用3引脚TO-92封装,温度测量范围为-55+125,编程设置912位分辨率。现场温度直接以1-Wire的数字方式传输,大大提高了系统的抗干扰性。MCU只需一根端口线就能与多个DS18B20通信,但需要接4.7k的上拉电阻。该芯片硬件接口简单,可节省大量的引线和逻辑电路,具有很好的通用性6。系统中将单片机的P1.7引脚与DS18B20的
18、数据线连接。图 4-1DS18B20管脚 S35190A是精工电子公司提供的CMOS实时时钟芯片,可以在超低耗电流、宽工作电压范围内工作,具有3线SPI串行总线接口。其工作电压为1.35.5V,可适用于从主电源电压开始到备用电源电压驱动为止的宽幅度的电源电压。计时工作时,消耗电流为0.25uA,工作电压为1.1V,可大幅度改善电池的持续时间。芯片内置了时钟调整功能,可以在很宽范围内校正石英的频率偏差,以最小分辨能力为110-6来进行校正。如图4-2所示,系统中将单片机的P1.2引脚连接数据信号线,P1.3连接SCK()时钟信号,P1.4连接CS片选信号。图 4-2温度检测电路4.1.2 温度存
19、储电路为了在掉电状态下能够存储温度和时钟信息,系统选用EEPROM芯片24LC02B。该芯片是CMOS2048位串行EEPROM,在内部组织成2568位存储格式,具有低功耗的特点,工作电压为2.55.5V。24LC02B具有允许在简单的2线总线上工作的串行接口和软件协议,即常说的I2C总线,占用端口少,同时采用标准协议,使得软件设计模块化和可重用性大大提高7。如图4-3所示,系统中芯片24LC02B的串行时钟SCL端与单片机的P1.5相连,串行数据SDA端与单片机的P1.6相连,注意这两个信号端都需要接10k的上拉电阻。由于在这个I2C总线上只有一个器件,所以把24LC02B的地址设为000,
20、即把A0、A1、A2都接地。另外WP为写保护引脚,如果该引脚接高电平,则处于写保护状态,因此需要将其接地以保证能够进行读写。单片机检测得到的温度和时钟信息通过SDA、SCL向24LC02B传送。图 4-3温度储存电路4.1.3 温度传输电路系统采用串口通信,将温度信息传输到上位机PC中,以便进行更多的信息处理及动态检测。系统选用MAX公司推出的RS232电平转换芯片MAX3232。PC串口RS232电平是-10+10V8,而一般的单片机应用具有低功耗特征,可采用5V或3.3V供电,耗电流为0.3mA。如图 4-4所示:图 4-4温度传输电路4.2 单片机最小系统4.2.1 AT89S52单片机
21、AT89S52是一种低功耗、体积小、高性能CMOS 8位微控制器,具有8K在系统可编程Flash存储器,四个端口只需要两个口就能满足电路系统设计需要,很适合便携手持式产品的设计。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器9。在单芯片上,拥有灵巧8位CPU和在系统提供高灵活、超有效的解决方案。由于本系统中采集的数据不多,不超过256B,而AT89S52单片机本身内部的数据存储器RAM能够提供256B空间,所以数据存储器不需要扩展。AT89S52单片机的片内程序存储器EPROM有8kB,经过估算
22、,本设计中的程序不超过8kB,程序存储器也不扩展。表4-1给出ATS89S52单片机引脚功能。表 4-1 AT89S52单片机引脚功能引脚名称引脚功能P0.0P0.7P0口8位双向端口线P1.0P1.7P1口8位双向端口线P2.0P2.7P2口8位双向端口线P3.0P3.7P3口8位双向端口线ALE地址锁存控制信号PSEN()外部程序存储器读选通信号 EA()访问程序存储控制信号RST复位信号XTAL1和XTAL2外接晶体引线端Vcc+5V电源Vss地线图 4-5单片机的引脚4.2.2 复位电路无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。单片机复位是使CPU和系统中的其他
23、功能部件都恢复到一个确定的初始状态,并从这个状态开始工作,例如复位后PC=0000H,使单片机从程序存储器的第一个单元取指令执行。单片机复位的条件是:必须使RST(第9引脚)加上持续两个机器周期(即24个脉冲振荡周期)以上的高电平。若时钟频率为12MHz,每个机器周期为1us,则需要加上持续2us以上时间的高电平。单片机常见的复位电路如图4-6所示。按键复位电路,它除了电路利用电容充电来实现复位,在接电瞬间,RST端的电 位与Vcc相同,随着充电电流的减少,RST的电位逐渐下降10。只要保证RST为高电平的时间大于两个机器周期,便能正常复位。还可以按图中的RESET键实现复位,此时电源Vcc经
24、两个电阻分压,在RST端产生一个复位高电平。图 4-6单片机复位电路4.2.3 晶振电路单片机是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。时钟电路用于产生单片机工作所需要的时钟信号。在MCS-51系列单片机内部有一个高增益反相放大器,其输入端引脚为XTAL1,其输出端引脚为XTAL2。只要在XTAL1和XTAL2之间跨接晶体振荡器和微调电容,就可以构成一个稳定的自激振荡器11,如图4-7所示:图 4-7单片机时钟电路4.3 温度显示电路LCD模块LM6029其模块大小57.642.02.0mm,点阵数12864dot,8位并口数据传输
25、方式,可以实现字符、图形等的显示。如图4-8所示,LCD的8位并行数据线选用P2口,读控制器RD()连接单片机的P3.6引脚,写控制器WR()连接单片机的P3.7引脚,数据与命令选则线RS连接单片机的P3.4,复位线RES()连接单片机的P3.5,片选CS()接地。为实现记录温度和传输温度的控制功能,系统设置两个功能键,分别连接单片机的P1.0和P1.1引脚,如图4-8所示。0#键:纪录触发键,按下它后即将当前的温度和时钟信息存储到EEPROM中。1#键:传输触发键,按下它后即将EEPROM中存储的数据通过串口传输到PC。图 4-8温度显示电路表4-2 LCD命令和数据的读写操作及LM6029
26、模块控制线使用方法操作RSWR()RD()功能说明写寄存器命令001写指令读寄存器命令010读状态字(READ STATUS)写数据操作101写显示数据读数据操作110读显示数据4.4 串口通信电路通信电路是本设计的重要组成部分,负责温度数据的采集和数据的上传。包括单片机多机串口通信电路,PC机与AT89S52的串口通信电路。其中主单片机AT89S52既要和从机通信,还要负责将数据通过串口发送到PC机上。RS-232C主要用来定义计算机系统的一些数据终端(DTE)和数据电路终接设备(DCE)之间的电气性能。例如CRT、打印机与CPU的通信大都采用RS-232C接口如图4-9,MCS-51单片机
27、与PC的通信也是采用该种类型的接口。由于MSC-51系列单片机本身有一个全双工的串行接口,因此该系列单片机用RS-232C串行接口总线非常方便。为了增加单片机多机通信的距离,该部分电路采用RS232标准接口,通信距离可以到达15米;在数据传输过程中采用的是RS232电平,提高了抗干扰能力。需要在主机串行接口和从机串行接口进行电平转换。表4-3DB-9 连接器各引脚定义引脚名称功能1DCD载波检测2RXD发送数据3TXD接收数据4DTR数据终端准备完成5SG(GND)信号地线6DSR数据准备完成7RTS发送请求8CTS发送清除9RI振铃指示图4-9RS232第五章 软件设计整个系统的功能是由硬件
28、电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了。由于系统包含的功能模块较多,且相对独立,因此在开发环境中最好先建立一个项目工程,在项目工程下再包含若干模块文件,这样避免大量函数代码都堆积在主程序模块文件中,使得程序的结构清晰、模块性强,提高可读性和可移植性。如图5-1所示主程序模块2线I2C存储器LCD显示1线读温度3线SPI时钟串口传送数据图 5-1温度检测系统5.1 主程序流程图主程序模块,其主要功能是完成系统初始化,调用时钟和温度控制函数,显示当前时间和温度如图5-2所示。循环扫描按键,按下0#键则调用读写数据存储器函数实现数据存储;按下1#键则调用串口发送函数实现数
29、据传输。另外串口传送函数模块也直接放置在主函数中实现。开始显示时钟温度读取时钟LCD初始化串口初始化时钟初始化30s左右温度采样去抖按键1#去抖按键0#N发送温度时间信息数据组读取温度时间数据组读取总记录数将时钟温度写入EEPROM存储记录数EEPROM第0页YY软件延时1s 图 5-2主程序模块流程5.2 LCD显示模块程序设计温度显示电路采用LCD显示电路。LCD的定位显示位置包括页地址和列地址的定位,分别代表了行地址和列地址。LCD显示控制流程如图5-3示,首先需要发送一系列初始化命令对LCD模块进行工作方式等参数设置,然后定位DDRAM显存地址,逐字节发送字符的点阵字模。结束开始LCD
30、初始化光标定位显示字符图 5-3LCD显示控制基本流程5.3 温度模块程序设计DS18B20是可编程器件,在使用时必须经过以下三个步骤:初始化、写字节操作和读字节操作12。每一次读写操作之间都要先将DS18B20初始化复位,复位成功后才能对DS18B20进行预定的操作,三个步骤缺一不可。5.3.1 DS18B20的初始化复位单片机先将DQ设置为低电平,延时至少480us后再将其变成高电平,即提供一个脉宽为480usT960us的复位脉冲。等待15us60us后,检测DQ是否变为低电平(阴影部分),若已变为低电平则表明复位成功,然后可进入下一步操作。否则可能发生器件不存在、器件损坏或其他故障。D
31、S18B20初始化复位程序如下:/*1总线初始化*/unsigned char Init_DS18B20(void) /函数名:Init_DS18B20/形式参数:无/返回值:复位状态,unsigned char 类型unsigned char x=0;DQ=1;delay(8);DQ=0;delay (85); /低电平480960 usDQ=1;delay(14); /等待50100 usx=DQ; /读取复位状态delay(20);return x;5.3.2 DS18B20读取字节当单片机准备从DS18B20温度传感器读取每一位数据时,应先发出启动读时序脉冲,即将DQ总线设置为低电平,
32、保持1us以上时间后,再将其设置为高电平。启动后等待15us,以便DS18B20能可靠地将温度数据送至DQ总线上,然后单片机再开始读取DQ总线上的结果,单片机在完成取数据操作后,要等待至少45us。同样,读完每位数据后至少要保持1us的恢复时间。DS18B20读取字节的程序如下:/*读取1字*/函数名:ReadOneChar/形式参数:无/返回值:读取字节数据,unsigned char 类型unsigned char ReadOneChar(void)unsigned char i=0;unsigned char dat=0;for(i=8;i0;i-)DQ=1; /启动前的恢复信号至少延时
33、1usdelay(1);DQ=0; /启动信号至少延时15usdat=1;DQ=1;delay(2); /DS18B20启动后至少等待15us取数据if(DQ)delay(4); /读完需要45us的等待return(dat);5.3.3 DS18B20写入字节单片机要先将DQ设置为低电平,延时15us后,将待写的数据以串行形式送一位至DQ端,DS18B20将在60usT120us时间内接收一位数据。发送完一位数据后,将DQ端的状态再拉回到高电平,并保持至少1us的恢复时间,即每写完一位串行数据后中间至少要有1us以上的恢复时间,然后再写下一位数据。DS18B20的写入字节的程序如下:/*写1
34、字节*/函数名:WirteOneChar/形式参数:写字节数据dat,unsigned char 类型/返回值:无unsigned char WirteOneChar (unsigned char dat)unsigned char i=0;for(i=8;i0;i-)DQ=0;delay(2); /DS18B20低电平保持15usDQ=dat&0x01; /向总线写位数据delay(5); /延时50us等待写完成DQ=1; /恢复高电平,至少保持1usdat=1; /下次写作准备,移位数据delay(4); /延时30us5.3.4 温度模块中温度数值的读取DS18B20温度传感器是一个直
35、接数字化的温度传感器。可将55125之间的温度值按9位、10位、11位和12位的分辨率进行量化,与之对应的温度增量单位值分别是0.5、0.25、0.125和0.0625。传感器上电后的默认值是12位的分辨率,当DS18B20接收到单片机发出的温度转换命令44HH后,便开始进行转换操作。温度测量结果以二进制补码制补码形式存放,分辨率为12位的测量结果用带5个符号位的16位二进制格式来表示,高低8位分别存储在两个RAM单元中,前面5位S代表符号位。如果测量的温度大于0,这5位符号位S为0,只要将测得的数值乘以0.0625即可得到实际温度值;如果所测温度小于0,这5位符号为1,测得的数值必须要先取反
36、加1在乘以0.0625才能得到实际温度值。程序如下:/*读取温度值*/函数名:ReadTemperature/形式参数:无/返回值:单字节的温度值,unsigned char 类型unsigned char ReadTemperature(void)unsigned char tempL=0;unsigned char tempH=0;unsigned char temperature;Init_DS18B20();WirteOneChar(0xcc);WirteOneChar(0x44); /启动DS18B20进行温度转换delay(125);Init_DS18B20(); /开始操作前需要
37、复位WirteOneChar(0xcc);WirteOneChar(0xbe); /写读暂存器中温度值的命令tempL=ReadOneChar(); /分别读取温度的低、高字节tempH=ReadOneChar();temperature=(tempH*256)+tempL)4; /温度转换delay(200);return(temperature);/*DS18B20.C源程序*/程序:DS18B20.c/功能:温度检测#include#include ”intrins.h”sbit DQ=P17;/*延时time8时钟周期*/函数名:delay/形式参数:延时时间参数time,unsign
38、ed char类型/返回值:无void delay(unsigned char time)unsigned char n;n=0;while(ntime)n+;return;/*头文件DS18B20.h*/Extern unsigned char ReadTemperature(void);5.4 串口发送模块设计存储在EEPROM中的温度和时间信息可以通过串口传送到PC,因此只需实现向PC发送的程序即可。该功能模块较简单,可直接在头文件中实现,无须头文件说明。源程序如下。/*串口初始化*/函数名:UartInit/形式参数:无/返回值:无void UartInit(void)TMOD=0x2
39、0; /定时器1初始化TL1=0xFD; /波特率为9600b/s,晶振为11.059MhzTH1=0xFD;TR1=1;SCON=0x40; /定义串行口工作方式/*串口发送*/函数名:UartSend/形式参数:待发送数据的数组首地址SendData,unsigned char数组类型/ 待发送数据的长度Len, unsigned char数组类型/返回值:无void UartSend(unsigned char SendData,unsigned char Len)unsigned char I;for (i=0;iLen;i+)SBUF= SendDatai; /发送第i个数据Whil
40、e(TI=0); /等待发送是否完成TI=0; /TI清零第六章 制作与调试6.1 测试方法使系统运行,观察系统硬件检测是否正常(包括单片机最小系统,键盘电路,显示电路,温度测试电路等)。系统自带测试表格数据,观察显示数据是否相符合即可。采用温度传感器和温度计同时测量多点水温变化情况(取温度值不同的多点),目测显示电路是否正常。并记录各点温度值,与实际温度值比较,得出系统的温度指标。使用串口调试助手与单片机通讯,观察单片机与串口之间传输数据正确否。6.2 注意事项DS18B20虽然具有测温系统简单、测温精度高、接线方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:(1)在对DS1
41、8B20进行读写编写时,必须严格的保证读写时序,否则将无法读取测温结果。(2)当单总线上所挂DS18B20超过8个小时,就需要解决微处理器的总线驱动问题。(3)在用DS18B20进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。(4)DS18B20从测温结束到将温度转换成数字量需要一定的转换时间。总结本文主要介绍多点温度检测系统的硬件和软件设计思路、硬件电路各个部分的功能及原理、相应软件的程序设计,以及使用的注意事项和工作流程。基于数字温度传感器DS18B20和AT89S52单片机实现的多点温度检测系统,硬件简单,工作可靠,成本低,温度转换时间短,一个点的温度获取时间只需800ms左右时间,单点测温度误差在0.5以内。同时,也为粮库测温系统、冷库测温系统、中央空调测温系统等多点温度测量系统提供了很好的借鉴。本次毕业设计,使我对以前所学的知识有了新的认识。特别是在对硬件的设计时,要求对以前所学的绘图和表格知识有一个综合运用的能力。利用Protel软件设计绘制电路原理图,对软件设计更加熟练,能够熟练运用MCS-51单片机进行简单编程。由于知识和时间的原因,在毕业设计中存在着不足之处,还需要自己在学习