多点温度检测系统实验
- 格式:docx
- 大小:191.97 KB
- 文档页数:10
简易温度测量仪班级:0120902队员:指导老师:摘要温度测量仪主要有以DS18B20为核心的温度采集电路,以蜂鸣器为核心的报警电路以及学习板电路三部分电路构成。
软件实现方面包括三个模块:温度采集模块、报警模块、按键与显示模块。
本温度测试仪采用数码管显示温度测试范围0~+125℃,可实现两点温度测量、摄氏温度华氏温度相互转换、设置温度显示精度、设置报警温度上下限、蜂鸣器报警等五个功能。
关键词:温度测量仪 DS18B20 蜂鸣器分辨率多点测量目录目录……………………………………………………1第一章设计目的 (3)第二章方案的选取 (3)第三章DS18B20测温电路系统设计要求 (4)第四章DS18B20测温电路系统设计 (5)1.DS18B20测温电路的组成框图 (5)2. DS18B20的简介 (5)2.1 DS18B20的内部结构 (6)2.2 DS18B20的工作过程及时序 (7)3. 系统硬件电路 (10)3.1 DS18B20温度传感器与单片机的接口电路 (10)3.2 蜂鸣器电路 (11)4. 系统软件设计 (11)4.1系统主程序流程图 (11)4.2重点模块程序分析 (12)第五章系统测试和结论 (14)6.1测试条件及方案 (14)6.2测试结果和分析 (15)第六章设计体会 (15)一、设计目的1.进一步熟悉和掌握DS18B20芯片的结构及工作原理。
2.掌握单片机的接口技术及相关外围芯片的外特性,控制方法。
3.通过课程设计,掌握以单片机核心的电路设计的基本方法和技术,了解有关电路参数的计算方法。
4.通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。
5.通过完成一个包括电路设计和程序开发的完整过程,使学生了解开发单片机应用系统的全过程,为今后从事相应打下基础。
6.了解 DS1820数字温度传感器特性7. 掌握单片机基本功能的运用、简单接口电路如键盘、数码管显示电路设计及其相应驱动软件的编制软、硬件系统的调试二、方案的选取方案一由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。
基于STM32的多点温度采集系统设计摘要:本文介绍了一种基于STM32的多点温度采集系统设计,该系统实现了对多个测点的温度采集,可广泛应用于物联网、环境监测、科学实验等领域。
文章首先介绍了该系统的硬件组成和软件设计,然后详细说明了各个模块的实现方法和细节,最后进行了测试和分析。
实验结果表明,该系统稳定可靠,具有较高的测量精度和较低的功耗,具有良好的应用前景。
关键词:STM32;温度采集;多点采集;物联网;环境监测一、概述随着物联网和环境监测技术的迅速发展,温度传感器越来越广泛地应用于各个领域。
温度采集系统可以帮助人们获取物理环境中的温度数据,从而提高环境安全性和生产效率,对于科学实验和工业制造行业尤其重要。
本文介绍了一种基于STM32的多点温度采集系统设计,该系统能够同时实时监测多个测点的温度数据,具有较高的精度和较低的功耗,可广泛应用于物联网、环境监测、科学实验等领域。
二、系统硬件设计该系统主要由STM32微控制器、多个DS18B20温度传感器、LCD显示屏、蜂鸣器、SD卡模块和电源模块等组成,如图1所示。
其中,STM32作为控制中心,与多个DS18B20温度传感器进行通信,获取温度数据,并将数据显示在LCD屏幕上。
电源模块采用锂电池供电,通过电源管理模块和充电管理模块对系统电源进行管理,以确保系统运行的稳定性和可靠性。
该系统的软件设计包括底层驱动程序和上层应用程序。
底层驱动程序主要实现与DS18B20温度传感器的通信,包括初始化DS18B20传感器、发送指令、读取温度数据等操作。
上层应用程序主要实现数据采集、处理、显示和存储等功能,包括读取传感器数据、计算温度值、显示温度值、存储温度数据等操作。
四、系统功能模块实现4.1 DS18B20传感器驱动程序DS18B20是一个数字式温度传感器,使用1-Wire总线方式进行通信,具有精度高、响应快、体积小等特点。
该系统采用STM32的GPIO接口模拟1-Wire总线方式与DS18B20传感器进行通信。
目录第一章温度检测系统实验 (2)实验1 温度传感器的使用及动态特性测试 (4)实验2 热电偶温度传感器检定实验 (7)第二章显示仪表实验 (11)实验1 温度显示仪表校验实验 (11)实验2数字显示仪表校验实验 (13)第三章压力检测仪表实验 (15)实验1 活塞式压力校验仪实验 (15)实验2 数字式压力校验仪实验 (18)第四章液位检测系统实验 (28)实验1 ST3000差压变送器实验 (29)第五章流量检测系统实验 (31)实验1 孔板流量计实验 (32)实验2 电磁流量计实验 (35)实验3 转子流量计实验 (37)实验4 涡轮流量计实验 (39)第一章温度检测系统实验一.测温实验装置介绍图一实验装置示意图1—PZ150A直流数字电压表2—XMTF21数字显示调节仪表3—电源电压表4—电源信号灯5—炉丝电流表6—低温报警信号灯7—超温报警信号灯8—炉丝电压表9—SY821转换开关10—管状检定灯11—电源开关12—电炉通电开关13—电炉断电开关14—设备主体二.温度装置的工作原理图二装置的工作原理图本实验装置可分为温度检测系统和温度控制系统。
检测系统由PZ150-1直流数字电压表,SY821转换开关组成;温控系统由XMTF21数字显示调节仪,AM220固态继电器和检定炉组成,将管型检定炉的温度控制在设定的某一检定点温度内,二等标准热电偶和被校热电偶热端对齐扎紧,一起放进检定炉工作区内。
恒温由PZ150-1和多点转换开关等组成检测系统按检定步骤用同名法分别测量标准热电偶和被检热电偶的电势值进行直接比较即可进行检定和分度。
三使用前准备工作1.认真阅读实验指导书2.标准和被校热电偶的安放和接线检查实验1 温度传感器的使用及动态特性测试一.实验目的1.使学生掌握测量系统的动态特性的实验研究方法和热电偶测温的方法2.使学生掌握表征温度传感器动态特性的两个参数时间常数和传递滞后时间的基本概念及求取方法。
多点温度检测系统设计论文一、引言多点温度检测是一种常见的传感器应用技术,在工业控制、环境监测以及医疗领域都有重要的应用。
传统的温度检测系统通常只能测量一个点的温度,无法满足实际需求。
因此,设计一种多点温度检测系统,能够同时测量多个点的温度,对于提高温度检测的精度和效率具有重要的意义。
二、系统设计思想多点温度检测系统的设计思想是通过多个温度传感器进行温度测量,并将测量结果传输给中央控制单元进行数据分析和处理。
系统的设计需要考虑以下几个方面:传感器的选择和布置、通信方式的选择、数据处理算法以及系统的集成与控制。
1.传感器的选择和布置传感器的选择关系到整个系统的性能,常见的温度传感器有热电偶、热敏电阻、半导体温度传感器等。
在选择传感器时需要考虑温度范围、精度要求、响应时间等因素。
传感器的布置也需要考虑被测对象的特点,合理布置传感器可以提高温度测量的准确性。
2.通信方式的选择多点温度检测系统需要将多个传感器的测量结果传输到中央控制单元进行处理和分析。
通信方式的选择需要考虑传输距离、数据传输速率、抗干扰能力等因素。
常见的通信方式包括有线通信和无线通信,根据具体的应用场景选择合适的通信方式。
3.数据处理算法4.系统集成与控制三、系统实施方案在系统实施方案中,需要具体考虑系统的硬件设计和软件开发。
1.硬件设计硬件设计包括传感器的选择和布置、通信模块的选择和接口设计,以及中央控制单元的选取和接口设计。
根据实际需求进行硬件设计,确保系统的稳定性和可靠性。
2.软件开发软件开发包括系统的数据处理算法、通信协议的设计和编程,以及系统的控制逻辑和用户界面的设计。
根据具体的应用需求进行软件开发,确保系统的易用性和性能优化。
四、系统实验和测试在系统实验和测试中,需要对系统的性能进行评估和验证。
可以通过与已有的温度检测系统进行对比实验,评估多点温度检测系统的优劣势。
同时,还需要对系统的稳定性和可靠性进行测试,以确保系统在实际应用中的可用性。
理工科类大学毕业设计论文南开大学本科生毕业设计中文题目:基于单片机的多点温度测量系统设计英文题目:Design of based on the microprocessor multipoint temperature measurement system学号:****姓名:****年级:****专业:电子信息科学与技术系别:电子科学系指导教师:****完成日期:****摘要通过运用DS18B20数字温度传感器的测温原理和特性,利用它独特的单线总线接口方式,与AT89C51单片机相结合实现多点测温。
并给出了测温系统中对DS18B20操作的C51编程实例。
实现了系统接口简单、精度高、抗干扰能力强、工作稳定等特点。
本文介绍基于AT89C51单片机、C语言和DS18B20传感器的多点温度测量系统设计及其在Proteus平台下的仿真。
利用51单片机的并行口,同步快速读取8支DS18B20温度,实现了在多点温度测量系统中对多个传感器的快速精确识别和处理,并给出了具体的编程实例和仿真结果。
关键词:单片机;DS18B20数字温度传感器;Proteus仿真;C51编程AbstractWith using the measuring principle and characteristics of the numerical temperature sensor of DS18B20,making use of special characteristics of single line as the total line, and combine together with AT89C51 to realize several points temperature measuring. Also this paper gives the example of the C51 program which is used to operate to the DS18B20. Make system have characteristics of simple, high accuracy, strong anti- interference ability, stable work etc.This design introduced AT89C51 monolithic integrated circuit temperature control system design from the hardware and the software two aspects. A multipoint temperature measurement system based on DS18B20 and AT89C51 microcontroller is designed and simulated by Proteus in this paper, including software and hardware design of this system. The system has such advantages as novel circuit design, quick measurement speed, high measurement accuracy, and good practicality.Key words: SCM;DS18B20;Proteus simulation;C51 program目录摘要 (I)Abstract ............................................................................................... I I 第一章绪论 (1)1.1温度智能测控系统的研究背景与现状分析 (1)1.2温度智能测控系统的工作原理 (2)第二章单片机简介 (3)2.1单片机的定义 (3)2.2单片机的基本结构 (4)2.3单片机执行指令的过程 (5)2.4单片机的特点 (6)第三章数字温度传感器DS18B20原理 (7)3.1概述 (7)3.2主要特征 (7)3.3引脚功能 (8)3.4工作原理及应用 (8)3.5单片机对DS18B20的操作流程 (8)3.6 DS18B20与单片机的接口 (9)3.7 DS18B20芯片ROM指令表 (9)3.8 DS18B20芯片存储器操作指令表 (10)3.9 DS18B20复位及应答关系及读写隙 (11)第四章系统硬件设计 (12)4.1系统结构设计思路 (12)4.2系统框图 (13)4.3系统硬件设计 (13)第五章系统软件设计 (16)5.1 系统软件设计思路 (16)5.2系统软件设计 (21)第六章系统运行结果 (27)第七章结束语 (31)参考文献 (32)致谢 (33)第一章绪论1.1温度智能测控系统的研究背景与现状分析温度是一个和人们生活环境有着密切关系的物理量,也是一种在生产、科研、生活中需要测量和控制的重要物理量,是国际单位制七个基本量之一,同时它也是一种最基本的环境参数。
基于单片机的多点无线温度监控系统随着物联网技术的不断发展,无线传感器网络在各个领域都得到了广泛应用。
基于单片机的多点无线温度监控系统,不仅可以实现对多个温度点的实时监控,还可以通过无线方式传输监测数据,实现远程监控和管理。
本文将介绍基于单片机的多点无线温度监控系统的原理、设计和实现过程。
一、系统概述基于单片机的多点无线温度监控系统主要由传感器节点、信号处理单元、无线通信模块、监控中心等组成。
传感器节点负责采集温度数据,信号处理单元对采集的数据进行处理和存储,无线通信模块实现数据传输,监控中心则负责接收和显示监测数据。
二、系统设计1. 传感器节点设计传感器节点是系统的核心部分,负责采集温度数据。
为了实现多点监控,传感器节点需要设计成多个独立的模块,每个模块负责监测一个特定的温度点。
传感器节点的设计需要考虑传感器的选择、数据采集和处理电路的设计、以及无线通信模块的接口设计。
传感器节点采用数字温度传感器DS18B20进行温度采集,采集到的数据通过单片机进行处理和存储,然后通过无线通信模块进行数据传输。
2. 信号处理单元设计信号处理单元主要负责对传感器采集到的数据进行处理和存储。
传感器采集到的数据需要进行数字化处理,然后存储到单片机的内部存储器中。
传感器节点采用的是单片机AT89S52作为信号处理单元,通过单片机的A/D转换功能对温度数据进行数字化处理,然后存储到单片机的内部EEPROM中。
3. 无线通信模块设计无线通信模块主要负责将传感器节点采集到的数据传输到监控中心。
传感器节点采用的是nRF24L01无线模块,通过SPI接口与单片机进行通信,并实现数据的传输。
4. 监控中心设计三、系统实现传感器节点采用DS18B20数字温度传感器进行温度采集,通过单片机AT89S52进行数据处理和存储,然后通过nRF24L01无线模块实现数据的传输。
传感器节点的设计需要考虑功耗、尺寸和成本等因素,需要尽量减小功耗和尺寸,降低成本。
多点温度监控系统的设计一、设计任务与要求基本部分1、主机可监控不少于3个点的温度变化,轮流显示各点温度;2、温度测量精度±2℃;3、显示器分两段,第一段1位十进制数,显示测温点号;第二段2位十进制数,显示对应点的测量温度;4、所连接的测温点中只要有任何一个测量点的温度达到高温值时应给出报警信号,当所有点的温度值降低到安全值后,停止报警。
发挥部分1、温度传感器可在热敏电阻或集成温度传感器之间选择一种。
无论选择哪一种,都不采用A/D转换器进行信号变换2、温度测量精度±1℃。
3、具有温度传感器失效判断与显示功能。
4、其他功能,尽量考虑降低成本。
二、方案设计与论证通过温度传感器LM35将温度转换成电压信号,经模拟开关,A/D转换,七段译码通过数码管显示温度数值;信号放大比较后通过蜂鸣器实现报警。
三、 单元电路设计与参数计算(1)温度传感器采用集成温度传感器LM35,其输出电压和温度线性成正比,其灵敏度为10.0mV/℃,0℃时,输出电压为0V 。
电压放大电压放大电压放大 电压比较电压比较电压比较或门信号放大蜂鸣器(2) 温度输出显示部分计数器输出作为模拟开关的地址对三个传感器的电压信号进行选通,模拟开关输出经过A/D 转换(MC14433)输出。
输出经过七段译码器译码后接数码管显示,DS2,DS3选通个位与十位,三极管Q2、Q3用于提高DS2、DS3驱动能力。
(3)测温点显示和计数器部分1、振荡器计数器的clk信号由555接成的多谐振荡器产生,由于循环显示各测量点的温度时,不能太快,否则肉眼无法分辨,因此选用两个1M的电阻,一个1uF的电容,振荡周期为T=(R42+2R20)C2·ln2=2.08s2、计数器三进制计数器由74ls160置数得到,计数器的输出经7段译码后接数码管显示。
为减少芯片的使用,降低成本,同时考虑到数字电路噪声容限很大的特点,此处的四输入与门采用四个二极管和一个上拉电阻得到,由于实验室没有找到专门的反相器芯片,因此采用带有四个二输入或非门的74HC02代替。
多点温度检测系统实验(设计性实验) 一、实验目的通过仿真搭建和实物搭建相结合,完成多点温度检测单片机系统设计。
二、实验内容1、方案一: 用8279芯片为键盘和数码显示控制芯片,完成灵活的设置与显示设计,建立基本的串行口(MAX232接口),普通的I/0口,A/D转换口功能,采样多个点,并按键显示不同的通道采样数据。
方案二: 以8255或8155芯片为键盘显示控制芯片,建立基本的串行口(MAX232楼口),普通的I/0日,VD转换转换口功能,采样多个点,并按键显示不同的通道采样数据。
2、用Proteus仿真软件搭建仿真硬件电路图。
验证编制软件。
3、用prote199s布原理图、建PCB板图。
4、实物器件焊接搭建。
三、硬件设计硬件元件参考清单单片机AT89C5 1 瓷片电容CAP30PF 晶振CRYSTAL12MHZ 电解电容CAP-ELEC 电阻RES 按钮BUTTON 发光数码管LED 插针8*2开关SWTTCH 排阳RES PACK-8 8*2排座单排20*1插针DS18B20 8255芯片热敏电阻74LS 138芯片74LS373 74LS245 DAC0809 232芯片以DS18B20为传感器、AT89C51单片机为控制核心组成多点温度测试系统。
四、实验程序以及系统框图:(一)系统框图:(二)实验程序:#include <REG51.H>#include <intrins.h>#include <math.h>#define uint unsigned int#define uchar unsigned charuchar temp_value; //温度值uchar TempBuffer[7];void show_time(); //液晶显示程序uchar temp_value1; //温度值uchar TempBuffer1[7];char xiaoshu=0;char xiaoshu1=0;void show_time1();/***********1602液晶显示部分子程序****************/char done,count,temp,flag,up_flag,down_flag;//Port Definitionssbit LcdRs = P2^0;sbit LcdRw = P2^1;sbit LcdEn = P2^2;sfr DBPort = 0x80; //P0=0x80,P1=0x90,P2=0xA0,P3=0xB0.数据端口sbit DQ = P1^7; //温度传送数据IO口sbit DQ1=P1^6;//内部等待函数unsigned char LCD_Wait(void){LcdRs=0;LcdRw=1; _nop_();LcdEn=1; _nop_();LcdEn=0;return DBPort;}//向LCD写入命令或数据#define LCD_COMMAND 0 // Command#define LCD_DATA 1 // Data#define LCD_CLEAR_SCREEN 0x01 // 清屏#define LCD_HOMING 0x02 // 光标返回原点void LCD_Write(bit style, unsigned char input){LcdEn=0;LcdRs=style;LcdRw=0; _nop_();DBPort=input; _nop_();LcdEn=1; _nop_();LcdEn=0; _nop_();LCD_Wait();}//设置显示模式#define LCD_SHOW 0x04 //显示开#define LCD_HIDE 0x00 //显示关#define LCD_CURSOR 0x02 //显示光标#define LCD_NO_CURSOR 0x00 //无光标#define LCD_FLASH 0x01 //光标闪动#define LCD_NO_FLASH 0x00 //光标不闪动void LCD_SetDisplay(unsigned char DisplayMode){LCD_Write(LCD_COMMAND, 0x08|DisplayMode);}//设置输入模式#define LCD_AC_UP 0x02#define LCD_AC_DOWN 0x00 // default#define LCD_MOVE 0x01 // 画面可平移#define LCD_NO_MOVE 0x00 //defaultvoid LCD_SetInput(unsigned char InputMode){LCD_Write(LCD_COMMAND, 0x04|InputMode);}//初始化LCDvoid LCD_Initial(){LcdEn=0;LCD_Write(LCD_COMMAND,0x38); //8位数据端口,2行显示,5*7点阵LCD_Write(LCD_COMMAND,0x38);LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR); //开启显示, 无光标LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN); //清屏LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE); //AC递增, 画面不动}//液晶字符输入的位置void GotoXY(unsigned char x, unsigned char y){if(y==0)LCD_Write(LCD_COMMAND,0x80|x);if(y==1)LCD_Write(LCD_COMMAND,0x80|(x-0x40));}//将字符输出到液晶显示void Print(unsigned char *str){while(*str!='\0'){LCD_Write(LCD_DATA,*str);str++;}}/************************ds18b20子程序*************************//***********ds18b20延迟子函数(晶振12MHz )*******/void delay_18B20(unsigned int i){while(i--);}/***************ds18b20初始化函数*****************/void Init_DS18B20(void) {unsigned char x=0;DQ = 1; //DQ复位delay_18B20(8); //稍做延时DQ = 0; //单片机将DQ拉低delay_18B20(80); //精确延时大于480usDQ = 1; //拉高总线delay_18B20(14);x=DQ; //稍做延时后如果x=0则初始化成功x=1则初始化失败delay_18B20(20);}/***********ds18b20读一个字节**************/unsigned char ReadOneChar(void){uchar i=0;uchar dat = 0;for (i=8;i>0;i--) {DQ = 0; // 给脉冲信号dat>>=1;DQ = 1; // 给脉冲信号if(DQ)dat|=0x80;delay_18B20(4);}return(dat);}/*************ds18b20写一个字节****************/void WriteOneChar(uchar dat){unsigned char i=0;for (i=8; i>0; i--){ DQ = 0;DQ = dat&0x01;delay_18B20(5); DQ = 1;dat>>=1;}}/**************读取ds18b20当前温度************/void ReadTemp(void){unsigned char a=0;unsigned char b=0;char t;long tt;Init_DS18B20();WriteOneChar(0xCC); // 跳过读序号列号的操作WriteOneChar(0x44); // 启动温度转换delay_18B20(100); // this message is wery importantInit_DS18B20();WriteOneChar(0xCC); //跳过读序号列号的操作WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器)前两个就是温度delay_18B20(100);a=ReadOneChar(); //读取温度值低位b=ReadOneChar(); //读取温度值高位temp_value=b<<4;temp_value+=(a&0xf0)>>4;t=a&0x0f;tt=t*625;xiaoshu=tt/1000;}void temp_to_str(){ //温度数据转换成液晶字符显示TempBuffer[0]=temp_value/10+'0'; //十位TempBuffer[1]=temp_value%10+'0'; //个位TempBuffer[2]='.';TempBuffer[3]=xiaoshu+'0';TempBuffer[4]=0xdf;TempBuffer[5]='C';TempBuffer1[6]='\0';}void Delay1ms(unsigned int count){unsigned int i,j;for(i=0;i<count;i++)for(j=0;j<120;j++);}void show_time(){//液晶显示程序ReadTemp(); //开启温度采集程序temp_to_str();GotoXY(0,0);Print("NO.1");GotoXY(0,1); //温度数据转换成液晶字符Print("TEMP:");GotoXY(6,1); //液晶字符显示位置Print(TempBuffer); //显示温度Delay1ms(400); //扫描延时}/********************************ds18b20子程序*******************************//*********************ds18b20延迟子函数(晶振12MHz )*******************//****************ds18b20初始化函数****************/void Init_DS18B201(void) {unsigned char x=0;DQ1 = 1; //DQ复位delay_18B20(8); //稍做延时DQ1 = 0; //单片机将DQ拉低delay_18B20(80); //精确延时大于480usDQ1 = 1; //拉高总线delay_18B20(14);x=DQ1; //稍做延时后如果x=0则初始化成功x=1则初始化失败delay_18B20(20);}/**************ds18b20读一个字节**************/unsigned char ReadOneChar1(void){uchar i=0;uchar dat = 0;for (i=8;i>0;i--){DQ1 = 0; //给脉冲信号dat>>=1;DQ1 = 1; //给脉冲信号if(DQ1)dat|=0x80;delay_18B20(4);}return(dat);}/*************ds18b201写一个字节****************/void WriteOneChar1(uchar dat){unsigned char i=0;for (i=8; i>0; i--){DQ1 = 0;DQ1 = dat&0x01;delay_18B20(5);DQ1 = 1;dat>>=1;}}/**************读取ds18b201当前温度************/void ReadTemp1(void){unsigned char a=0;unsigned char b=0;unsigned char t=0;long tt;Init_DS18B201();WriteOneChar1(0xCC); // 跳过读序号列号的操作WriteOneChar1(0x44); // 启动温度转换delay_18B20(100); // this message is very importantInit_DS18B201();WriteOneChar1(0xCC); //跳过读序号列号的操作WriteOneChar1(0xBE); //读取温度寄存器等(共可读9个寄存器)前两个就是温度delay_18B20(100);a=ReadOneChar1(); //读取温度值低位b=ReadOneChar1(); //读取温度值高位temp_value1=b<<4;temp_value1+=(a&0xf0)>>4;t=a&0x0f;tt=t*625;xiaoshu1=tt/1000;}void temp_to_str1() //温度数据转换成液晶字符显示{ TempBuffer1[0]=temp_value1/10+'0'; //十位TempBuffer1[1]=temp_value1%10+'0'; //个位TempBuffer1[2]='.';TempBuffer1[3]=xiaoshu1+'0';TempBuffer1[4]=0xdf; //温度符号TempBuffer1[5]='C';TempBuffer1[6]='\0';}void show_time1(){//液晶显示程序ReadTemp1(); //开启温度采集程序temp_to_str1();GotoXY(0,0);Print("NO.2");GotoXY(0,1); //温度数据转换成液晶字符Print("TEMP:");GotoXY(6,1); //液晶字符显示位置Print(TempBuffer1); //显示温度Delay1ms(400); //扫描延时}main(){LCD_Initial(); //液晶初始化Init_DS18B20( ) ; //DS18B20初始化Init_DS18B201( );GotoXY(1,0);Print("HELLO");GotoXY(1,1);Print("LET’S DO IT");//("design by wy!");ReadTemp();ReadTemp1();Delay1ms(2000);LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN);while(1){show_time(); //液晶显示数据// flag=0;Delay1ms(2000);LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN);show_time1();// flag=0;Delay1ms(2000);LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN);}}五、电路图六、实验结果与分析1、Keil代码运行状况:2、isis仿真运行画面:1)数码管初始画面2)两秒后显示第一个传感器所测温度3)再两秒后显示第二个传感器所测温度(接下来重复显示两个传感器温度)七、思考本次实验通过仿真搭建和实物搭建相结合,以DS18B20为传感器、AT89C51单片机为控制核心,完成了多点温度检测单片机系统的设计。