数字温度显示报警系统程序

合集下载

数字温度计说明书

数字温度计说明书

单片机课程设计题目:数字温度计院别:机电学院专业:机械电子工程班级:姓名:学号:指导教师:二〇一三年十二月二十一日摘要本设计即用单片机对温度进行实时检测与控制,本文所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,本次课程设计采用51单片机以及锁存器74HC573N、四位共阴数码管、DS18B20温度传感器、蜂鸣器、三极管等组成的自动过温报警器,该过温报警器测温准确,使用方便,显示清晰,最高精度可达到0.0625度,最长温度转换时间不到1秒,应用范围广泛。

用四位共阴数码管实现温度显示,能准确达到设计要求。

本温度计属于多功能温度计,功能较强,可以设置上下限报警温度,且测量准确、误差小。

当测量温度超过设定的温度上下限时,启动蜂鸣器和指示灯报警。

关键词过温报警;锁存器;单片机;温度传感器目录前言 (1)一.本次课程设计实践的目的和意义 (2)二.设计任务和要求 (2)2.1 设计题目 (2)2.2 主要技术性能指标 (2)2.3 功能及作用 (2)三. 系统总体方案及硬件设计 (2)3.1查阅相关资料后有以下两个方案可供选择 (2)3.2元件采购 (3)3.3系统总体设计 (3)四.接口电路设计 (6)4.1模块简介 (6)4.2 主控制器 (6)4.3 显示电路 (7)4.4温度传感器 (7)4.5温度报警电路 (9)五. 系统软件算法分析 (10)5.1主程序流程图 (10)5.2读出温度子程序 (11)5.3温度转换命令子程序 (11)5.4 计算温度子程序 (12)5.5 显示数据刷新子程序 (12)5.6按键扫描处理子程序 (13)六. 电路仿真 (14)七.焊接好的电路实体图 (15)八.检查与调试 (16)九.作品的使用 (16)十.设计心得 (20)参考文献 (20)附录 (21)前言温度是工业对象中主要的被控参数之一,如冶金、机械、食品、化工各类工业生产中,广泛使用的各种加热炉、热处理炉、反应炉等,对工件的温度处理要求严格控制。

XTG-系列智能数字显示报警控制仪使用说明

XTG-系列智能数字显示报警控制仪使用说明

智能数字显示报警/控制仪操作手册上海响泰自动化设备有限公司 Shanghai XiangTai Automation Equipment CO.,LTD目 录一、产品概述 (1)二、主要技术性能 (1)三、仪表使用 (1)四、仪表接线示意图 (5)五、选型表 (7)六、输入校准 (10)七、输出校准 (10)八、电阻远传式压力表现场校准方法 (11)九、仪表的安装 (11)十、使用、保管及售后服务 (12)一、产品概述XTG-系列智能数字显示报警/控制仪具有数字显示、变送、报警、控制功能,本仪表输入信号有热电偶K、E、B、J、T、R、N及电阻Pt100、Cu50、BA2、BA1、G、Pt100X和各种标准信号输入可选,通过软件设置,使用户实际使用的参数最简单。

可实现对温度、压力、湿度、液位、流量等参数的显示、变送、报警和控制功能。

XTG-系列智能数字显示报警/控制仪可广泛应用于轻工、纺织、石油、化工、机械、电力、冶金、陶瓷、热处理等行业的温度、压力、流量、液位等系统的监测控制,仪表通信设计有总线型RS-485接口(需要通信时应在订货时说明),可与计算机组成DCS系统。

二、主要技术性能1. 输入信号热电偶各种分度号、热电阻各种分度号、压力传感器、电阻远传压力表、各种标准模拟信号可任选。

2. 输入电阻热电阻:等长三线制,三根导线电阻相等,≤5Ω不影响测试精度。

3. 显示量程范围双4位LED数码管显示—1999——+9999,小数点可由键盘按需设置。

4. 仪表基本误差±0.5%FS、±0.2%FS、±0.1%FS5. 上下限切换基本误差限继电器的控制方式和回差(死区)可由键盘按需设置,切换误差≤0.5%FS。

6. 继电器触点容量~220V3A无感负载7. 电流输出0—10mA(RL≤1.5KΩ),4—20mA(RL<750Ω)8. 失电数据保护时间:长期9. 供电为90~265VAC,功耗小于4W环境温度0—50℃范围内正常工作相对湿度5—80%RH大气压力86—106KPa无腐蚀性气体,无震动。

基于51单片机的温度报警系统设计

基于51单片机的温度报警系统设计

基于51单片机的温度报警系统设计温度报警系统是一种常见的安全监控系统,它可以监测环境温度,并在温度达到设定阈值时发出警报。

本文将介绍一个基于51单片机的温度报警系统的设计。

一、系统设计目标和功能本系统的设计目标是实时监测环境温度,并在温度达到预设阈值时发出警报。

具体功能包括:1.温度采集:通过温度传感器实时采集环境温度。

2.温度显示:将采集到的温度值通过数码管显示出来。

3.温度比较:将采集到的温度值与预设的阈值进行比较。

4.报警控制:当温度超过预设的阈值时,触发警报控制器。

5.报警指示:通过蜂鸣器或者LED灯等方式进行报警提示。

二、硬件设计本系统的硬件设计包括主控部分和外围部分。

1. 主控部分:使用51单片机作为主控芯片,通过AD转换器和温度传感器实现温度数据采集。

采用片内RAM和Flash存储器对数据进行处理和存储。

2.外围部分:包括数码管显示和报警指示。

使用数码管模块将温度值进行显示,使用LED灯或者蜂鸣器进行报警指示。

三、软件设计本系统的软件设计包括程序的编写和算法的设计。

1.程序编写:使用C语言编写单片机的程序。

程序主要包括温度采集、温度比较、报警控制和报警指示等功能。

2.算法设计:根据采集到的温度值与预设阈值进行比较,判断是否触发警报控制器。

同时,根据警报控制器的状态,控制报警指示的开关。

四、系统测试完成硬件和软件设计后,需要进行系统测试以验证系统的正确性和稳定性。

