收藏 分销(赏)

基于单片机的温度测量专业系统设计项目说明.doc

上传人:二*** 文档编号:4515010 上传时间:2024-09-26 格式:DOC 页数:47 大小:470.04KB
下载 相关 举报
基于单片机的温度测量专业系统设计项目说明.doc_第1页
第1页 / 共47页
亲,该文档总共47页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、基于51单片机温度测量控制系统设计摘 要伴随科技不停进步,在工业生产中温度是常见被控参数,而采取单片机来对这些被控参数进行控制已成为当今主流。温度传感器DS18B20含有性能稳定、灵敏度高、抗干扰能力强、使用方便等优点,广泛应用于冰箱、空调器、粮仓等日常生活中温度测量和控制。本文采取51单片机来实现对温度测量和控制。它关键组成部分有:AT89S52单片机最小系统,DS18B20测温电路,按键电路、LCD1602显示电路,蜂鸣器报警电路。它能够实时地检测和显示温度,能够设定温度范围,实现对温度报警和自动控制。关键词:温度;51单片机;DS18B20;测量和控制。 ABSTRACTTemperat

2、ure 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 an

3、d 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, b

4、ut also setting the temperature range and the measurement and control of temperature.Key words: Temperature; 51 MCU; DS18B20; Measurement and control目录1 引言11.1 温度测量控制系统设计背景、发展历史及意义11.2 温度测量控制系统目标11.3 温度测量控制系统完成功效12 总体设计方案22.1 方案一22.2 方案二23 DS18B20温度传感器介绍73.1 温度传感器历史及介绍73.2 DS18B20工作原理73.2.1 DS18B20工

5、作时序73.2.2 ROM操作命令83.3 DS18B20测温原理93.3.1 DS18B20测温原理93.3.2 DS18B20测温步骤104 硬件电路设计114.1 单片机最小系统设计114.1.1时钟电路114.1.2复位电路124.1.3电源电路124.2 测温电路设计134.3 显示电路设计134.4 键盘输入电路144.5 蜂鸣器报警电路145 系统软件设计155.1 主程序模块155.2 读温度值模块165.3 中止模块195.4 温度设定、报警模块205.5 液晶显示模块226 系统调试和测试246.1硬件调试246.2软件调试246 总结25参考文件26附录1原理图- 28

6、-附录2程序代码291 引言1.1 温度测量控制系统设计背景、发展历史及意义 温度是生产过程和科学试验中普遍而且关键物理参数,伴随社会发展,科技进步,和测温仪器在各个领域应用,智能化已是现代温度控制系统发展主流方向。尤其是多年来,温度控制系统已应用到大家生活各个方面,但温度控制一直是一个未开发领域,却又是和大家息息相关一个实际问题。针对这种实际情况,设计一个温度控制系统,含有广泛应用前景和实际意义。温度是一个关键物理量,它反应了物体冷热程度,和自然界中多种物理和化学过程相联络。在工、农业生产和日常生活中,各个步骤全部和温度紧密相联,温度正确监测及控制占据着极其关键地位。比如,发电厂锅炉温度必需

7、控制在一定范围之内;很多化学反应工艺过程必需在合适温度下才能正常进行等。没有适宜温度环境,很多电子设备就不能正常工作,粮仓储粮就会变质霉烂,酒类品质就没有保障。可见,温度测量和控制是很关键。伴随电子技术和微型计算机快速发展,单片机在电子产品中应用已经越来越广泛。利用单片机对温度进行控制技术也随之而生,并日益发展和完善,且越来越显示出它优越性。1.2 温度测量控制系统目标本设计内容是温度测试控制系统,控制对象是温度。温度控制在日常生活及工业领域应用相当广泛,比如温室、水池、发酵缸、电源等场所温度控制。而以往温度控制是由人工完成而且不够重视,其实在很多场所温度全部需要监控以预防发生意外。针对此问题

8、,本系统设计目标是实现一个可连续高精度调温温度控制系统,它应用广泛,功效强大,小巧美观,便于携带,是一款既实用又廉价控制系统。1.3 温度测量控制系统完成功效本设计是对温度进行实时监测和控制,设计温度控制系统实现了基础温度控制功效:当温度低于设定下限温度时,蜂鸣器报警,同时红灯亮,模拟加热过程,使温度上升;当温度高于设定上限温度时,蜂鸣器报警,同时绿灯亮,模拟制冷过程,使温度下降;温度在上下限温度之间时,蜂鸣器和红绿灯不动作;LCD1602实时时显示温度,正确到小数点一位;经过独立按键能够设置温度控制范围。2 总体设计方案2.1 方案一测温电路设计,能够使用热敏电阻之类器件利用其感温效应,在将

