基于单片机数字控温器实验报告
- 格式:doc
- 大小:181.51 KB
- 文档页数:17
单片机课程设计实验报告——温度控制器班级:学号:姓名:老师:合作者:一、实验要求和目的本课程设计的课题是温度控制器。
● ●用电压输入的变化来模拟温度的变化,对输入的模拟电压通过ADC0832转换成数字量输出。
输入的电压为0.00V——5.00V,在三位数码显示管中显示范围为00.0——99.9。
其中0V对应00.0,5V对应99.9单片机的控制目标是风机和加热器。
分别由两个继电器工作来模拟。
系统加了一个滞环。
适合温度为60度。
◆当显示为00.0-50.0时,继电器A闭合,灯A亮,模拟加热器工作。
◆当显示为为50.0-55.0时,保持继电器AB的动作。
◆当显示为55.0-65.0时,继电器A断开,灯A熄灭,模拟加热器停止工作。
◆当显示为65.0-70.0时,保持继电器AB的动作◆当显示为70.0-99.9时,继电器B闭合,灯B亮,模拟风机的工作。
二、实验电路涉及原件及电路图由于硬件系统电路已经给定,只需要了解它的功能,使用proteus 画出原理图就可以了。
实验设计的电路硬件有:1、AT89S52本温度控制器采用AT89C52单片机作为CPU,12MHZ晶振AT89C52的引脚结构图:AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes 的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash 存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
天津电子信息职业技术学院暨国家示范性软件职业技术学院单片机实训题目:用MCS-51单片机和18B20实现数字温度计姓名:系别:网络系专业:计算机控制技术班级:计控指导教师:* 伟时间安排:2013年1月7日至2013年1月11日摘要随着国民经济的发展,人们需要对各中加热炉、热处理炉、反应炉和锅炉中温度进行监测和控制。
采用单片机来对他们控制不仅具有控制方便,简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大的提高产品的质量和数量。
在日常生活及工业生产过程中,经常要用到温度的检测及控制,温度是生产过程和科学实验中普遍而且重要的物理参数之一。
在生产过程中,为了高效地进行生产,必须对它的主要参数,如温度、压力、流量等进行有效的控制。
温度控制在生产过程中占有相当大的比例。
温度测量是温度控制的基础,技术已经比较成熟。
传统的测温元件有热电偶和二电阻。
而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,这些方法相对比较复杂,需要比较多的外部硬件支持。
我们用一种相对比较简单的方式来测量。
我们采用美国DALLAS半导体公司继DS18B20之后推出的一种改进型智能温度传感器DS18B20作为检测元件,温度范围为-55~125 ºC,最高分辨率可达0.0625 ºC。
DS18B20可以直接读出北侧温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。
本文介绍一种基于AT89C51单片机的一种温度测量及报警电路,该电路采用DS18B20作为温度监测元件,测量范围0℃-~+100℃,使用LED模块显示,能设置温度报警上下限。
正文着重给出了软硬件系统的各部分电路,介绍了集成温度传感器DS18B20的原理,AT89C51单片机功能和应用。
该电路设计新颖、功能强大、结构简单。
关键词:单片机,数字控制,温度计, DS18B20,AT89S51第1章.数字温度计总体设计方案1.1数字温度计设计方案论证1.1.1方案一由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。
《基于单片机的温度控制器设计与研究》篇一一、引言随着科技的不断进步,温度控制技术在工业、农业、医疗、家庭等领域的应用越来越广泛。
为了满足不同场景下的温度控制需求,设计一款基于单片机的温度控制器显得尤为重要。
本文旨在介绍基于单片机的温度控制器的设计与研究,探讨其原理、方法及实现过程,以期为相关领域的研究与应用提供参考。
二、设计原理基于单片机的温度控制器主要利用单片机作为核心控制器,通过温度传感器实时监测环境温度,并根据设定的温度值进行控制。
其设计原理主要包括信号采集、信号处理、控制输出和执行机构等部分。
1. 信号采集:通过温度传感器实时采集环境温度信息,将温度信号转换为电信号。
2. 信号处理:单片机接收温度传感器的电信号,经过滤波、放大等处理,得到准确的温度数值。
3. 控制输出:单片机根据设定的温度值与实际温度值的比较结果,输出控制信号。
4. 执行机构:根据单片机的控制信号,执行机构(如加热器、制冷器等)进行相应的动作,以实现温度的控制。
三、硬件设计基于单片机的温度控制器的硬件设计主要包括单片机、温度传感器、执行机构等部分。
1. 单片机:选用合适的单片机作为核心控制器,具备较高的处理速度和稳定性。
2. 温度传感器:选用精度高、响应速度快的温度传感器,实时采集环境温度信息。
3. 执行机构:根据实际需求选择合适的执行机构,如加热器、制冷器等。
4. 其他部件:包括电源电路、滤波电路、放大电路等,以保证系统的正常运行。
四、软件设计基于单片机的温度控制器的软件设计主要包括单片机程序的设计与编写。
1. 初始化程序:对单片机进行初始化设置,包括I/O口配置、定时器配置等。
2. 温度采集程序:通过温度传感器实时采集环境温度信息,并传输至单片机。
3. 温度处理程序:单片机对采集到的温度信息进行滤波、放大等处理,得到准确的温度数值。
4. 控制输出程序:单片机根据设定的温度值与实际温度值的比较结果,输出控制信号,控制执行机构的动作。
目录1、绪论1.1 实验内容1.2实验目的1.3 实验原理2、系统硬件组成及基本原理2.1STC89C52单片机介绍2.2 花样流水灯的设计2.3 LED动态扫描显示2.4 定时计数器2.5 4*4独立键盘的设2.6 串口通信的设计2.7 数字温度计的设计3、单片机焊接与系统调试4、总结附录一整体原理图1、绪论1.1 实验内容本学期单片机实验包括六个,分别是花样流水灯实验、LED动态扫描显示实验、定时计数器实验、4*4键盘输入实验、单片机与PC机串口通信以及基于单片机的数字温度计的设计。
1.2 实验目的花样流水灯实验:熟悉LED的显示特点,了解单片机系统实现花样流水灯实验的硬件电路和软件编程技巧;LED动态扫描显示实验:掌握LED动态扫描显示原理,掌握LED动态扫描显示程序设计方法,熟悉LED动态扫描显示硬件设计方法;定时计数器实验:学习单片机内部计数器的使用和编程方法,进一步掌握中断处理程序的编程方法;4*4键盘输入实验:掌握键盘扫描的原理以及十/十六进制的转换,了解单片机输入和输出的过程,以及如何对数据进行采集的;单片机与PC机串口通信:掌握串行口工作方式的程序设计,掌握单片机通讯的编程,了解实现串行口通讯的硬环境,数据格式的协议,数据交换的协议,了解PC机通讯的基本要求;基于单片机的数字温度计的设计:通过对做的设计任务的实现,起到串起所学的数模技术、传感器技术、单片机技术及智能仪器等知识,通过理论联系实际,从题目分析、电路设计调试、程序编制调试到传感器的标定等这一完整的实验过程,培养学生正确的设计思想,使学生充分发挥主观能动性,去独立解决实际问题,以达到提升学生的综合能力、动手能力、文献资料查阅能力的作用。
1.3 实验原理LED动态扫描显示实验:为了节省输出端口数,数码LED显示一班采用动态扫描的方法,将所有数码LED的共阴极接在一个位型输出口上,将所有数码管的相同段接在一起作为字型口,软件控制每个数码LED轮流显示,任一时刻只有一个数码亮,但扫描速度足够快时,视觉效果是8个数码LED同时亮;定时计数器实验:定时和计数的本质是相同的,它们都是对一个输入脉冲进行计数,如果输入脉冲的频率一定,则记录一定个数的脉冲,其所需的时间是一定的,对CLK信号进行“减1计数”。
《基于单片机的温度控制器设计与研究》篇一一、引言随着科技的不断进步,温度控制技术在工业、农业、医疗、家庭等领域得到了广泛应用。
为了满足不同领域对温度控制的高精度、高稳定性和高可靠性的要求,基于单片机的温度控制器应运而生。
本文旨在设计并研究一种基于单片机的温度控制器,以提高温度控制的精度和稳定性。
二、系统设计1. 硬件设计本系统采用单片机作为核心控制器,通过温度传感器采集温度信息,并利用继电器或PWM控制方式对加热或制冷设备进行控制。
具体设计包括单片机最小系统、温度传感器模块、继电器或PWM控制模块等。
(1)单片机最小系统:包括单片机芯片、时钟电路、复位电路等,为整个系统提供基本的运行环境。
(2)温度传感器模块:采用高精度的温度传感器,如DS18B20或DHT11等,实时采集环境温度信息。
(3)继电器或PWM控制模块:根据单片机输出的控制信号,实现对加热或制冷设备的控制。
2. 软件设计软件设计主要包括单片机程序设计和上位机界面设计两部分。
(1)单片机程序设计:采用C语言或汇编语言编写单片机程序,实现温度信息的采集、处理、控制等功能。
程序应具有高精度、高稳定性和高可靠性的特点。
(2)上位机界面设计:通过串口或网络等方式与单片机进行通信,实现温度信息的实时显示和远程控制等功能。
界面应具有友好的操作界面和丰富的功能选项。
三、系统实现1. 温度采集与处理单片机通过温度传感器实时采集环境温度信息,经过A/D转换后,将数字信号传输至单片机进行处理。
单片机根据预设的温度值与实际温度值进行比较,计算出温差,并根据温差大小输出相应的控制信号。
2. 控制策略实现本系统采用PID控制算法实现对加热或制冷设备的精确控制。
PID控制器根据温差大小计算出控制量,并输出至继电器或PWM 控制模块,实现对加热或制冷设备的精确控制。
同时,系统还具有自动调节、手动调节和定时控制等多种控制方式,以满足不同场景的需求。
四、实验与分析为了验证本系统的性能和可靠性,我们进行了多组实验。
智能仪器仪表综合实训题目基于单片机的温度控制系统设计学院专业电子信息工程班级 (仪器仪表) 学生姓名学号指导教师完成时间:目录一、系统设计---------------------------------------------------------第 1 页(一)系统总体设计方案----------------------------------------------第1 页(二)温度信号采集电路选择和数据处理--------------------------------第3 页(三)软件设计------------------------------------------------------第3 页二、单元电路设计-----------------------------------------------------第 5 页(一)温度信号采集电路----------------------------------------------第5 页(二)步进电机电路------------------------------------------------- 第5 页(三)液晶显示模块---------------------------------------------------------- 第6 页(四)晶振复位电路--------------------------------------------------第7 页三、总结体会--------------------------------------------------------------------------------------第7 页四、参考文献-------------------------------------------第8 页附录:程序清单------------------------------------------第8 页一、系统设计(一) 系统总体设计方案设计框图如下所示:图1 系统总体设计框图总电路图如下:图2 系统总电路图简单功能说明:一个显示实时温度的小系统,可以自行设定高温报警和低温报警值,实现温度控制电机带动外围器件功能。
南京邮电大学通达学院2010/2011学年第1学期课程设计实验报告课题名称基于CPU的8LED温度显示控制器的设计专业通信工程学生班级070018学号07001836姓名赵静静指导老师林建中实验日期2010 年11 月19 日题目:基于单片cpu的8led温度显示控制器的设计一,实验目的和要求1,Proteus软件的MCS51单片机仿真学习2,根据提供的参考工程,在proteus平台自己重新设计实验电路所需要的电器原理图,并在此基础上编写相对应的程序,实现其功能,学习proteus软件的使用,其中包括原理图器件的选取,原理图的电气连接,程序的编写编译以及运行,并能查出其错误等。
基本要求:用热敏电阻或温度传感器作温度探头,通过AD转换器变换,把温度数据转换成BCD码在LCD上显示。
显示精度±0。
5℃能记录和回放温度参数,记录间隔可任意设定(1S到1h,步长1s)回放数据速度可设定画出温度变化曲线。
发挥部分:1 显示精度提高到±0。
1℃2 显示精度提高到±0。
01℃3 与实际温度计温度比较,找出温度显示误差曲线,在报告中描出,并分析误差来源4 实现温度自动补赏二,实验仪器微型计算机一台三,实验原理温度测量通常可以用两种方式来实现,一种是用热敏电阻之类的器件,由于感温效应,热敏电阻的阻值能够随温度变化,当热敏电阻接入电路,测量过它的电流或其两端的电压就会随温度变化发生响应的变化,在将温度变化的电压或电流采集过来,进行A/D 转化后,发送到单片机进行处理,通过显示电路,就可以将被测温度显示出来。
这种设计需要用到A/D转换电路,其测温电路比较麻烦。
第二种方法是用温度传感器芯片。
温度传感器芯片能把温度信号转换成数字信号,直接发送给单片机,转换后通过显示电路既可以显示。
四,基本芯片及其原理单片机微型计算机简称单片机,是指在一块芯片体上集成了中央处理器CPU、随机存储器RAM、程序存储器ROM或EPROM、定时器/计数器、中断控制器以及串行和并行I/O 接口等部件,构成一个完整的微型计算机。
摘要本次实验是软硬件相结合的实验,通过传感器得到的阻值与其它电阻,可以搭建一个电桥,将水温转化为电压,然后通过放大器将电压放大到所需要的值,将所得的电压送入单片机的AD转换电路,将模拟信号转换成数字信号,从而在单片机的液晶屏上显示当前的温度。
此烧水壶是可控制的,即设定温度,使水加热到设定温度且保温,此控制算法采用PID控制算法来控制继电器的通断,来保证水温恒定在设定温度处。
一、设计要求1.传感器:Pt100铂热电阻2.测量放大器:自己设计与搭建3.被控对象:400W电热杯,约0.5公斤自来水4.执行机构:12V驱动,5A负载能力的继电器5.控制系统:51单片机6.控制算法:PID7.温度范围:环境温度~100度8.测量误差1度,控制误差2度二、设计原理及方案1.热电阻传感器热电阻传感器是利用导体或半导体的电阻值随温度变化而变化的原进行测温的。
热电阻的工作原理:温度升高,金属内部原子晶格的振动加剧,从而使金属内部的自由电子通过金属导体时的阻碍增大,宏观上表现出电阻率变大,电阻值增加,我们称其为正温度系数,即电阻值与温度的变化趋势相同。
2.实验原理框图3.测量放大器电路图说明:电位器R10用来调节偏置电压,而电位器R7则用来调节增益。
实验时,用R10来调节零点,用R7来调节满度。
该电路将0℃-100℃转换为0-5V 电压。
上述电路图采用仪表放大器,将铂热电阻两端的电压U2与电位器R10两端的电压U1差放大,放大器输出电压U0与电压差的关系为:)-)(2(1127248U U R RR R U o ⨯+=由铂热电阻阻值与水温的关系可知,铂热电阻的范围是ΩΩ140~100。
则100)10012(12-140)140(1212)-(100)10012(12-100)10012(1212⨯+⨯+≤≤⨯+⨯+K K U U K K 整理得:V U U 04.0)-(012≤≤而仪表放大器的输出电压为0~5V ,所以放大倍数大约为:5/0.04=125。
一、引言随着科技的不断发展,单片机在各个领域得到了广泛的应用。
单片机作为一种微型计算机,具有体积小、成本低、功能强等特点,在智能仪表、自动化控制等领域具有重要作用。
本实训报告主要介绍了单片机温度计的设计与实现过程,通过实训,加深了对单片机原理、接口技术以及编程方法的理解。
二、实训目的1. 熟悉单片机的硬件结构和接口技术;2. 掌握单片机编程方法,提高编程能力;3. 学会使用传感器进行温度测量;4. 培养动手能力和团队协作能力。
三、实训原理本实训采用AT89C51单片机作为主控制器,利用DS18B20数字温度传感器进行温度测量,并通过LCD显示屏显示温度值。
1. DS18B20数字温度传感器:DS18B20是一款高精度、高稳定性的数字温度传感器,具有单总线接口,方便与单片机进行通信。
2. AT89C51单片机:AT89C51是一款经典的51系列单片机,具有丰富的片上资源,适合于各种嵌入式应用。
3. LCD显示屏:LCD显示屏用于显示温度值,方便用户查看。
四、实训步骤1. 硬件电路设计根据设计要求,设计如下硬件电路:(1)单片机最小系统:包括AT89C51单片机、晶振、复位电路、电源电路等。
(2)DS18B20传感器电路:将DS18B20传感器与单片机相连,实现温度数据的采集。
(3)LCD显示屏电路:将LCD显示屏与单片机相连,用于显示温度值。
2. 软件编程(1)初始化单片机:设置单片机的时钟、IO口等。
(2)初始化DS18B20传感器:设置DS18B20传感器的分辨率、工作模式等。
(3)读取温度数据:通过DS18B20传感器读取温度数据。
(4)显示温度值:将读取到的温度值显示在LCD显示屏上。
3. 系统调试将设计好的硬件电路和软件程序进行调试,确保系统能够正常运行。
五、实训结果与分析1. 实训结果通过实训,成功实现了单片机温度计的设计与实现,系统能够实时采集温度数据,并通过LCD显示屏显示温度值。
单片机温度控制实习报告一、实习目的1. 学习并掌握单片机的基本原理和应用,了解单片机在温度控制方面的应用。
2. 学习电路原理图设计,焊接和装配,提高电子线路的基本焊接装配工艺、规范及注意事项。
3. 学习并掌握温度传感器的原理和应用,了解其与单片机的接口电路设计。
4. 学习并掌握单片机编程,实现温度数据的采集、处理和显示。
5. 培养学生解决实际问题的能力,提高对理论知识的感性认识。
二、实习内容和过程1. 实习的第一步是学习并理解单片机的基本原理和温度控制原理。
通过查阅资料,了解单片机的内部结构、工作原理以及温度控制的基本方法。
2. 实习的第二步是设计电路原理图。
根据实习要求,设计出单片机、温度传感器、显示器等元件的连接电路。
在此过程中,要充分考虑电路的稳定性、可靠性和可扩展性。
3. 实习的第三步是进行焊接和装配。
按照电路原理图,将各个元件焊接在电路板上。
在焊接过程中,要注意焊接姿势、焊接温度和焊接时间,确保焊接质量。
4. 实习的第四步是编写单片机程序。
根据温度控制要求,编写单片机程序,实现温度数据的采集、处理和显示。
在此过程中,要充分考虑程序的稳定性、可靠性和可维护性。
5. 实习的最后一步是进行系统测试。
通过实际操作,测试系统的工作性能,检查是否达到预期效果。
如发现问题,进行分析、调试,直至解决问题。
三、实习收获和体会1. 通过本次实习,我对单片机的基本原理和应用有了更深入的了解,掌握了单片机在温度控制方面的应用。
2. 我学会了电路原理图设计,提高了电子线路的基本焊接装配工艺、规范及注意事项。
3. 我掌握了温度传感器的原理和应用,了解了其与单片机的接口电路设计。
4. 我学会了单片机编程,实现了温度数据的采集、处理和显示。
5. 本次实习锻炼了我的动手能力,培养了解决实际问题的能力,提高了我的综合素质。
四、实习总结通过本次单片机温度控制实习,我对单片机技术和温度控制技术有了更深入的了解。
在实习过程中,我不仅学到了专业知识,还锻炼了自己的动手能力和解决问题的能力。
重庆交通大学课外实践报告题目:基于单片机数字控温器姓名:罗杰专业:电子信息工程班级:2011 级4 班学号:631106020405指导老师:王淑良目录设计目的-------------------------------------------------------------------------- 1设计要求----------------------------------------------------------- ---------------1设计方案--------------------------------------------- 1系统工作原理-------------------------------------------------------------------- 2各部分电路的设计和芯片的结构功能作用-------------------------------- 2 单片机程序(C语言程序)------------------------------------------------------ 11 设计总结------------------------------------------- 20一、设计目的1、系统地运用已学的理论知识解决实际问题的能力和查阅资料的能力。
培养一定的自学能力和独立分析问题、解决问题的能力,和团队协作能力,能通过独立思考、查阅工具书、参考文献,寻找解决方案。
2、能设计、安装和调试数显温度测试控制系统,并能利用模拟和数字电路和单片机的知识分析和解决设计、安装和调试中遇到的实际问题。
3、能熟练的设计并良好的印制PCB电路板。
4、对温度的控制要求尽量的高效,精确。
二、设计要求1、(1)温度控制范围为30度~100度之间;(2)可键盘设置控制温度值,并显示;(3)数字显示水的实际温度;(4)设置温度控制值和检测值之间的误差在±1度;2、发挥部分(1)设计温度报警电路;(2)升温或降温在5—10分钟之内完成;三、设计方案方案:用控制器MCS-51系列单片机和数字传感器DS18B20来进行控制,并用七段数码显示管来显示温度,在程序中来设置温度的上下限,当温度超出上下限时,由单片机发出控制信号,外界控制电路接收信号并作相应的响应来调节温度。
此为全控制型,最为简便。
四、系统工作原理1、系统的总体结构图如下:2、工作原理首先,由数字温度传感器感受出温度并将其数字信号传递给单片机的接口部分,单片机接收到信号后,对其进行处理(由导入单片机的程序设置处理过程及处理结果),并将处理后的结果通过端口传递给七段数码显示管让其显示出当前的温度值。
如果温度高于或者是低于所设置的温度上下限(上下限由程序进行设置),单片机以端口就向蜂鸣器和外接的控制装置发出信号,蜂鸣器接收信号后开始报警,外接控制装置接收信号后分析是上限信号还是下限信号(可调节),分析后控制升温或者是降温。
当温度恢复至所控制的范围后,数字温度传感器感受温度后将数字信号传递给单片机,单片机处理后则停止向蜂鸣器和外接的控制装置发信号,蜂鸣器和控制装置就停止动作等待下一次信号的到来。
此过程即完成了温度的测量和两点间的温度控制工作,完全自动控制,方便快捷(直流电机的旋转来模拟升温和降温)。
五、各部分电路的设计和芯片的结构功能作用1、单片机STC89C52RC(1)如上图所示,单片机能正常工作的条件,复位电路,和晶振电路,其中当按下按键开关REST,此时当处于震荡器工作的单片机RESET出现连续两个高电平,可使单片机回到初始状态。
为了提高系统的抗干扰能力,在电源的一端接上一个小电容。
(2)外接晶振引脚XTAL1和XTAL2XTAL1(19脚)和XTAL2(18脚):接外部石英晶振的一端,在单片机的内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。
2、数字温度传感器DS18B20介绍(1)DS18B20基本介绍DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种改进型智能温度传感器。
与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
可以分别在93.75 ms和750 ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。
因而使用DS18B20可使系统结构更趋简单,可靠性更高。
(2)DS18B20简介(1)独特的单线接口方式:DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
(2)在使用中不需要任何外围元件。
(3)可用数据线供电,电压范围: 3.0" 5.5 V。
(4)测温范围:-55 ~ 125 ℃。
固有测温分辨率为0.5 ℃。
(5)通过编程可实现9"12位的数字读数方式。
(6)用户可自设定非易失性的报警上下限值。
(7)支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点测温。
(8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。
(3)DS18B20的工作时序DS18B20的工作时序包括初始化时序、写时序和读时序。
(1)初始化:单片机将数据线的电平拉低480~960us后释放,等待15~60us, 单总线器件即可输出一持续60~240us的低电平(存在脉冲)单片机收到此应答后即可进行操作。
(2)写时序:当主机将数据线的电平从高拉到低时,形成写时序,有“0”和写“1”两种时序。
写时序开始后,DS18B20在15us~60us期间从数据线上采样。
如果采样到低电平,则向DS18B20写“0”;如果采样到高电平,则向DS18B20写“1”。
两个独立的时序间至少需要1us的恢复时间(拉高总线电平)。
(3)读时序:当主机从DS18b20读取数时,产生时序。
此时,主机将数据线的电平从高拉到低使读时序被初始化。
如果此后15us内,主机总线上采样到低电平,则DS18B20读“0”;如果此后15us内,主机在总线上采样到高电平,则DS18B20读“1”。
(3)DS18B20的各个引脚与单片机连接图5、七段数码显示管七段数码显示管用于显示所测量的温度值,如下图所示:此数码管的位选段由P2.0~P2.4进行控制选通,段选端则有P1八位口进行控制,利用其动态扫描,来显示四位不同的数字温度。
6、温度控制部分和报警蜂鸣器的连接电路(1)蜂鸣器的工作,当温度高于上限温度或是低于下限温度时,单片机控制器的P0.7口的就输出高低电平的波形而使三极管集电极和积集导通从而让蜂鸣器发出报警的声音。
而当温度被控制在一个范围内时,单片机的P0.7口就发停止发出波形,而使蜂鸣器停止报警。
(2)外接温度控制部分,此部分为一个继电器,当温度低于下限温度时,单片机的P2.6口就发出低电平,从而是继电器的控制端通电导通,当继电器导通时,继电器的常闭触点变为常开触点,从而使C和B点连接导通,使加热装置通电,对被加热物体加热,使温度升高。
当温度高于上限温度时,单片机的P2.6口就停止发出低电平,三极管关短导致继电器控制端也关断,使常开触点变为常闭触点,C和A之间导通,使外部制冷装置工作从而使温度降低致所规定的范围。
7、HK4001继电器S3-5工作原理(1)继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。
故在电路中起着自动调节、安全保护、转换电路等作用。
(2)电磁继电器一般由电磁铁,衔铁,弹簧片,触点等组成的,其工作电路由低压控制电路和高压工作电路两部分构成。
只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。
当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来的静触点(常闭触点)释放。
这样吸合、释放,从而达到了在电路中的导通、切断的目的。
对于继电器的“常开、常闭”触点,可以这样来区分:继电器线圈未通电时处于断开状态的静触点,称为“常开触点”;处于接通状态的静触点称为“常闭触点”。
8、上下限温度调节按钮电路按钮S13控制上限温度的选择,当按下S13按钮时,数码管上显示上限温度值。
按钮S14控制着下限温度的选择,当按下S14时,数码管显示下限温度值。
S15为温度上下限设置增加键,S16为上下限温度设置减少键。
通过此四个按键可以任意设置上下限温度。
六、单片机程序如下(C语言程序)温度可控恒温箱程序/**************************************************************/ DS18B20的读写程序最大转化时间750微秒,显示温度-55.0到+99.9度,显示精度为0.1度,显示采用3位LED共阳显示测温值P1口为段码输入, 晶振为12MHZ/**************************************************************/ #include <reg52.h>#include <intrins.h> //_nop_();延时函数用#define uint unsigned int#define uchar unsigned charuint a=250;uint b=200;sbit DQ=P3^0; //温度输入口sbit P20=P2^0;sbit P21=P2^1;sbit P22=P2^2;sbit P23=P2^3;sbit P17=P1^7;sbit P25=P2^5;sbit P26=P2^6;sbit S1=P3^4;sbit S2=P3^5;sbit S3=P3^6;sbit S4=P3^7;unsigned int h,n=0;unsigned int temp;/*uchar code table[]={0x40,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x80,0xc6,0xa1,0x86,0x8e};*///温度小数部分用查表法unsigned char data temp_data[2]={0x00,0x00}; //读出温度暂放unsigned char data display[5]={0x00,0x00,0x00,0x00,0x00}; //显示单元数据,共4个数据和一个运算暂用//11us延时函数void delay(unsigned int t){for (;t>0;t--);}////延时882usvoid delay882us(void){unsigned char i;for(i=0;i<255;i++);{_nop_();}}//消震除延时程序void delay1(uint z){int x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}//DS18B20复位函数ow_reset(void){char presence=1;while(presence){while(presence){DQ=1;_nop_();_nop_();//从高拉倒低DQ=0;delay(50); //550 usDQ=1;delay(6); //66 uspresence=DQ; //presence=0 复位成功,继续下一步}delay(45); //延时500 uspresence=~DQ;}DQ=1; //拉高电平}//DS18B20写命令函数//向1-WIRE 总线上写1个字节void write_byte(unsigned char val){unsigned char i;for(i=8;i>0;i--){DQ=1;_nop_();_nop_(); //从高拉倒低DQ=0;_nop_();_nop_();_nop_();_nop_();//5 usDQ=val&0x01; //最低位移出delay(6); //66 usval=val/2; //右移1位}DQ=1;delay(1);}//DS18B20读1字节函数//从总线上取1个字节unsigned char read_byte(void){unsigned char i;unsigned char value=0;for(i=8;i>0;i--){DQ=1;_nop_();_nop_();value>>=1;DQ=0;_nop_();_nop_();_nop_();_nop_(); //4 usDQ=1;_nop_();_nop_();_nop_();_nop_();//4 usif(DQ)value|=0x80;delay(6); //66 us}DQ=1;return(value);}//读出温度函数unsigned int read_temp(){ow_reset(); //总线复位delay(200);write_byte(0xcc); //发命令write_byte(0x44); //发转换命令ow_reset();delay(1);write_byte(0xcc); //发命令write_byte(0xbe);temp_data[0]=read_byte(); //读温度值的低字节temp_data[1]=read_byte(); //读温度值的高字节temp=temp_data[1];temp<<=8;temp=temp|temp_data[0]; // 两字节合成一个整型变量。