1.硬件测试:对硬件电路进行测试,包括电源、信号传输和外围器件等方面。

测试时需要注意电源的稳定性,信号的准确性和外围部件的工作状态。

2.软件测试:进行程序的运行测试,检查各功能是否正常运行。

特别关注温度采集和比较、报警控制和报警指示等功能。

五、系统性能分析对系统的性能进行分析,包括温度采集的准确性、报警控制的响应时间和报警指示的稳定性等方面。

1.温度采集准确性:主要受温度传感器的精度和ADC转换的准确性影响。

在设计中要选择合适的传感器和ADC。

XMTD-2000智能型数字显示温度控制器使用说明书

XMTD-2000智能型数字显示温度控制器使用说明书

XMTD-2000智能型数字显示温度控制器使用说明书概述XMTD-2000智能数字显示温控仪表是我厂新推出的新一代温控仪表。

本产品采用性能优异的单片微机作为主控部件,具有精度高、数字显示、轻触键盘操作、停电数据保存永久、抗干扰性能强、外形美观等特点。

XMTD-2000温控仪可广泛应用于轻工机械层压机,包装、印刷、纺织、造纸、等行业。

选用时靖仔细确认是否符合您的要选的型号XMT□—□□-□-□传感器分度号测量范围 F:0~10000CK:0~4000CE:0~3000C输入代码:1:热电隅外形尺寸:E:72*72技术参数及安装1安装注意事项:仪表安装环境要求:①大气压力:86—106Kpa。

②环境温度:0—500C。

③相对湿度:45—85RH%。

安装时注意以下情况:①环境温度的急变可能引起的结露。

②腐蚀性及易燃气体的有可能侵害。

③直接震动或冲击机的主体。

④水、油、化学器、烟雾或蒸气的污染等。

⑤过多的尘埃、盐雾或其它的金属粉末等。

⑥空调的直吹。

⑦阳光的直射。

⑧热辐射的积聚之处等。

2安装过程⑴按照盘面的开孔尺寸在盘面上开出来安装仪表的方孔,如多个仪表安装时请将左右两只仪表的距离大于25mm,上下两只仪表的距离应大于30㎜。

⑵将仪表嵌入盘面的开孔内,⑶将仪表安装槽内插入安装支架。

⑷推紧安装支架,使仪表与盘面结合牢固,再拧紧螺钉。

3主要技术性能①测量精度:0.5%±1dig;②电源电压:220VAC;③环境温度:0—500C;④应用模糊PID技术控制;⑤开孔尺寸(㎜):KCY-E型为:68*68接线方式1接线的注意事项:⑴热电隅输入,应该使用对应的补偿导线。

⑵输入信号线应远离仪表的电源线、动力电源线、负荷线。

以避免产品信号的干扰。

2、接线端子图:XMTD-2000的仪表接线1、各功能的调出顺序:◇仪表通电后,上排显示INP,下排显示分度号,表示输入类型;经4秒后,上排显示量程上限,下排显示量程下限,表示测量范围;再经4秒,上排显示测量值,下排显示设定值,此时仪表进入正常工作状态。

stm32f1温度报警系统实验报告

stm32f1温度报警系统实验报告

stm32f1温度报警系统实验报告STM32F1温度报警系统实验报告1. 引言1.1 背景1.2 目的1.3 实验内容2. 实验器材和方法2.1 实验器材2.2 实验方法3. 硬件设计3.1 硬件连接图3.2 温度传感器选型和连接方式4. 软件设计4.1 系统架构图4.2 主程序流程图4.3 温度采集和处理算法5. 实验结果与分析5.1 温度采集结果显示界面截图及解释5.2 温度报警功能测试结果与分析6. 讨论与改进方向6.1 讨论实验中可能出现的问题及解决方案6.2 对实验系统的改进方向提出建议7. 结论8. 参考文献9. 致谢1 引言本报告旨在介绍STM32F1温度报警系统的设计与实现。

通过该系统,可以实时监测环境温度,并在温度超过设定阈值时触发报警。

本报告将详细介绍硬件设计、软件设计、实验结果与分析等内容。

1.1 背景温度监测与报警系统在工业生产、仓储物流等领域具有重要应用价值。

通过实时监测环境温度,可以及时采取措施避免设备过热、产品损坏等问题的发生。

1.2 目的本实验旨在利用STM32F1单片机设计一个温度报警系统,能够实时采集环境温度,并在温度超过设定阈值时触发报警。

1.3 实验内容本实验的主要内容包括:- 设计硬件电路连接,包括STM32F1单片机与温度传感器的连接;- 编写软件程序,实现温度采集和处理算法;- 测试系统功能,包括温度采集结果显示和报警功能。

2 实验器材和方法2.1 实验器材本实验使用的主要器材包括:- STM32F1开发板- 温度传感器模块- 电阻、电容、LED等元件- 面包板、杜邦线等连接线2.2 实验方法根据硬件连接图进行电路搭建,并将STM32F1开发板与计算机连接。

编写软件程序并烧录到STM32F1开发板上。

通过串口或LCD显示屏等方式,实时监测温度采集结果,并测试报警功能。

3 硬件设计3.1 硬件连接图(此处应插入硬件连接图)3.2 温度传感器选型和连接方式根据实验要求,我们选择了DS18B20数字温度传感器作为温度采集模块。

室内温度报警控制系统设计

室内温度报警控制系统设计

室内温度报警控制系统设计
一、系统简介
1、本温度报警控制系统是一个程序控制的系统,用于对室内温度的
监测和报警。

它可以监测室内温度是否超出指定的范围,并及时发出报警
信息。

2、系统由控制模块、计算机模块和显示模块组成。

它主要目标是检
测室内温度并向用户发出报警信号,以确保人们在安全、正常的温度范围
内适应并且满足室内环境的调节需求。

二、系统流程
1、控制模块采用微控制器,接收到检测到的室内温度信号后,将其
发送给计算机模块。