9、随被测温度改变电压或电流采集过来,进行A/D转换后,就能够用单片机进行数据处理,在显示电路上,就能够将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。2.2 方案二考虑使用温度传感器,结合单片机电路设计,采取一只DS18B20温度传感器,直接读取被测温度值,以后进行转换,依次完成设计要求。比较以上两种方案,很轻易看出,采取方案二,电路比较简单,软件设计轻易实现,故实际设计中拟采取方案二。在本系统电路设计方框图图2.1所表示,它由五部分组成:AT89S52单片机DS18b20温度测量电路用户按键LCD1602显示蜂鸣器报警电路 图21 温度计电路总体设计方案1. 控制部分单片

10、机AT89S52含有低电压供电和体积小等特点,它所含有资源能足够满足此次电路系统设计需要,而且很适合便携手持式产品设计使用。2. 显示部分显示电路采取LCD1602,第一行显示目前温度,第二行显示控制温度范围。3. 用户按键用户按键采取4位独立按键,能够对温度上下限进行设置。4. 蜂鸣器报警电路目前温度超出设定温度上下限时,蜂鸣器报警。5. 温度测量电路DS18B20温度传感器是美国DALLAS半导体企业最新推出一个改善型智能温度传感器,和传统热敏电阻等测温元件相比,它能直接读出被测温。这一部分关键完成对温度信号采集和转换工作,由DS18B20数字温度传感器及其和单片机接口部分组成。数字温度传

11、感器DS18B20把采集到温度经过数据引脚传到单片机P1.4口。此部分只用到DS18B20和单片机,硬件很简单。(1) DS18B20性能特点以下9:1) 独特单线接口仅需要一个端口引脚进行通信;2) 多个DS18B20能够并联在惟一三线上,实现多点组网功效;3) 无须外部器件;4) 可经过数据线供电,电压范围为3.05.5V;5) 零待机功耗;6) 温度以3位数字显示;7) 用户可定义报警设置;8) 报警搜索命令识别并标志超出程序限定温度(温度报警条件)器件;9) 负电压特征,电源极性接反时,温度计不会因发烧而烧毁,但不能正常工作。 (2) DS18B20内部结构DS18B20采取3脚PR3

12、5封装,图1.2所表示;DS18B20内部结构,图3所表示。图22 DS18B20封装(3) DS18B20内部结构关键由四部分组成5:1) 64位光刻ROM。开始8位是产品类型编号,接着是每个器件惟一序号,共有48位,最终8位是前56位CRC校验码,这也是多个DS18B20能够采取一线进行通信原因10。64位闪速ROM结构以下.表21 ROM结构8b检验CRC48b序列号8b工厂代码(10H) MSB LSB MSB LSB MSB LSB图23 DS18B20内部结构2) 非挥发温度报警触发器TH和TL,可经过软件写入用户报警上下限值。3) 高速暂存存放,能够设置DS18B20温度转换精度

13、。DS18B20温度传感器内部存放器还包含一个高速暂存RAM和一个非易失性可电擦除E2PRAM。高速暂存RAM结构为8字节存放器,结构图1.3所表示。头2个字节包含测得温度信息,第3和第4字节TH和TL拷贝,是易失,每次上电复位时被刷新。第5个字节,为配置寄存器,它内容用于确定温度值数字转换分辨率。DS18B20工作时寄存器中分辨率转换为对应精度温度数值。它内部存放器结构和字节定义图1.3所表示。低5位一直为,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式。 表22 DS18B20内部存放器结构Byte0温度测量值LSB(50H)Byte1温度测量值MSB(50H)E2PRO

14、MByte2TH高温寄存器-TH高温寄存器Byte3TL低温寄存器-TL 低温寄存器Byte4配位寄存器-配位寄存器Byte5预留(FFH)Byte6预留(0CH)Byte7预留(IOH)Byte8循环冗余码校验(CRC)2) 非挥发温度报警触发器TH和TL,可经过软件写入用户报警上下限值。3) 高速暂存存放,能够设置DS18B20温度转换精度。DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换精度位数,来设置分辨率,图1.4。图23 DS18B20字节定义TM R1R0 1 1 1 1 1由表1.1可见,分辨率越高,所需要温度数据转换时间越长。所以,在实际应用中要将分辨

