基于51单片机的家用电热水器的设计毕业设计(编辑修改稿)内容摘要:
体程序如下: while(temp!=0xf0) { delay(5)。 P3=0xfd。 temp=P3。 temp=tempamp。 0xf0。 while(temp!=0xf0) 上述程序是两个 while 循环之间的嵌套,第一个 while()语句判断有键按下后,延时一段时间再进行判断,如果第二次判断也认为由键按下,则可以确认的确由键盘操作,并不是抖动。 具体按下后的操作可以在后一个 while 循环中书写。 DS18B20 温度采集 DS18B20 技术 性能与应用范 围 8 图 DS18B20 的外形及管脚 图 DS18B20 是一种可组网数字温度传感器芯片,具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。 独特的单线接口方式, DS18B20 在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20 的双向通讯。 测温范围 - 55℃ ~+ 125℃ ,固有测温分辨率 ℃。 支持多点组网功能,多个 DS18B20 可以并联在唯一的三线上,最多只能并联 8 个,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定,实现多 点测温。 工作电源为 3~5V/DC。 在使用中不需要任何外围元件,测量结果以 9~12 位数字量方式串行传送。 不锈钢保护管直径 Φ6,适用于 DN15~25, DN40~DN250 各种介质工业管道和狭小空间设备测温,标准安装螺纹 M10X1, , G1/2”任选, PVC 电缆直接出线或德式球型接线盒出线 ,便于与其它电器设备连接。 负压特性:电源极性接反时,芯片不会因发热而烧毁, 但不能正常工作。 DS18B20 内部结构主要由四部分组成: 64 位光刻 ROM 、温度传感器、非挥发的温度报警触发器 TH 和 TL、配置寄 存器。 DS18B20 的外形及管脚排列见图 所示。 该产品适用于冷冻库,粮仓,储罐,电讯机房,电力机房,电缆线槽等测温和控制领域、轴瓦,缸体,纺机,空调,等狭小空间工业设备测温和控制、供热 /制冷管道热量计量,中央空调分户热能计量和工业领域测温和控制、汽车空调、冰箱、冷柜、以及中低温干燥箱等。 DS18B20 的初始化与读写操作 1. DS18B20 的初始化 ( 1) 先将数据线置高电平 “1”; ( 2) 延时(该时间要求的不是很严格,但是尽可能的短一点) ; ( 3) 数据线拉到低电平 “0”; ( 4) 延时 750 微秒(该时间的时间范围可以从 480 到 960 微秒) ; ( 5) 数据线拉到高电平 “1”; ( 6) 延时等待(如果初始化成功则在 15 到 60 毫秒时间之内产生一个由 DS18B20 所返回的低电平 “0”。 据该状态可以来确定它的存在,但是应注意不 能无限的进行等待,不然会使程序进入死循环,所以要进行超时控制) ; 9 ( 7) 若 CPU 读到了数据线上的低电平 “0”后,还要做延时,其延时的时间从发出的高电平算起(第( 5)步的时间算起)最少要 480 微秒 ; ( 8) 将数据线再次拉高到高电平 “1”后结束。 DS18B20 的的初始化见图 所示。 图 DS18B20 的 的初始化 2. DS18B20 的写操作 ( 1) 数据线先置低电平 “0”; ( 2) 延时确定的时间为 15 微秒 ; ( 3) 按从低位到高位的顺序发送字节(一次只发送一位) ; ( 4) 延时时间为 45 微秒 ; ( 5) 将数据线拉到高电平 ; ( 6) 重复上( 1)到( 6)的操作直到所有的字节全部发送完为止 ; ( 7) 最后将数据线拉高。 在这里要注意的是( 3),写数据时时 1bit 单独传送,这里有两种情况。 当需要传送 “1”时,单片机应该给 DS18B20 芯片的 DQ 接口赋低电平,大约 15 秒以后,将DQ 释放为高电平,延时约 45 微妙即可。 当需要传送 “0”时,单片机应该给 DS18B20 芯片的 DQ 接口赋低电平,并且持续拉低最少60 微妙,然后将 DQ 释放为高电平,再延时约 15 秒即可。 DS18B20 的写操作时序图见图 所示。 10 图 DS18B20 的写操作时序图 3. DS18B20 的读操作 ( 1)将数据线拉高 “1”; ( 2)延时 2 微秒 ; ( 3)将数据线拉低 “0”; ( 4)延时 15 微秒 ; ( 5)将数据线拉高 “1”; ( 6)延时 15 微秒 ; ( 7)读数据线的状态得到一个状态位,并进行数据处理 ; ( 8)延时 30 微秒 ; 这里只要按以上操作将状态位的各各 bit 按顺序储存好即可。 DS18B20 的读操作时序图见图 所示。 图 DS18B20 的 读 操作时序图 DS18B20 的指令与格式 DS18B20 温度格式图见图 所示。 11 图 DS18B20 温度格式图 这是 12 位转化后得到的 12 位数据,存储在 DS18B20 的两个 8 比特的 RAM 中,二 进制中的前面 5 位是符号位,如果测得的温度大于 0, 这 5 位为 0, 只要将测到的数值乘于 即可得到实际温度;如果温度小于 0,这 5 位为 1,测到的数值需要取反加 1 再乘于 即可得到实际 温度。 例如 +125℃ 的数字输出为 07D0H, +℃ 的数字输出为 0191H, ℃ 的数字输出为 FE6FH, 55℃ 的数字输出为 FC90H。 DS18B20 温度传感器的存储器 DS18B20 温度传感器的内部存储器包括一个高速暂存 RAM和一个非易失性的可电擦除的 EEPRAM,后者存放高温度和低温度 触发器 TH、 TL 和结构寄存器。 配置寄存器,该字节各位的意义见 表 所示。 表 配置寄 存 器 结 构 温度 数据输出(二进制) 数据输出(十六进制) +125℃ 0000 0111 1101 0000 07D0 +85℃ 0000 0101 0101 0000 0550 +℃ 0000 0001 1001 0001 0191 +℃ 0000 0000 1010 0010 00A2 +℃ 0000 0000 0000 1000 0008 0℃ 0000 0000 0000 0000 0000 ℃ 1111 1111 1111 1000 FFF8 ℃ 1111 1111 0101 1110 FF5E ℃ 1111 1110 0110 1111 FE6F 55℃ 1111 1100 1001 0000 FC90 高速暂存存储器由 9 个字节组成。 其分配见表 所示, 当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第 0 和第 1 个字节。 单片机可通过单线接口读到该数据,读取时低位在前,高位在后。 对应的温度计算:当符号位 S=0 时,直接将二进制位转换为十进制;当 S=1 时,先将补码变为原码,再计算十进制值。 第九个字节是冗余检验字节。 表 DS18B20 暂存寄存器分布 寄存器内容 字节地址 温度值低位 ( LS Byte) 0 温度值高位 ( MS Byte) 1 12 高温限值( TH) 2 低温限值( TL) 3 配置寄存器 4 保留 5 保留 6 保留 7 CRC 校验值 8 根据 DS18B20 的通讯协议,主机(单片机)控制 DS18B20 完成温度转换必须经过三个步骤:每一次读写之前 都要对 DS18B20 进行复位操作,复位成功后发送一条 ROM 指令,最后发送 RAM 指令,这样才能对 DS18B20 进行预定的操作。 复位要求主 CPU 将数据线下拉 500 微秒,然后释放,当 DS18B20 收到信号后等待 16~ 60 微秒左右,后发出 60~ 240 微秒的存在低脉冲,主 CPU 收到此信号表示复位成功。 ROM 指令表见表 所示, RAM 指令表见表 所示。 13 表 ROM 指令表 指 令 约定代码 功 能 读 ROM 33H 读 DS1820 温度传感器 ROM 中的编码(即 64 位地址) 符合 ROM 55H 发出此命 令之后,接着发出 64 位 ROM 编码,访问单总线上与该编码相对应的 DS1820 使之作出响应,为下一步对该 DS1820 的读写作准备。 搜索 ROM 0FOH 用于确定挂接在同一总线上 DS1820 的个数和识别 64 位 ROM 地址。 为操作各器件作好准备。 跳过 ROM 0CCH 忽略 64 位 ROM 地址,直接向 DS1820 发温度变换命令。 适用于单片工作。 警告搜索命令 0ECH 执行后只有温度超过设定值上限或下限的片子才做出响应。 表 RAM 指令表 指 令 约定代码 功 能 温度变换 44H 启动 DS1820 进行温度转换, 12 位转换时最长为 750ms( 9位为 )。 结果存入内部 9 字节 RAM 中。 读暂存器 0BEH 读内部 RAM 中 9 字节的内容 写暂存器 4EH 发出向内部 RAM 的 4 字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。 复制暂存器 48H 将 RAM 中第 3 、 4 字节的内容复制到 EEPROM 中。 重调 EEPROM 0B8H 将 EEPROM 中内容恢复到 RAM 中的第 3 、 4 字节。 读供电方式 0B4H 读 DS1820 的供电模式。 寄生 供电时 DS1820 发送 “ 0 ” ,外接电源供电 DS1820 发送 “ 1 ”。 DS18B20 寄生电源供电方式 14 DS18B20 测温系统具有测温系统简单、测温精度高、连接方便、占用口线少等优点。 下面就是 DS18B20 几个不同应用方式下的 测温电路图: DS18B20 寄生电源供电方式电路图 ,见图 所示,在寄生电源供电方式下, DS18B20从单线信号线上汲取能量:在信号线 DQ 处于高电平期间把能量储存在内部电容里,在信号线处于低电平期间消耗电容上的电能工作,直到高电平到来再给寄生电源(电容)充电。 独特的寄生电源方式有三个好处: 1. 进行远距离测温时,无需本地电源 ; 2. 可以在没有常规电源的条件下读取 ROM; 3. 电路更加简洁,仅用一根 I/O 口实现测温。 要想使 DS18B20 进行精确的温度转换, I/O 线必须保证在温度转换期间提供足够的能量,由于每个 DS18B20 在温度转换期间工作电流达到 1mA,当几个温度传感器挂在同一根 I/O 线上进行多点测温时,只靠 上拉电阻就无法提供足够的能量,会造成无法转换温度或温度误差极大。 因此, 这种 电路只适应于单一温度传感器测 温情况下使用,不适宜采用供电系统中。 并且工作电源 VCC 必须保证在 5V,当电源电压下降时,寄生电源能够汲取的能量也降低,会使温度误差变大。 图 DS18。基于51单片机的家用电热水器的设计毕业设计(编辑修改稿)
相关推荐
系列集成度高,速度快,功耗低,并增设了两种可以用软件进行选择的低功耗工作方式:空闲方式和掉电方式。 其最主要的技术特点是向外部接口电路扩展,以实现单片机完善的控制功能。 ( 1) 80C51 单片机 的主要性能包括: 片内有 4K 可在线重复编程闪速电擦除存储器 ,主电源引脚为 VCC 和 VSS, VCC 是电源端, 工作电源和编程校验 是 +5V。 6 VSS 是 接地端。 80C51
410AD 单片机,使得代码的编写和移植更为的方便。 具体的关于 MCU 单片机的详细内容请参考 章节的内容,此处不作详细介绍,电路原理图如下图 222 所示: 青岛农业大学海都学院 工程系 电气本科毕业设计 9 图 222 窗口叫号系统 MCU 电路 窗口 LED 显示屏电路 市面上已有的相关的产品的显示屏多采用 3 英寸点阵显示屏或 3 英寸数码管显示屏,各有利弊,点阵式显示屏可以显示汉字
3)、时序特性 表 项 目 符 号 测试条件 标 准 值 单位 MIN TYPE MAX 允许时间周期 TCYCE 1000 ns 允许脉冲宽度 ,高电平 PWEH 450 ns 允许上升和下降时间 tEr tEf 25 ns 地址建立时间 tAS 140 ns 数据延迟时间 tDDR 320 ns 数据建立时间 tDSW 195 ns 数据保持时间 tH 10 ns DATA HOLD
单片机的时序。 MCS51 单片机芯片内部有一个高增益反相放大器,用于构成震荡器, XTAL1 为该放大器的输入端, XTAL2 为该放大器输出端,但形成时钟电路还需附加其他电路。 本设计系统采用内部时钟方式,利用单片机内部的高增益反相放大器,外部电路简,只需要一个晶振和 2 个电容即可,如图 210 所示。 图 210 单片机时钟发生电路 电路中的器件选择可以通过计算和实验确定,
位(地址 8EH)可打开或关闭该功能。 DISRT0 位缺省为 RESET 输出高电平打开状态。 ALE/ PROG:当访问外部程序存储器或数据存储器时, ALE(地址锁存允许)输出脉冲用于锁存地址的低 8 位字节。 即使不访问外部存储器, ALE 仍以时钟振荡频率的 1/ 6 输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。 要注意的是:每当访问外部数据存储器时将跳过一个 ALE
R = 0。 //Close IAP function IAP_ADDRH = 0x80。 //Data ptr point to nonEEPROM area IAP_ADDRL = 0。 //Clear IAP address to prevent misuse } /* Read one byte from ISP/IAP/EEPROM area Input:addr