2、计算机模块以及存储程序,将收到的温度信号进行处理,并将得
出的结果与设定的温度范围进行比较,以确定室内是否超出设定范围。

3、如果室内温度超出设定的范围,计算机模块将发出报警信号,并
通过显示模块将报警信号发送给用户,以及报警声音或者警报灯以提醒用户。

4、显示模块用以显示正常室内温度及设定的温度范围;而当室内温
度超出设定的范围时,显示模块将显示报警信号及相关信息。

三、系统硬件
1、控制模块:采用微控制器,负责接收室内温度信号及发出报警信号。

2、计算机模块:采用上位机,具有程序存储及运行功能;能够存储及运行室内温度。

基于DS18B20温度传感器的显示及报警系统设计

基于DS18B20温度传感器的显示及报警系统设计

摘要随着现代信息技术的飞速发展和传统工业改造的逐步实现,能够独立工作的温度检测与显示系统应用于诸多领域。

传统的温度检测以热敏电阻为温度敏感元件。

热敏电阻的成本低,需要外加信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差。

与传统的温度计相比,这次设计的是基于DS18B20的数字温度计,它具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。

在本设计中选用STC89C52型单片机作为主控制器件,采用DS18B20数字温度传感器作为测温元件,通过4位共阳极LED数码显示管并行传送数据,实现温度显示。

通过按键设置温度上下限报警值,然后用不同颜色的LED灯报警。

本设计的内容主要分为两部分,一是对系统硬件部分的设计,包括串口下载电路、按键输入电路、温度采集电路和显示电路;二是对系统软件部分的设计,应用C语言实现温度上下限报警值的设定、温度的采集与显示。

通过DS18B20直接读取被测温度值,送入单片机进行数据处理,之后进行输出显示,最终完成该系统的总体设计。

其系统构成简单,信号采集效果好,数据处理速度快,便于实际监测使用。

关键词:单片机STC89C52;温度传感器DS18B20;LED数码管;数字温度计AbstractAlong with the present information technology's swift development and traditional industry transformation's gradual realization, able to work independently of the temperature detection and display system used in many other fields. Traditional temperature examination takes thermistor as temperature sensitive unit. Thermistor's cost is low, needs the signal processing electric circuit, moreover the reliability is relatively bad, the temperature measurement accuracy is low, the examination system also has certain error. Compares with the traditional thermometer, what this design is based on the DS18B20 digital thermometer, it has the reading to be convenient, the temperature measurement scope is broad, the temperature measurement is precise, the digit demonstrated that applicable scope wide and so on characteristics.Used in the design STC89C52MCU as the main control device, digital temperature sensor DS18B20 as the temperature components of the anode through the four LED digital display tube parallel transmission of data, to achieve temperature display. This design's content mainly divides into two parts; first, to system hardware part design, including temperature gathering electric circuit and display circuit; Second, to the system software part's design, realizes temperature gathering and the demonstration using the C language. DS18B20 measured by direct reading temperature values and transfer Data into MCU and output to show his is the design of the Digital Thermometer. Its system constitution is simple, the effect of signal gathering is good, the speed of data processing is quick at al it is advantageous for the actual examination use.Keywords: MCU STC89S52; DS18B20; LED; Digital Thermometer目录第一章绪论 (3)1.1课题背景及来源 (3)1.2课题内容及要求 (3)第二章系统整体设计 (4)2.1系统设计方案论证 (4)第三章系统的硬件选择及设计 (5)3.1主控制器的设计 (5)3.2温度采集电路的设计 (5)3.3温度显示电路的设计 (9)第四章系统的软件设计 (11)4.1概述 (12)4.2程序流程图 (12)4.3 控制源程序 (14)第五章系统调试 (14)结论 (36)致谢 (36)参考文献 (37)第一章绪论1.1课题背景及来源单片机自1976年由Intel公司推出MCS-48开始,迄今已有三十多年了。

温度显示

温度显示

目录一、DS18B20的原理和功能二、AT89C51单片机介绍三、74ls373介绍四、LCD1602的工作原理五、程序代码六、电路图和仿真图1、电路原理图2、温度显示真图3、温度报警图心得体会一、DS18B20的原理和功能功能:使用DS18B20测量温度,LCD1602显示,测量精度为0.1度可以显示测量地区的地名,当温度超过30度或者小于-10度的时候二极管发光同时蜂鸣器发出报警声音。

工作原理:DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种改进型智能温度传感器。

与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。

可以分别在93.75ms和750ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。

因而使用DS18B20可使系统结构更趋简单,可靠性更高。

他在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。

1.DS18B20简介(1)独特的单线接口方式:DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。

(2)在使用中不需要任何外围元件。

(3)可用数据线供电,电压范围:+3.0~+5.5V。

(4)测温范围:-55~+125℃。

固有测温分辨率为0.5℃。

(5)通过编程可实现9~12位的数字读数方式。

(6)用户可自设定非易失性的报警上下限值。

(7)支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点测温。

