版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目 录摘 要1Abstract1引言1第1章 绪论21.1 基于单片机温度测量系统的研究背景21.2 基于单片机温度测量系统的发展现状21.3 基于单片机温度测量系统的研究的目的和意义21.4 基于单片机温度测量系统主要研究内容3第2章 温度测量系统总体设计方案32.1 温度测量系统设计方案论证32.1.1 方案一32.1.2 方案二32.1.3 总体设计框图32.2 显示部分设计方案论证42.2.1 方案一42.2.2 方案二42.2.3 显示部分的整体框图42.3 键盘输入部分方案论证52.3.1 方案一52.3.2 方案二5第3章 温度测量系统硬件部分53.1 单片机模块53.1.1 A
2、T89S52功能及特性53.1.2 AT89S52各个管脚说明63.1.3 单片机模块功能83.2 温度采集部分硬件103.2.1 温度传感器DS18B20103.2.2 DS18B20温度传感器与单片机的接口电路163.3 显示部分电路设计173.3.1 74HC573介绍173.3.2 74HC573芯片功能173.4 LED显示单元部分183.5 报警上,下限调整电路实现19第4章 系统软件设计194.1 主程序194.2 读出温度子程序194.3 温度转换命令子程序204.4 计算温度子程序214.5 显示数据刷新子程序21结 论23致 谢24参考文献25附录1 系统整体电路图26附录
3、2 源程序27基于单片机的数字温度计的设计电子工程专业学生 学生姓名 李娜指导教师 摘要:随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。本设计所介绍的数字温度测量系统与传统的温度报警相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,该设计控制器使用单片机AT89S51,测温传感器使用DS18B20,用4位共阴极LED数码管实现温度显示,能准确达到以上要求。关键词: 单片机,温度报警, DS18B20,AT89S51Des
4、ign of Digital Thermomer Based on SCM Electronic engineering students Li Na Instructor Abstract:SCM control is one of peoples pursue with the peoples living standard rising, but peoples demand become higher and higher. If people want to get more convenience on work, scientific research and life, we
5、should do more work on single-chip computer technology, all toward digital control system, intelligent control direction.With the development of technology, microcontroller technology has spread to our life, work, scientific research and so on. SCM system has become a nature technology, this paper w
6、ill introduce a method based on single chip microcomputer control digital temperature alarm system, In this paper introduce a new method named digital temperature alarm system ,this system has such advantages compared with traditional temperature system,such as easy reading, large temperature range,
7、 accurate measure temperature .Its output temperature using digital display, this design using AT89S51 single-chip microcomputer controller, temperature sensor DS18B20, and with 4 cathode tube LED to realize digital temperature display.Keywords: MCU,temperature alarm, DS18B20,AT89S51引言:随着人们生活水平的不断提高
8、,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机AT89S51,测温传感器使用DS18B20,用3位共阳极LED数码管以串口传送数据,实现温度显示,能准确达到以上要求。1 绪论1.1 基于单片机温度测量系统的研究背景 随着社会
9、的发展,科技的进步,以及测温仪器在各个领域的应用,智能化已是现代温度控制系统发展的主流方向。特别是近年来,温度控制系统已应用到人们生活的各个方面,但温度报警控制一直是一个未开发的领域,却又是与人们息息相关的一个实际问题。针对这种实际情况,设计一个温度报警控制系统,具有广泛的应用前景与实际意义。温度是科学技术中最基本的物理量之一,物理、化学、生物等学科都离不开温度。在工业生产和实验研究中,像电力、化工、石油、冶金、航空航天、机械制造、粮食存储、酒类生产等领域内,温度常常是表征对象和过程状态的最重要的参数之一。比如,发电厂锅炉的温度必须控制在一定的范围之内;许多化学反应的工艺过程必须在适当的温度下
10、才能正常进行;炼油过程中,原油必须在不同的温度和压力条件下进行分馏才能得到汽油、柴油、煤油等产品。没有合适的温度环境,许多电子设备就不能正常工作,粮仓的储粮就会变质霉烂,酒类的品质就没有保障。因此,各行各业对温度控制的要求都越来越高。可见,温度的测量和控制是非常重要的。单片机在电子产品中的应用已经越来越广泛,在很多的电子产品中也用到了温度检测和温度控制。随着温度控制器应用范围的日益广泛和多样,各种适用于不同场合的智能温度控制器应运而生,因此研究温度的测量方法和装置具有重要意义。温度测量在工业、农业、国防等行业有着广泛的应用,而且随着科学技术的发展对温度测量的应用范围愈来愈广。利用单片机技术的温
11、度测控系统以其体积小,可靠性高而被广泛采用。1.2 基于单片机温度测量系统的发展现状自70年代以来,由于工业过程控制的需要,特别是在微电子技术和计算机技术的迅猛发展,以及自动控制理论和设计方法发展的推动下,国外温度控制系统发展迅速,并在智能化自适应参数自整定等方面取得成果。在这方面以日本、美国、德国、瑞典等国技术领先,并且都生产出了一批商品化的性能优异的温度控制器及仪器仪表,目前,国外温度控制系统及仪表正朝着高精度智能化、小型化等方面快速发展。国内外温度测量系统的发展极为迅速,比如机房温度的监控,蔬菜大棚温度的监控报警等等。可以温度的检测与报警涉及到人们生活的各个领域,各个角落,世界各国的科学
12、家都在研制越来越先进的温度检测报警系统,用于各个领域的检测和控制,为人们的生活、工作,为工业、农业生产做保障。温度测量报警系统有很大的发展空间,国内也在这方面投入大量的人力物力进行新产品的研发。比如国内非典时期用的红外温度测量报警装置,就是温度测量系统发展到现在的一个代表性的产物。温度测量报警系统在生活中有中药的意义。现在温度测量报警领域正在蓬勃快速的发展,各国都在进行着各项测试研究,以更好的检测温度,进行控制,让人类能更好的生活、工作和学习。另外,温度测量控制领域也在不断的扩大,很多国家也共同合作,在共同研制仪器,去进行温度测量控制,温度测量控制这项研究也正在想全球化发展。1.3 基于单片机
13、温度测量系统的研究的目的和意义温度控制系统在国内各行各业的应用虽然已经十分广泛但从国内生产的温度控制器来讲总体发展水平仍然不高,同国外的日本美国德国等先进国家相比仍然有着较大的差距目前我国在这方面总体技术水平处于20世纪80年代中后期水平成熟产品主要以“点位”控制及常规的PID控制器为主,它只能适应一般温度系统控制难于控制滞后复杂时变温度系统控制,即是说适应于较高控制场合的智能化自适应控制仪表国内技术还不十分成熟,形成商品化并广泛应用的控制仪表较少备。温度控制不好就可能引起生产安全,产品质量和产量等一系列问题。尽管温度控制很重要,但是要控制好温度常常会遇到意想不到的困难。由于温度控制具有工况复
14、杂、参数多变、运行惯性大、控制滞后等特点,它对控制调节器要求较高。1.4 基于单片机温度测量系统主要研究内容在实际的温度控制系统中,多采用热敏电阻器或热电偶测量温度。这种温度采集电路有时需要冷端补偿电路,这样就增加了电路的复杂性,而且该种电路易受干扰,使采集到的数据准确性不高。随着微电子技术、单片机技术、传感器技术的不断发展,为温度控制系统测控功能的完善、测控精度的提高和抗干扰能力的增强等提供了条件。本文设计了一种基于AT89S52 单片机与DS18B20 的温度控制系统。该设计通过AT89S52 单片机驱动数字温度传感器DS18B20,进行温度数据采集、读取、处理,并通过数码管显示出来。同时
15、,扩展电路以后,也可通过RS-232 串行口与PC 机连接,将数据传送至PC 机系统,从而方便温度数据传输和统计工作。该系统还可扩展成为多点温度采集系统、温度远程监控系统等。本系统以AT89S52单片机作为主控系统,利用DS18B20数字温度传感器作为温度传感器件。通过四位共阴极数码管作为显示器件,通过单片机控制继温度显示温度。当温度高于设定最高温度或者低于设定的最低温度时,蜂鸣器发出报警声并伴随红灯的闪烁。2 温度测量系统总体设计方案2.1 温度测量系统设计方案论证2.1.1 方案一由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A
16、/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。2.1.2 方案二在单片机电路设计中,大多都是使用传感器,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。2.1.3 总体设计框图温度测量系统电路设计总体设计方框图如图2-1所示。主 控 制 器数码管显示温 度 传 感 器单片机复位时钟振荡报警点按键调整图2-1 总体设计方框图控制器采用单片机AT89S51,温度
17、传感器采用DS18B20,用4位LED数码管传送数据实现温度显示。2.2 显示部分设计方案论证2.2.1 方案一 采用1602液晶显示模块,本方案的优点是电路相对简单,显示字符内容较为丰富,考虑到本报警系统只需要显示测量的温度,不需要过多的复杂功能,实用1602液晶显示会增加系统的成本,此方案的缺点也在于此。2.2.2 方案二 采用数码管显示,此方案的最大优点就是成本较低,缺点是电路相对复杂,需要驱动电路,在软件上也需要作出处理。但是此方案完全可以满足本报警系统的功能和要求,软件处理上也不是特别的复杂,驱动电路也相对简单。从以上两种方案,综合考虑,采用方案二,虽然电路相对复杂一点,但在成本上却
18、占了很大的优势,并可以完全实现本系统的要求,选择方案二。2.2.3 显示部分的整体框图显示部分的整体框图如图2-2所示,主要由单片机主控系统控制74HC573锁存器来驱动数码管显示,软件部分主要采用动态扫描的算法。图2-2 显示部分框图2.3 键盘输入部分方案论证2.3.1 方案一采用矩阵键盘的方式,此方案的优点是按键多,占用单片机I/O口少,比较节省资源,并可用多个按键来进行人机对话,缺点是硬件电路较为复杂,软件程序较为繁琐。2.3.2 方案二 采用独立按键的方式,优点是电路较为简单,软件程序也相对简单,缺点是按键占用I/O口多,占用单片机的资源较多。由于本报警系统使用按键较少,不需要采用矩
19、阵键盘,采用独立按键完全可以完成要求,并且实现起来也比较简单,综合考虑键盘输入部分选用方案二。3 温度测量系统硬件部分3.1 单片机模块AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。3.1.1 AT89S52功能及特性AT89S52具有以下标准功能:4k字节Fl
20、ash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。l 与MCS-51单片机产品兼容l 8K字节在系统可编程Flash存储器l 10000次擦写周期l 全静态操作:0Hz33Hzl 三级加密程序存储器l 32个可编程I/O口线l 三个1
21、6位定时器/计数器l 全双工UART串行通道l 低功耗空闲和掉电模式l 掉电后中断可唤醒l 看门狗定时器l 双数据指针l 掉电标识符3.1.2 AT89S52各个管脚说明VCC:供电电压。 GND:接地。 P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在 flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1 口:P1 口是一个具有内部上拉电阻的8 位双向
22、I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如表3-1所示。在flash编程和校验时,P1口接收低8位地址字节。P2口:P2口为一个内部上拉电阻的8 位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的 管脚被外部拉
23、低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给 出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高 八位地址信号和控制信号。表3-1 P1口的第二功能引脚号第二功能P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)P3口:P3口管脚是8个带内部上拉电
24、阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口作为AT89C52的一些特殊功能口,如表3-2所示:RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG: 当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期 输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作
25、外部数据存储器时,将跳过一个 ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。表3-2 P3的特殊功能口管脚备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通) /PSEN:外部程序存储器的选通信号。在由外部程序存储器取
26、指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA /VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定 为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。3.1.3 单片机模块功能该模块有以下几个部分组成: 复位电路:为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分
27、,复位电路的第一功能是上电复位。一般微机电路正常工作需要供电电源为5V5%,即 4.755.25V。由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡器 稳定工作时,复位信号才被撤除,微机电路开始正常工作。图3-1 复位电路目前为止,单片机复位电路主要有四种类型:(1) 微分型复位电路;(2) 积分型复位电路;(3) 比较器型复位电路;(4) 看门狗型复位电路。2、振荡电路:晶振是晶体振荡器的简称,在电气上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的高低分其中较低 的频率
28、是串联谐振,较高的频率是并联谐振。由于晶体自身的特性致使这两个频率的距离相当的接近,在这个极窄的频率范围内,晶振等效为一个电感,所以只要晶 振的两端并联上合适的电容它就会组成并联谐振电路。这个并联谐振电路加到一个负反馈电路中就可以构成正弦波振荡电路,由于晶振等效为电感的频率范围很窄, 所以即使其他元件的参数变化很大,这个振荡器的频率也不会有很大的变化,震荡电路的电路图如图3-2所示.图3-2 晶振电路晶振有一个重要的参数,那就是负载电容值,选择与负载电容值相等的并联电容,就可以得到晶振标称的谐振频率。 一般的晶振振荡电路都是在一个反相放大器(注意是放大器不是反相器)的两端接入晶振,再有两个电容
29、分别接到晶振的两端,每个电容的另一端再接到地,这两个电容串联的容量值就应该等于负载电容,请注意一般IC的引脚都有等效输入电容,这个不能忽略。3.2 温度采集部分硬件3.2.1 温度传感器DS18B20DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9-12位的数字值读数方式。 TO92封装的DS18B20的引脚排列见下图,其引脚功能描述见表3-3。(底视图)图3-3 DS18B20引脚图表3-3DS18B20详细引脚功能描述序号名称引脚功能描述1GND地信号2DQ数
30、据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。3VDD可选择的VDD引脚。当工作于寄生电源时此引脚必须接地。DS18B20的性能特点如下:独特的单线接口仅需要一个端口引脚进行通信;多个DS18B20可以并联在惟一的三线上,实现多点组网功能;无须外部器件;可通过数据线供电,电压范围为3.05.5;零待机功耗;温度以或位数字;用户可定义报警设置;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作; DS18B20采用3脚PR35封装或脚SOIC封装,其内部结构框图如图3-4所示。I/O
31、C64位ROM和单线接口高速缓存存储器与控制逻辑温度传感器高温触发器TH低温触发器TL配置寄存器8位CRC发生器Vdd 图3-4 DS18B20内部结构64位ROM的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。温度报警触发器和,可通过软件写入户报警上下限。DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。高速暂存RAM的结构为8字节的存储器,结构如图3-4所示。头2个字节包含测得的温度信息,第3和第4字节和的拷贝,是易失的,每次上电复
32、位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如图3-5所示。低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率。温度 LSB温度 MSBTH用户字节1TL用户字节2配置寄存器保留保留保留CRC图3-5 DS18B20字节定义DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。高速暂
33、存RAM的第6、7、8字节保留未用,表现为全逻辑1。第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625LSB形式表示。当符号位S=0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S=1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。表2是一部分温度值对应的二进制温度数据。表3-4 DS18B20温度转换
34、时间表R1R0分辨率/位温度最大转换时间/ms00993.750110187.510113751112750DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较。若TH或TTL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。因此,可用多只DS18B20同时测量温度并进行报警搜索。在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。主机ROM的前56位来计算CRC值,并和存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。DS18B20的测温原理是这这样的,器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定
35、频率的脉冲信号送给减法计数器1;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。器件中还有一个计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将55所对应的一个基数分别置入减法计数器1、温度寄存器中,计数器1和温度寄存器被预置在55所对应的一个基数值。 减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,
36、如此循环直到减法计数器计数到0时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。表3-5一部分温度对应值表温度/二进制表示十六进制表示+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.5
37、1111 1111 1111 0000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FE6FH-551111 1100 1001 0000FC90H另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作按协议进行。操作协议为:初使化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数据。图3-6 DS18B20与单片机的接口电路3.2.2 DS18B20温度传感器与单片机的接口电路DS18B20可以采用两种方式供电,一种是采用电源供电方
38、式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式,如图4 所示单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉。当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。采用寄生电源供电方式时VDD端接地。由于单线制只有一根线,因此发送接口必须是三态的。由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、
39、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。DS18B20的复位时序 图3-7 DS18B20复位时序DS18B20的读时序对于DS18B20的读时序分为读0时序和读1时序两个过程。对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。图3-8 DS18B20读时序DS18B20的写时序对
40、于DS18B20的写时序仍然分为写0时序和写1时序两个过程。对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。图3-9 DS18B20写时序3.3 显示部分电路设计3.3.1 74HC573介绍74HC573和74LS373原理一样,8数据锁存器。主要用于数码管、按键等等的控制。 3.3.2 74HC573芯片功能表3-6 74HC573真值表DnLEOEOnHHLHLHLLXLLQoXXHZ这个就是真值表
41、,表示这个芯片在输入和其它的情况下的输出情况。 每个芯片的数据手册(datasheet)中都有真值表。 布尔逻辑比较简单,在此不赘述; 2. 高阻态 就是输出既不是高电平,也不是低电平,而是高阻抗的状态;在这种状态下,可以多个芯片并联输出;但是,这些芯片中只能有一个处于非高阻态状态,否则会将芯片烧毁; 高阻态的概念在RS232和RS422通讯中还可以用到。 3. 数据锁存 当输入的数据消失时,在芯片的输出端,数据仍然保持; 这个概念在并行数据扩展中经常使用到。 4. 数据缓冲 加强驱动能力。74LS244/74LS245/74LS373/74LS573都具备数据缓冲的能力。 OE:output
42、_enable,输出使能; LE:latch_enable,数据锁存使能,latch是锁存的意思; Dn:第n路输入数据; On:第n路输出数据; 3.4 LED显示单元部分 报警灯闪烁部分主要由发光二极管LED组成,绿灯表示正常状态,红灯表示报警状态。LED特性如下:导体发光二极管(LED)作为第三代半导体照明光源。这种产品具有很多梦幻般优点:(1)光效率高:光谱几乎全部集中于可见光频率,效率可以达到 80%-90%。而光效差不多的白炽灯可见光效率仅为10%-20%。(2)光线质量高:由于光谱中没有紫外线和红外线,故没有热量,没有辐射,属于典型 的绿色照明光源。(3)能耗小:单体功率一般在0
43、.05-1w,通过集群方式可以量体裁衣地满足不同的需要,浪费很少。以其作为光源,在同样亮度下耗电量 仅为普通白炽灯的1/8-1/10。(4)寿命长:光通量衰减到70%的标准寿命是10万小时。一个半导体灯正常情况下可以使用50年,即使长命百岁的人,一 生最多也就用2只灯。(5)可靠耐用:没有钨丝、玻壳等容易损坏的部件,非正常报废率很小,维护费用极为低廉。(6)应用灵活:体积小,可以平面封装,易 开发成轻薄短小的产品,做成点、线、面各种形式的具体应用产品。(7)安全:单位工作电压大致在1.5-5v之间,工作电流在20-70mA之间。(8) 绿色环保:废弃物可回收,没有污染,不像荧光灯一样含有汞成分
44、。(9)响应时间短:适应频繁开关以及高频运作的场合。3.5 报警上,下限调整电路实现本报警系统中有三个独立式按键可以分别调整温度计的上下限报警设置,电路中蜂鸣器可以在被测温度不在上下限范围内时,发出报警鸣叫声音,同时红色LED闪烁,实现报警功能。复位的实现是通过单片机的复位电路实现上电复位加手动复位,使用比较方便,在程序跑飞时,可以手动复位,这样就不用在重起单片机电源,就可以实现复位。4 系统软件设计系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。4.1 主程序初始化调用显示子程序1S到?初次上电读出温度值温度计算处理显示数据刷新发温度转换开始
45、命令NYNY图4-1 主程序流程图4.2 读出温度子程序读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图4-2所示Y发DS18B20复位命令发跳过ROM命令发读取温度命令读取操作,CRC校验9字节完?CRC校验正?确?移入温度暂存器结束NNY图4-2 读温度流程图4.3 温度转换命令子程序 温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。温度转换命令子程序流程图如上图,图4-3所示 发DS18B20复位命令发跳过ROM命令发温度转
46、换开始命令结束 图4-3 温度转换流程图4.4 计算温度子程序计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其程序流程图如图4-4所示。开始温度零下?温度值取补码置“”标志计算小数位温度BCD值 计算整数位温度BCD值 结束置“+”标志NY图4-4 计算温度流程图4.5 显示数据刷新子程序显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高显示位为0时将符号显示位移入下一位。程序流程图如图4-5。温度数据移入显示寄存器十位数0?百位数0?十位数显示符号百位数不显示百位数显示数据(不显示符号) 结束NNYY图4-5 显示数据刷新流程图结论本设计是利
47、用数字温度传感器DS18B20作为温度传感器件,采用价格低廉性能稳定的MCS-51系列的单片机作为主控芯片,用四位一体共阴极的数码管作为显示器件,蜂鸣器及LED作为报警电路器件构成了整个系统整体。本设计的优点是价格低廉,性能稳定,如果把单片机换成贴片的封装器件利于大规模的工业商业生产。在毕业设计过程中,巩固了在大学4年内学过的知识,尤其是单片机和模拟电子方面的知识,同时通过这次毕业设计提高了单片机编程的能力,尤其是获得的软件调试经验,同时加强了我的实际编程能力,同时也让自己更加的知道了自己知识领域里的不足和缺陷。该智能温度控制器只是DS18B20在温度控制领域的一个简单实例,还有许多需要完善的
48、地方,例如可以将测得的温度通过单片机与通讯模块相连接,以手机短消息的方式发送给用户,使用户能够随时对温度进行监控。此外,还能广泛地应用于其他一些工业生产领域,如建筑,仓储等行业。本温度控制系统可以应用于多种场合,像的温度、育婴房的温度、水温的控制。用户可灵活选择本设计的用途,有很强的实用价值。由于时间太仓促,经验不足,理论方面也相应的存在不足,加上条件有限,仍存在着一些设计方面的问题,个人技能也有待提高,理论知识还要巩固加强。致谢 在论文定稿之际,我谨向我的指导老师致以最诚挚的谢意!正是在曾实现老师的悉心关怀和精心指导下,我在研究中才有所收获。他严谨的治学态度、一丝不苟的学风、敏捷而富于逻辑的
49、思维、深厚的理论修养和高尚的情操都给我留下了深刻的印象。在本文的选题、构思、写作和修改直至最终定稿的过程中,更是浸透了导师大量的心血,感激之情难以言表。而且,在和老师的交流过程中,还学到了许多做人、处事的道理,使我终身受益。同时,我也要诚挚地向培养我的各位领导以及实验室的各位老师表示感谢!在此,我表示衷心感谢。四年的学习生活,他们无形中给了我很大的帮助,使我顺利完成学业。掌握了一技之长。在此我谨向我的导师以及在毕业设计过程中给予我很大帮助的老师、同学们致以最诚挚的谢意。参考文献:1 李群芳,肖看.单片机原理、接口及应用.清华大学出版社2 戢卫平等.单片机系统开发实例经典.冶金工业出版社3张丽娜
50、.单片机原理及应用.华中科技大学出版社4 李刚.炼中学单片机教程.北京航空航天大学出版社5 黄庆华.单片机开发技术与实训.电子工业出版社6于京.51系列单片机C程序设计与应用方案.中国电力出版社7 沙占友.单片机外围电路设计.电子工业出版社8 戴佳.51单片机C语言设计实例精讲.电子工业出版社9 周坚.单片机C语言轻松入门.北京航空航天大学出版社附录1 系统整体电路图附录2 源程序/*基于51单片机的温度测量系统*#include#include#define uint unsigned int#define uchar unsigned charuchar code tab=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x58; /* 0 1 2 3 4 5 6 7 8 9 C 无*/sbit BUZ=P13;sbit LED_GREEN=P36;sbit LED_RED=P37;sbit set=P10;sbit down=P11;sbit up=P12;uchar disbuf4;uint mode,top=90,bottom=10;int temp1;bit flag,kset_flag,kup_flag,kdown_flag;sbit dq=P14;void delay(uint x); /延迟函
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 强夯合同范例
- 甲供动力合同范例
- 事业部合伙合同范例
- 奋达物流合同范例
- 物流公司和客户合同范例
- 天津滨海汽车工程职业学院《生态学科前沿进展》2023-2024学年第一学期期末试卷
- 如家酒店装修合同范例
- 园林造价合同范例
- 渣土车辆购买合同范例
- 东方航空合同范例
- 2024年国家工作人员学法用法考试题库及参考答案
- 中国成人心肌炎临床诊断与治疗指南2024解读
- 期末(试题)-2024-2025学年人教PEP版英语六年级上册
- 创新创业创造:职场竞争力密钥智慧树知到期末考试答案章节答案2024年上海对外经贸大学
- 医院检验科实验室生物安全程序文件SOP
- 三创赛获奖-非遗文化创新创业计划书
- 河北省石家庄市各县区乡镇行政村居民村民委员会明细
- (完整版)建筑力学(习题答案)
- -脑梗塞的最佳治疗中药方剂
- N掺杂TiO2纳米管的合成及光催化性能研究
- 二沉池设计说明书
评论
0/150
提交评论