供暖锅炉控制系统的设计_第1页
供暖锅炉控制系统的设计_第2页
供暖锅炉控制系统的设计_第3页
供暖锅炉控制系统的设计_第4页
供暖锅炉控制系统的设计_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科毕业设计(论文)摘要本系统是基于单片机的供暖锅炉控制,在设计中主要有水位检测、温度检测、压力检测、按键控制、水温控制、水位控制、循环控制、压力控制、显示部分、故障报警等几部分组成来实现供暖控制。主要用水位传感器检测水位,用数字温度传感器 DS18B20 来检测水温,用五个控制按键来实现 按健控制,用三位 LED 显示器来完成显示部分,用变频 器来控制循环泵的转速,用压力传感器检测锅炉内部压力。并且通过模数转换 把这些信号送入单片机中。把这些信号与单片机中内部设定的值相比,以判断单 片机是否需要进行相应的操作,即是否需要打开鼓风机,是否需要开启补水泵,是否需要加快循环泵的转 速等操作,从而 实现单片机自动控制的目的。本设计用 单片机控制易于实现锅炉供暖、而且有造价低、程序易于调试、一部分出现故障不会影响其他部分的工作、维修方便、等 优点。关键词: 单片机(AT89C51),传感器,水位 ,温度,循环,自动控制 本科毕业设计(论文)Based SCM design of heating boiler controlled syetemAbstract:The systemic design bases controller of CMS water heating of a boiler , it mostly makes up of measuring water level ,measuring a water temperature ,controlling a keys-press ,controlling a water temperature ,controlling water level ,controlling circulate ,controlling pressure ,showing a part ,giving an alarm order to realize heating controller ,the design adopts Single-Chip Microcomputer to control boiler heating .It mostly uses a temperature sensor DS18B20 to measure water temperature ,uses water level sensor to measure water level , uses a transducer to control cycle pumps rotate speed ,uses five keys-press to control key-press ,uses three light-emitting diodes display to finish a display parts ,uses a transducer to control rotate speed of cycle pump ,uses a press transducer to measure press in the boiler .It sends those signals to SCM through modulus ,and hold those signals to compare with enactment in the SCM to judge whether SCM need to carry through relevant operation namely ,whether it needs to open a fan ,whether it needs to turn on a water pump ,whether it needs to quicken rotate speed of a cycle pump and so on .Consequently ,it finishes an aim of SCM auto-controller .The design makes use of the SCM to control boiler which is easy to realize boiler heating ,it is cheap to manufacture ,it is easy to debug its procedure .When a part is in trouble ,it does not infect others and it is convenience to mend ,it is widely to use many of areas.Keywords: Single-Chip Microcomputer, transducer ,water level ,water temperature , Auto-control本科毕业设计(论文)目录1、 绪论 .52、系统总体方案 .52.1、系统框图 .52.2、系统具体实现方案 .53、系统硬件设计 .63.1、单片机的配置 .63.2、温度传感器 .63.3、显示部分 .83.4、变频器 .83.5、水位传感器 .83.6、A/D 转换 器 .94、系统的具体设计与实现 .94.1、系统的总体原理图 .94.2、单片机控制系统的流程图 .94.3、电源电路 .104.4、温度控制系统 .114.5、循环泵控制部分 .124.6、水位控制系统 .124.7、压力控制系统 .134.8、键盘部分 .13本科毕业设计(论文)4.9、驱动部分电路 .134.10、显示部分电路 .144.11、自动报警电路 .144.12、单片机标志及按键功能 .155、 结束语 .15参考文献 .15附页 .16本科毕业设计(论文)1 绪论传统的控制方式不能进行远距离的集中控制,自动化程度低,调节精度差等缺点,且单靠人工操作已不能适应,控制系 统改造的必要性随着科学技术的不断进步,被控对象越来越复杂,人们对控制精度的要求不断提高。由于被控对象和过程的非线性、时变性 ,多参数间的强耦合、随机干扰等因素,使得建立被控对象的精确数学模型变得很困难。在这些复杂的系统面前,传统的控制方法无法满足控制精度,而且系统稳定性差等缺点。使用单片机实现供暖锅炉温度控制,具有较高的实用价值和优越性等特点。采用低功耗数字温度传感器进行温度测控,可大大简化设计方案,系统性能也更稳定;采用光电测控水位,可有效保证水位的自动控制,保证水质无污染,能更好地对锅炉进行自动化控制;单片机不仅有体积小,安装方便,功能较齐全等优点,而且有很高的性价比,应用前景广,同 时有助于 发现可能存在的故障,通过微机实现燃烧与给水系统的自动控制与调节,将保证锅炉正常供气供暖,维持稳定系统,保证安全经济 运行。2 系统总体方案2.1 系统框图本系统主要有水位检测、温度检测、按 键控制、水温控制、水位控制、循环控制、显示部分、故障报警等几部分组成来实现供暖控制,系统框图如图 1 所示。2.2 系统具体实现方案本系统采用单片机模块化来完成程序设计使程序易于编写、调试和修改;便于分工,从而可同时调试 多个程序;程序可读性好;程序可 进行局部修改,其他部分保持不变。这里采用 51 系列单片机 AT89C51 控制 锅炉供暖,系统采用手动和自动两种。主要是单 片机自动控制, 设置有手 动/ 自动切换。包括温度控制、补水 泵控制、循环泵控制、故障报警。单片机控制中心按键调节部分温度检测部分水位检测部分故障报警部分温度控制部分补水控制部分循环控制部分显示部分图 1 系统框图本科毕业设计(论文)在温度控制部分,用数字温度传感器的值送入单片机与单片机内部设定值进行比较。在当温度低于给 定温度 1 时,蒸汽 阀打开 给水加热;当温度低于给定温度 2 时,系统报警。在补水部分,用水位传感器来检测水位,当 锅炉汽包水位低于规定的最低水位时系统发出报警,指示灯亮,继电器线圈得电, 电磁阀打开,水泵开始注水;炉内的水位到达或超过规定的最高水位时系统发出报警,指示灯亮,线圈失电,电磁阀闭合,停止注水。故障报警部分,当 发生故障 时指示灯亮,报警零响。在循环控制部分当水温值在设定值内,则开启循环泵。当循环泵 1 出现故障时,报 警系统报警,单片机接收到信号, 备用的循 环泵 2 开始代替循环泵 1 工作。在故障报警部分,当温度控制部分、补水泵部分、循环泵部分出现故障时,报警系统报警。而且报警系 统设置的是声光报警,使维修人员容易区分哪部分出现了问题,以便及时维修。 3 系统硬件设计本系统从经济性,电路结构,系统性能等多方面考虑。 选用如下元器件,数字温度传感器 DS18B20,单片机 AT89C51,数码管 显示,变频器,光敏三极管3DU。3.1 单片机的配置本系统选用 ATMEL89C51 系列单片机,由于它的模块化设计为适应具体的应用提供了极大的灵活性,便于扩展功能,有效的提高了系统的经济性。AT89C51 是一种低工耗、高性能的片内含有 4KB 快闪可编程/ 擦除只读存储器的八位 CMOS 微控制器,使用高密度、非易失存储编程器对程序存储器重复编程。AT89C51 具有以下特点:*与 MCS-51 微控制器产品系列兼容。*片内有 4KB 可在线重复编程的快闪擦写存储器。*32 条可编程 I/O 线。*程序存储器具有三级加密保护。*可编程全全双工串行通道。*空闲状态维持低功耗和掉电状态保存存储内容。*而且与 87C51 系列的引脚也完全兼容。3.2 温度传感器本系统采用的是美国 DALLAS 半导体公司最新推出的一种改进型智能温度传感器 DS18B20,与传统的热敏电阻等测温元件相比,它能直接读出被测度数,本科毕业设计(论文)并且可根据实际要求通过简单的编程实现 9-12 位的数字值读数方式。读出温度流程图如图 2 所示。DS18B20 的性能特点:*独特的单线接口仅需一个端口引脚进行通信;*多个 DS18B20 可以并联在唯一的三线上,实现多点组网功能;*无须外部器件;*可通过数据线供电,电压范围为3.0-5.5V;*零待机功耗;*温度以 9 或 12 位数字量读出;*用户还可定义的非易失性温度报警设置;*报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;*负电压特性,电源极性接反时,温度计不会因为发热而烧毁,但不能正常工作。DSl8B20 的引脚如图 3 所示。此外 DSl8B20 数字温度计提供 9 位(二进制) 温度 读数,指示器件的温度。信息经过单线接口送入 DSl8B20 或从 DSl8B20 送出,因此从主机 CPU 到 DSl8B20 仅需一条线(和地线)。DSl8B20 的电源可以由数据 线本身提供而不需要外部电源。因为每一个 DSl8B20 在出厂时已经给定了唯一的序号,因此任意多个 DSl8B20 可以存放在同一条单线总线上。这 允许在许多不同的地方放置温度敏感器件。DSl8B20 的测量范围从-55 摄氏度到+125 摄氏度,增量值为 0.5 摄氏度,可在 ls(典型 值)内把温度变换成数字。每一个 DSl8B20 包括一个唯一的 64 位长的序号,该 序号值存放在 DSl8B20 内部的 ROM(只读存贮器)中。开始 8 位是产品类型编(DSl8B20 编码均为 10H)。接着的 48 位是每个器件唯一的序号。最后 8 位是前面 56 位的 CRC(循环冗余校 验)码。DSl8B20 中还有用于存储测得的温度值的两个 8 位存贮器 RAM,编号为 0 号和 1 号。 1 号存贮器存放图 3DS18B20 引角 图发 DS18B20 复位命令发跳过 ROM 命令发读取温度命令读取操作,CRC 校验9 字节完?CRC 校 验正确?移入温度暂存器结束NNYY图 2 读温度子程序本科毕业设计(论文)温度值的符号,如果温度为负(摄氏度),则 1 号存贮器 8 位全为 1,否则全为 0。0号存贮器用于存放温度值的补码,LSB( 最低位) 的 1 表示 0.5 摄氏度。将存贮器中的二进制数求补再转换成十进制数并除以 2 就得到被测温度值(-55 摄氏度-125摄氏度)。 每只 D518B20 都可以 设置成两种供电方式,即数据总线供电方式和外部供电方式。采取数据总线供电方式可以节省一根导线,但完成温度测量的时间较长,采取外部供电方式则多用一根导线,但 测量速度较快 。3.3 显示部分在单片机系统中,通常用 LED 数码显示模块来显示各种数字或符号。由于它具有显示清晰、亮度高、使用电压低、光电转换效能高、寿命长的特点,因此使用非常广泛。3.4 变频器在本系统中我们选用 ABB 公司的 ACS600 变频器。ACS600 变频器具有很宽的功率范围(2.23000kw)可以满足本设计的要求 75kw 和 3kw,优良的速度控制和转矩控制,并具有完整的保护功能以及灵活的编程能力。其重要特性如下:* 无与伦比的电机速度及转矩控制,电机辨识运行及速度自我微调功能。* 内置 PID 控制器,降低了您的投资成本。* 工具软件对传动的全方位支持,ACS 600 SingleDrive 能在几毫秒内测出电机的实际转速和状态,所以在任何状态下都能立即起动,无起动延时。* 零转速下,不需速度反馈就能提供电机满转矩。* ACS 600 SingleDrive 能够提供可控且平稳的最大起 动转矩,可达到 200%的额定转矩。* 不需特殊硬件的磁通制动模式可以提供最大的制动力矩。* 在磁通优化模式下,电机磁通自动适应于不同的负载以提高效率同时降低电机的噪音,变频器和电机的总效率可提高 1%-10%。* DTC 直接转矩控制,从零速开始不使用电机轴上的脉冲码盘反馈就可以实现电机速度和转矩的精确控制。* 开环转矩阶跃上升时间小于 5 毫秒,而不带速度传感器的磁通矢量控制变频器的开环转矩阶跃上升时间却多于 100 毫秒。3.5 水位传感器用光敏三极管 3DU 来检测水位。3.6 A/D 转换器本科毕业设计(论文)采用常见的 ADC0809。ADC0809 是带有 8 位 A/D 转换器、8 路多路开关以及与微型计算机兼容的控制逻辑的 CMOS 组件,其转换方法为逐次逼近型。在A/D 转换器内部含有一个高阻抗斩波稳定比较器,一个带有模拟开关树组的 256电阻分压器,以及一个逐次逼近型寄存器。8 路的模 拟开关由地址锁存器和译码器控制,可以在 8 个通道中任意访问一个通道的模拟信号。由于多路开关的地址输入部分能够进行锁存和译码,而且三态 TTL 输出也可以 锁存,所以它易于与微型计算机接口直接相连。 4 系统的具体设计与实现4.1 系统的总体原理图系统的总体原理图如图 4 所示。4.2 单片机控制系统的流程图单片机控制系统模拟量处理子程序、温度控制部分子程序、循环系统控制子程序、补 水泵选择子程序、故障诊断与报警处理。它的流程图如图 5 所示。状态及 PID 初始化模拟量处理子程序温度控制部分子程序循环系统控制子程序补水泵选择子程序故障诊断与报警处理图5控制流程图开始本科毕业设计(论文)EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10U1at89c51jz12MC133pC233p 10kR4 C310uFR54.7KFWEISW-PBk4SW-PBk3SW-PBk2SW-PBvcc123WDCGQCON4vccvccD1 D2 D3R11k R21k R31kRXD TXDk1SW-PBR810k1 2 3 4 5shuiwei1 2 3 4 5yali Q2 Q3R1010kR910kLS1d4DIODE d5DIODEQ1NPN123shuiCON7123yali CON7vcc123456SwcgqCON5R54.7K123WDCGQCON2vccR54.7K123WDCGQCON3vccR54.7K123WDCGQCON1vccR54.7K1 2 3WDCGQCON3vcc图 4 系统原理图4.3 电源电路本科毕业设计(论文)系统工作电压为 6V,电流 1A。采用原 边交流 220V,副边 12V 的变压器,经桥式整流,1000UF 电容滤 波,7806 稳压,可使电源 满足求。其原理图如图 6 所示。BC191000U/25VC201000U/25V1234IN4007C210.017806IC5MAX496220V6V图 6 电源原理图4.4 温度控制系统传感器是“能感受 规定的被 测量并按照一定的规律转换成可用输出信号的器件或装置” ,它通常由敏感元件和转换元件组成。温度 传感器DS18B20 将检测到的温度数据由单片机的 P1.8 口送入。由 单 片机AT89C51 进行运算,换算出 测量温度,即水温。它与设定温度相比较,从而控制继电器的通断即(控制蒸汽电磁阀的通断)及报警系统的开闭。当水温高于设定温度时蒸汽阀关,水温刚低于设定温度时,蒸汽 阀并不会立即导通,只有当水温底于 设定温度1 时,蒸汽 阀才会导通,给水加热。若水温继续下降,低于设定温度 2 时,报警系统报警。温度控制部分。将检测到的温度送到P1.5、P1.6、P1.7 分别为室外温度、出水温度、回水温度。它们与设定温度检测温度在设定值 1?开蒸汽阀检测温度在设定值 2?故障报警NYNY图 8 温度控制流程图)开始返回本科毕业设计(论文)相比较,从而控制继电器的通断即(控制蒸汽电磁阀的通断)及报警系统的开闭。系统框图如 8 所示。4.5 循环泵控制部分本系统用两台循环,一台工作一台备用。 循环泵部分的子程序部分当出水温度和回水温度在规定范围之内,开启循环泵 1,有 变频 器控制。使 锅炉内水循环达到供暖。当循环泵 1 出现 故障时,用 备用的循环泵 2。循 环泵 1 出现故障即是出水温度与回水温度的差值非常大即设定的最大温差时,循环泵故障报警,改用循环泵 2 来替代循环泵 1 工作。被替代的泵在循环顺序中可以自动跳过,顺沿循环. 在循环泵投入或切除的转换过程中需要 PLC 对变频器的运行参数进行控制,同时为了增加系统的稳定性,避免频繁投切循环泵,在转换过程中要有一段时间间隙。温差 为给定停止循环泵 。循 环框图如图 9 所示。4.6 水位控制系统图 9 循环控制流程图 循环泵有故障吗?温差为设定值吗?开启循环泵1温度检测YNN循环泵 2 工作Y开始返回本科毕业设计(论文)水位检测是通过四对高亮二极管和光敏三极管分别安装在四个不同的位置,由上至下四个输 出端口分别接单片机的 P1.0、P1.1、P1.2、P1.3口,实时对锅 炉里的水位进 行检测 。当水位到达某一光敏三极管的位置时,其输 出端口就向单片机 输出高 电平;当水位低于此光敏三极管的位置时,其输 出端口就向单片机 输出低 电平。由上至下的第一个位置为水位上限 报警线,即当水位高于此位置时,开水房控制系统就会自动报警,提醒工作人 员注意,加水电 磁阀有可能出故障;第二个位置是自动停止加水线,即当水位高于此位置 时,控制系统会自动关闭加水电磁阀,停止加水;第三个位置是自动加水线,即当水位低于此位置时,控制系 统会自动接通加水电磁阀,开水加水;第四个位置是水位下限 报警线,即当水位低于此位置时,开水房控制系统就会自 动报警,提醒工作人 员注意,加水 电磁阀可能出故障。当一台补水泵出现故障 时 ,系 统报警,另一台 备用的 补水泵开始工作。3DU实用电路图如图 10 所示。水位控制流程框 图如图 11 所示。图 10 实用电路图补水泵 1 有故障吗?水位下限水位吗?开启补水泵 1 进行补水水位检测YNN补水泵 2 工作Y开始返回检测水位为上限水位吗?补水泵 1 停止补水YN检测水位为上限水位吗?补水泵 2 停止补水YN图 11 水位控制流程图故障报警本科毕业设计(论文)4.7 压力控制系统 当压力传感器检测到的压力值比单片机内部设定的压力值大时,停止补水系统和关闭鼓风机。4.8 键盘部分它由 3 个常开按键构成,直接与单片机 I/O 口相连,另一端与地相接。当按键闭合时, 单片机与之相连 的端口变为低电平。 6 个按 键从左到右分别与单片机 AT89C51 的 P0.0、P0.1、P0.2、P0.3 相连。下面分别介绍这 3 个键的功能。P0.0 为功能键 ,第一次按下 P0.0 键时,取消报警,同 时允许温度上限调节; 第二次按下 P0.0 键时 ,为确定。当 P0.0 键第一次按下,此时,每按动一次 P0.1 键,温度值加一,温度最大上限 值为 99 摄氏度;每按动 一次 P0.2 键,温度 值减一,温度最小上限值为 80 摄氏度。当 P0.0 键再次按下时,P0.1、P0.2 调温功能被关闭。此时 ,按 P0.2 键,启动报 警功能。4.9 驱动部分电路继电器的驱动用 8550PNP 型三极管。因 AT89C51 上电复位时,P0,P1,P2,P3 口为高电平,此 时 PNP 型三极管基极接高电平,三极管截止,继电器处于断开状态,可使单 片机正常复位。在 PNP 型三极管发射极接二级管4007,可防止三极管断开瞬 间, 继电器电流不能突变 ,使三极管造成 损坏。4.10 显示部分电路由单片机 AT89C51 控制,移位寄存器 74LS164 和共阳 7 段 LED 组成。显示原理图如图 12 所示。本科毕业设计(论文)4.11 自动报警电路锅炉上限极限水位报警,炉内的水位到达上限极限水位时系统发出报警,指示灯亮。锅炉下限极限水位报警,炉内的水位到达下限极限水位时系统发出报警,指示灯亮。锅炉内压力过高报警,压力传感器检测到锅炉内压力高与设定值时发出报警后。循环泵故障报警,当循环泵开启后,出水与回水温度的差值很大, 认为循环泵故障, 报警系统报警。此部分采用声光报警以便很容易区分哪部分出现问题,便于维修人员及时进行维修。根据报警铃和灯的不同确定哪部分出现问题。A1B2Q03Q14Q25Q36Q410Q511Q612Q713CLK8MR9U174ALS164A1B2Q03Q14Q25Q36Q410Q511Q612Q713CLK8MR9U274ALS164A1B2Q03Q14Q25Q36Q410Q511Q612Q713CLK8MR9U374ALS1641234xs1 1234xs2VCCa bfcgdeDPY1 2 4 5 6 7 9c d e dp b a f10gdpvcc3vcc8DS1a bfcgdeDPY1 2 4 5 6 7 9c d e dp b a f10gdpvcc3vcc8DS2a bfcgdeDPY1 2 4 5 6 7 9c d e dp b a f10gdpvcc3vcc8DS3vccvccvccTXDTXDD1DIODED2DIODED3DIODE图(12)4.12 单片机标志及按键功能20H.0 为水温故障标志,1 时有效报警。 20H.1 为水位故障 标志, 1 时有效报警。20H.2 为 水位故障标志,1 时有效报警。20H.3 为报 警取消标志,1 时有效取消报警。按 P3.2 键,20H.3 置 1。设置温度确定后,按 P3.4 键,20H.4 清 0。水位高出上限 20H.1 置 1,水位低于下限 20H.1 置 1。水位 检测 系统故障 20H.2 置 1。单片机程序见附页。5 结束语本科毕业设计(论文)本系统介绍了单片机在水暖锅炉中的应用,采用数字温度传感器、光敏三极管、压力 传感器使硬件系统 大为简化。系 统精度高,具有良好的人机交互功能。并设有超温、超水位、循环泵失灵等故障报警,有问题 立即就能发现。通过自动调节控制温度并实现锅炉内温度和水位的自动控制。保护温度控制在设定值上正常运行不需要人工干预,操作人员劳动强度小。参考文献1 谢自美,电子线路设计实验测试J.华中科技大学出版社,2003,2 2 杨国志,王立峰, 杨东光,王辉林等. 实用电子制作实例M.福建科学技术出版社,20003 金伟正.单线 数字温度传感器的原理及用M.电子工业出版社,20004 王永平,陈 建华.基于 S7200PLC 的高性能电热锅 炉控制系统J.仪表技术与传感器,2002,75 潘新民,王艳芳。微型计算机控制技术M.高等教育出版社,2002 6 谈振藩.自 动控制专业英语M.哈尔滨工程大学出版社, 19997杨 智,明丽 萍.21 世纪 燃气锅炉在中国的发展前景J. 锅炉制造,2001,78袁希光等. 传感器技术手册M.北京国防工业出版社,19869 张洪润,张亚凡。传感技术与应用教程M.清华 大学出版社,200510 松井邦彦 日著, 梁瑞林译。传感器实用电路设计一制作M科学出版社,200511 李光飞,楼然苗.单片机课程设计实例指导M.北京航空航天大学出版社,200412 李明,徐向东.用容错技术提高锅炉控制系统的可靠性J清华大学学报 1999,1013 吴春旺,陈霞。锅炉汽包水位调节控制系统设计J. 电工技术,2006.314 刘星平。基于 PLC 及其网络的智能炉温控制系统J. 电气应用,2006.3本科毕业设计(论文)附页单片机源程序ORG 0000HAJMP MAINORG 0003hAJMP MAINORG 000bhAJMP MAINORG 0013hAJMP MAINORG 001bhAJMP MAINORG 0023H AJMP MAINORG 0030HMAIN: CLR p3.6MOV p0,#0ffhACALL QL;MOV 3BH ,#95MAIN1: MOV 3bh,#95ACALL WENDU ;温度转换子程序ACALL DISPACALL WENCPM ;温度比较子程序ACALL SHUICPM ;水位检测子程序ACALL BAOJING ;报警子程序ACALL DELAY2AJMP MAIN1; WENCPM: MOV A,37H ;温度比较子程序CLR CSUBB A,3BHJC BBB1SETB P2.1 ;关蒸气阀CLR 20H.0ACALL ok2 BBB1: MOV A,37H本科毕业设计(论文)ADD A,#10CLR CSUBB A,3BHJNC OK2;CLR P2.1;低与设定温度 10 度开蒸汽阀MOV A,37HADD A,#20CLR CSUBB A,3BHJNC OK2CLR P2.1;低与设定温度 20 度开蒸汽阀SETB 20H.0RETok2: CLR 20H.0RET;水位检测子程序SHUICPM:MOV A,P1ANL A,#0FHMOV 30H,#0FH ;00001111CJNE A,30H,AAA1SETB P2.0SETB 20H.1 ;setb 水位状态标志位AJMP OUT2AAA1: MOV 30H,#0EH ;00001110CJNE A,30H,AAA2SETB P2.0CLR 20H.1AJMP OUT2AAA2: MOV 30H,#0CH ;00001100CJNE A,30H,AAA3CLR 20H.1CLR p2.0AJMP OUT2AAA3: MOV 30H,#08H ;00001000CJNE A,30H,AAA4本科毕业设计(论文)CLR P2.0CLR 20H.1AJMP OUT2;70AAA4: MOV 30H,#00H ;00000000CJNE A,30H,AAA5setb P2.0SETB 20H.1AJMP OUT2AAA5: SETB 20H.2RETOUT2: CLR 20H.2RETBAOJING: JB 20H.3,OUT6MOV A,20HMOV 30H,#00HCJNE A,30H,OUT5AJMP OUT6OUT5: SETB P3.6JB 20H.4,OUT9SETB P0.1OUT10: JB 20H.2,OUT11SETB P0.2OUT12: JB 20H.1,OUT13SETB P0.3OUT14: JB 20H.0,OUT15SETB P0.4OUT16: RETOUT6: CLR P3.6RET OUT9: CLR P0.1AJMP OUT10 OUT11: CLR P0.2AJMP OUT12 OUT13: CLR P0.3AJMP OUT14 本科毕业设计(论文)OUT15: CLR P0.4AJMP OUT16 ;总温度子程序WENDU: ACALL INIT_1820ACALL RE_CONFIGACALL GET_TEMPERACALL TEMPER_COVRET; DS18B20 初始化程序INIT_1820:SETB P1.7NOPCLR P1.7MOV R0,#06BHMOV R1,#03HTSR1:DJNZ R0,TSR1 ; 延时MOV R0,#6BHDJNZ R1,TSR1SETB P1.7NOPNOPNOPMOV R0,#25HTSR2:JNB P1.7,TSR3DJNZ R0,TSR2LJMP TSR4 ; 延时TSR3:CLR 20H.4 ; 清标志,表示 DSS18B20 存在LJMP TSR5TSR4:setb 20H.4 ; setb 标志位,表示 DSS18B20 不存在LJMP TSR7TSR5:本科毕业设计(论文)MOV R0,#06BHMOV R1,#03HTSR6:DJNZ R0,TSR6 ; 延时MOV R0,#6BHDJNZ R1,TSR6TSR7:SETB P1.7RET; 重新写 DS18B20 暂存存 储器设定值RE_CONFIG:JNB 20H.4,RE_CONFIG1 ; 若 DS18B20 存在,转 RE_CONFIG1RETRE_CONFIG1:MOV A,#0CCH ; 发 SKIP ROM 命令LCALL WRITE_1820MOV A,#4EH ; 发写暂存存储器命令LCALL WRITE_1820MOV A,#00H ; TH(报警上限)中写入 00HLCALL WRITE_1820MOV A,#00H ; TL(报警下限)中写入 00HLCALL WRITE_1820MOV A,#1FH ; 选择 9 位温度分辨率LCALL WRITE_1820RET; 读出转换后的温度值GET_TEMPER:SETB P1.7 ; 定时入口LCALL INIT_1820JNB 20H.4,TSS2RET ; 若 DS18B20 不存在 则返回TSS2:MOV A,#0CCH ; 跳过 ROM 匹配LCALL WRITE_1820MOV A,#44H ; 发出温度转换命令本科毕业设计(论文)LCALL WRITE_1820LCALL INIT_1820MOV A,#0CCH ; 跳过 ROM 匹配LCALL WRITE_1820MOV A,#0BEH ; 发出读温度命令LCALL WRITE_1820LCALL READ_18200MOV 37H,A ; 将读出的温度数据保存MOV A,#0ECHCALL WRITE_1820RET; 读 DS18B20 的程序,从 DS18B20 中读出一个字节的数据READ_1820:MOV R2,#8RE1:CLR CSETB P1.7NOPNOPCLR P1.7NOPNOPNOPSETB P1.7NOPMOV C,P1.7NOPNOPNOPNOPMOV R3,#23DJNZ R3,$RRC ADJNZ R2,RE1RET本科毕业设计(论文); 写 DS18B20 的程序WRITE_1820:MOV R2,#8CLR CWR1:CLR P1.7NOPNOPNOPNOP RRC AMOV P1.7,CMOV R3,#35DJNZ R3,$SETB P1.7NOPDJNZ R2,WR1SETB P1.7RET; 读 DS18B20 的程序,从 DS18B20 中读出两个字节的温度数据READ_18200:MOV R4,#2 ; 将温度高位和低位从 DS18B20 中读 出MOV R1,#36H ; 低位存入 36H(TEMPER_L),高位存入35H(TEMPER_H)RE00:MOV R2,#8RE01:CLR CSETB P1.7NOPNOPCLR P1.7NOPNOPNOP本科毕业设计(论文)SETB P1.7NOPNOPMOV C,P1.7MOV R3,#35RE20:DJNZ R3,RE20RRC ADJNZ R2,RE01MOV R1,ADEC R1DJNZ R4,RE00RET; 将从 DS18B20 中读出的温度数据 进行转换TEMPER_COV:MOV A,#0F0HANL A,36H ; 舍去温度低位中小数点后的四位温度数值SWAP AMOV 37H,AMOV A,36HJNB ACC.3,TEMPER_COV1 ; 四舍五入去温度值INC 37HTEMPER_COV1:MOV A,35HANL A,#07HSWAP AADD,37HMOV 37H,A ; 保存变换后的温度数据LCALL BIN_BCDRET; 将 16 进制 37H 的温度数据转换成压缩 BCD 码放入 37H,38H,39H 中BIN_BCD:MOV A,37HMOV B,#10DIV AB本科毕业设计(论文)MOV 38H,BMOV B,#10DIV ABMOV 39H,BMOV 3AH,ARETDISPS: MOV SCON,#00H ;设定温度显示子程序MOV DPTR,#TABMOV A,3BHMOV B,#10DIV ABXCH A,BACALL SSMOV A,BACALL SSMOV A,#0FHACALL SSRETDISP: MOV SCON,#00H ;正常温度 显示子程序MOV DPTR,#TABMOV A,38HACALL SSMOV A,39HACALL SSMOV A,3AHMOV 40H,#00HCJNE A,40H,QQMOV DPTR,#TAB1ACALL SSRETQQ: ACALL SSRETDELAY2: MOV R6,#0fFHDL4: MOV R5,#0FAHDJNZ R5,$本科毕业设计(论文)DJNZ R6,DL4NOPRETQL: MOV A,#00HMOV 20H,A ;20H 为状态标志单 元MOV 30H,A ;30H 为数据缓存标MOV 35H,A ;35h-39h 单元为温度数据单元MOV 36H,AMOV 37H,AMOV 38H,AMOV 39H,AMOV 3AH,ARETSS: MOVC A,A+DPTR ;送数子程序MOV SBUF,AJNB TI,$CLR TIRETTAB: DB 88h,0ebh,4ch,49h,2bh,19h,18h,0cbh,08h,09hDB 80h,13h,44h,41h,23h,11h,10h,0c3h,00h,01hRETTAB1: DB 0FFHRETEND本科毕业设计(论文)Structure and function of the MCS-51 seriesStructure and function of the MCS-51 series one-chip co

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论