(8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。

DS18B20的测温原理DS18B20的测温原理如图2所示,图中低温度系数晶振的振荡频率受温度的影响很小〔1〕,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。

单片机课程设计方案—数字温度计

单片机课程设计方案—数字温度计

1 课题任务、功能要求说明及总体方案介绍1.1 课题目的随着社会的发展,温度的测量及控制变得越来越重要。

本文采用单片机STC89S52设计了温度实时测量及控制系统。

单片机STC89S52 能够根据温度传感器DS18B20 所采集的温度在数码管上实时显示,通过控制从而把温度控制在设定的范围之内。

所有温度数据均通过4位数码管LED显示出来。

系统可以根据时钟存储相关的数据。

通过该课程的学习使我们对计算机控制系统有一个全面的了解、掌握常规控制算法的使用方法、掌握简单微型计算机应用系统软硬的设计方法,进一步锻炼同学们在微型计算机应用方面的实际工作能力。

1.2 功能要求说明设计一个具有特定功能的数字温度计。

该数字温度计上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。

测量温度范围0℃~99℃,测量精度小数点后两位,可以通过开始和结束键控制数字温度计的工作状态。

1.3 设计课题总体方案介绍及工作原理说明1.3.1设计课题总体方案(1>根据设计要求,选择AT89C52单片机为核心器件。

(2>温度检测器件采用DS18B20数字式温度传感器。

与单片机的接口为P3.6引脚。

(3>键盘采用独立式按键,由三个按键组成,分别是:设置键<SET),加一建<+1),确认键<RET)。

(4>SET键<上下限温度设置键):当该键按下时,进入上下限温度设置功能。

通过P0.1引脚接入。

(5>+1键<加一调整键):在输入上下限温度时,该键按下一次,被调整位加一。

通过P0.2引脚接入。

(6>RET键<确认键):当该键按下时,指向下一个要调整的位。

通过P0.3引脚接入。

1.3.2 工作原理说明本课题以是80S52单片机为核心设计的一种数字温度控制系统,利用温度传感器DS18B20可以直接读取被测温度值,进行转换的特性,模拟温度值经过DS18B20处理后转换为数字值,然后送到单片机中进行数据处理,并与设置的温度报警限比较,超过限度后通过扬声器报警。

2024年消防报警系统操作规程

2024年消防报警系统操作规程

2024年消防报警系统操作规程第一章总则第一条为加强和规范消防报警系统的操作,保障火灾和其他突发事件的及时发现和处置,提高消防安全水平,根据国家相关法律法规和技术标准,制定本规程。

第二条本规程适用于所有消防报警系统的操作和管理,相关单位和个人应依法执行。

第三条消防报警系统的操作应遵循科学、准确、规范、高效的原则,确保报警信息准确无误地及时传达,保障火灾事故的及时救援和火灾扑灭。

第四条消防报警系统操作人员应经过相关资格认证,具备相关的技术知识和操作技能,熟悉系统的使用方法和操作流程,定期进行培训和考核。

第二章报警系统操作流程第五条消防报警系统操作人员接到报警信息后应第一时间验证报警信息的真实性和重要性,确保不漏报、错报。

第六条操作人员应结合实际情况快速向消防部门报警,并准确告知火灾发生的地点、情况和火势大小等相关信息,同时启动报警系统的声光警示装置。

第七条一旦确认火灾事实,操作人员应立即组织人员疏散,并通知消防部门进行救援和灭火,同时根据火情变化,合理调度消防力量。

第八条在火灾事故处置过程中,操作人员应根据实际情况,及时向消防部门提供有关调查情况和火情变化的信息,以支持灭火工作的进行。

第三章操作规范第九条操作人员应遵守职业道德,严守工作纪律,保守工作秘密,维护社会稳定和公共安全。

第十条操作人员应熟悉并遵守消防报警系统的使用手册和技术规范,正确操作各种设备和装置。

第十一条操作人员应保持沉着冷静、高度专注的工作状态,不得慌张、因循守旧或疏于职守。

第十二条操作人员应保持通讯设备的畅通,并及时向相关单位和人员传达有关信息和指令。

第四章事故应急处理第十三条消防报警系统操作人员在事故发生时,应按照预先制定的应急预案进行相应处理。

第十四条操作人员应做好个人防护,采取安全措施,防止因工作失误而造成人员伤亡和财产损失。

第十五条操作人员在事故处理过程中,应遵循县级以上消防部门的指挥调度,确保应急救援工作有序进行。

第五章考核与培训第十六条操作人员应定期参加消防系统操作培训和练习,提高操作技能和应急处理能力。

基于51单片机的温度警报器的设计单片机课程设计报告

基于51单片机的温度警报器的设计单片机课程设计报告

《单片机原理及应用》课程设计任务书二级学院:电子信息与电气工程学院专业:班级:课程设计题目:基于单片机的数字温度报警器的设计姓名:学院:专业:班级:学号:指导教师:2011年9月15日目录摘要 (4)1 引言 (4)1.1课题背景 (4)1.2研究内容和意义 (6)2 芯片介绍 (6)2.1 DS18B20概述 (6)2.1.1 DS18B20封装形式及引脚功能 (7)2.1.2 DS18B20内部结构 (7)2.1.3 DS18B20供电方式 (9)2.1.4 DS18B20的测温原理 (10)2.1.5 DS18B20的ROM命令 (12)2.2 AT89C52概述 (13)2.2.1单片机AT89C52介绍 (13)2.2.2功能特性概述 (13)3 系统硬件设计 (14)3.1 单片机最小系统的设计 (14)3.2 温度采集电路的设计 (15)3.3 LED显示报警电路的设计 (16)4 总结 (16)致谢 (17)参考文献 (18)附录A 总电路图 (19)附录B 原器件清单 (19)附录C 温度报警器部分程序 (20)摘要随着时代的进步和发展,温度的测试已经影响到我们的生活、工作、科研、各个领域,已经成为了一种非常重要的事情,因此设计一个温度测试的系统势在必行。

本文主要介绍了一个基于AT89C52单片机的数字温度报警器系统。

详细描述了利用数字温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行了介绍,该系统可以方便的实现温度的采集和报警,并可以根据需要任意上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当做温度处理模块潜入其他系统中,作为其他主系统的辅助扩展。

DS18B20与AT89C52结合实现最简温度报警系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。

单片机课程设计温度报警器系统,计数器

单片机课程设计温度报警器系统,计数器

课程名称单片机原理与应用设计题目计数器及温度报警器一:设计任务1:设计一个0-255计数器,计满后自动清零,重新计数,在数码管中显示。

2:设计一个0-50000计数器,计满后自动清零,重新计数,在数码管中显示。

3.设计一个温度报警系统;温度显示范围为0-51度,当温度大于40度时,上限报警指示灯点亮,并驱动电机1转动;当温度小于10度时,下限报警指示灯点亮,并驱动电机2转动。

二:设计源程序1:255计数器ORG 0000HAJMP STARTORG 0300HSTART:MOV DPTR,#0CFE9HMOV A,#0D1H ;将8279初始化MOVX @DPTR,ANOPNOPNOPNOP ;延时NOPNOPNOPNOPMOV TMOD,#50H ;采用工作方式一进行计数MOV TH1,#00H ;高位清零MOV TL1,#00H ;地位清零SETB TR1 ;启动定时器/计数器T1进行加1计数LOOP1:MOV A,TL1 ;将低位数给累加器AMOV B,#64H ;将十进制数100给BDIV AB ;用A除以B,商保存在A中,余数保存在BMOV R1,A ;将百位给R1MOV A,B ;将B传递给AMOV B,#0AH ;把十进制数10传给BDIV AB ;用A除以BMOV R2,A ;把十位上的数字传给R2MOV R3,B ;把个位上的数字传给R3MOV DPTR,#0CFE9HMOV A,#80H ;选择第一个数码管MOVX @DPTR,AMOV DPTR,#TABMOV A,RMOVC A,@A+DPTR ;通过查表将百位数送入到第一个数MOV DPTR,#0CFE8H 码管MOVX @DPTR,ACLR A ;将累加器A清零MOV DPTR,#0CFE9HMOV A,#81H ;选择第二个数码管MOVX @DPTR,AMOV DPTR,#TABMOV A,R2 ;通过查表将十位上的数送至第二MOVC A,@A+DPTR 个数码管MOV DPTR,#0CFE8HMOVX @DPTR,ACLR A ;将累加器清零MOV DPTR,#0CFE9HMOV A,#82H ;选择第三个数码管MOVX @DPTR,AMOV DPTR,#TABMOV A,R3 ;通过查表将个位上的数字送MOVC A,@A+DPTR 到第三个数码管MOV DPTR,#0CFE8HMOVX @DPTR,ALJMP LOOP1TAB:DB 3FH,06H,5BH,4FH,66H ;共阴极LED数码管的段码管DB 6DH,7DH,07H,7FH,6FHEND1:0-255计数器数码管显示仿真图2:0-50000计数器ORG 0000HSJMP STARTDRG 000BHAJMP T0START : MOV TMOD ,#050HMOV P1,#0MOVTH0,#0FFHMOV TL0,#0FFHMOV P3,#0 ;将p3口置0CLR C ;将C置0MOV DPTR ,#TAB ;指针指向TAB,SETB EA ;总中断控制设为“1”SETB ET0 ;T0允许中断控制设为“1”MOV R0,#0 ;个位值清零MOV R1,#0 ;十位值清零MOV R2,#0 ;百位值清零MOV R3,#0 ;千位值清零MOV R4,#0 ;万位值清零SETB TR0 ;打开T0开关ACALL T1 ;显示加等待中断TO: MOV TH0,#0FFHMOV TL0,#0FFH ;中断将计数器初始化INC R0 ;R0自动加1MOV A, R0 ;将R0的值赋给ACJNE A,#10 AAA ;比较A是否等于十,若为十则进位,否则继续计数MOV R0,#0 ; R0置零INC R1 ;进位到十位AAA: MOVC A,@A+DPTR ; 查表MOV P2,ASETB P1.0 ;示个位ACALL DELAY ;延时SETB P1.0MOV A,R1 ;R1的值赋给A中CJNE A,#10,BBB ;比较,是否进位MOV R1,#0 ; 进位R1置0INC R2 ; 进位到百位BBB: MOVC A,@A+DPTR ;查表MOV P2,ASETB P1.1 ;显示十位ACALL DELAY ;延时CLR P1.0MOV A, R2 R2 ;赋给百位CJNE A,#10, CCC ;比较,是否进位MOV R2,#0 ;进位,R2置0INC R4 ;进位到千位CCC: MOVC A, @A+DOTR ;查表MOV R2,ASETB P1.2 ;显示百位MOV A,R3 ;R3赋给ACJNE A,#10,DDD ;比较,是否进位MOV R3 ,#0 ;进位置0INC R4 ;进位到万位DDD: MOVC A,@A+ DPTR ;查表MOV P2,ASETB P1.3 ;显示千位ACALL DELAY ;延时CLR P1.3MOV A, R4CJNE A,#5,EEE ;比较万位是否到5MOV R4,#0 ;万位到5时置0MOV R3,#0EEE: MOVC A,@ A+DPTR ;查表MOV P2,ASETB P1.4 ;显示万位ACALL DELAY ;延时CLR P1.4RETIT1:MOV A,R0 ;等待中断时调用MOVC A, @A+DPTRMOV P2,ASETB P1.0ACALL DELAYCLR P1.0MOV A,R1MOVC A,@A+DPTRMOV P2,ASETB P1.1ACALL DELAYCLR P1.1MOV A,R2MOV A,@A+DPTRMOV P2,ASETB P1.2ACALL DELAYCLR P1.2MOV A,R3MOVC A,@A+DPTRMOV P2,ASETB P1.3ACALL DELAYCLR P1.3MOV A,R4MOVC A,@A+DPTRMOV P2,ASETB P1.4ACALL DELAYCLR P1.4AJMP T1DELAY: MOV R7,#10DE1:MOV R6,#50DE2:DJNZ R6,DE2DJNZ R7,DE1RETTAB: DB 0C0H 0F9H 0A4H 0B0H 99H 92H 82H 0F8H 80H 90H 88H 83H0C6H 0A1H 86H 8EH2;0-50000计数器数码管显示仿真图3:温度报警器源程序DISPLAY0 EQU 71H ;EQU赋值命令DISPLAY1 EQU 72HDISPLAY2 EQU 73HADC EQU 74HST BIT P1.0 ;将P2.5地址赋值给STARTEOC BIT P1.1 ;将P2.6地址赋值给EOCOE BIT P1.2 ;将P2.7地址赋值给OEORG 00HSJMP STARTSTART:CLR P3 ;P3清零,为报警电路做准备MOV P1.2,#1 ;P2.7 给高电平,OE高电平有效MOV DISPLAY0,#0FFH ;给数码管赋初值MOV DISPLAY1,#0FFHMOV DISPLAY2,#0FFHMOV DPTR,#TABLE ;跳转至表格MOV TMOD,#02H ;工作方式二8-bit定时/计数(自动重装初值)MOV TH0,#0F5H ;定时计数器高八位付初值MOV TL0,#00HMOV IE,#82H ;EA=1,ET0=1 溢出中断位允许中断SETB TR0 ;启动定时器TR0 开始运行WAIT:CLR ST ;转换启动信号STARK清零SETB ST ;启动转换信号CLR STJNB EOC,$ ;EOC为转换结束线,高电平为转换结束;当EOC=0时转移到本指令首地址SETB OE ;输出转换得到的数据MOV ADC,P1 ;OE=1时将AD信号存入ADC中CLR OE ;输出数据线呈高阻态给第一个数码管的值MOV A,ADCMOV B,#51 ;DOUT=VIN*51为AD转换得出数据DIV AB ;DOUT/51为DISPLAY2值MOV DISPLAY2,A ;给第一个数码管的值报警程序MOV R0,#2SUBB A,R0JC LOOP1 ;如果A大于R0(大于2)则转移至LOOP1MOV P3,00H ;否则给第二,第三个数码管的值LOOP2:MOV A,BMOV B,#5DIV ABMOV DISPLAY1,A ;分别得到DISPLAY1 DISPLAY0的值MOV A,BMOV DISPLAY0,ALCALL DISPSJMP WAIT ;等待再次得到ADCRETI数码管点亮程序DISP:MOV A,DISPLAY0MOVC A,@A+DPTRCLR P1.6 ;位选第一个数码管低电平有效MOV P0,A ;点亮第一个数码管NOPNOPNOPNOPNOPNOPSETB P1.6 ;重新置一(动态扫描)MOV A,DISPLAY1MOVC A,@A+DPTRCLR P1.5MOV P0,A ;点亮第二个数码管NOPNOPNOPNOPNOPNOPSETB P1.5MOV A,DISPLAY2MOVC A,@A+DPTRCLR P1.4ORL A,#80H ;或指令点亮数码管点号MOV P0,A ;点亮第三个数管NOPNOPNOPNOPNOPNOPSETB P1.4RET表格TABLE:DB 3FH,06H,5BH,4FH,66HDB 6DH,7DH,07H,7FH,6FH点亮报警电路数码管LOOP1:MOV P3.1,#1LJMP LOOP2END温度报警器仿真图。

基于单片机的多路数字式温度采集测控报警系统设计

基于单片机的多路数字式温度采集测控报警系统设计

之后 初始化 两路D IB 0 S 82 以确认 器件 的存在 ;初 始化 完成之 后 ,将进 行温度 的采 样 ,并执 行 温度 比较 ,如 果温 度高 于系 统初 始 设置报 警 值 ,将进 行超 温语 音提 示 。主程 序循 环 过程 中不 断的 扫描 按键 ,如 果有 按键 触 发将 会调
度 ,若 有超 过 限值 ,则进行 语音播 报 处理 。
现 两路 温度 的 实时采 集 和显 示 ,且可 以设 置报 警温 度值 ,实现 超温 报警 功 能 。其 中温 度信 号 由智 能型 温度 传感 器 D 1B 0 S 82 采集 ,D IB 0 其 内部 直 S8 2在 接 完成AD / 转换 ,通过 单线 总线 ,输 出数 字信 号送 入单片 机进 行数据 处理 。
' T SLC . f II ON
v LEY 一蠢 ? 【 AL 高科技产品研发 l
Байду номын сангаас
基 于 单 片 机 的 多路 数 字 式 温 度 采 集 测 控 报 警 系 统设 计

(. I江西陶瓷工艺美术职业技术学院 江西
莹 邬
景德镇
华2 程志山1
3 30 ;2 景德镇陶瓷学院 300 . 江西 景德镇 330) 30 0
用键值 处理 函数
图 I 系统主 程序 流程 图
33 数 据采 集 流程 。D IB 0 单的硬 件 接 口是 以相 对 复杂 的接 口编 . S 82 简 程 为代价 。 由于D 1B 0 S82 通过 单 总线与外 部进 行通 讯 ,所 以其 通信功 能是 分 时完 成 的,它 与单 片机 的接 口协 议是 通过严 格 的时序 来实现 的 ,D IB 0 S 82数 据 的 写入 和 读 出 都 是 由主 控 MU 写特 定 的 时 间 片 来 完 成 的 。 系 统 对 C读 D IB 0 SS2 的各 种操 作 必须 按协 议 进行 。操 作协 议 为 :初始 化D IB 0( S8 2 发复

51单片机设计数字温度计(流程图+源码+实物图片)

51单片机设计数字温度计(流程图+源码+实物图片)

DS18B20获取温度程序流程图DS18B20的读字节,写字节,获取温度的程序流程图如图所示。

DS18B20初始化程序流程图DS18B20读字节程序流程图DS18B20写字节程序流程图DS18B20获取温度程序流程图图3-4 DS18B20程序流程图显示程序设计显示电路是由四位一体的数码管来实现的。

由于单片机的I/O 口有限,所以数码管采用动态扫描的方式来进行显示。

程序流程图如图所示。

图显示程序流程图按键程序设计按键是用来设定上下限报警温度的。

具体的程序流程图如图所示。

N图按键程序流程图附1 源程序代码/********************************************************************* 程序名; 基于DS18B20的测温系统* 功能:实时测量温度,超过上下限报警,报警温度可手动调整。

K1是用来* 进入上下限调节模式的,当按一下K1进入上限调节模式,再按一下进入下限* 调节模式。

在正常模式下,按一下K2进入查看上限温度模式,显示1s左右自动* 退出;按一下K3进入查看下限温度模式,显示1s左右自动退出;按一下K4消除* 按键音,再按一下启动按键音。

在调节上下限温度模式下,K2是实现加1功能,* K1是实现减1功能,K3是用来设定上下限温度正负的。

* 编程者:ZPZ* 编程时间:2009/10/2*********************************************************************/#include<AT89X52.h> //将AT89X52.h头文件包含到主程序#include<intrins.h> //将intrins.h头文件包含到主程序(调用其中的_nop_()空操作函数延时)#define uint unsigned int //变量类型宏定义,用uint表示无符号整形(16位)#define uchar unsigned char //变量类型宏定义,用uchar表示无符号字符型(8位)uchar max=0x00,min=0x00; //max是上限报警温度,min是下限报警温度bit s=0; //s是调整上下限温度时温度闪烁的标志位,s=0不显示200ms,s=1显示1s左右bit s1=0; //s1标志位用于上下限查看时的显示void display1(uint z); //声明display1()函数#include"ds18b20.h" //将ds18b20.h头文件包含到主程序#include"keyscan.h" //将keyscan.h头文件包含到主程序#include"display.h" //将display.h头文件包含到主程序/***********************主函数************************/void main(){beer=1; //关闭蜂鸣器led=1; //关闭LED灯timer1_init(0); //初始化定时器1(未启动定时器1)get_temperature(1); //首次启动DS18B20获取温度(DS18B20上点后自动将EEPROM中的上下限温度复制到TH和TL寄存器)while(1) //主循环{keyscan(); //按键扫描函数get_temperature(0); //获取温度函数keyscan(); //按键扫描函数display(temp,temp_d*0.625);//显示函数alarm(); //报警函数keyscan(); //按键扫描函数}}/********************************************************************* 程序名; __ds18b20_h__* 功能:DS18B20的c51编程头文件* 编程者:ZPZ* 编程时间:2009/10/2* 说明:用到的全局变量是:无符号字符型变量temp(测得的温度整数部分),temp_d* (测得的温度小数部分),标志位f(测量温度的标志位‘0’表示“正温度”‘1’表* 示“负温度”),标志位f_max(上限温度的标志位‘0’表示“正温度”、‘1’表* 示“负温度”),标志位f_min(下限温度的标志位‘0’表示“正温度”、‘1’表* 示“负温度”),标志位w(报警标志位‘1’启动报警‘0’关闭报警)。

数字温度计显示报警系统设计

数字温度计显示报警系统设计
训练计划项 目 ( 项 目编 号 :2 0 1 3 1 0 4 4 8 0 3 2 )。
图 4 程 序 主 系 统 流 程 图
4 . 结 论
作者 简介 :刘鹏 飞 ( 1 9 9 2 一) ,男,山东平原人
我 们通 过 对 车刀 测 量 目标 的 分析 , 确 静 态 调 试 中 ,对 系 统 硬 件 进 行 了初 步 调 试 , 只是 排 除 了一些 明显 的静 态 故障 。 系 统在 的硬 件故 障 主 要是 靠 联机 在线 仿 真 来 排 除 的 。 在 断 电 情 况 下 ,插 上 所 有 元 器 件 , 并把 在线 仿 真 器与 系 统相 连 ,打 开 系 统 电源 ,启动 在 线 仿真 器 后开 始在 线 仿 真 调 试 。 再 进 行 软 件 设 计 、 调 试 的 过 程 , 分 为 以 下几 步进 行 :第 一 步 ,建 立用 户 源程 序 。按 照 单 片机 汇 编程 序 所要 求 的格 式 、 语 法规 定 ,把 源 程序 输 入 到编 程 软件 中 , 并 保存 ;第二 步 , 在编 程 软件 中,对 输入 的源 程 序 进行 编 译 ,直 至 语法 错 误全 部 纠 正 为止 。如无 语 法错 误 ,则进 行 下一 个 步 骤 ;第 三 步 ,动 态在 线 调 试 。这 一步 是对 源 程序 进 行调 试 。必须 要 有在 线 仿真 器 配 合 ,才 能 对源 程 序进 行 调 试 ;第 四步 ,将 调 试 完 毕 的用 户 程 序 通 过 E P R O M 编程器, 固化 在E P R O M 中。从 实质 上讲 ,系统 软件 的 调 试 是对 软硬 件 的 综合 调 试 ,一 方面 要 排 除 软件 错 误 , 同时 进一 步 解决 硬件 部分 的 遗 留 故障 。对 系 统 硬软 件 的综 合 调试 是完 成 系统 功 能 的最 后 一步 调试 ,也就 是 系 统 功 能实 现 的调 试 。通 过 上两 大 块 的调 试 , 系 统 的一 些 明显 故 障 已经被 排 除 ,但 这还 不 能保 证 系统 在 使用 中就 能够 正常 工 作 , 实现 理 想 功能 ,所 以这 一 步 的调试 是 至 关 重要 的, 需要 十 分丰 富 的调 试 经验 ,要根 据 系统 实 现 的结 果 ,能够 仔 细 分辩 故 障部 位 ,这样才 能保证我 们调 试的准确 性 。 五 、总结 本 文 所 设 计 的 这 款 “数 字 温 度 计 显 示 系统 ”,从 构 思到 设 计功 能 上具 有 很 强
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

附录:源程序/****************************************************************** 程序名称:DS18B20温度测量、报警系统简要说明:DS18B20温度计,温度测量范围0~99.9摄氏度可设置上限报警温度、下限报警温度即高于上限值或者低于下限值时蜂鸣器报警默认上限报警温度为38℃、默认下限报警温度为5℃报警值可设置范围:最低上限报警值等于当前下限报警值最高下限报警值等于当前上限报警值将下限报警值调为0时为关闭下限报警功能******************************************************************/ #include <AT89X52.h>#include "DS18B20.h"#define uint unsigned int#define uchar unsigned char //宏定义#define SET P3_1 //定义调整键#define DEC P3_2 //定义减少键#define ADD P3_3 //定义增加键#define BEEP P3_7 //定义蜂鸣器bit shanshuo_st; //闪烁间隔标志bit beep_st; //蜂鸣器间隔标志sbit DIAN = P2^7; //小数点uchar x=0; //计数器signed char m; //温度值全局变量uchar n; //温度值全局变量uchar set_st=0; //状态标志signed char shangxian=38; //上限报警温度,默认值为38signed char xiaxian=5; //下限报警温度,默认值为5ucharcodeLEDData[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff}; /*****延时子程序*****/void Delay(uint num){while( --num );}/*****初始化定时器0*****/void InitTimer(void){TMOD=0x1;TH0=0x3c;TL0=0xb0; //50ms(晶振12M)}/*****定时器0中断服务程序*****/void timer0(void) interrupt 1{TH0=0x3c;TL0=0xb0;x++;}/*****外部中断0服务程序*****/void int0(void) interrupt 0{EX0=0; //关外部中断0if(DEC==0&&set_st==1){shangxian--;if(shangxian<xiaxian)shangxian=xiaxian;}else if(DEC==0&&set_st==2){xiaxian--;if(xiaxian<0)xiaxian=0;}}/*****外部中断1服务程序*****/void int1(void) interrupt 2{EX1=0; //关外部中断1if(ADD==0&&set_st==1){shangxian++;if(shangxian>99)shangxian=99;}else if(ADD==0&&set_st==2){xiaxian++;if(xiaxian>shangxian)xiaxian=shangxian;}}/*****读取温度*****/void check_wendu(void){uint a,b,c;c=ReadTemperature()-5; //获取温度值并减去DS18B20的温漂误差 a=c/100; //计算得到十位数字b=c/10-a*10; //计算得到个位数字m=c/10; //计算得到整数位n=c-a*100-b*10; //计算得到小数位if(m<0){m=0;n=0;} //设置温度显示上限if(m>99){m=99;n=9;} //设置温度显示上限}/*****显示开机初始化等待画面*****/ Disp_init(){P2 = 0xbf; //显示-P1 = 0xf7;Delay(200);P1 = 0xfb;Delay(200);P1 = 0xfd;Delay(200);P1 = 0xfe;Delay(200);P1 = 0xff; //关闭显示}/*****显示温度子程序*****/Disp_Temperature() //显示温度{P2 =0xc6; //显示CP1 = 0xf7;Delay(300);P2 =LEDData[n]; //显示个位P1 = 0xfb;Delay(300);P2 =LEDData[m%10]; //显示十位 DIAN = 0; //显示小数点P1 = 0xfd;Delay(300);P2 =LEDData[m/10]; //显示百位 P1 = 0xfe;Delay(300);P1 = 0xff; //关闭显示}/*****显示报警温度子程序*****/Disp_alarm(uchar baojing){P2 =0xc6; //显示CP1 = 0xf7;Delay(200);P2 =LEDData[baojing%10]; //显示十位P1 = 0xfb;Delay(200);P2 =LEDData[baojing/10]; //显示百位P1 = 0xfd;Delay(200);if(set_st==1)P2 =0x89;else if(set_st==2)P2 =0xc7; //上限H、下限L标示P1 = 0xfe;Delay(200);P1 = 0xff; //关闭显示}/*****报警子程序*****/void Alarm(){if(x>=10){beep_st=~beep_st;x=0;}if((m>=shangxian&&beep_st==1)||(m<xiaxian&&beep_st==1))BEEP=0; else BEEP=1;}/*****主函数*****/void main(void){uint z;InitTimer(); //初始化定时器EA=1; //全局中断开关TR0=1;ET0=1; //开启定时器0IT0=1;IT1=1;check_wendu();check_wendu();for(z=0;z<300;z++){Disp_init();}while(1){if(SET==0){Delay(2000);do{}while(SET==0);set_st++;x=0;shanshuo_st=1; if(set_st>2)set_st=0;}if(set_st==0){EX0=0; //关闭外部中断0 EX1=0; //关闭外部中断1 check_wendu();Disp_Temperature();Alarm(); //报警检测}else if(set_st==1){BEEP=1; //关闭蜂鸣器EX0=1; //开启外部中断0EX1=1; //开启外部中断1if(x>=10){shanshuo_st=~shanshuo_st;x=0;} if(shanshuo_st) {Disp_alarm(shangxian);} }else if(set_st==2){BEEP=1; //关闭蜂鸣器EX0=1; //开启外部中断0EX1=1; //开启外部中断1if(x>=10){shanshuo_st=~shanshuo_st;x=0;} if(shanshuo_st) {Disp_alarm(xiaxian);}}}}/*****END*****/DS18B20.h:#include <AT89X52.h>#define DQ P3_6 //定义DS18B20总线I/O /*****延时子程序*****/void Delay_DS18B20(int num){while(num--) ;}/*****初始化DS18B20*****/void Init_DS18B20(void){unsigned char x=0;DQ = 1; //DQ复位Delay_DS18B20(8); //稍做延时DQ = 0; //单片机将DQ拉低Delay_DS18B20(80); //精确延时,大于480usDQ = 1; //拉高总线Delay_DS18B20(14);x = DQ; //稍做延时后,如果x=0则初始化成功,x=1则初始化失败Delay_DS18B20(20);}/*****读一个字节*****/unsigned char ReadOneChar(void){unsigned char i=0;unsigned char dat = 0;for (i=8;i>0;i--){DQ = 0; // 给脉冲信号dat>>=1;DQ = 1; // 给脉冲信号if(DQ)dat|=0x80;Delay_DS18B20(4);}return(dat);}/*****写一个字节*****/void WriteOneChar(unsigned char dat){unsigned char i=0;for (i=8; i>0; i--){DQ = 0;DQ = dat&0x01;Delay_DS18B20(5);DQ = 1;dat>>=1;}}/*****读取温度*****/unsigned int ReadTemperature(void){unsigned char a=0;unsigned char b=0;unsigned int t=0;float tt=0;Init_DS18B20();WriteOneChar(0xCC); //跳过读序号列号的操作 WriteOneChar(0x44); //启动温度转换Init_DS18B20();WriteOneChar(0xCC); //跳过读序号列号的操作 WriteOneChar(0xBE); //读取温度寄存器a=ReadOneChar(); //读低8位b=ReadOneChar(); //读高8位t=b;t<<=8;t=t|a;tt=t*0.0625;t= tt*10+0.5; //放大10倍输出并四舍五入 return(t);}/*****END*****/。

相关文档
最新文档