15、率和转换时间权衡考虑。高速暂存RAM第6、7、8字节保留未用,表现为全逻辑1。第9字节读出前面全部8字节CRC码,可用来检验数据,从而确保通信数据正确性。当DS18B20接收到温度转换命令后,开始开启转换。转换完成后温度值就以16位带符号扩展二进制补码形式存放在高速暂存存放器第1、2字节。单片机能够经过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625LSB形式表示。当符号位S0时,表示测得温度值为正值,能够直接将二进制位转换为十进制;当符号位S1时,表示测得温度值为负值,要先将补码变成原码,再计算十进制数值。 表1.2是一部分温度值对应二进制温度数据6。表24 DS18B

16、20温度转换时间表R1R0分辨率/位温度最大转向时间/ms00993.750110187.510113751112750表25一部分温度对应值表温度/二进制表示十六进制表示+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00000191H+10.1250000 0000 1010 000100A2H+0.50000 0000 0000 00100008H00000 0000 0000 10000000H-0.51111 1111 1111 0000FFF8H续表25-10.1251111

17、 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FE6FH-551111 1100 1001 0000FC90H4) CRC产生 在64 b ROM最高有效字节中存放有循环冗余校验码(CRC)。主机依据ROM前56位来计算CRC值,并和存入DS18B20中CRC值做比较,以判定主机收到ROM数据是否正确。另外,因为DS18B20单线通信功效是分时完成,它有严格时隙概念,所以读写时序很关键。系统对DS18B20多种操作按协议进行。操作协议为:初使化DS18B20(发复位脉冲)发ROM功效命令发存放器操作命令处理数3 DS18B20温度传感器介绍3.1

18、 温度传感器历史及介绍温度测量是从金属(物质)热胀冷缩开始。水银温度计至今仍是多种温度测量计量标准。可是它缺点是只能近距离观察,而且水银有毒,玻璃管易碎。替换水银有酒精温度计和金属簧片温度计,它们即使没有毒性,但测量精度很低,只能作为一个概略指示。不过在居民住宅中使用已可满足要求。在工业生产和试验研究中为了配合远传仪表指示,出现了很多不一样温度检测方法,常见有电阻式、热电偶式、PN结型、辐射型、光纤式及石英谐振型等。它们全部是基于温度改变引发其物理参数(如电阻值,热电势等)改变原理。伴随大规模集成电路工艺提升,出现了多个集成数字化温度传感器。3.2 DS18B20工作原理3.2.1 DS18B

19、20工作时序依据DS18B20通讯协议,主机控制DS18B20完成温度转换必需经过三个步骤:1. 每一次读写之前全部必需要对DS18B20进行复位;2. 复位成功后发送一条ROM指令;3. 最终发送RAM指令,这么才能对DS18B20进行预定操作。复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等候1560微秒左右后发出60240微秒存在低脉冲,主CPU收到此信号表示复位成功。其工作时序包含初始化时序、写时序和读时序,具体工作方法图2.1,2.2,2.3所表示。(1) 初始化时序 图31 初始化时序总线上全部传输过程全部是以初始化开始,主机响应应答脉冲。应答脉冲使主机

20、知道,总线上有从机设备,且准备就绪。主机输出低电平,保持低电平时间最少480us,以产生复位脉冲。接着主机释放总线,4.7K上拉电阻将总线拉高,延时1560us,并进入接收模式,以产生低电平应答脉冲,若为低电平,再延时480us12。(2) 写时序图32 写时序 写时序包含写0时序和写1时序。全部写时序最少需要60us,且在2次独立写时序之间最少需要1us恢复时间,全部是以总线拉低开始。写1时序,主机输出低电平,延时2us,然后释放总线,延时60us。写0时序,主机输出低电平,延时60us,然后释放总线,延时2us8。(3) 读时序 图33 读时序总线器件仅在主机发出读时序是,才向主机传输数据

