恒温箱温度计算机控制系统设计
swust恒温箱满分

西南科技大学计算机控制系统报告设计名称:恒温箱温度计算机控制系统设计姓名: ** *学号: 2 0 1 0****班级:自动10** 班指导教师:聂诗良起止日期:2012.10.15--2012.11.25西南科技大学信息工程学院制设计任务书学生班级:自动1004 学生姓名:杨文超学号:20105789 设计名称:恒温箱温度计算机控制系统设计起止日期:10月15日——11月25日指导教师:聂诗良恒温箱温度计算机控制系统设计摘要:本设计采用体积小、精度高的数字式温度传感元件DS18B20作为温度采集器,选择性价比高的AT89S52单片机作为主控芯片,微功耗龙丘小液晶作为显示器,通过单片机驱动MOC3021光耦实现对晶闸管BT137的开关控制来调节灯泡亮度,实现了对箱体温度的实时测量显示与恒定控制。
关键词:恒温箱,AT89S52单片机,龙丘小液晶,晶闸管The design of incubator temperaturecomputer control systemAbstract:This design of incubator temperature computer control system uses digital temperature sensor DS18B20 as temperature collector since it has advantage of small size and high precision. I choose AT89S52 microcomputer as main control chip, the micro power consumption Longqiu LCD as a monitor. AT89S52 control driver MOC3021 to control thyristor BT137 as a switch to adjust the lamp brightness, achieved the detection and showing of current temperature and then constant control the temperature of the big box.Keyword:Thermostat ; AT89S52; Longqiu LCD monitor; thyristor BT1371 设计目的和意义利用AT89S52对温度进行控制,采用单总线传输方式读取DS18B20当前温度值并用龙丘小液晶显示,使用按键更改设定温度,使用PID算法控制箱体温度到一个恒定值,这样一个控制系统涵盖了以计算机控制系统课程为核心的单片机原理及应用、自动控制原理等相关课程知识,提供了真正将理论课程所学的知识应用于实践的平台。
恒温箱实验报告

计算机控制系统设计报告设计名称:恒温箱温度计算机控制系统设计姓名:高川学号: 20121851班级:自动化1203学院:信息工程学院任课教师:聂诗良2015年11月21日基于单片机的恒温箱控制系统设计摘要:本设计是基于AT89C52单片机的恒温箱控制系统,系统分为硬件和软件两部分,其中硬件包括:电源、温度传感器、显示屏、控制、晶闸管驱动和报警的设计;软件包括:键盘管理程序设计、显示程序设计、PID控制程序设计和温度报警程序设计。
编写程序结合硬件进行调试,能够实现设置和调节初始温度值,进行液晶显示,当加热到设定值后立刻报警。
本设计从实际应用出发选取了体积小、精度相对高的数字式温度传感元件DS18B20作为温度采集器,单片机AT89C52为主控芯片,液晶作为显示输出,实现了对温度的实时测量与恒定控制。
关键词:单片机、晶闸管、恒温、PID算法。
引言:本课题采用单片机控温度实现恒温控制,这个环节有温度传感器将恒温箱内的温度信号传输给单片机,单片机通过对输入的温度信号与设定值比较,再把比较后的信号通过PID 控制器得出控制信号,从而保持控制晶闸管的通断状态,达到平滑的控制灯泡两端电压实现对恒温箱温度的全程控制。
一、本课题设计要求如下图所示,恒温箱采用木箱或纸箱(外形尺寸不大于30cm×30cm×30cm),内置白炽灯泡(功率不大于100W)用于加热。
木箱或纸箱白炽灯泡≤100W30cm10cm自制恒温箱要求(1)温度采集传感器采用热电阻或热电偶,或一体化数字温度传感器DS18B20。
(2)控制灯泡亮度或发热量,采用可控硅平滑控制。
(3)采用单片机89C51作为控制器。
(4)采用LCD的液晶显示器作为显示器,同时显示给定温度和实际温度。
(5)采用自制按键的键盘作为温度给定值输入。
(6)恒温箱实际温度达到给定值时(误差要求±1℃)需声光提示,声音延时5秒后停止。
(7)恒温箱最高温度≤100℃。
基于LabVIEW的恒温箱温度显示系统

