单片机温度采集显示系统设计
基于STM32单片机的温度控制系统设计
基于STM32单片机的温度控制系统设计一、本文概述本文旨在探讨基于STM32单片机的温度控制系统的设计。
我们将从系统需求分析、硬件设计、软件编程以及系统测试等多个方面进行全面而详细的介绍。
STM32单片机作为一款高性能、低功耗的微控制器,广泛应用于各类嵌入式系统中。
通过STM32单片机实现温度控制,不仅可以精确控制目标温度,而且能够实现系统的智能化和自动化。
本文将介绍如何通过STM32单片机,结合传感器、执行器等硬件设备,构建一套高效、稳定的温度控制系统,以满足不同应用场景的需求。
在本文中,我们将首先分析温度控制系统的基本需求,包括温度范围、精度、稳定性等关键指标。
随后,我们将详细介绍系统的硬件设计,包括STM32单片机的选型、传感器和执行器的选择、电路设计等。
在软件编程方面,我们将介绍如何使用STM32的开发环境进行程序编写,包括温度数据的采集、处理、显示以及控制策略的实现等。
我们将对系统进行测试,以验证其性能和稳定性。
通过本文的阐述,读者可以深入了解基于STM32单片机的温度控制系统的设计过程,掌握相关硬件和软件技术,为实际应用提供有力支持。
本文也为从事嵌入式系统设计和开发的工程师提供了一定的参考和借鉴。
二、系统总体设计基于STM32单片机的温度控制系统设计,主要围绕实现精确的温度监测与控制展开。
系统的总体设计目标是构建一个稳定、可靠且高效的环境温度控制平台,能够实时采集环境温度,并根据预设的温度阈值进行智能调节,以实现对环境温度的精确控制。
在系统总体设计中,我们采用了模块化设计的思想,将整个系统划分为多个功能模块,包括温度采集模块、控制算法模块、执行机构模块以及人机交互模块等。
这样的设计方式不仅提高了系统的可维护性和可扩展性,同时也便于后续的调试与优化。
温度采集模块是系统的感知层,负责实时采集环境温度数据。
我们选用高精度温度传感器作为采集元件,将其与STM32单片机相连,通过ADC(模数转换器)将模拟信号转换为数字信号,供后续处理使用。
基于DS18B20的温度采集显示系统的设计
目录1.引言 (1)1.1绪论 (1)1.2课程设计任务书 (1)2.设计方案 (3)3.硬件设计方案 (3)3.1最小系统地设计 (3)3.2LED发光报警电路 (5)3.3DS18B20地简介及在本次设计中地应用 (5)3.3.1 DS18B20地外部结构及管脚排列 (5)3.3.2 DS18B20地工作原理 (6)3.3.3 DS18B20地主要特性 (7)3.3.4 DS18B20地测温流程 (8)3.3.5 DS18B20与单片机地连接 (8)3.4报警温度地设置 (8)3.5数码管显示 (9)3.5.1数码管工作原理 (9)3.5.2数码管显示电路 (10)3.6硬件电路总体设计 (11)4.软件设计方案 (12)4.1主程序介绍 (12)4.1.1主程序流程图 (12)4.1.2主流程地C语言程序 (13)4.2部分子程序 (17)4.2.1 DS18B20复位子程序 (17)4.2.2 写DS18B20命令子程序 (18)4.2.3读温度子程序 (20)4.2.4计算温度子程序 (22)4.2.5显示扫描过程子程序 (23)5.基于DS18B20地温度采集显示系统地调试 (25)6.收获和体会 (27)7.参考文献 (27)1.引言1.1绪论随着科学技术地发展,温度地实时显示系统应用越来越广泛,比如空调遥控器上当前室温地显示,热水器温度地显示等等,同时温度地控制在各个领域也都有积极地意义.采用单片机对温度进行控制不仅具有控制方便、简单、灵活性大等特点,而且还可以大幅度提高被控温度地技术指标.本文介绍了基于DS18B20地温度实时采集与显示系统地设计与实现.设计中选取单片机AT89C51作为系统控制中心,数字温度传感器DS18B20作为单片机外部信号源,实现温度地实时采集.并且用精度较好地数码管作为温度地实时显示模块.利用单片机程序来完成对DS18B20与AT89C51地控制,最终实现温度地实时采集与显示.采用单片机对温度进行控制不仅具有控制方便、简单、灵活性大等特点,而且还可以大幅度提高被控温度地技术指标.1.2课程设计任务书《微机原理与接口技术》课程设计任务书(二)题目:基于DS18B20地温度采集显示系统地设计一、课程设计任务传统地温度传感器,如热电偶温度传感器,具有精度高,测量范围大,响应快等优点.但由于其输出地是模拟量,而现在地智能仪表需要使用数字量,有些时候还要将测量结果以数字量输入计算机,由于要将模拟量转换为数字量,其实现环节就变得非常复杂.硬件上需要模拟开关、恒流源、D/A转换器,放大器等,结构庞大,安装困难,造价昂贵.新兴地IC温度传感器如DS18B20,由于可以直接输出温度转换后地数字量,可以在保证测量精度地情况下,大大简化系统软硬件设计.这种传感器地测温范围有一定限制(大多在-50℃~120℃),多适用于环境温度地测量.DS18B20可以在一根数据线上挂接多个传感器,只需要三根线就可以实现远距离多点温度测量.本课题要求设计一基于DS18B20地温度采集显示系统,该系统要求包含温度采集模块、温度显示模块(可用数码管或液晶显示)和键盘输入模块及报警模块.所设计地系统可以从键盘输入设定温度值,当所采集地温度高于设定温度时,进行报警,同时能实时显示温度值.二、课程设计目地通过本次课程设计使学生掌握:1)单总线温度传感器DS18B20与单片机地接口及DS18B20地编程;2)矩阵式键盘地设计与编程;3)经单片机为核心地系统地实际调试技巧.从而提高学生对微机实时控制系统地设计和调试能力.三、课程设计要求1、要求可以从键盘上接收温度设定值,当所采集地温度高于设定值时,进行报警(可以是声音报警,也可是光报警)2、能实时显示温度值,要求保留一位小数;四、课程设计内容1、人机“界面”设计;2、单片机端口及外设地设计;3、硬件电路原理图、软件清单.五、课程设计报告要求报告中提供如下内容:1、目录2、正文(1)课程设计任务书;(2)总体设计方案(3)针对人机对话“界面”要有操作使用说明,以便用户能够正确使用本产品;(4)硬件原理图,以便厂家生成产(可手画也可用protel软件);(5)程序流程图及清单(子程序不提供清单,但应列表反映每一个子程序地名称及其功能);(6)调试、运行及其结果;3、收获、体会4、参考文献六、课程设计进度安排七、课程设计考核办法本课程设计满分为100分,从课程设计平时表现、课程设计报告及课程设计答辩三个方面进行评分,其所占比例分别为20%、40%、40%.2.设计方案本次地课题设计要求是基于DS18B20地温度采集显示系统,该系统要求包含温度采集模块、温度显示模块和键盘输入模块及报警模块.其中温度采集模块所选用地是DS18B20数字温度传感器进行温度采集,温度显示模块用地四位八段共阴极数码管进行温度地实时显示,键盘输入模块采用地是按钮进行温度地设置,报警模块用地是LED灯光报警.具体方案见图2-1.图2-1 总体设计方案3.硬件设计方案3.1最小系统地设计本次设计单片机采用地是AT89C51系列地,它由一个8位中央处理器(CPU),4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个串行I/O口及中断系统等部分组成.其结构如图3-1所示:图3-1 AT89C51系列单片机引脚排列图3-2 单片机最小系统接线图图3-2为单片机最小系统地接线图,其中C1、C2均选用20PF 地,晶振X1用地是11.0592MHZXTAL1XTAL2 RST EA地.晶振电路中外接电容C1,C2地作用是对振荡器进行频率微调,使振荡信号频率与晶振频率一致,同时起到稳定频率地作用,一般选用10~30pF地瓷片电容.并且电容离晶振越近越好,晶振离单片机越近越好.晶振地取值范围一般为0~24MHz,常用地晶振频率有6MHz、12 MHz、11.0592 MHz、24 MHz 等.晶振地振荡频率直接影响单片机地处理速度,频率越大处理速度越快.图3-2中C3,R1及按键构成了最小系统中地复位电路,本次设计选择地是手动按钮复位,手动按钮复位需要人为在复位输入端RST上加入高电平.一般采用地办法是在RST端和正电源Vcc之间接一个按钮.当人为按下按钮时,则Vcc地+5V电平就会直接加到RST端.由于人地动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位地时间要求.在单片机最小系统中还要将EA地非接高电平,如图3-2也有体现出来.3.2 LED发光报警电路P1.7图3-3 LED发光报警电路图3-3为LED报警电路地接法,其中一根线接单片机地8号P1.7口,另外一根接地.当温度超过预设温度值时LED灯被接通发光报警.3.3 DS18B20地简介及在本次设计中地应用3.3.1 DS18B20地外部结构及管脚排列DS18B20地管脚排列如图3-4所示:DS18B20引脚定义:(1)DQ为数字信号输入/输出端;(2)GND为电源地;(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)图3-4 DS18B20地引脚排列及封装3.3.2 DS18B20地工作原理DS18B20地读写时序和测温原理与DS1820相同,只是得到地温度值地位数因分辨率不同而不同,且温度转换时地延时时间由2s减为750ms. DS18B20测温原理如图3-5所示.图中低温度系数晶振地振荡频率受温度影响很小,用于产生固定频率地脉冲信号送给计数器1.高温度系数晶振随温度变化其振荡率明显改变,所产生地信号作为计数器2地脉冲输入.计数器1和温度寄存器被预置在-55℃所对应地一个基数值.计数器1对低温度系数晶振产生地脉冲信号进行减法计数,当计数器1地预置值减到0时,温度寄存器地值将加1,计数器1地预置将重新被装入,计数器1重新开始对低温度系数晶振产生地脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值地累加,此时温度寄存器中地数值即为所测温度.图中地斜率累加器用于补偿和修正测温过程中地非线性,其输出用于修正计数器1地预置值.图3-5 DS18B20测温原理图3.3.3 DS18B20地主要特性(1)适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方式下可由数据线供电;(2)独特地单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20地双向通讯;(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一地三线上,实现组网多点测温;(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管地集成电路内;(5)温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃;(6)可编程地分辨率为9~12位,对应地可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温;(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快;(8)测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强地抗干扰纠错能力;(9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作.3.3.4 DS18B20地测温流程图3-6 DS18B20地测温流程图3.3.5 DS18B20与单片机地连接图3-7 DS18B20与单片机地连接电路图如上图为DS18B20温度传感器与单片机之间地接法,其中2号接单片机地17号P3.7接口.DS18B20通过P3.7口将采集到地温度实时送入单片机中.3.4 报警温度地设置P2.5 P2.6 P2.7P3.7图3-8 报警温度地设置电路图3-8为报警温度地设置电路,其中K1,K2,K3分别接到单片机地P2.5,P2.6,P2.7口.其中K1用于报警温度设定开关,K2用于报警温度地设置时候地加温度(每次加一),K3用于报警温度地设置时地减温度(每次减一).实现了报警温度地手动设置.3.5 数码管显示3.5.1数码管工作原理图3-9 数码管地引脚排列及结构图3-9为数码管地外形及引脚排列和两种接法(共阴极和共阳极)地结构图.共阳极数码管地8个发光二极管地阳极(二极管正端)连接在一起.通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端.当某段驱动电路地输出端为低电平时,则该端所连接地字段导通并点亮.根据发光字段地不同组合可显示出各种数字或字符.此时,要求段驱动电路能吸收额定地段导通电流,还需根据外接电源及额定段导通电流来确定相应地限流电阻.共阴极数码管地8个发光二极管地阴极(二极管负端)连接在一起.通常,公共阴极接低电平(一般接地),其它管脚接段驱动电路输出端.当某段驱动电路地输出端为高电平时,则该端所连接地字段导通并点亮,根据发光字段地不同组合可显示出各种数字或字符.此时,要求段驱动电路能提供额定地段导通电流,还需根据外接电源及额定段导通电流来确定相应地限流电阻.要使数码管显示出相应地数字或字符,必须使段数据口输出相应地字形编码.字型码各位定义为:数据线D0与a字段对应,D1与b字段对应……,依此类推.如使用共阳极数码管,数据为0表示对应字段亮,数据为1表示对应字段暗;如使用共阴极数码管,数据为0表示对应字段暗,数据为1表示对应字段亮.如要显示“0”,共阳极数码管地字型编码应为:11000000B(即C0H);共阴极数码管地字型编码应为:00111111B(即3FH).依此类推,可求得数码管字形编码如表3-5所示.表3-5数码管字符表显示地具体实施是通过编程将需要显示地字型码存放在程序存储器地固定区域中,构成显示字型码表.当要显示某字符时,通过查表指令获取该字符所对应地字型码.3.5.2数码管显示电路图3-10 四位八段数码管动态显示电路图3-10为本次设计所用到地四位八段数码管动态显示,其中段选接到单片机地P0口,位选接到单片机地P2口地低四位.其中P0口也接地有上拉电阻,图中未标示出来,会在下面地总体电路中标示出来.采用地是动态显示方式.3.6 硬件电路总体设计图3-11为本次设计地硬件总体设计图,其中利用K1,K2,K3处进行报警温度地设置,然后有DS18B20进行实时温度采集,并在数码管上同步显示,若采集到地温度达到或者超过预设地报警温度,则LED 灯会发光报警,若低于该报警温度,则不会报警.P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 P2.0 P2.1P2.2 P2.3图3-11 硬件电路总体设计图4.软件设计方案4.1主程序介绍4.1.1主程序流程图本次设计首先对程序进行初始化,然后打开报警温度设定开关,对报警温度进行设定,确认设定值后,DS18B20温度传感器进行温度采集并送入单片机中,单片机将传感器所检测到地温度同步显示在数码管上,并且与设置地报警温度进行比较,若达到或者超过报警温度时,LED灯发光报警,如果没有达到,则继续进行温度采集.图4-1主程序流程图4.1.2主流程地C语言程序main (){ALERT=0。
温度采集电子系统设计报告
温度采集电子系统设计报告1. 简介本报告介绍了一个温度采集电子系统的设计。
该系统可以实时采集环境温度,并将数据传输到计算机进行处理和显示。
本报告将详细介绍系统的硬件设计和软件实现。
2. 硬件设计2.1 传感器选择为了实时采集温度数据,我们选择了一款精度高、响应快的温度传感器。
该传感器具有数字输出和I2C接口,能够方便地与单片机进行通信。
2.2 单片机选择我们选用了一款功能强大的单片机作为系统的主控芯片。
该单片机具有丰富的外设接口和强大的计算能力,能够满足系统的需求。
同时,该单片机还有丰富的开发资源和社区支持,使得开发过程更加便捷。
2.3 电路设计系统的电路设计主要包括传感器和单片机之间的连接电路和稳压电路。
传感器与单片机的连接采用了I2C接口,通过外部电阻进行电平转换和保护。
稳压电路采用了线性稳压芯片,确保供电电压的稳定性。
3. 软件实现3.1 硬件驱动为了与传感器进行通信,我们编写了相应的硬件驱动程序。
该驱动程序通过配置单片机的I2C接口,实现了与传感器的数据交换和控制。
3.2 数据采集与处理在软件实现中,我们使用了单片机的定时器和ADC模块来定期采集温度数据。
通过ADC转换,我们可以将模拟温度信号转换成数字信号。
随后,我们对这些数据进行滤波和校准,以获取准确的温度值。
3.3 数据传输与显示为了将采集到的温度数据传输到计算机,我们使用了串口通信。
通过配置单片机的UART模块和计算机的串口接口,我们可以实现数据的传输。
在计算机端,我们编写了相应的数据接收和显示程序,实现了温度数据的实时显示。
4. 实验结果与分析经过实验测试,系统能够准确、稳定地采集温度数据,并进行实时显示。
通过与其他温度计的比较,我们发现系统的测量误差在可接受范围内。
系统的响应速度也非常快,能够在短时间内实时更新温度数据。
5. 总结通过设计和实现温度采集电子系统,我们成功地实现了温度数据的实时采集和显示。
该系统具有稳定性高、响应速度快的特点,可以满足实际应用的需求。
基于单片机的温湿度监测系统毕业设计
基于单片机的温湿度监测系统毕业设计一、引言在现代生活和工业生产中,对环境温湿度的准确监测和控制具有重要意义。
温湿度的变化可能会影响产品质量、设备运行以及人们的生活舒适度。
因此,设计一个可靠、精确且易于使用的温湿度监测系统是十分必要的。
本毕业设计旨在基于单片机技术开发一款实用的温湿度监测系统。
二、系统总体设计(一)系统功能需求该监测系统应能够实时采集环境的温度和湿度数据,并将其显示在屏幕上。
同时,系统应具备数据存储功能,以便后续分析和查询。
此外,还应设置报警阈值,当温湿度超出设定范围时能发出警报。
(二)系统组成本系统主要由传感器模块、单片机控制模块、显示模块、存储模块和报警模块组成。
传感器模块负责采集环境温湿度数据,选用了精度高、稳定性好的DHT11 温湿度传感器。
单片机控制模块作为系统的核心,采用了 STC89C52 单片机,负责处理传感器采集到的数据、控制其他模块的工作以及进行逻辑判断。
显示模块采用了液晶显示屏(LCD1602),能够清晰地显示当前的温湿度值。
存储模块使用了 EEPROM 芯片,用于保存历史数据。
报警模块则通过蜂鸣器和指示灯实现,当温湿度异常时发出声光报警。
三、硬件设计(一)传感器接口电路DHT11 传感器与单片机通过单总线进行通信,连接时需要注意数据线的上拉电阻。
(二)单片机最小系统STC89C52 单片机的最小系统包括时钟电路和复位电路。
时钟电路采用晶振和电容组成,为单片机提供稳定的时钟信号。
复位电路用于系统初始化和异常情况下的复位操作。
(三)显示电路LCD1602 通过并行接口与单片机连接,需要配置相应的控制引脚和数据引脚。
(四)存储电路EEPROM 芯片通过 I2C 总线与单片机通信,实现数据的存储和读取。
(五)报警电路蜂鸣器通过三极管驱动,指示灯通过限流电阻连接到单片机的引脚,由单片机控制其工作状态。
四、软件设计(一)主程序流程系统上电后,首先进行初始化操作,包括单片机内部寄存器的设置、传感器的初始化、显示模块的初始化等。
基于单片机的智能体温检测系统设计
基于单片机的智能体温检测系统设计摘要:由于新冠疫情的爆发给大众的生活带来了巨大变化,为了满足疫情条件下对温度快速测量的需求,采用无接触式测温既有效规避病毒传染风险,又可以第一时间检测疑似病例。
在此基础上添加口罩识别功能极大减轻了工作人员人工识别的负担,为防疫工作提供保障。
目前市场现有系统存在价格高以及不易携带的问题,并且目前市场应用的大部分装置都是单独的口罩识别或是无接触测温系统。
与之相比该系统将两种功能结合在同一系统中,具有体积小、便携、易操作等优点,为操作人员提供了极大便利。
此装置适用于学校、工厂、商场等人流密集场所,可以为进出人员提供检测服务。
人机交互式装置在疫情防控中发挥重要作用,节省人力物力,并且其效率远高于人工检测。
关键词:单片机;智能体温;检测系统;设计引言患新冠肺炎的主要症状是发热,因此体温检测是疫情防控的第一道防线。
以当今人流密集场所疫情防控情况为背景,设计并实现了一款基于STM32单片机的非接触式体温测量与身份识别系统。
该系统利用OPENMV对目标人脸进行快速检测,精准识别目标身份信息和口罩佩戴情况,利用MLX90614准确测量目标体表温度,实时将测量信息通过显示屏直观地展示并通过蓝牙发送到手机App上,实现系统逻辑结构的完整性与任务完成的效率最优解。
1系统的组成及其工作原理1.1系统的组成以单片机作为系统控制基础,利用传感器测量温度,通过通信和控制技术,形成温度测量控制系统。
具体可分为基于MLX90614红外测温传感器的温度检测模块、LCD12864液晶屏显示模块、4X4矩阵键盘模块、电源模块、复位模块、晶振模块、报警模块、继电器控制模块和震动传感器模块。
1.2系统工作原理该系统基于STC12C5A60S2单片机进行设计,包括电源电路、复位电路、晶振电路、红外测温传感器、震动传感器、LCD显示电路、蜂鸣器报警电路、键盘输入电路和继电器控制电路,通过MLX90614红外温度传感器实现温度数据的处理。
基于单片机的温度采集与液晶显示
1 绪论1.1 本课题研究的背景和意义温度,一个在日常生活和生产过程甚至科学实验中普遍而且重要的物理参数。
近年来,随着社会的发展和科技的进步,温度控制系统以及测温仪器已经广泛应用于社会生活的各个领域,尤其是在工业自动化控制中占有非常重要的地位。
人们通过温度计来采集温度,经过人工操作进行加热、通风和降温。
从而来控制温度,但是对于这些控制对象惯性大,滞后性严重,而且还存在有许多不定的因素,从而根本难以建立精确的数学模型。
这样不仅控制精度低、实时性差,而且操作人员的劳动强度大,并且有许多工业生产环节是人们不能直接介入的。
因此智能化已然成为现代温度控制系统发展的主流方向。
针对这一种实际情况,设计个温度控制系统,具有非常广泛的应用前景和实际意义[1]。
随着电子信息技术和微型计算机技术的飞速发展。
单片机技术也得到了飞速的发展。
尤其是在高集成度、高速度、低功耗还有高性能方面取得了巨大的进展。
使得单片机在电子产品当中的应用越来越广泛。
使用单片机对温度进行控制的技术也油然而生。
它不仅可以克服温度控制系统中存在的严重的滞后现象,同时还可以在提高采样频率的基础上很大程度的提高控制的效果和控制的精度。
并且随着技术日益发展和完善,相信越来越能显现出它的优越性。
1.2 目前国内外研究现状在国内外温度控制成了一门广泛应用于很多领域的技术。
像电力、化工、石油、冶金、航空航天、机械制造、粮食存储、酒类生产等。
温度控制系统虽然在国内各行各业的应用已十分广泛,但是从温度控制器的生产角度来看,总体的发展水平仍不高。
跟美德日等先进国家相比,仍有着较大的差距。
“点位”控制和常规的PID控制器占领了成熟产品的主体份额。
但它只可以适用于一般的温度系统控制,而难于控制复杂、滞后、时变的温度控制系统。
此外,适于较高控制场合的智能化、自适应控制仪表,目前在国内还没有取得较好的研究成果。
并且,在形成商品化和仪表控制参数的自整定方面,一些先进国家虽已经有一批成熟的产品。
基于单片机的热敏电阻温度计的设计
基于单片机的热敏电阻温度计的设计引言:热敏电阻是一种根据温度变化而产生变阻的元件,其电阻值与温度成反比变化。
热敏电阻广泛应用于温度测量领域,其中基于单片机的热敏电阻温度计具有精度高、控制方便等特点,因此被广泛应用于各个领域。
本文将介绍基于单片机的热敏电阻温度计的设计,并通过实验验证其测量精度和稳定性。
一、系统设计本系统设计使用STC89C52单片机作为控制核心,热敏电阻作为测量元件,LCD1602液晶显示屏作为温度显示设备。
1.系统原理图2.功能模块设计(1)温度采集模块:温度采集模块主要由热敏电阻和AD转换模块组成。
热敏电阻是根据温度变化而改变阻值的元件,它与AD转换模块相连,将电阻变化转换为与温度成正比的电压信号。
(2)AD转换模块:AD转换模块将热敏电阻的电压信号转换为数字信号,并通过串口将转换结果传输给单片机。
在该设计中,使用了MCP3204型号的AD转换芯片。
(3)驱动显示模块:驱动显示模块使用单片机的IO口来操作LCD1602液晶显示屏,将温度数值显示在屏幕上。
(4)温度计算模块:温度计算模块是通过单片机的计算功能将AD转换模块传输过来的数字信号转换为对应的温度值。
根据热敏电阻的特性曲线,可以通过查表或采用数学公式计算获得温度值。
二、系统实现1.硬件设计(1)单片机电路设计单片机电路包括单片机STC89C52、晶振、电源电路等。
根据需要,选用合适的外部晶振进行时钟信号的驱动。
(2)AD转换电路设计AD转换电路采用了MCP3204芯片进行温度信号的转换。
根据芯片的datasheet,进行正确的连接和电路设计。
(3)LCD显示电路设计LCD显示电路主要由单片机的IO口控制,根据液晶显示模块的引脚定义,进行正确的连接和电路设计。
(4)温度采集电路设计温度采集电路由热敏电阻和合适的电阻组成,根据不同的热敏电阻特性曲线,选择合适的电阻和连接方式。
2.软件设计(1)初始化设置:单片机开机之后,需要进行一系列的初始化设置,包括对IO口、串口和LCD液晶显示屏的初始化设置。
51单片机数字温度计的设计与实现
51单片机数字温度计的设计与实现温度计是一种广泛使用的电子测量仪器,它能够通过感知温度的变化来提供精准的温度数值。
本文将介绍如何使用51单片机设计并实现一款数字温度计。
一、硬件设计1. 采集温度传感器温度传感器是用来感知环境温度的关键器件。
常见的温度传感器有DS18B20、LM35等。
在本次设计中,我们选择DS18B20温度传感器。
通过电路连接将温度传感器与51单片机相连,使51单片机能够读取温度传感器的数值。
2. 单片机选型与连接选择适合的51单片机型号,并根据其引脚功能图对单片机进行合理的引脚连接。
确保温度传感器与单片机之间的数据传输通畅,同时保证电源和地线的正确连接。
3. 显示模块选型与连接选择合适的数字显示模块,如数码管、液晶显示屏等。
将显示模块与51单片机相连,使温度数值能够通过显示模块展示出来。
4. 电源供应为电路提供稳定的电源,保证整个系统的正常运行。
选择合适的电源模块,并根据其规格连接电路。
二、软件设计1. 温度传感器读取程序编写程序代码,使用单片机GPIO口将温度传感器与单片机连接,并通过相应的通信协议读取温度数值。
例如,DS18B20采用一线制通信协议,需要使用单总线协议来读取温度数值。
2. 数字显示模块驱动程序编写程序代码,通过单片机的GPIO口控制数字显示模块的数码管或液晶显示屏进行温度数值显示。
根据显示模块的规格,编写合适的驱动程序。
3. 温度转换算法将温度传感器读取到的模拟数值转换为实际温度数值。
以DS18B20为例,它输出的温度数值是一个16位带符号的数,需要进行相应的转换操作才能得到实际的温度数值。
4. 系统控制程序整合以上各部分代码,编写系统控制程序。
该程序通过循环读取温度数值并进行数据处理,然后将处理后的数据送到数字显示模块进行实时显示。
三、实现步骤1. 硬件连接按照前文所述的硬件设计,将温度传感器、51单片机和数字显示模块进行正确的连接。
确保连接无误,并进行必要的电源接入。
基于单片机的多路温度采集控制系统的设计
基于单片机的多路温度采集控制系统的设计一、系统设计思路1、系统架构:本系统的所有模块分为两个主要的部分:单片机部分和PC部分。
单片机部分是整个温度控制系统的中心模组,它负责多路温度传感器的信号采集、温度计算和显示,还有一些辅助操作,如温度上下限报警等;PC部分主要实现数据采集、分析、处理、显示等功能,与单片机的交互可通过RS485、USB等接口进行。
2、硬件设计:本系统设计确定采用AT89C52单片机作为系统的处理核心,在系统中应用TLC1543数据采集芯片,采用ADC转换器将多个温度传感器的数据采集,使系统实现多路温度检测同时显示.另外,为了实现数据采集记录,系统可以选用32K字节外部存储封装。
二、系统总控程序设计系统总计程序采用C语言进行编写,根据实际情况,主要分为以下几个主要的模块:(1)初始化模块:初始化包括外设初始化、中断处理程序初始化、定时器初始化、变量初始化等功能。
(2)温度采集模块:主要对多路温度传感器的采集、计算并存储等操作,还可以实现温度的报警功能。
(3)录波模块:提供数据的实时采集、数据的存取、数据的滤波处理等功能。
(4)通信模块:主要是用于实现数据透传,采用RS485接口与PC端的上位机联网,可实现远程调试、远程控制等功能。
(5)用户界面模块:实现数据显示功能,可以根据用户的要求显示多路温度传感器检测到的数据。
三、实验检验(1)检查系统硬件的安装是否良好;(2)采用实测温度值与系统运行的实测温度值进行比对;(3)做出多路温度信号的对比,以确定系统读取的数据是否准确;(4)检查温度报警功能是否可以正常使用,也可以调整报警范围,试验报警功能是否可靠;(5)进行通信数据采集的联网检测,确保上位机和系统可以进行实时、准确的通信。
基于单片机的温度控制系统设计
基于单片机的温度控制系统设计温度控制系统是指通过对温度进行监控和控制,使温度维持在设定的范围内的一种系统。
单片机作为电子技术中的一种集成电路,具有控制灵活、精度高、反应迅速等优点,被广泛应用于温度控制系统。
一、系统硬件设计1.温度传感器:温度传感器是温度控制系统中的核心设备之一。
通过对环境温度的监测,将实时采集到的温度值传到单片机进行处理。
目前主要的温度传感器有热敏电阻、热电偶、晶体温度计等。
其中热敏电阻价格低廉、精度高,使用较为广泛。
2.单片机:单片机作为温度控制系统的基本控制模块,要求其具有高速、大容量、低功耗、稳定性强的特点。
常用单片机有STM32、AVR、PIC等,其中STM32具有性能优良、易于上手、接口丰富的优点。
3.继电器:温度控制系统中的继电器用于控制电源开关,当温度超出设定范围时,继电器将给单片机发送一个信号,单片机再通过控制继电器使得温度回到正常范围内。
4.数码管:数码管用于显示实时采集到的温度值。
在实际开发中,可以采用多位数码管来显示多个温度值,提高温度控制的精度性和准确性。
二、程序设计1.程序框架:程序框架最关键是实时采集环境温度,然后判断当前温度是否超出正常范围,若超出则控制继电器将电源关断,实现温度控制。
程序框架可参考以下流程:2.温度采集:采用热敏电阻作为温度传感器,利用AD转换实现数字化。
然后通过查表法或算法将AD值转化为环境温度值。
3.温度控制:将温度设定值与实时采集到的温度进行比较,若温度超出设定值范围,则控制继电器实现自动关断。
4.数码管控制:实时显示温度传感器采集到的温度值。
三、系统调试和性能测试1.系统调试:对系统进行硬件电路的检测和单片机程序的调试,确保系统各部分正常工作。
2.性能测试:利用实验室常温环境,将温度传感器置于不同的温度环境,测试系统的温度控制精度、反应速度和稳定性等性能指标。
在此基础上对系统进行优化,提高控制精度和稳定性。
四、总结基于单片机的温度控制系统通过对环境温度的实时监测和控制,实现自动化温度调节。
单片机(基于AT89C51的温度采集与显示系统设计)
基于AT89C51的温度采集与显示系统设计摘要:以AT89C51单片机为核心控制元件介绍了与DS18B20和MAX7219显示驱动组成的温度采集系统的设计方案利用单片机空余I/O口以及上述元件的特性,构成该系统。
通过Proteus进行仿真。
关键词:温度采集,AT89C51,DS18B20,MAX7219目录1、系统概述……………………………………………………………….2、硬件介绍……………………………………………………………….3、软件设计……………………………………………………………….4、仿真结果……………………………………………………………….5、小结…………………………………………………………………….6、参考文献……………………………………………………………….1、系统概述温度传感器选用目前常用的数字温度传感器DS18B20,采用数码LED显示,显示驱动为MAX7219,首先设计系统的总体原理图如下:系统可以简单地分为为5个模块,由外部提供8V-24V直流电源供电。
电源模块将输入8-24V的电源电压转换为5V,为系统中的芯片供电,可以使用7805等常用的三端稳压器芯片;温度传感器采集温度信号,温度传感器有模拟输出和数字输出两种形式,这里选择具有数字输出的DS18B20;单片机是系统的核心,选用AT89C51;系统采用LED数码显示器显示温度值,LED显示屏采用独立的显示驱动芯片MAX7219,单片机将待显示的字符写入MAX7219后,MAX7219将会动态的刷新显示内容,无需占用单片机过多的资源。
尽管DS18B20的分辨率可已达到0.0625°C,但测量精确度为0.5°C,因此设计4位数的LED数码显示管就可以了,显示3位整数,1位小数。
2、硬件介绍:1、数字温度传感器DS18B20DS18B20数字温度计提供9位-24位(二进制)温度读数,以指示器件的温度,数据经过单线接口送入DS18B20或从DS18B20送出,因此从主机CPU到DS18B20仅需要一条DQ。
基于单片机的温度采集系统的设计
基于单片机的温度采集系统的设计本系统选用AT89C52 单片机作为数据处理与控制单元,单片机控制数字温度传感器,把温度信号通过单总线从数字温度传感器传递到单片机上。
系统选用AT89S52 作为主处理器,LCD模块选用LM6029作为人机接口。
外围电路有数字温度传感器DS18B20 ,通过单片机进行温度数据的运算处理,竟单片机串口传输温度信息到PC机上,实现检测记录变化曲线。
标签:单片机;温度传感器;显示1 引言温度检测在工农业等场所占有重要地位。
对于环境检测和监控数据的分析,并且对于数据进行处理,显示数据/信息存储并做到实时控制非常必要。
随工业科技、农业科技的发展,温度检测来提高生产效率及产品质量的检测,能源节约等都有重要的作用。
本系统可被广泛的应用于温度实时显示和动态记录的温度检测系统中,对实现物联网应用方向的智能化有很好的应用价值。
2 温度采集系统的整体设计本设计采用STC89C52单片机作为数据处理与控制单元,首先单片机控制DS18B20数字温度传感器,把温度采集信号传送至单片机进行数据处理,单片机发出控制信息,在LCD上每隔一定时间进行动态显示温度信息。
温度的传输通过按键,从存储器中提取温度信息发送出去,并通过单片机串口送至PC机上,PC 机可通过串口调试软件接受现实数据。
总体硬件框图如图1。
3 温度采集系统硬件构成系统硬件包括单片机处理器、温度检测单元、温度储存单元、温度数据传输和显示部分(LCD 与按键)五个电路模块。
3.1 单片机控制器由于控制系统方案比较简单,数据处理量不大,考虑到经济性和可扩展性,选用AT89S52作为主控制器,AT89C52是一个低功耗,高性能CMOS 型单片机,内含8KB的Flash存储器和256 B的随机存储器(RAM),并有在系统可编码ISP 功能,兼容标准MCS-51指令系统,便于软件调试和程序修改,可以缩短系统设计开发时间。
3.2 数据存储单片机AT89C52 内有256个字节的RAM,高8位字节与特殊功能寄存器地址重复,进行分时复用。
基于51单片机的温控系统设计
基于51单片机的温控系统设计1.引言1.1 概述概述部分的内容可以包括以下几个方面:温控系统是一种广泛应用于各个领域的实时温度控制系统。
随着科技的发展和人们对生活质量的要求提高,温控系统在工业、家居、医疗、农业等领域得到了广泛应用。
温度作为一个重要的物理量,对于许多过程和设备的稳定运行至关重要。
因此,设计一种高效可靠的温控系统对于提高工作效率和产品质量具有重要意义。
本文将基于51单片机设计一个温控系统,通过对系统的整体结构和工作原理的介绍,可以深入了解温控系统在实际应用中的工作机制。
以及本文重点研究的51单片机在温控系统中的应用。
首先,本文将介绍温控系统的原理。
温控系统的核心是温度传感器、控制器和执行器三部分组成。
温度传感器用于实时检测环境温度,通过控制器对温度数据进行处理,并通过执行器对环境温度进行调节。
本文将详细介绍这三个组成部分的工作原理及其在温控系统中的作用。
其次,本文将重点介绍51单片机在温控系统中的应用。
51单片机作为一种经典的微控制器,具有体积小、功耗低、性能稳定等优点,广泛应用于各种嵌入式应用中。
本文将分析51单片机的特点,并介绍其在温控系统中的具体应用,包括温度传感器的数据采集、控制器的数据处理以及执行器的控制等方面。
最后,本文将对设计的可行性进行分析,并总结本文的研究结果。
通过对温控系统的设计和实现,将验证51单片机在温控系统中的应用效果,并对未来的研究方向和发展趋势进行展望。
通过本文的研究,可以为温控系统的设计与应用提供一定的参考和指导,同时也为利用51单片机进行嵌入式系统设计的工程师和研究人员提供一定的技术支持。
1.2文章结构文章结构部分的内容可以包含以下内容:文章结构部分旨在介绍整篇文章的组织结构和各个部分的内容。
本篇文章基于51单片机的温控系统设计,总共分为引言、正文和结论三部分。
引言部分主要包括概述、文章结构和目的三个小节。
首先,概述部分介绍了本文的主题,即基于51单片机的温控系统设计。
基于51单片机的数字温度计设计
基于51单片机的数字温度计设计数字温度计是一种广泛使用的电子测量设备,通过传感器将温度转化为数字信号,并显示出来。
本文将介绍基于51单片机的数字温度计的设计。
该设计将使得使用者能够准确、方便地测量温度,并实时显示在液晶显示屏上。
1. 硬件设计:- 传感器选择:在设计数字温度计时,我们可以选择使用NTC(负温度系数)热敏电阻或者DS18B20数字温度传感器作为温度传感器。
这里我们选择DS18B20。
- 信号转换:DS18B20传感器是一种数字传感器,需要通过单总线协议与51单片机进行通信。
因此,我们需要使用DS18B20专用的驱动电路,将模拟信号转换为数字信号。
- 51单片机的选择:根据设计要求选择合适的51单片机,如STC89C52、AT89S52等型号。
单片机应具备足够的IO口来与传感器和液晶显示屏进行通信,并具备足够的计算和存储能力。
- 显示屏选择:为了实时显示温度,我们可以选择使用1602型字符液晶显示屏。
该显示屏能够显示2行16个字符,足够满足我们的需求。
通过与51单片机的IO口连接,我们可以将温度数据显示在屏幕上。
2. 软件设计:- 采集温度数据:通过51单片机与DS18B20传感器进行通信,采集传感器传输的数字温度数据。
通过解析传感器发送的数据,我们可以获得当前的温度数值。
- 数据处理:获得温度数据后,我们需要对其进行处理。
例如,可以进行单位转换,从摄氏度到华氏度或者开尔文度。
同时,根据用户需求,我们还可以对数据进行滤波、校准等处理。
- 显示数据:通过与液晶显示屏的连接,我们可以将温度数据显示在屏幕上。
可以使用51单片机内部的LCD模块库来控制液晶显示屏,显示温度数据以及相应的单位信息。
- 用户交互:可以设置一些按键,通过与51单片机的IO口连接,来实现用户与数字温度计的交互。
例如,可以设置一个按钮来进行温度单位的切换,或者设置一个按钮来启动数据保存等功能。
3. 功能拓展:- 数据存储:除了实时显示当前温度,我们还可以考虑增加数据存储功能。
基于STM32单片机的心率计步体温显示系统设计
基于STM32单片机的心率计步体温显示系统设计设计一个基于STM32单片机的心率计步体温显示系统,主要包括以下几个方面的内容:系统功能设计、硬件设计、软件设计、系统测试等。
一、系统功能设计:1.心率测量功能:通过传感器测量用户心率,将数据显示在液晶屏上。
2.计步功能:通过加速度传感器测量用户的步数,将数据显示在液晶屏上。
3.体温测量功能:通过温度传感器测量用户体温,将数据显示在液晶屏上。
4.数据存储功能:将心率、步数、体温等数据保存在存储设备中,以便后续查询和分析。
二、硬件设计:1.主控芯片:选用STM32单片机作为主控芯片,具有强大的计算和控制能力。
2.传感器:选择专业的心率传感器、加速度传感器和温度传感器,提供准确的测量数据。
3.显示模块:采用液晶屏显示传感器测量的数据和其他相关信息。
4.存储设备:使用闪存芯片或SD卡作为数据的存储设备,保证数据的可靠性和安全性。
5.电源模块:设计适配器和电池两种供电方式,保证系统的持续工作时间。
三、软件设计:1.硬件初始化:对主控芯片和传感器进行初始化设置,配置相关参数。
2.数据采集:通过传感器采集心率、步数和体温等数据,并进行滤波处理。
3.数据显示:将采集到的数据通过液晶屏显示出来,包括心率、步数和体温等信息。
4.数据存储:将采集到的数据存储到闪存芯片或SD卡中,以便后续查询和分析。
5.数据上传:设计数据上传功能,可以通过USB接口或蓝牙等方式将数据上传到电脑或手机。
6.参数设置:设计参数设置功能,用户可以根据需要设置心率、步数和体温的阈值,系统会发出警报。
四、系统测试:1.系统功能测试:逐步测试各个功能模块,验证数据的准确性和功能的稳定性。
2.整体性能测试:对整个系统进行测试,验证系统的性能指标是否符合设计要求。
3.用户体验测试:邀请用户进行测试,收集用户的反馈意见和建议,进行优化和改进。
这个系统可以作为一款便携式的健康监测设备,可以方便用户随时随地监测自己的心率、步数和体温等健康数据,有助于用户及时发现和预防潜在的健康问题。
基于AT89C52单片机温度控制系统的设计
基于AT89C52单片机温度控制系统的设计一、本文概述本文旨在介绍一种基于AT89C52单片机的温度控制系统的设计。
随着工业自动化和智能家居的快速发展,温度控制成为了许多应用场景中不可或缺的一部分。
AT89C52单片机作为一种常用的低功耗、高性能的微控制器,在温度控制系统中具有广泛的应用前景。
本文将详细介绍该系统的设计思路、硬件组成、软件编程以及实际应用效果,为相关领域的研究者和工程师提供有益的参考。
本文将概述温度控制系统的基本原理和重要性,阐述为何选择AT89C52单片机作为核心控制器。
接着,将详细介绍系统的硬件设计,包括温度传感器、执行器、显示模块等关键部件的选型与连接。
在软件编程方面,将阐述如何通过编程实现温度的采集、处理、显示和控制等功能。
还将探讨系统的稳定性、可靠性和安全性等方面的问题,并提出相应的解决方案。
本文将展示该温度控制系统的实际应用效果,通过实例分析其在不同场景中的表现,进一步验证系统的可行性和实用性。
本文的研究成果将为基于AT89C52单片机的温度控制系统设计提供有益的参考和指导,有助于推动相关领域的技术进步和应用发展。
二、系统硬件设计在设计基于AT89C52单片机的温度控制系统时,硬件设计是关键环节。
整个系统硬件主要包括AT89C52单片机、温度传感器、显示模块、控制执行机构以及电源模块等部分。
AT89C52单片机作为系统的核心,负责接收温度传感器的信号,进行数据处理,并根据预设的温度阈值发出控制指令。
AT89C52是一款8位CMOS微控制器,具有高性能、低功耗、高可靠性等特点,非常适合用于此类温度控制系统中。
温度传感器是系统的感知元件,用于实时采集环境温度信息。
在本设计中,我们选用了DS18B20数字温度传感器,它可以直接输出数字信号,简化了与单片机的接口电路,提高了系统的抗干扰能力。
显示模块负责将当前温度以及设定温度显示出来,方便用户查看。
我们采用了LCD1602液晶显示屏,它可以清晰地显示数字和字母,而且功耗低,寿命长。
温度数据采集系统设计
温度数据采集系统论文目录一、问题的提出二、系统功能分析三、硬件设计1、单片机2、温度传感器3、压力传感器4、程控放大器5、多路模拟开关6、A/D转换器7、三态缓冲器8、LED显示数码管9、简易键盘10、声光报警器11、总电路图四、软件设计1.程序流程图2.程序设计五、结论一、问题提出设计一个以单片机为核心的数据采集系统对温度、压力等参数进行实时采集与处理性能指标:1)温度:0℃-120℃,超范围时声光报警。
2)温度检测精度:0.5℃3) 压力检测范围:0Pa—3.92×10^5Pa;4)压力检测精度:±1.96×10^3Pa5)用9位LED显示数值,其中4位显示温度值(3位整数,1位小数),1位显示温度代号T,1位显示压力代号,3位显示压力值6)每分钟检测一次7)A/D转换器(不带三态缓冲)二、系统功能分析本系统为温度压力数据采集系统。
系统需求功能如下:1)温度测量范围为0℃-120℃,压力测量范围为0Pa—3.92×10^5Pa2)温度测量精度0.5℃,压力测量精度为±1.96×10^3Pa3)每分钟采样一次4)超温度范围或压力范围时以声、光的方式发生报警信号5)有简单的键盘功能和数码显示功能6)其他功能三、硬件选择与设计1、单片机:(选用AT89C52)AT89C52是51系列单片机的一个型号,它是ATMEL公司生产的。
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可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。
基于单片机的温度控制系统设计
基于单片机的温度控制系统设计温度控制系统是现代生活中不可或缺的一部分,常见于家庭的的空调、电饭煲、烤箱等家用电器,以及工业生产中的各种自动化设备。
本文基于单片机设计针对室内温度控制系统的实现方法进行说明,包括温度采集、温度控制器的实现和人机交互等方面。
一、温度采集温度采集是温度控制系统的核心部分。
目前比较常见的温度采集器主要有热电偶、热敏电阻和半导体温度传感器。
在本文中我们以半导体温度传感器为例进行说明。
常见的半导体温度传感器有DS18B20、LM35等,本次实验中采用DS18B20进行温度采集。
DS18B20是一种数字温度传感器,可以直接与单片机通信,通常使用仅三根导线连接。
其中VCC为控制器的电源正极,GND为电源负极,DATA为数据传输引脚。
DS18B20通过快速菲涅耳射线(FSR)读取芯片内部的温度数据并将其转换为数字信号。
传感器能够感知的温度范围通常为-55℃至125℃,精度通常为±0.5℃。
为了方便使用,DS18B20可以通过单片机内部的1-Wire总线进行控制和数据传输。
具体实现方法如下:1.首先需要引入相关库文件,如:#include <OneWire.h> //引用1-Wire库#include <DallasTemperature.h> //引用温度传感器库2.创建实例对象,其中参数10代表连接传感器的数字I/O引脚:OneWire oneWire(10); //实例化一个1-Wire示例DallasTemperature sensors(&oneWire); //实例化一个显示温度传感器示例3.在setup中初始化模块:sensors.begin(); // 初始化DS18B204.在主循环中,读取传感器数据并将温度值输出到串口监视器:sensors.requestTemperatures(); //请求温度值float tempC = sensors.getTempCByIndex(0); // 读取温度值Serial.println(tempC); //输出温度值二、温度控制器的实现温度控制器是本次实验的关键部件,主要实现对温度的控制和调节,其基本原理是根据温度变化情况来控制输出电压或模拟脚电平,驱动继电器控制电器设备工作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计课程名称:微机原理与接口技术课程设计题目名称:温度采集显示系统学生学院专业班级学号学生姓名指导教师一、设计题目温度采集系统二、设计任务和要求功能要求:(1)温度测量范围 0 - 99℃。
(2)温度分辨率±1℃。
(3)选择合适的温度传感器。
(4)使用键盘输入温度的最高点和最低点,温度超出范围时候报警。
(报警温度不需要保存)要求完成的内容:(1)系统硬件设计,并用电子CAD软件绘制出原理图,(2)给出流程图,编写并调试程序。
(3)撰写设计报告。
三、原理电路图和设计程序1、方案比较(1)、系统总体方案设计总体框架图如图1示,软件流程图如图示①该温度控制系统的设计包括硬件设计和软件设计两大部分,结合实际情况,该系统应具备如下功能:A、实时采集温度;B、显示温度;C、串行传送数据;D、控制外设;E、温度超限报警;②系统硬件设计系统的硬件设计部分主要由以下几部分组成:A、单片机最小系统;B、温度采集模块;C、温度显示模块;D、串行通信模块;E、报警电路;图2 软件流程图(2)、方案比较方案一采用8031作为控制核心,以使用最为普遍的器件ADC0809作模数转换,控制上使用对电阻丝加电使其升温和开动风扇使其降温。
此方案简易可行,器件的价格便宜,但8031内部没有程序存储器,需要扩展,增加了电路的复杂性,且ADC0809是8位的模数转换,不能满足本题目的精度要求。
方案二采用比较流行的AT89S51作为电路的控制核心, AT89S52不但与8051,8052 指令,管脚完全兼容,而且其片内的程序存储器采用FLASH 工艺,用户可以用电的方式瞬间擦除、改写。
AT89S52 单片机还支持在线编程,用户通过简单的电路连接就可以将电脑里的程序下载到单片机中,减少调试程序时不断拆卸和插入给芯片带来的损坏。
此外AT89S52 单片机有8 KB的程序存储器和256 B 的数据存储器,不需外部扩展存储芯片,可以降低硬件电路的复杂度。
此方案电路简单并且可以满足题目中的各项要求的精度。
综上分析,我们采用方案二。
Q1NPNU2BUZZERR3R1200S3S4S2S1+5V12345678910111213141516RP116PIN123J1CON3R24.7k+5VGNDGND P3.0P3.1P3.2Y1CRYSTAL C230pGND +5V+5V123J2CON3P1.01P1.34P1.45P1.5(MOSI)6P1.6(MOSO)7P1.7(SCK)8P1.23P1.12RST 9P3.0(RXD)10P3.1(TXD)11P3.2(INT0)12P3.3(INT1)13P3.4(T0)14P3.5(T1)15P3.6(WR)16P3.7(RD)17XTAL118XTAL019P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P2.7/A1528PESN 29ALE/PROG 30EA/VPP 31P0.7/AD732P0.6/AD633P0.5/AD534P0.4/AD435P0.3/AD336P0.2/AD237P0.1/AD138VCC40P0.0/AD039GND 20P2.0/A821U1AT89S52+5VP3.0P3.1P3.212345678161514131211109RP21k图3AT89S52 是89 系列单片机的一种,它不但与8051,8052 指令,管脚完全兼容,而且其片内的程序存储器采用FLASH 工艺,用户可以用电的方式瞬间擦除、改写。
AT89S52 单片机还支持在线编程,用户通过简单的电路连接就可以将电脑里的程序下载到单片机中,减少调试程序时不断拆卸和插入给芯片带来的损坏。
此外AT89S52 单片机有8 KB的程序存储器和256 B 的数据存储器,不需外部扩展存储芯片,可以降低硬件电路的复杂度。
②、温度采集模块设计温度传感器是该系统的关键器件,本系统选用的是美国Dallas 半导体公司生产的数字化温度传感器 DS18B20。
本系统中DS18B20 的DQ 口与单片机的 P1.0 口连接,GND 接地,VDD 接电源,信号和5V 电源之间的接上一个上拉电阻R。
DS18B20简介:DS18B20 有三个主要数字部件组成:64 位激光ROM、温度传感器、非易失性的温度报警触发器TH 和TL 。
DS18B20 支持“一线总线”接口,测量温度范围为-55°C~+125°C,被测温度用符号扩展的16 位数字量方式串行输出,在-10~+85°C 范围内,精度为±0.5°C。
DS18B20 采集到的现场温度直接以先进的单总线数据通信方式传输,大大提高了系统的抗干扰性,适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。
DS18B20 可程序设定9~12 位的分辨率,精度可达±0.5°C。
DS18B20具有内置的EEPROM,用户设定的分辨率和报警温度都可存储在其中,且掉电后依然存在。
CPU 只需一根端口线就能与DS18B20 进行通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。
与前一代产品(DS1820 温度传感器)不同,DS18B20 支持3.0V ~5.5V的电压范围,使系统设计更灵活、方便,而且DS18B20 价格更便宜,体积更小。
如图J1所示,DS18B20 有三个管脚:3脚 GND 为电源地,2脚DQ 为数字信号输入/输出端,1脚VDD 为外接供电电源接入端(用寄生电源方式时接地)。
在外部电源供电方式下,DS18B20 工作电源由VDD 引脚接入,此时I/O 线不需要强上拉,不存在电源电流不足的问题,可以保证转换精度,同时理论上总线可以挂接任意多个DS18B20 传感器,组成多点测温系统。
在外部供电的方式下,DS18B20 的GND 引脚不能悬空,否则不能转换温度,读取的温度总是85℃。
③温度显示模块设计根据实际应用情况,该温度显示模块采用七段数码管显示电路,数码管选用共阳极数码管,如图U3示,以动态方式显示,显示数据由P1口送出,位控信号由P2口送出,经74LS244进行信号放大,以产生足够大的电流驱动数码管显示。
流程图如图示:④串行通信模块设计AT89S52 单片机内部含有一个可编程全双工串行通信接口,由TXD 引脚来传送串行数据,而由RXD 引脚来接收数据。
该接口具有UART(通用异步接收和发送器)的全部功能,它不仅能同时进行数据的发送和接收,也可作为一个同步移位寄存器使用,可构成双机或者多机通信系统。
⑤报警电路设计本设计采用蜂鸣器报警电路,它由晶体管和蜂鸣器组成。
当温度的测量值超出给定的上下限时,由单片机的P3.7 口输出信号控制晶体管导通,则蜂鸣器报警。
⑥系统软件设计本系统采用 AT89S52 作为核心处理器件,把经过DS18B20 现场实时采集到的温度数据,存入AT89S52 的内部数据存储器,并送LED 数码管显示,并与温度的设定值进行比较,然后由单片机输出控制信号去控制外部设备。
进行温度控制程序的设计还应考虑越限报警,当采集到的温度值与温度的设置值进行比较后,若发现当前温度值越限,则产生报警信号。
与硬件电路相关联,本温度控制系统的软件设计主要分为以下几个部分:主程序,温度上下限值设定子程序、温度读取子程序、温度显示子程序、串口通信子程序、输出控制子程序和报警子程序等。
其中温度上下限值设定子程序完成对温度范围值的设定及数据保存;温度读取子程序完成对温度传感器数据的读取,并通过温度显示子程序显示温度值;串口通信子程序将采集到的温度数据传送到PC 机,以实现远程监控;输出控制子程序根据采集到的温度数据完成对外部设备的控制;报警子程序则当采集到的温度数据超过设定的温度上下限值时报警。
整个运行程序,见电子版下面是测温程序段:sbit DQ = P3^3; // 定义DQ引脚为P3.3/******************************* 延时函数 ******************************** * 功能:在11.059MHz的晶振条件下调用本函数需要24μs ,然后每次计数需16μs **************************************************************************/ void DS18_delay(int useconds) {int s;for (s=0; s<useconds;s++);}/******************************* 复位函数 ******************************** 功能:完成单总线的复位操作。
* 复位时间为480μs,因此延时时间为(480-24)/16 = 28.5,取29μs。
* 经过70μs之后检测存在脉冲,因此延时时间为(70-24)/16 = 2.875,取3μs。
**************************************************************************/ unsigned char ow_reset(void) {unsigned char presence;DQ = 0; // 将 DQ 线拉低DS18_delay(29); // 保持 480μsDQ = 1; // DQ返回高电平DS18_delay(3); // 等待存在脉冲presence = DQ; // 获得存在信号DS18_delay(25); // 等待时间隙结束return(presence); // 返回存在信号,0 = 器件存在, 1 = 无器件}/****************************** 位写入函数 ******************************* * 功能:向单总线写入1位值:bitval*************************************************************************/ void write_bit(char bitval) {DQ = 0; // 将DQ 拉低开始写时间隙if(bitval==1) DQ =1; // 如果写1,DQ 返回高电平DS18_delay(5); // 在时间隙内保持电平值,DQ = 1; // DS18_delay函数每次循环延时16μs,因此DS18_delay(5) = 104μs }/**************************** 字节写入函数 ******************************* * 功能:向单总线写入一个字节值:val*************************************************************************/ void ds18write_byte(char val) {unsigned char i;unsigned char temp;for (i=0; i<8; i++) { // 写入字节, 每次写入一位temp = val>>i;temp &= 0x01;write_bit(temp);}DS18_delay(5);}/**************************** 位读取函数 ******************************** * 功能:从单总线上读取一位信号,所需延时时间为15μs,因此无法调用前面定义* 的DS18_delay()函数,而采用一个for()循环来实现延时。