21、,所以,在主机发出读数据命令后,必需立即产生读时序,方便从机能够传输数据。全部读时序最少需要60us,且在2次独立读时序之间最少需要1us恢复时间。每个读时序全部由主机提议,最少拉低总线1us。主机在读时序期间必需释放总线,而且在时序起始后15us之内采样总线状态。主机输出低电平延时2us,然后主机转入输入模式延时12us,然后读取总线目前电平,然后延时50us43.2.2 ROM操作命令当主机收到DSl8B20 响应信号后,便能够发出ROM 操作命令之一,这些命令如表2.2:ROM操作命令。3.3 DS18B20测温原理3.3.1 DS18B20测温原理每一片DSl8B20在其ROM中全部存

22、有其唯一48位序列号,在出厂前已写入片内ROM 中。主机在进入操作程序前必需用读ROM(33H)命令将该DSl8B20序列号读出。程序能够先跳过ROM,开启全部DSl8B20进行温度变换,以后经过匹配ROM,再逐一地读回每个DSl8B20温度数据。DS18B20测温原理图2.4所表示,图中低温度系数晶振振荡频率受温度影响很小,用于产生固定频率脉冲信号送给减法计数器1,高温度系数晶振随温度改变其震荡频率显著改变,所产生信号作为减法计数器2脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生时钟脉冲后进行计数,进而完成温度测量。计数门开启时间由高温度系数振荡器来决定

23、,每次测量前,首先将-55 所对应基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55 所对应一个基数值。减法计数器1对低温度系数晶振产生脉冲信号进行减法计数,当减法计数器1预置值减到0时温度寄存器值将加1,减法计数器1预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值累加,此时温度寄存器中数值即为所测温度。图2.3中斜率累加器用于赔偿和修正测温过程中非线性,其输出用于修正减法计数器预置值,只要计数门仍未关闭就反复上述过程,直至温度寄存器值达成被测温度值. 表31 ROM操作命令指令约定代码

24、功 能读ROM33H读DS18B20 ROM中编码符合ROM55H发出此命令以后,接着发出64位ROM编码,访问单线总线上和该编码相对应DS18B20 使之作出响应,为下一步对该DS18B20读写作准备搜索ROM0F0H用于确定挂接在同一总线上DS18B20个数和识别64位ROM地址,为操作各器件作好准备跳过ROM0CCH忽略64位ROM地址,直接向DS18B20发温度变换命令,适适用于单片工作。续表31告警搜索命 令0ECH实施后,只有温度超出设定值上限或下限片子才做出响应温度变换44H开启DS18B20进行温度转换,转换时间最长为500MS,结果存入内部9字节RAM中读暂存器0BEH读内部

25、RAM中9字节内容写暂存器4EH发出向内部RAM第3,4字节写上、下限温度数据命令,紧跟读命令以后,是传送两字节数据复制暂存器48H将E2PRAM中第3,4字节内容复制到E2PRAM中重调E2PRAM0BBH将E2PRAM中内容恢复到RAM中第3,4字节读 供 电方 式0B4H读DS18B20供电模式,寄生供电时DS18B20发送“0”,外接电源供电DS18B20发送“1” 另外,因为DS18B20单线通信功效是分时完成,她有严格时隙概念,所以读写时序很关键。系统对DS18B20多种操作必需按协议进行。操作协议为:初始化DS18B20(发复位脉冲)发ROM功效命令发存放器操作命令处理数据。减法

26、计数器斜坡累加器减到0减法计数器预 置低温度系数振 荡 器高温度系数振 荡 器计数比较器预 置温度寄存器减到0图34 测温原理内部装置3.3.2 DS18B20测温步骤初始化DS18B20跳过ROM匹配温度变换延时1S跳过ROM匹配读暂存器转换成显示码数码管显示图35 DS18B20测温步骤4 硬件电路设计4.1 单片机最小系统设计单片机最小应用系统,是指用最少原件组成单片机能够工作系统。对51系列单片机来说,最小系统应包含单片机、晶振电路、复位电路。下面介绍51单片机最小系统电路图。 图4.1 单片机最小系统单片机最小系统是由电源、复位、时钟,下面介绍一下每一个组成部分。4.1.1时钟电路X

27、TAL1是片内振荡器反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。内部方法时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。晶振频率能够在1MHz-24MHz内选择。电容取30PF左右。系统时钟电路设计是采取内部方法,即利用芯片内部振荡电路。AT89单片机内部有一个用于组成振荡器高增益反相放大器。引脚XTAL1和XTAL2分别是此放大器输入端和输出端。这个放大器和作为反馈元件片外晶体谐振器一起组成一个自激振荡器。外接晶体谐振器和电容C1和C2组成并联谐振电路,接在放大器反馈回路中。对外接电容值即使没有严格要