基于LabVIEW的恒温箱温度显示系统作者:蒋星亦时群黄州来源:《电脑知识与技术》2018年第12期摘要:以低功耗的微控制器STM32为硬件核心,以LabVIEW2015为软件开发平台,设计了专门用于恒温箱的温度显示系统。
由DS18B20传感器进行温度采集,通过RS-232串口实现数据传输,用户可通过人机交互界面实时监测及设置温度。
实验结果:设定温度为17℃,精确度为±0.5℃,系统运行良好,通用性较强,具有广泛的用途。
关键词:LabVIEW;STM32 ;传感器中图分类号:TP319 文献标识码:A 文章编号:1009-3044(2018)12-0277-03Abstract: Based on the low-power microcontroller STM32 as the core of hardware, and taking LabVIEW2015 as the software development platform, a temperature display system specially designed for thermostat is designed. The temperature is collected by the DS18B20 sensor and the data transmission is realized through the RS-232 serial port. The user can monitor and set the temperature in real time through the human-computer interaction interface. The experimental results: the set temperature is 17 C, the accuracy is 0.5 degrees C, the system runs well, the versatility is strong, and it has a wide range of uses.Key words: LabVIEW; STM32; sensors隨着计算机现代检测和电子仪器等技术高速发展,虚拟仪器成为现今仪器发展的主流方向,由美国国家仪器公司研发的图形编辑软件LabVIEW操作简单,在数据采集和界面控制方面具有明显优势。
第一章控制系统的基本概念

1.给定元件 主要用于产生给定信号或输入信号。例如,图1.2中电位计 里的可变电阻。 2.反馈元件 它测量被控制量或输出量,产生主反馈信号。一般,为了便 于传输,主反馈信号多为电信号。因此,反馈元件通常是一些用 电量来测量非电量的元件。 必须指出,在机械、液压、气动、机电、电机等系统中存在 着内在反馈。这是一种没有专设反馈元件的信息反馈,是系统内 部各参数相互作用而产生的反馈信息流,如作用力与反作用力之 间形成的直接反馈。内在反馈回路由系统动力学特性确定,它所 构成的闭环系统是一个动力学系统。 3.比较元件 用来接收输入信号和反馈信号并进行比较,产生反映两者差 值的偏差信号。例如,图1.2中的电位计。
准确地复现控制信号
的变化规律(此即伺
服的含义)。控制指
令可以由操作者根据
需要随时发出,也可
以由目标物或相应的 测量装置发出。
图1.7 液压仿形车床工作原理图
图1.7所示为液压仿形车床工作原理图。当阀心8处于图示中 间位置时,没有压力油进入液压缸前后两腔,液压缸不动。当阀 心偏离中位,例如向前伸出时,节流口2、4保持关闭,节流口1、 3打开,压力油经节流口3进入液压缸前腔,而其后腔的油液经 节流口1流回油箱,缸体带动刀具向前运动;同样,当阀心偏离 中位向后收缩时,节流口1、3关闭,2、4打开,压力油经节流 口2进入液压缸后腔,而缸前腔的油液则经节流口4流回油箱, 缸体带动刀具向后运动。图中,液压缸缸体和控制阀阀体连成一 体,形成液压缸运动的负反馈,使液压缸缸体与阀心的运动距离 和方向始终保持一致,所以液压缸缸体(刀具)完全跟随阀心 (触销8)运动。因此,这是一个随动(伺服)系统。
若参数配置不当,很容易引起振荡, 由11台小型电动机驱动
基于单片机的温度检测系统硬件设计

