基于单片机的温度测量专业系统设计项目说明.doc
《基于单片机的温度测量专业系统设计项目说明.doc》由会员分享,可在线阅读,更多相关《基于单片机的温度测量专业系统设计项目说明.doc(47页珍藏版)》请在咨信网上搜索。
基于51单片机温度测量控制系统设计 摘 要 伴随科技不停进步,在工业生产中温度是常见被控参数,而采取单片机来对这些被控参数进行控制已成为当今主流。温度传感器DS18B20含有性能稳定、灵敏度高、抗干扰能力强、使用方便等优点,广泛应用于冰箱、空调器、粮仓等日常生活中温度测量和控制。本文采取51单片机来实现对温度测量和控制。它关键组成部分有:AT89S52单片机最小系统,DS18B20测温电路,按键电路、LCD1602显示电路,蜂鸣器报警电路。它能够实时地检测和显示温度,能够设定温度范围,实现对温度报警和自动控制。 关键词:温度;51单片机;DS18B20;测量和控制。 ABSTRACT Temperature sensor DS18B20 has a lot of advantages,such as stable performance,high sensitivity,strong anti-interference capability,convenience of use,etc. And it was widely used for the measurement and control of temperature in refrigerators, air conditioners, barn and other daily life in the measurement and control of temperature. In this article ,We used a single chip for realizing temperature measurement and alarm. It was mainly component of AT89S52 chip, DS18B20, keyboard and display circuit , temperature alarm and control circuit. It realize not only real-time detection and display temperature, but also setting the temperature range and the measurement and control of temperature. Key words: Temperature; 51 MCU; DS18B20; Measurement and control 目录 1 引言 1 1.1 温度测量控制系统设计背景、发展历史及意义 1 1.2 温度测量控制系统目标 1 1.3 温度测量控制系统完成功效 1 2 总体设计方案 2 2.1 方案一 2 2.2 方案二 2 3 DS18B20温度传感器介绍 7 3.1 温度传感器历史及介绍 7 3.2 DS18B20工作原理 7 3.2.1 DS18B20工作时序 7 3.2.2 ROM操作命令 8 3.3 DS18B20测温原理 9 3.3.1 DS18B20测温原理 9 3.3.2 DS18B20测温步骤 10 4 硬件电路设计 11 4.1 单片机最小系统设计 11 4.1.1时钟电路 11 4.1.2复位电路 12 4.1.3电源电路 12 4.2 测温电路设计 13 4.3 显示电路设计 13 4.4 键盘输入电路 14 4.5 蜂鸣器报警电路 14 5 系统软件设计 15 5.1 主程序模块 15 5.2 读温度值模块 16 5.3 中止模块 19 5.4 温度设定、报警模块 20 5.5 液晶显示模块 22 6 系统调试和测试 24 6.1硬件调试 24 6.2软件调试 24 6 总结 25 参考文件 26 附录1原理图 - 28 - 附录2程序代码 29 1 引言 1.1 温度测量控制系统设计背景、发展历史及意义 温度是生产过程和科学试验中普遍而且关键物理参数,伴随社会发展,科技进步,和测温仪器在各个领域应用,智能化已是现代温度控制系统发展主流方向。尤其是多年来,温度控制系统已应用到大家生活各个方面,但温度控制一直是一个未开发领域,却又是和大家息息相关一个实际问题。针对这种实际情况,设计一个温度控制系统,含有广泛应用前景和实际意义。 温度是一个关键物理量,它反应了物体冷热程度,和自然界中多种物理和化学过程相联络。在工、农业生产和日常生活中,各个步骤全部和温度紧密相联,温度正确监测及控制占据着极其关键地位。比如,发电厂锅炉温度必需控制在一定范围之内;很多化学反应工艺过程必需在合适温度下才能正常进行等。没有适宜温度环境,很多电子设备就不能正常工作,粮仓储粮就会变质霉烂,酒类品质就没有保障。可见,温度测量和控制是很关键。 伴随电子技术和微型计算机快速发展,单片机在电子产品中应用已经越来越广泛。利用单片机对温度进行控制技术也随之而生,并日益发展和完善,且越来越显示出它优越性。 1.2 温度测量控制系统目标 本设计内容是温度测试控制系统,控制对象是温度。温度控制在日常生活及工业领域应用相当广泛,比如温室、水池、发酵缸、电源等场所温度控制。而以往温度控制是由人工完成而且不够重视,其实在很多场所温度全部需要监控以预防发生意外。针对此问题,本系统设计目标是实现一个可连续高精度调温温度控制系统,它应用广泛,功效强大,小巧美观,便于携带,是一款既实用又廉价控制系统。 1.3 温度测量控制系统完成功效 本设计是对温度进行实时监测和控制,设计温度控制系统实现了基础温度控制功效:当温度低于设定下限温度时,蜂鸣器报警,同时红灯亮,模拟加热过程,使温度上升;当温度高于设定上限温度时,蜂鸣器报警,同时绿灯亮,模拟制冷过程,使温度下降;温度在上下限温度之间时,蜂鸣器和红绿灯不动作;LCD1602实时时显示温度,正确到小数点一位;经过独立按键能够设置温度控制范围。 2 总体设计方案 2.1 方案一 测温电路设计,能够使用热敏电阻之类器件利用其感温效应,在将随被测温度改变电压或电流采集过来,进行A/D转换后,就能够用单片机进行数据处理,在显示电路上,就能够将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。 2.2 方案二 考虑使用温度传感器,结合单片机电路设计,采取一只DS18B20温度传感器,直接读取被测温度值,以后进行转换,依次完成设计要求。 比较以上两种方案,很轻易看出,采取方案二,电路比较简单,软件设计轻易实现,故实际设计中拟采取方案二。 在本系统电路设计方框图图2.1所表示,它由五部分组成: AT89S52 单 片 机 DS18b20 温度测量电路 用户按键 LCD1602显示 蜂鸣器报警电路 图2-1 温度计电路总体设计方案 1. 控制部分 单片机AT89S52含有低电压供电和体积小等特点,它所含有资源能足够满足此次电路系统设计需要,而且很适合便携手持式产品设计使用。 2. 显示部分 显示电路采取LCD1602,第一行显示目前温度,第二行显示控制温度范围。 3. 用户按键 用户按键采取4位独立按键,能够对温度上下限进行设置。 4. 蜂鸣器报警电路 目前温度超出设定温度上下限时,蜂鸣器报警。 5. 温度测量电路 DS18B20温度传感器是美国DALLAS半导体企业最新推出一个改善型智能温度传感器,和传统热敏电阻等测温元件相比,它能直接读出被测温。这一部分关键完成对温度信号采集和转换工作,由DS18B20数字温度传感器及其和单片机接口部分组成。数字温度传感器DS18B20把采集到温度经过数据引脚传到单片机P1.4口。此部分只用到DS18B20和单片机,硬件很简单。 (1) DS18B20性能特点以下[9]: 1) 独特单线接口仅需要一个端口引脚进行通信; 2) 多个DS18B20能够并联在惟一三线上,实现多点组网功效; 3) 无须外部器件; 4) 可经过数据线供电,电压范围为3.0~5.5V; 5) 零待机功耗; 6) 温度以3位数字显示; 7) 用户可定义报警设置; 8) 报警搜索命令识别并标志超出程序限定温度(温度报警条件)器件; 9) 负电压特征,电源极性接反时,温度计不会因发烧而烧毁,但不能正常工作。 (2) DS18B20内部结构 DS18B20采取3脚PR-35封装,图1.2所表示;DS18B20内部结构,图3所表示。 图2-2 DS18B20封装 (3) DS18B20内部结构关键由四部分组成[5]: 1) 64位光刻ROM。开始8位是产品类型编号,接着是每个器件惟一序号,共有48位,最终8位是前56位CRC校验码,这也是多个DS18B20能够采取一线进行通信原因[10]。64位闪速ROM结构以下. 表2-1 ROM结构 8b检验CRC 48b序列号 8b工厂代码(10H) MSB LSB MSB LSB MSB LSB 图2-3 DS18B20内部结构 2) 非挥发温度报警触发器TH和TL,可经过软件写入用户报警上下限值。 3) 高速暂存存放,能够设置DS18B20温度转换精度。 DS18B20温度传感器内部存放器还包含一个高速暂存RAM和一个非易失性可电擦除E2PRAM。高速暂存RAM结构为8字节存放器,结构图1.3所表示。头2个字节包含测得温度信息,第3和第4字节TH和TL拷贝,是易失,每次上电复位时被刷新。第5个字节,为配置寄存器,它内容用于确定温度值数字转换分辨率。DS18B20工作时寄存器中分辨率转换为对应精度温度数值。它内部存放器结构和字节定义图1.3所表示。低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式。 表2-2 DS18B20内部存放器结构 Byte0 温度测量值LSB(50H) Byte1 温度测量值MSB(50H) E2PROM Byte2 TH高温寄存器 ß----à TH高温寄存器 Byte3 TL低温寄存器 ß----à TL 低温寄存器 Byte4 配位寄存器 ß----à 配位寄存器 Byte5 预留(FFH) Byte6 预留(0CH) Byte7 预留(IOH) Byte8 循环冗余码校验(CRC) 2) 非挥发温度报警触发器TH和TL,可经过软件写入用户报警上下限值。 3) 高速暂存存放,能够设置DS18B20温度转换精度。 DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换精度位数,来设置分辨率,图1.4。 图2-3 DS18B20字节定义 TM R1 R0 1 1 1 1 1 由表1.1可见,分辨率越高,所需要温度数据转换时间越长。所以,在实际应用中要将分辨率和转换时间权衡考虑。 高速暂存RAM第6、7、8字节保留未用,表现为全逻辑1。第9字节读出前面全部8字节CRC码,可用来检验数据,从而确保通信数据正确性。 当DS18B20接收到温度转换命令后,开始开启转换。转换完成后温度值就以16位带符号扩展二进制补码形式存放在高速暂存存放器第1、2字节。单片机能够经过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625℃/LSB形式表示。 当符号位S=0时,表示测得温度值为正值,能够直接将二进制位转换为十进制;当符号位S=1时,表示测得温度值为负值,要先将补码变成原码,再计算十进制数值。 表1.2是一部分温度值对应二进制温度数据[6]。 表2-4 DS18B20温度转换时间表 R1 R0 分辨率/位 温度最大转向时间/ms 0 0 9 93.75 0 1 10 187.5 1 0 11 375 1 1 12 750 表2-5 一部分温度对应值表 温度/℃ 二进制表示 十六进制表示 +125 0000 0111 1101 0000 07D0H +85 0000 0101 0101 0000 0550H +25.0625 0000 0001 1001 0000 0191H +10.125 0000 0000 1010 0001 00A2H +0.5 0000 0000 0000 0010 0008H 0 0000 0000 0000 1000 0000H -0.5 1111 1111 1111 0000 FFF8H 续表2-5 -10.125 1111 1111 0101 1110 FF5EH -25.0625 1111 1110 0110 1111 FE6FH -55 1111 1100 1001 0000 FC90H 4) CRC产生 在64 b ROM最高有效字节中存放有循环冗余校验码(CRC)。主机依据ROM前56位来计算CRC值,并和存入DS18B20中CRC值做比较,以判定主机收到ROM数据是否正确。另外,因为DS18B20单线通信功效是分时完成,它有严格时隙概念,所以读写时序很关键。系统对DS18B20多种操作按协议进行。操作协议为:初使化DS18B20(发复位脉冲)→发ROM功效命令→发存放器操作命令→处理数 3 DS18B20温度传感器介绍 3.1 温度传感器历史及介绍 温度测量是从金属(物质)热胀冷缩开始。水银温度计至今仍是多种温度测量计量标准。可是它缺点是只能近距离观察,而且水银有毒,玻璃管易碎。替换水银有酒精温度计和金属簧片温度计,它们即使没有毒性,但测量精度很低,只能作为一个概略指示。不过在居民住宅中使用已可满足要求。在工业生产和试验研究中为了配合远传仪表指示,出现了很多不一样温度检测方法,常见有电阻式、热电偶式、PN结型、辐射型、光纤式及石英谐振型等。它们全部是基于温度改变引发其物理参数(如电阻值,热电势等)改变原理。伴随大规模集成电路工艺提升,出现了多个集成数字化温度传感器。 3.2 DS18B20工作原理 3.2.1 DS18B20工作时序 依据DS18B20通讯协议,主机控制DS18B20完成温度转换必需经过三个步骤: 1. 每一次读写之前全部必需要对DS18B20进行复位; 2. 复位成功后发送一条ROM指令; 3. 最终发送RAM指令,这么才能对DS18B20进行预定操作。 复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等候15~60微秒左右后发出60~240微秒存在低脉冲,主CPU收到此信号表示复位成功。其工作时序包含初始化时序、写时序和读时序,具体工作方法图2.1,2.2,2.3所表示。 (1) 初始化时序 图3-1 初始化时序 总线上全部传输过程全部是以初始化开始,主机响应应答脉冲。应答脉冲使主机知道,总线上有从机设备,且准备就绪。主机输出低电平,保持低电平时间最少480us,以产生复位脉冲。接着主机释放总线,4.7KΩ上拉电阻将总线拉高,延时15~60us,并进入接收模式,以产生低电平应答脉冲,若为低电平,再延时480us[12]。 (2) 写时序 图3-2 写时序 写时序包含写0时序和写1时序。全部写时序最少需要60us,且在2次独立写时序之间最少需要1us恢复时间,全部是以总线拉低开始。写1时序,主机输出低电平,延时2us,然后释放总线,延时60us。写0时序,主机输出低电平,延时60us,然后释放总线,延时2us[8]。 (3) 读时序 图3-3 读时序 总线器件仅在主机发出读时序是,才向主机传输数据,所以,在主机发出读数据命令后,必需立即产生读时序,方便从机能够传输数据。全部读时序最少需要60us,且在2次独立读时序之间最少需要1us恢复时间。每个读时序全部由主机提议,最少拉低总线1us。主机在读时序期间必需释放总线,而且在时序起始后15us之内采样总线状态。主机输出低电平延时2us,然后主机转入输入模式延时12us,然后读取总线目前电平,然后延时50us[4] 3.2.2 ROM操作命令 当主机收到DSl8B20 响应信号后,便能够发出ROM 操作命令之一,这些命令如表2.2:ROM操作命令。 3.3 DS18B20测温原理 3.3.1 DS18B20测温原理 每一片DSl8B20在其ROM中全部存有其唯一48位序列号,在出厂前已写入片内ROM 中。主机在进入操作程序前必需用读ROM(33H)命令将该DSl8B20序列号读出。 程序能够先跳过ROM,开启全部DSl8B20进行温度变换,以后经过匹配ROM,再逐一地读回每个DSl8B20温度数据。 DS18B20测温原理图2.4所表示,图中低温度系数晶振振荡频率受温度影响很小,用于产生固定频率脉冲信号送给减法计数器1,高温度系数晶振随温度改变其震荡频率显著改变,所产生信号作为减法计数器2脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生时钟脉冲后进行计数,进而完成温度测量。计数门开启时间由高温度系数振荡器来决定,每次测量前,首先将-55 ℃所对应基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55 ℃所对应一个基数值。减法计数器1对低温度系数晶振产生脉冲信号进行减法计数,当减法计数器1预置值减到0时温度寄存器值将加1,减法计数器1预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值累加,此时温度寄存器中数值即为所测温度。图2.3中斜率累加器用于赔偿和修正测温过程中非线性,其输出用于修正减法计数器预置值,只要计数门仍未关闭就反复上述过程,直至温度寄存器值达成被测温度值. 表3-1 ROM操作命令 指令 约定代码 功 能 读ROM 33H 读DS18B20 ROM中编码 符合ROM 55H 发出此命令以后,接着发出64位ROM编码,访问单线总线上和该编码相对应DS18B20 使之作出响应,为下一步对该DS18B20读写作准备 搜索ROM 0F0H 用于确定挂接在同一总线上DS18B20个数和识别64位ROM地址,为操作各器件作好准备 跳过ROM 0CCH 忽略64位ROM地址,直接向DS18B20发温度变换命令,适适用于单片工作。 续表3-1 告警搜索 命 令 0ECH 实施后,只有温度超出设定值上限或下限片子才做出响应 温度变换 44H 开启DS18B20进行温度转换,转换时间最长为500MS,结果存入内部9字节RAM中 读暂存器 0BEH 读内部RAM中9字节内容 写暂存器 4EH 发出向内部RAM第3,4字节写上、下限温度数据命令,紧跟读命令以后,是传送两字节数据 复制暂存器 48H 将E2PRAM中第3,4字节内容复制到E2PRAM中 重调E2PRAM 0BBH 将E2PRAM中内容恢复到RAM中第3,4字节 读 供 电 方 式 0B4H 读DS18B20供电模式,寄生供电时DS18B20发送“0”,外接电源供电DS18B20发送“1” 另外,因为DS18B20单线通信功效是分时完成,她有严格时隙概念,所以读写时序很关键。系统对DS18B20多种操作必需按协议进行。操作协议为:初始化DS18B20(发复位脉冲)→发ROM功效命令→发存放器操作命令→处理数据。 减法计数器 斜坡累加器 减到0 减法计数器 预 置 低温度系数 振 荡 器 高温度系数 振 荡 器 计数比较器 预 置 温度寄存器 减到0 图3-4 测温原理内部装置 3.3.2 DS18B20测温步骤 初始化 DS18B20 跳过ROM 匹配 温度变换 延时1S 跳过ROM 匹配 读暂存器 转换成显示码 数码管显示 图3-5 DS18B20测温步骤 4 硬件电路设计 4.1 单片机最小系统设计 单片机最小应用系统,是指用最少原件组成单片机能够工作系统。对51系列单片机来说,最小系统应包含单片机、晶振电路、复位电路。下面介绍51单片机最小系统电路图。 图4.1 单片机最小系统 单片机最小系统是由电源、复位、时钟,下面介绍一下每一个组成部分。 4.1.1时钟电路 XTAL1是片内振荡器反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。内部方法时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。晶振频率能够在1MHz-24MHz内选择。电容取30PF左右。系统时钟电路设计是采取内部方法,即利用芯片内部振荡电路。AT89单片机内部有一个用于组成振荡器高增益反相放大器。引脚XTAL1和XTAL2分别是此放大器输入端和输出端。这个放大器和作为反馈元件片外晶体谐振器一起组成一个自激振荡器。外接晶体谐振器和电容C1和C2组成并联谐振电路,接在放大器反馈回路中。对外接电容值即使没有严格要求,但电容大小会影响震荡器频率高低、震荡器稳定性、起振快速性和温度稳定性。所以,此系统电路晶体振荡器值为12MHz,电容应尽可能选择陶瓷电容,电容值约为22μF。在焊接刷电路板时,晶体振荡器和电容应尽可能安装得和单片机芯片靠近,以降低寄生电容,愈加好地确保震荡器稳定和可靠地工作。单片机复位电路以下图4.2所表示: 图4.2时钟电路 4.1.2复位电路 在振荡器运行时,有两个机器周期(24个振荡周期)以上高电平出现在此引腿时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。复位后P0-P3口均置1引脚表现为高电平,程序计数器和特殊功效寄存器SFR全部清零。当复位脚由高电平变为低电平时,芯片为ROM00H处开始运行程序。复位是由外部复位电路来实现。片内复位电路是复位引脚RST经过一个斯密特触发器和复位电路相连,斯密特触发器用来抑制噪声,它输出在每个机器周期S5P2,由复位电路采样一次。复位电路通常采取上电自动复位和按钮复位两种方法,此电路系统采取是上电和按钮复位电路。当初钟频率选择6MHz时,C取22μF,Rs约为200Ω,Rk约为1K。复位操作不会对内部RAM有所影响。 常见复位电路以下图所表示: 图4.3复位电路图 4.1.3 电源电路 9v电源经LM7805转化成5V,D1为电源指示灯,C5为电源滤波电容。 图4.4电源电路 4.2 测温电路设计 对DS18B20设计外部供电方法单点测温。在这种外部电源供电方法下,DS18B20工作电源由VDD引脚接入,因为由VDD接入电源不存在电源电流不足问题,能够确保转换精度。不过要注意。在这种外部供电方法下,DS18B20GND脚不能悬空,不然不能转换温度,读取温度总是80 oC。DS18B20测温电路连接以下图4.5所表示: 图4.5测温电路 4.3 显示电路设计 字符型液晶显示模块是一个专门用于显示字母、数字、版本号等点阵式液晶显示模块。它是由若干个5×7或5×11等点阵符位组成,第一个点阵字符位全部能够显示一个字符。点阵字符位之间有一定点距间隔,这么就起到了字符间距和行距作用。本系统采取字符型液晶显示模块1602,我设置单片机驱动LCD1602采取并行方法,RS,RW,EN分别接主控单片机P24,P25,P26脚,Q0~Q7接到主控单片机P0数据接口。LCD1602硬件连接原理图图4.6所表示: 图4.6LCD1602显示电路 4.4 键盘输入电路 四个键分别连接单片机P3^4、P3^5、P3^6、P3^7组成独立式键盘,分别实现温度报警范围上下限设定功效,图4.7所表示。 图4.7 键盘输入电路 4.5 蜂鸣器报警电路 当温度超出设定温度范围时,实现蜂鸣器鸣叫报警,并有2个发光二极管点亮指示是高温报警还是低温报警。蜂鸣器由单片机P1^3口控制,用三极管驱动。 图4.8 蜂鸣器报警电路 5 系统软件设计 5.1 主程序模块 主程序需要调用3个子程序,分别为: l DS18B20测温子程序: l 实时温度显示子程序:驱动LCD1602把实时温度值显示出来 l 温度设定、报警子程序:设定报警温度值,当温度超出该值时产生报警,即驱动蜂鸣器鸣叫、2个发光二极管发光 主程序步骤图: 开 始 初始化DS18B20 显示目前温度 判定目前温度值 超出设定 温度上限 蜂鸣器 报警 红灯亮 设定温度上、下限 蜂鸣器 报警 是 否 低于设定 温度下限 是 绿灯亮 否 图5.1 主程序步骤图 5.2 读温度值模块 读温度值模块需要调用4个子程序,分别为: l DS18B20初始化子程序:让单片机知道DS18B20在总线上且已准备好操作 l DS18B20写字节子程序:对DS18B20发出命令 l DS18B20读字节子程序:读取DS18B20存放器数据 l 延时子程序:对DS18B20操作时时序控制 1. 读温度值模块步骤图: 入口 数据转换处理 读取温度值高低位 跳过读序列号 DS18B20初始化 延时 开启温度转换 跳过读序列号 DS18B20初始化 返回 图5.2 读温度值子程序步骤图 2. DS18B20初始化子程序步骤图: 入口 DQ为低电平? 延时15~60ms DQ拉高电平 延时>480ms DQ复位0 稍延时 DQ置高电平 N 返回 Y 图5.3 DS18B20初始化子程序步骤图 3. DS18B20写字节和读字节子程序步骤图: 图5.4 DS18B20写字节子程序步骤图 图5.5 DS18B20读字节子程序步骤图 5.3 中止模块 中止采取T0方法1,初始值定时为50ms。 中止模块需调用两个子程序: l 读温度值子程序:定时读取温度值,实时更新温度值 l 统计温度值子程序:定时统计温度值,供查询使用 把这两个子程序放在中止原因是,不会因为调整报警温度或查询历史温度值而停止更新温度值和统计温度值。 中止模块步骤图: 1秒? 计数值加1 定时器重置初值 中止入口 读温度值 Y 中止返回 显示温度值 N 图5.6中止模块步骤图 5.4 温度设定、报警模块 按加减键分别上调和下调设定报警温度值,当实时温度值超出设定值时驱动蜂鸣器发声,并点亮发光二极管,实现声光报警。 温度设定、报警模块步骤图以下: 入口 延时消抖 减键按下? 确定按下? 延时消抖 加键按下? 显示设定温度值 确定按下? 延时消抖 功效键按下? N Y N Y N Y 上调设定值 Y N N Y 下调设定值 确定按下? Y N 声光报警 温度超出设定值? Y N 取消报警 判定退出界面? N Y 返回 图5.7 温度设定、报警模块步骤图 5.5 液晶显示模块 LCD使用之前须对它进行初始初始化,初始化过程以下: (1)清屏。将显示缓冲区DDRAM内容全部写入空格(ASCII20H)。 (2)功效设置。 (3)开/关显示设置。控制显示开关,当D=1时显示,D=0时不显示。控制光标开关,当C=1时光标显示,C=0时光标不显示。控制字符是否闪烁,当B=0时字符闪烁,B=0时字符不闪烁。 (4)输入方法设置。 初始化过程:(1)延时15ms;(2)写指令38H(不检测忙信号);(3)延时5 ms;(4)写指令38H(不检测忙信号);(5)延时5ms;(6)写指令38H(不检测忙信号);(7)以后每次写指令、读/写数据操作之前均需检测忙信号;(8)写指令38H:显示模式设置;(9)写指令08H:显示关闭;(10)写指令01H:显示清屏;(11)写指令06H:显示光标移动设置;(12)写指令0CH:显示开及光标设置。 本系统中液晶显示器初始化程序步骤图所表示: 开始 清除LCD显示内容 模拟设置 移动光标 显示开关光标 初始化完成 图5.8 LCD初始化程序步骤图 6 系统调试和测试 6.1硬件调试 在本温度控制电路设计调试中碰到了很多问题。回想这些问题只要认真多思索全部是能够避免,以下为关键问题: (1)开始调试时发觉温度芯片DS18B20发烧很厉害,以后发觉电路没有给它加上拉电阻,加上上拉电阻后问题就处理了。 (2) 单片机(31脚)应接高电平,是内外存放器选择引脚。当信号为低电平时,不管单片机是否有内部程序存放器在,只访问外部程序存放器;当信号为高电平时,先访问内部程序存放器,当程序计数器PC超出片内程序存放器容量时,将自动转向外部程序存放器。本设计使用单片机内部程序存放器,故应接高电平。 6.2软件调试 在此次设计中,软件部分相对比较简单。软件调试过程中关键是处理好以下多个问题: (1)对软件总体设计步骤有一个清楚计划。 (2)合理分配单片机引脚及内部寄存器。 (3)在编写液晶显示、DS18B20时要严格根据她们时序操作。 6 总结 本设计使用温度控制器结构简单、测温正确,含有一定实际应用价值。该智能温度控制器只是DS18B20在温度控制领域一个简单实例,还有很多需要完善地方,比如能够将测得温度经过单片机和通讯模块相连接,以手机短消息方法发送给用户,使用户能够随时对温度进行监控。另外,还能广泛地应用于其它部分工业生产领域,如建筑,仓储等行业。本温度控制系统能够应用于多个场所,像温度、育婴房温度、水温控制。用户可灵活选择本设计用途,有很强实用价值。 参考文件 [1].李朝青,单片机原理及接口技术(简明修订版)[M]. 北京:北京航空航天大学出版社,1998 [2].李广弟.单片机基础[M]. 北京:北京航空航天大学出版社,1994 [3].金伟正.单线数字温度传感器原理和应用[J].电子技术和应用, [4].李 钢.1-Wire总线数字温度传感器DS18B20原理及应用.现代电子技术[J], [5].苏麟祥.DS1820数字温度传感器功效特征及其应用.世界采矿快报, (9) [6]. 沙占友等.智能化集成温度传感器原理和应用.北京:机械工业出版社, [7]. 阎石.数字电子技术基础(第三版)[M]. 北京:高等教育出版社,1989 附录1原理图 附录2程序代码 /*----------------------------------------------- 名称:18B20温度测量报警 内容:在LCD1602第一行能够显示目前温度, 第二行显示设定温度区间,超出此温度区间,蜂鸣器报警。 温度区间能够经过用户按键设置 ------------------------------------------------*/ #include<reg52.h> //包含头文件,通常情况不需要改动,头文件包含特殊功效寄存器定义 #include<math.h> #include<INTRINS.H> #define uchar unsigned char #define uint unsigned int /******************************************************************/ /* 定义端口 */ /******************************************************************/ sbit led1=P1^0;// 温度超出范围指示灯 sbit led2=P1^1; sbit buzzer=P1^3;//蜂鸣器引脚 sbit DQ=P1^4;//ds18b20 端口 sbit RS = P2^4;//1602数据/命令选择端(H:数据寄存器L:指令寄存器) sbit RW = P2^5;//1602读/写选择端 sbit E = P2^6;//1602使能信号端 sbit key1=P3^4;//用户按键 sbit key2=P3^5; sbit key3=P3^6; sbit key4=P3^7; /******************************************************************/ /* 全局变量 */ /******************************************************************/ int temp;//测得温度 char temp_max=40,temp_min=10;//设定温度 char TempH,TempL; uchar flag_get,num=0; uchar code tab[]={'0','1','2','3','4','5','6','7','8','9'};//液晶显示 uchar tab1[]="min:010 max:040";//液晶第二行显示内容 uchar str[8]; /******************************************************************/ /* 延时函数 */ /******************************************************************/ void delay1(uint- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 温度 测量 专业 系统 设计 项目 说明
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文