28、求,但电容大小会影响震荡器频率高低、震荡器稳定性、起振快速性和温度稳定性。所以,此系统电路晶体振荡器值为12MHz,电容应尽可能选择陶瓷电容,电容值约为22F。在焊接刷电路板时,晶体振荡器和电容应尽可能安装得和单片机芯片靠近,以降低寄生电容,愈加好地确保震荡器稳定和可靠地工作。单片机复位电路以下图4.2所表示:图4.2时钟电路4.1.2复位电路在振荡器运行时,有两个机器周期(24个振荡周期)以上高电平出现在此引腿时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。复位后P0P3口均置1引脚表现为高电平,程序计数器和特殊功效寄存器SFR全部清零。当复位脚由高电平变为低电平时,芯片为RO

29、M00H处开始运行程序。复位是由外部复位电路来实现。片内复位电路是复位引脚RST经过一个斯密特触发器和复位电路相连,斯密特触发器用来抑制噪声,它输出在每个机器周期S5P2,由复位电路采样一次。复位电路通常采取上电自动复位和按钮复位两种方法,此电路系统采取是上电和按钮复位电路。当初钟频率选择6MHz时,C取22F,Rs约为200,Rk约为1K。复位操作不会对内部RAM有所影响。常见复位电路以下图所表示: 图4.3复位电路图4.1.3 电源电路9v电源经LM7805转化成5V,D1为电源指示灯,C5为电源滤波电容。图4.4电源电路4.2 测温电路设计对DS18B20设计外部供电方法单点测温。在这种

30、外部电源供电方法下,DS18B20工作电源由VDD引脚接入,因为由VDD接入电源不存在电源电流不足问题,能够确保转换精度。不过要注意。在这种外部供电方法下,DS18B20GND脚不能悬空,不然不能转换温度,读取温度总是80 oC。DS18B20测温电路连接以下图4.5所表示:图4.5测温电路4.3 显示电路设计字符型液晶显示模块是一个专门用于显示字母、数字、版本号等点阵式液晶显示模块。它是由若干个57或511等点阵符位组成,第一个点阵字符位全部能够显示一个字符。点阵字符位之间有一定点距间隔,这么就起到了字符间距和行距作用。本系统采取字符型液晶显示模块1602,我设置单片机驱动LCD1602采取

31、并行方法,RS,RW,EN分别接主控单片机P24,P25,P26脚,Q0Q7接到主控单片机P0数据接口。LCD1602硬件连接原理图图4.6所表示:图4.6LCD1602显示电路4.4 键盘输入电路四个键分别连接单片机P34、P35、P36、P37组成独立式键盘,分别实现温度报警范围上下限设定功效,图4.7所表示。图4.7 键盘输入电路4.5 蜂鸣器报警电路当温度超出设定温度范围时,实现蜂鸣器鸣叫报警,并有2个发光二极管点亮指示是高温报警还是低温报警。蜂鸣器由单片机P13口控制,用三极管驱动。图4.8 蜂鸣器报警电路5 系统软件设计5.1 主程序模块主程序需要调用3个子程序,分别为:l DS1

32、8B20测温子程序:l 实时温度显示子程序:驱动LCD1602把实时温度值显示出来l 温度设定、报警子程序:设定报警温度值,当温度超出该值时产生报警,即驱动蜂鸣器鸣叫、2个发光二极管发光主程序步骤图:开 始初始化DS18B20显示目前温度判定目前温度值超出设定温度上限蜂鸣器报警红灯亮设定温度上、下限蜂鸣器报警是否低于设定温度下限是绿灯亮否图5.1 主程序步骤图5.2 读温度值模块读温度值模块需要调用4个子程序,分别为:l DS18B20初始化子程序:让单片机知道DS18B20在总线上且已准备好操作l DS18B20写字节子程序:对DS18B20发出命令l DS18B20读字节子程序:读取DS1

33、8B20存放器数据l 延时子程序:对DS18B20操作时时序控制1. 读温度值模块步骤图:入口数据转换处理读取温度值高低位跳过读序列号DS18B20初始化延时开启温度转换跳过读序列号DS18B20初始化返回图5.2 读温度值子程序步骤图 2. DS18B20初始化子程序步骤图:入口DQ为低电平?延时1560msDQ拉高电平延时480msDQ复位0稍延时DQ置高电平N返回Y图5.3 DS18B20初始化子程序步骤图3. DS18B20写字节和读字节子程序步骤图: 图5.4 DS18B20写字节子程序步骤图 图5.5 DS18B20读字节子程序步骤图5.3 中止模块中止采取T0方法1,初始值定时为