基于单片机的温度检测系统硬件设计温度是工业生产和日常生活中常见的重要参数之一。
准确的温度检测对于许多应用场景至关重要,如医疗、化工、电力、食品等行业。
随着科技的不断发展,单片机作为一种集成了CPU、内存、I/O接口等多种功能于一体的微型计算机,被广泛应用于各种温度检测系统中。
本文将介绍一种基于单片机的温度检测系统硬件设计方法。
温度检测系统的主要原理是热电偶定律。
热电偶是一种测量温度的传感器,它基于塞贝克效应,将温度变化转化为电信号。
热电偶与放大器、滤波器等电路元件一起构成温度检测电路。
放大器将微弱的电信号放大,滤波器则消除噪声,提高信号质量。
将处理后的电信号输入到单片机中进行处理和显示。
在原理图设计中,我们选用了一种常见的温度检测芯片——DT-6101。
该芯片内置热电偶放大器和A/D转换器,可直接与单片机连接。
我们还选择了滤波电容、电阻等元件来优化信号质量。
原理图设计如图1所示。
软件设计是温度检测系统的核心部分。
我们采用C语言编写程序,实现温度的实时检测和显示。
程序主要分为初始化、输入处理、算法处理和输出显示四个模块。
初始化模块:主要用于初始化单片机、DT-6101等硬件设备。
输入处理模块:从DT-6101芯片读取温度电信号,并进行预处理,如滤波、放大等。
算法处理模块:实现温度计算算法,将电信号转化为温度值。
常用的算法有线性插值法、多项式拟合法等。
输出显示模块:将计算得到的温度值显示到液晶屏或LED数码管上。
硬件调试是确保温度检测系统可靠性和稳定性的关键步骤。
在组装过程中,需注意检查元件的质量和连接的正确性。
调试时,首先对硬件进行初步调试,确保各电路模块的基本功能正常;然后对软件进行调试,检查程序运行是否正确;最后进行综合调试,确保软硬件协调工作。
通过实验,我们验证了基于单片机的温度检测系统的准确性和稳定性。
实验结果表明,系统在-50℃~50℃范围内的误差小于±5℃,满足大多数应用场景的需求。
单片机恒温箱温度控制系统的设计说明

课程设计课题:单片机培养箱温控系统设计本课程设计要求:温度控制系统基于单片机,实现对温度的实时监控,实现控制的智能化。
设计了培养箱温度控制系统,配备温度传感器,采用DS18B20数字温度传感器,无需数模/数转换,可直接与单片机进行数字传输,采用PID控制技术,可保持温度在要求的恒定范围内,配备键盘输入设定温度;配备数码管L ED显示温度。
技术参数及设计任务:1、使用单片机AT89C2051控制温度,使培养箱保持最高温度110 ℃ 。
2、培养箱温度可预设,干燥过程恒温控制,控温误差小于± 2℃.3、预设时显示设定温度,恒温时显示实时温度。
采用PID控制算法,显示精确到0.1℃ 。
4、当温度超过预设温度±5℃时,会发出声音报警。
和冷却过程没有线性要求。
6、温度检测部分采用DS18B20数字温度传感器,无需数模/数转换,可直接与单片机进行数传7 、人机对话部分由键盘、显示器、报警三部分组成,实现温度显示和报警。
本课程设计系统概述一、系统原理选用AT89C2051单片机作为中央处理器,通过温度传感器DS18B20采集培养箱的温度,并将采集的信号传送给单片机。
驱动培养箱的加热或冷却。
2、系统整体结构总体设计应综合考虑系统的总体目标,进行初步的硬件选型,然后确定系统的草案,同时考虑软硬件实现的可行性。
经过反复推敲,总体方案确定以爱特梅尔公司推出的51系列单片机为温度智能控制系统核心,选用低功耗、低成本的存储器、数显等元器件。
总体规划如下:图1 系统总体框图2、硬件单元设计一、单片机最小系统电路Atmel公司的AT2051作为89C单片机,完全可以满足本系统所需的采集、控制和数据处理的需要。
单片机的选择在整个系统设计中非常重要。
该单片机具有与MCS-51系列单片机兼容性高、功耗低、可在接近零频率下工作等诸多优点。
广泛应用于各种计算机系统、工业控制、消费类产品中。
AT 89C2051 是 AT89 系列微控制器中的精简产品。
基于PLC的热水箱恒温控制系统

基于PLC的热水箱恒温控制系统温度是工业生产中常见的工艺参数之一,任何物理变化和化学反应过程都与温度密切相关。
在科学研究和生产实践的诸多领域中, 温度控制占有着极为重要的地位, 特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足轻重的作用。
对于不同生产情况和工艺要求下的温度控制,所采用的加热方式,燃料,控制方案也有所不同。
例如冶金、机械、食品、化工等各类工业生产中广泛使用的各种加热炉、热处理炉、反应炉等;燃料有煤气、天然气、油、电等。
温度控制系统的工艺过程复杂多变,具有不确定性,因此对系统要求更为先进的控制技术和控制理论。
可编程控制器(PLC)可编程控制器是一种工业控制计算机,是继承计算机、自动控制技术和通信技术为一体的新型自动装置。
它具有抗干扰能力强,价格便宜,可靠性强,编程简单,易学易用等特点,在工业领域中深受工程操作人员的喜欢,因此PLC已在工业控制的各个领域中被广泛地使用。
第一章绪论1.1 引言可编程序控制器(Programmable Controller,简称PLC)是以微处理器为基础,综合了计算机技术、控制技术、通讯技术等高新技术的工业装置。
现代PLC不仅具有传统继电器控制系统的控制功能,而且能扩展输入输出模块,特别是可以扩展一些智能控制模块,构成不同的控制系统,将模拟量输入输出控制和现代控制方法融为一体,实现智能控制、闭环控制、多控制功能一体的综合控制系统。
在工农业生产中,常用闭环控制方式控制温度、压力、流量等连续变化的模拟量,PID控制是常见的一种控制方式。
由于其不需要求出控制系统的数学模型,算法简单、鲁棒性好、可靠性高,在使用模拟量控制器的模拟控制系统和使用计算机(包括PLC)的数字控制系统中得到了广泛的应用。
本文针对恒温水箱温控系统的要求,以PLC为温度控制系统的核心,利用PID控制算法实现水箱的恒温控制。
1.2选题的背景温度是是工业上常见的被控参数之一,特别在冶金、化工、机械制造等领域,恒温控制系统被广泛应用于热水器等一些热处理设备中。
基于单片机的恒温箱温度控制系统毕业论文带pid控制