34、50ms。中止模块需调用两个子程序:l 读温度值子程序:定时读取温度值,实时更新温度值l 统计温度值子程序:定时统计温度值,供查询使用把这两个子程序放在中止原因是,不会因为调整报警温度或查询历史温度值而停止更新温度值和统计温度值。中止模块步骤图:1秒?计数值加1定时器重置初值中止入口读温度值Y中止返回显示温度值 N图5.6中止模块步骤图5.4 温度设定、报警模块按加减键分别上调和下调设定报警温度值,当实时温度值超出设定值时驱动蜂鸣器发声,并点亮发光二极管,实现声光报警。温度设定、报警模块步骤图以下:入口延时消抖减键按下?确定按下?延时消抖加键按下?显示设定温度值确定按下?延时消抖功效键按下?N

35、 YN YN Y上调设定值Y NN 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)延时

36、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硬件调试在本温度控制电路设计调试中碰到了很多问题。回想这些问题只要认真多思索全部是能够避免,以下为关键问题:(

37、1)开始调试时发觉温度芯片DS18B20发烧很厉害,以后发觉电路没有给它加上拉电阻,加上上拉电阻后问题就处理了。(2) 单片机(31脚)应接高电平,是内外存放器选择引脚。当信号为低电平时,不管单片机是否有内部程序存放器在,只访问外部程序存放器;当信号为高电平时,先访问内部程序存放器,当程序计数器PC超出片内程序存放器容量时,将自动转向外部程序存放器。本设计使用单片机内部程序存放器,故应接高电平。6.2软件调试在此次设计中,软件部分相对比较简单。软件调试过程中关键是处理好以下多个问题:(1)对软件总体设计步骤有一个清楚计划。(2)合理分配单片机引脚及内部寄存器。(3)在编写液晶显示、DS18B2

38、0时要严格根据她们时序操作。6 总结本设计使用温度控制器结构简单、测温正确,含有一定实际应用价值。该智能温度控制器只是DS18B20在温度控制领域一个简单实例,还有很多需要完善地方,比如能够将测得温度经过单片机和通讯模块相连接,以手机短消息方法发送给用户,使用户能够随时对温度进行监控。另外,还能广泛地应用于其它部分工业生产领域,如建筑,仓储等行业。本温度控制系统能够应用于多个场所,像温度、育婴房温度、水温控制。用户可灵活选择本设计用途,有很强实用价值。参考文件1李朝青,单片机原理及接口技术(简明修订版)M. 北京:北京航空航天大学出版社,19982李广弟.单片机基础M. 北京:北京航空航天大学

39、出版社,19943金伟正.单线数字温度传感器原理和应用J.电子技术和应用,4李 钢.1-Wire总线数字温度传感器DS18B20原理及应用.现代电子技术J,5苏麟祥.DS1820数字温度传感器功效特征及其应用.世界采矿快报,(9)6. 沙占友等.智能化集成温度传感器原理和应用.北京:机械工业出版社,7. 阎石.数字电子技术基础(第三版)M. 北京:高等教育出版社,1989附录1原理图附录2程序代码/*- 名称:18B20温度测量报警 内容:在LCD1602第一行能够显示目前温度,第二行显示设定温度区间,超出此温度区间,蜂鸣器报警。温度区间能够经过用户按键设置-*/#include /包含头文件

40、,通常情况不需要改动,头文件包含特殊功效寄存器定义#include#include#define uchar unsigned char#define uint unsigned int /*/* 定义端口 */*/sbit led1=P10;/ 温度超出范围指示灯sbit led2=P11;sbit buzzer=P13;/蜂鸣器引脚sbit DQ=P14;/ds18b20 端口sbit RS = P24;/1602数据/命令选择端(H:数据寄存器L:指令寄存器) sbit RW = P25;/1602读/写选择端 sbit E = P26;/1602使能信号端sbit key1=P34;/用户按键sbit key2=P35;sbit key3=P36;sbit key4=P37;/*/* 全局变量 */*/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 str8;/*/* 延时函数 */*/void delay1(uint

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服