第1章绪论1.1研究的目的和意义温度是工业生产中主要被控参数之一,温度控制自然是生产的重要控制过程。
工业生产中温度很难控制,对于要求严格的的场合,温度过高或过低将严重影响工业生产的产质量及生产效率,降低生产效益。
这就需要设计一个良好温度控制器,随时向用户显示温度,而且能够较好控制。
单片机具有和普通计算机类似的强大数据处理能力,结合PID,程序控制可大大提高控制效力,提高生产效益。
本文采用单片机STC89C52设计了温度实时测量及控制系统。
单片机STC89C52能够根据温度传感器DS18B20所采集的温度在LCD1602液晶屏上实时显示,通过PID控制从而把温度控制在设定的范围之内。
通过本次课程实践,我们更加的明确了单片机的广泛用途和使用方法,以及其工作的原理。
1.2国内外发展状况温度控制采用单片机设计的全数字仪表,是常规仪表的升级产品。
温度控制的发展引入单片机之后,有可能降低对某些硬件电路的要求,但这绝不是说可以忽略测试电路本身的重要性,尤其是直接获取被测信号的传感器部分,仍应给予充分的重视,有时提高整台仪器的性能的关键仍然在于测试电路,尤其是传感器的改进。
现在传感器也正在受着微电子技术的影响,不断发展变化。
恒温系统的传递函数事先难以精确获得,因而很难判断哪一种控制方法能够满足系统对控制品质的要求。
但从对控制方法的分析来看,PID控制方法最适合本例采用。
另一方面,由于可以采用单片机实现控制过程,无论采用上述哪一种控制方法都不会增加系统硬件成本,而只需对软件作相应改变即可实现不同的控制方案。
因此本系统可以采用PID的控制方式,以最大限度地满足系统对诸如控制精度、调节时间和超调量等控制品质的要求。
现在国内外一般采用经典的温度控制系统。
采用模拟温度传感器对加热杯的温度进行采样,通过放大电路变换为 0~5V 的电压信号,经过A/D 转换,保存在采样值单元;利用键盘输入设定温度,经温度标度转换转化成二进制数,保存在片内设定值单元;然后调显示子程序,多次显示设定温度和采样温度,再把采样值与设定值进行 PID 运算得出控制量,用其去调节可控硅触发端的通断,实现对电阻丝加热时间的控制, 以此来调节温度使其基本保持恒定。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西南科技大学计算机控制系统报告设计名称:恒温箱温度计算机控制系统设计姓名: XXX学号: XXX班级:自动09XX指导教师:聂诗良起止日期:2012.10.15--2012.11.15西南科技大学信息工程学院制设计任务书学生班级:自动0903 学生姓名:XXX 学号:2009XXX 设计名称:恒温箱温度计算机控制系统设计起止日期:10月15日——11月15日指导教师:聂诗良恒温箱温度计算机控制系统设计摘要:本设计从实际应用出发选取了体积小、精度相对高的数字式温度传感元件DS18B20作为温度采集器,单片机AT89C51作为主控芯片,液晶作为显示输出,实现了对温度的实时测量与恒定控制。
关键词:恒温,AT89S52 单片机,温度传感元件The incubator temperature computercontrol system designAbstract:The design from the actual application to select a small size, and relatively high accuracy digital temperature sensing element DS18B20 as temperature collector, AT89C51 microcontroller as the master chip, digital tube display output to achieve real-time measurement of temperature and constant control .Keyword:Thermostat. AT89S52 microcontroller;Temperature sensor element;1设计目的和意义利用AT89S52对温度进行控制,采用单总线传输方式的DS18B20作为温度传感器,与按键、液晶显示、报鸣器等外部辅助硬件共同组成一个温度控制系统,实现温度的自我调节。
2控制要求1)温度采集传感器采用热电阻或热电偶,或一体化数字温度传感器DS18B20。
(2)控制灯泡亮度或发热量,采用继电器开关控制或用可控硅平滑控制。
(3)采用单片机或PLC作为控制器。
(4)采用LED或LCD或PC机的液晶显示器作为显示器,同时显示给定温度和实际温度。
(5)采用自制按键或PC机的键盘作为温度给定值输入。
(6)恒温箱实际温度达到给定值时(误差要求±1℃)需声光提示,声音时延5秒后停止。
(7)恒温箱最高温度≤50℃。
(8)系统操作流程是:1)确认系统连接就绪,无安全隐患;2)系统上电;3)设置温度给定值后,启动系统工作,系统进入温度自动控制工作状态。
4)系统工作完毕后,若不需系统工作,则可关闭系统电源,查看并确保系统无安全隐患后可离开。
3.系统总体结构设计温度控制系统是一个过程控制系统,组成框图如图 1 所示计算机控制系统框图图1本系统中 CPU 选择为AT89S52单片机,执行器为可控硅,控制加热灯泡通断,检测装置为ds18B20温度传感器,采集温度并反馈给单片机。
另外还有键盘输入部分、显示部分以及报警部分。
总体框图如下图2 系统原理框图3基本硬件电路图4 功能模块根据上面对工作流程的分析,系统软件可以分为以下几个功能模块: (1) 键盘管理:监测键盘输入,接收温度预置,启动系统工作。
(2) 显示:显示设置温度及当前温度。
(3) 温度检测及温度值变换:完成A/D 转换及数字滤波。
(4) 温度控制:根据检测到的温度控制电灯泡工作。
(5) 报警:当预置温度或当前炉温越限时报警。
系统硬件设计DS18B20测温电路DS18B20数字温度计是Dallas 公司生产的1-Wire 器件,即单总线器件。
与传统的热敏电阻有所不同,DS18B20可直接将被测温度转化成串行数字信号,以供单片机处理,具有连线简单、微型化、低功耗、高性能、抗干扰能力强、精度高等特点。
因此用它来组成一个测温系统,具有电路简单,在一根通信线上可以挂很多这样的数字温度计,十分方便。
目前已被众多行业进行广泛的运用(锅炉、温控表粮库、冷库、工业现场温度监控、仪器仪表温度监控、农业大棚温度监控等)。
通过编程,DS18B20可以实现9~12位的温度读数。
信息经过单线接口送入DS18B20或从DS18B20送出,因此从微处理器到DS18B20仅需连接一条信号线和地线。
读、写和执行温度变换所需的电源可以由数据线本身提供,而不需要外部电源。
每片DS18B20在出厂时都设有唯一的产品序列号,因此多个DS18B20可以挂接于同一条单线总线上,这允许在许多不同的地方放置温度传感器,特别适合于构成多点温度测控系统。
DS18B20的特点介绍(1)独特的单线接口方式,与单片机通信只需一个引脚,DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯(2)在使用中不需要任何外围元件。
(3)可用数据线供电,电压范围:+3.0~+5.5 V。
(4)测温范围为-55~+125 ℃。
在-10~+85℃范围内误差为0.5 ℃。
(5)通过编程可实现9~12位的数字读数方式。
(6)用户可自设定非易失性的报警上下限值。
(7)支持多点组网功能,通过识别芯片各自唯一的产品序列号从而实现单线多挂接,多个DS18B20可以并联在唯一的线上,简化了分布式温度检测的应用,实现多点测温。
(8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。
单线(1-wire)技术目前常用的微机和外设之间数据传输的串行总线有I2C总线、SPI总线等,其中,I2C总线采用同步串行两线(一根时钟线、一根数据线)方式,而SPI总线采用同步串行三线(一根时钟线、一根输入线和一根数据出线)方式。
这两种总线需要至少两根或两根以上的信号线。
美国达拉斯半导体公司推出了一项特有的单线(1-wire)技术。
该技术与上述总线不同,它采用单根信号线,即可传输时钟,又能传输数据,而且数据传输是双向的,因而这种单线技术具有线路简单、硬件开销少、成本低廉、便于扩展的优点。
单线技术适用于单主机系统,单主机能够控制一个或多个从机设备。
主机可以是微控制器,从机可以是单线器件,它们之间的数据交换、控制都由这根线完成。
主机或从机通过一个漏极开路或三态端口连至数据线,以允许设备在不发送数据时能够释放该线,而让其他设备使用。
单线通常要外接一个约5KΩ的上拉电阻,这样,当该线闲置时,其状态为高电平。
主机和从机之间的通信主要分3个步骤:初始化单线器件、识别单线器件和单线数据传输。
由于只有一根线通信,所以它们必须是严格的主从结构,只有主机呼叫从机时,从机才能应答,主机访问每个单线器件必须严格遵循单线命令序列,即遵守上述3个步骤的顺序。
如果命令序列混乱,单线器件将不会响应主机。
所有的单线器件都要遵循严格的协议,以保证数据的完整性。
1-wire协议由复位脉冲、应答脉冲、写0、写1、读0和读1这几种信号类型组成。
这些信号中,除了应答脉冲,其他均由主机发起,并且所有命令和数据都是字节的地位在前DS18B20的引脚及功能介绍DS18B20的外形及TO-92封装引脚排列见左图,其引脚功能描述见表1,实测温度和数字输出的对应关系见表2.表1DS18B20详细引脚功能描述表2 温度值分辨率配置表DS18B20的使用方法由于DS18B20采用的是1-Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。
由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。
DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。
该协议定义了几种信号的时序:初始化时序、读时序、写时序。
所有时序都是将主机作为主设备,单总线器件作为从设备。
而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。
数据和命令的传输都是低位在先。
DS18B20的复位时序,置总线为低电平并保持至少480us,然后拉高电平,等待从端重新拉低电平作为响应,则总线复位完成。
(1) DS18B20的读时序对于DS18B20的读时序分为读0时序和读1时序两个过程。
对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。
DS18B20在完成一个读时序过程,至少需要60us才能完成。
(3) DS18B20的写时序,对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。
对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。
(4) DS18B20在电路中的连接,见图4。
1-wire总线支持一主多从式结构,硬件上需外接上拉电阻。
当一方完成数据通信需要释放总线时,只需将总线置高点平即可;若需要获得总线进行通信时则要监视总线是否空闲,若空闲,则置低电平获得总线控制权。
图4 DS18B20测温电路DS18B20采集温度程序如下:#include<includes.h>//=============================================////=============DS18b20模块初始化===============////=============================================//sbit DQ = P2^7;//-----------delayDs18b20延时函数void delayDs18b20(uint i)//延时函数{while(i--);}//----------18b20初始化函数void Init_DS18B20(void){DQ = 1; //DQ复位delayDs18b20(8); //稍做延时DQ = 0; //单片机将DQ拉低delayDs18b20(80); //精确延时大于 480us DQ = 1; //拉高总线delayDs18b20(20);}//----------读一个字节uchar ReadOneChar(void){uchar i=0;uchar dat = 0;for (i=8;i>0;i--){DQ = 0; // 给脉冲信号dat>>=1;DQ = 1; // 给脉冲信号if(DQ)dat|=0x80;delayDs18b20(5);}return(dat);}//----------写一个字节void WriteOneChar(uchar dat){uchar i=0;for (i=8; i>0; i--){DQ = 0;DQ = dat&0x01;delayDs18b20(5);DQ = 1;dat>>=1;}delayDs18b20(5);}//----------读取温度float ReadTemperature(void){uchar TH=0;uchar TL=0;Init_DS18B20();WriteOneChar(0xCC); // 跳过读序号列号的操作WriteOneChar(0x44); // 启动温度转换delayDs18b20(200);Init_DS18B20();WriteOneChar(0xCC); //跳过读序号列号的操作WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器)前两个就是温度TL=ReadOneChar();TH=ReadOneChar();return((TH*256+TL)*0.0625);}键盘管理模块当通电或复位以后,系统进入键盘管理状态,单片机只接收设定温度和启动。